diff options
489 files changed, 29138 insertions, 7344 deletions
@@ -420,6 +420,24 @@ Package=<4> ############################################################################### +Project: "apr_dbd_odbc"=".\srclib\apr-util\dbd\apr_dbd_odbc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + Project: "apr_dbd_mysql"=".\srclib\apr-util\dbd\apr_dbd_mysql.dsp" - Package Owner=<4> Package=<5> @@ -1,4 +1,144 @@ -*- coding: utf-8 -*- +Changes with Apache 2.2.11 + + *) core: When the ap_http_header_filter processes an error bucket, cleanup + the passed brigade before returning AP_FILTER_ERROR down the filter + chain. This unambiguously ensures the same error bucket isn't revisited + [Ruediger Pluem] + + *) core: Error responses set by filters were being coerced into 500 errors, + sometimes appended to the original error response. Log entry of: + 'Handler for (null) returned invalid result code -3' + [Eric Covener] + + *) configure: Don't reject libtool 2.x + PR 44817 [Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA gmail.com>] + + *) mod_autoindex: add configuration option to insert string + in HTML HEAD (IndexHeadInsert). [Nick Kew] + + *) Add new LogFormat parameter, %k, which logs the number of + keepalive requests on this connection for this request. + PR 45762 [Dan Poirier <poirier pobox.com>, Jim Jagielski] + + *) Export and install the mod_rewrite.h header to ensure the optional + rewrite_mapfunc_t and ap_register_rewrite_mapfunc functions are + available to third party modules. [Graham Leggett] + + *) mod_cache: Convert age of cached object to seconds before comparing it to + age supplied by the request when checking whether to send a Warning + header for a stale response. PR 39713. [Owen Taylor <otaylor redhat.com>] + + *) Build: Correctly set SSL_LIBS during openssl detection if pkgconfig is + not available. PR 46018 [Ruediger Pluem] + + *) mod_proxy_ajp: Do not fail if response data is sent before all request + data is read. PR 45911 [Ruediger Pluem] + + *) mod_proxy_balancer: Add in forced recovery for balancer members if + all are in error state. [Mladen Turk] + + *) mod_proxy: Prevent segmentation faults by correctly adjusting the + lifetime of the buckets read from the proxy backend. PR 45792 + [Ruediger Pluem] + + *) mod_expires: Do not sets negative max-age / Expires header in the past. + PR 39774 [Jim Jagielski] + + *) mod_info: Was displaying the wrong value for the KeepAliveTimeout + value. [Jim Jagielski] + + *) mod_proxy_ajp: Fix wrongly formatted requests where client + sets Content-Length header, but doesn't provide a body. + Servlet container always expects that next packet is + body whenever C-L is present in the headers. This can lead + to wrong interpretation of the packets. In this case + send the empty body packet, so container can deal with + that. [Mladen Turk] + + *) core: Add ap_timeout_parameter_parse to public API. [Ruediger Pluem] + + *) mod_proxy: Add the possibility to set the worker parameters + connectiontimeout and ping in milliseconds. [Ruediger Pluem] + + *) Worker MPM: Crosscheck that idle workers are still available before using + them and thus preventing an overflow of the worker queue which causes + a SegFault. PR 45605 [Denis Ustimenko <denusk gmail.com>] + + *) Windows: Always build the odbc dbd driver on windows, to be consistent + with the apr-util default. [Tom Donovan] + +Changes with Apache 2.2.10 + + *) SECURITY: CVE-2008-2939 (cve.mitre.org) + mod_proxy_ftp: Prevent XSS attacks when using wildcards in the path of + the FTP URL. Discovered by Marc Bevand of Rapid7. [Ruediger Pluem] + + *) Allow for smax to be 0 for balancer members so that all idle + connections are able to be dropped should they exceed ttl. + PR 43371 [Phil Endecott <spam_from_apache_bugzilla chezphil.org>, + Jim Jagielski] + + *) mod_proxy_http: Don't trigger a retry by the client if a failure to + read the response line was the result of a timeout. + [Adam Woodworth <mirkperl gmail.com>] + + *) Support chroot on Unix-family platforms + PR 43596 [Dimitar Pashev <mitko banksoft-bg.com>] + + *) mod_ssl: implement dynamic mutex callbacks for the benefit of + OpenSSL. [Sander Temme] + + *) mod_proxy_balancer: Add 'bybusyness' load balance method. + [Joel Gluth <joelgluth yahoo.com.au>, Jim Jagielski] + + *) mod_authn_alias: Detect during startup when AuthDigestProvider + is configured to use an incompatible provider via AuthnProviderAlias. + PR 45196 [Eric Covener] + + *) mod_proxy: Add 'scolonpathdelim' parameter to allow for ';' to also be + used as a session path separator/delim PR 45158. [Jim Jagielski] + + *) mod_charset_lite: Avoid dropping error responses by handling meta buckets + correctly. PR 45687 [Dan Poirier <poirier pobox.com>] + + *) mod_proxy_http: Introduce environment variable proxy-initial-not-pooled to + avoid reusing pooled connections if the client connection is an initial + connection. PR 37770. [Ruediger Pluem] + + *) mod_rewrite: Allow Cookie option to set secure and HttpOnly flags. + PR 44799 [Christian Wenz <christian wenz.org>] + + *) mod_ssl: Rewrite shmcb to avoid memory alignment issues. PR 42101. + [Geoff Thorpe] + + *) mod_proxy: Add connectiontimeout parameter for proxy workers in order to + be able to set the timeout for connecting to the backend separately. + PR 45445. [Ruediger Pluem, rahul <rahul sun.com>] + + *) mod_dav_fs: Retrieve minimal system information about directory + entries when walking a DAV fs, resolving a performance degradation on + Windows. PR 45464. [Joe Orton, Jeff Trawick] + + *) mod_cgid: Pass along empty command line arguments from an ISINDEX + query that has consecutive '+' characters in the QUERY_STRING, + matching the behavior of mod_cgi. + [Eric Covener] + + *) mod_headers: Prevent Header edit from processing only the first header + of possibly multiple headers with the same name and deleting the + remaining ones. PR 45333. [Ruediger Pluem] + + *) mod_proxy_balancer: Move nonce field in the balancer manager page inside + the html form where it belongs. PR 45578. [Ruediger Pluem] + + *) mod_proxy_http: Do not forward requests with 'Expect: 100-continue' to + known HTTP/1.0 servers. Return 'Expectation failed' (417) instead. + [Ruediger Pluem] + + *) mod_rewrite: Preserve the query string when [proxy,noescape]. PR 45247. + [Tom Donovan] + Changes with Apache 2.2.9 *) SECURITY: CVE-2008-2364 (cve.mitre.org) @@ -17,12 +17,12 @@ might use "/usr/local/apache2" for PREFIX (without the quotes). - * If you want to build a threaded MPM (for instance worker) - on FreeBSD, be aware that threads do not work well with - Apache on FreeBSD versions before 5.4-RELEASE. If you wish - to try a threaded Apache on an earlier version of FreeBSD, - use the --enable-threads parameter to ./configure in - addition to the --with-mpm parameter. + * If you are a developer who will be linking your code with + Apache or using a debugger to step through server code, + ./configure's --with-included-apr option may be advantageous, + as it removes the possibility of version or compile-option + mismatches with APR and APR-util code. (Many OSes now + include their own version of APR and APR-util.) * If you are a developer building Apache directly from Subversion, you will need to run ./buildconf before running @@ -31,6 +31,13 @@ build Apache from a release tarball, you don't have to run buildconf. + * If you want to build a threaded MPM (for instance worker) + on FreeBSD, be aware that threads do not work well with + Apache on FreeBSD versions before 5.4-RELEASE. If you wish + to try a threaded Apache on an earlier version of FreeBSD, + use the --enable-threads parameter to ./configure in + addition to the --with-mpm parameter. + * If you are building directly from Subversion on Mac OS X (Darwin), make sure to use GNU Libtool 1.4.2 or newer. All recent versions of the developer tools on this platform diff --git a/Makefile.in b/Makefile.in index 3f09eebf..c2346c32 100644 --- a/Makefile.in +++ b/Makefile.in @@ -190,6 +190,7 @@ INSTALL_HEADERS = \ $(srcdir)/modules/generators/mod_status.h \ $(srcdir)/modules/loggers/mod_log_config.h \ $(srcdir)/modules/http/mod_core.h \ + $(srcdir)/modules/mappers/mod_rewrite.h \ $(srcdir)/modules/proxy/mod_proxy.h \ $(srcdir)/modules/ssl/mod_ssl.h \ $(srcdir)/os/$(OS_DIR)/*.h diff --git a/Makefile.win b/Makefile.win index a5629d6e..5988dd0d 100644 --- a/Makefile.win +++ b/Makefile.win @@ -13,7 +13,7 @@ # The following install defaults may be customized; # # Option Default -# INSTDIR \Apache22 +# INSTDIR /Apache22 # PORT 80 # SSLPORT 443 # DOMAINNAME example.com @@ -24,7 +24,7 @@ # # Provide a DBD_LIST argument after configuring LIB and INCLUDE with # the SDK paths of the corresponding client support libraries. -# Note that at this time, none of these are supported on win32, per say. +# The ODBC driver is always built on Windows. # # DBD_LIST="sqlite3 pgsql oracle mysql freetds" # @@ -32,7 +32,7 @@ # # nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr # -# Be aware that certain awk's will not accept backslahed names, +# Be aware that certain awk's will not accept backslashed names, # so the server root should be given in forward slashes (quoted), # preferably with the drive designation! @@ -130,34 +130,21 @@ _tryzlib: !ENDIF -!IFDEF DBD_LIST - _trydbd: !IF $(USEMAK) == 1 - cd srclib\apr-util\dbd & \ - for %d in ($(DBD_LIST)) do \ - $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - $(LONG)" RECURSE=0 $(CTARGET) - cd .. - + cd srclib\apr-util\dbd + for %d in (odbc $(DBD_LIST)) do \ + $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET) + cd ..\..\.. !ELSEIF $(USESLN) == 1 - for %d in ($(DBD_LIST)) do \ + for %d in (odbc $(DBD_LIST)) do \ devenv Apache.sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d !ELSE - @for %d in ($(DBD_LIST)) do \ + @for %d in (odbc $(DBD_LIST)) do \ msdev Apache.dsw /USEENV /MAKE \ "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET) !ENDIF -!ELSE -# no DBD_LIST - -_trydbd: - @echo ----- - @echo apr_dbd drivers will not build unless DBD_LIST is set to the list - @echo of all the client modules available in the LIB and INCLUDE path. - -!ENDIF - !IF "$(INSTDIR)" == "" INSTDIR=\Apache22 @@ -265,9 +252,16 @@ _build: cd ..\..\.. $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET) - cd ldap - $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - $(ARCH)" RECURSE=0 $(CTARGET) - cd ..\..\.. + cd ldap + $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET) + cd .. + + cd dbd + for %d in (odbc $(DBD_LIST)) do \ + $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET) + cd .. + + cd ..\.. cd srclib\pcre $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET) @@ -482,14 +476,11 @@ _copybin: copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y -!IFDEF DBD_LIST - for %d in ($(DBD_LIST)) do ( \ - copy srclib\apr-util\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y && \ + + for %d in (odbc $(DBD_LIST)) do ( \ + copy srclib\apr-util\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \ ) -!ENDIF -!IF EXIST("srclib\zlib\zlib1.$(src_dll)") - copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y -!ENDIF + copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y copy modules\aaa\$(LONG)\mod_authn_alias.$(src_so) "$(inst_so)" <.y @@ -527,6 +518,9 @@ _copybin: copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y !IF EXIST("srclib\zlib") copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y +!IF EXIST("srclib\zlib\zlib1.$(src_dll)") + copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y +!ENDIF !ENDIF copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y @@ -585,6 +579,7 @@ _copybin: copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y + # First we create the tree and populate the README so that # whatever happens, all licensing has already propagated. # Then repeatedly invoke the _copybin build to copy the @@ -692,6 +687,7 @@ BEGIN { OpenSSL support page. -------------------------------------------------------------------------------- + << -copy "$(INSTDIR)\OPENSSL-README.txt" \ + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" @@ -711,9 +707,9 @@ BEGIN { print "For the mod_deflate zlib compression component:"; while ( getline > 0 && $$0 !~ /^[^ ]/ ) { print $$0; - } - exit 0; - } + } + exit 0; + } } exit 1; } @@ -1,6 +1,6 @@ APACHE 2.x ROADMAP ================== -Last modified at [$Date: 2005-03-14 00:24:22 -0500 (Mon, 14 Mar 2005) $] +Last modified at [$Date: 2005-03-14 05:24:22 +0000 (Mo, 14 Mär 2005) $] WORKS IN PROGRESS @@ -1,6 +1,6 @@ APACHE 2.x VERSIONING ===================== -[$LastChangedDate: 2005-10-17 13:17:21 -0400 (Mon, 17 Oct 2005) $] +[$LastChangedDate: 2005-10-17 17:17:21 +0000 (Mo, 17 Okt 2005) $] INTRODUCTION diff --git a/acinclude.m4 b/acinclude.m4 index a6fba9b4..29b7bee1 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -332,12 +332,11 @@ AC_DEFUN(APACHE_CHECK_SSL_TOOLKIT,[ if test "x$ap_ssltk_configured" = "x"; then dnl initialise the variables we use ap_ssltk_base="" - ap_ssltk_inc="" - ap_ssltk_lib="" + ap_ssltk_libs="" ap_ssltk_type="" dnl Determine the SSL/TLS toolkit's base directory, if any - AC_MSG_CHECKING(for SSL/TLS toolkit base) + AC_MSG_CHECKING([for SSL/TLS toolkit base]) AC_ARG_WITH(sslc, APACHE_HELP_STRING(--with-sslc=DIR,RSA SSL-C SSL/TLS toolkit), [ dnl If --with-sslc specifies a directory, we use that directory or fail if test "x$withval" != "xyes" -a "x$withval" != "x"; then @@ -360,13 +359,18 @@ if test "x$ap_ssltk_configured" = "x"; then fi dnl Run header and version checks - saved_CPPFLAGS=$CPPFLAGS + saved_CPPFLAGS="$CPPFLAGS" + saved_LIBS="$LIBS" if test "x$ap_ssltk_base" != "x"; then - ap_ssltk_inc="-I$ap_ssltk_base/include" - CPPFLAGS="$CPPFLAGS $ap_ssltk_inc" + APR_ADDTO(CPPFLAGS, [-I$ap_ssltk_base/include]) + APR_ADDTO(INCLUDES, [-I$ap_ssltk_base/include]) + APR_ADDTO(LDFLAGS, [-L$ap_ssltk_base/lib]) + if test "x$ap_platform_runtime_link_flag" != "x"; then + APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_ssltk_base/lib]) + fi fi if test "x$ap_ssltk_type" = "x"; then - AC_MSG_CHECKING(for OpenSSL version) + AC_MSG_CHECKING([for OpenSSL version]) dnl First check for manditory headers AC_CHECK_HEADERS([openssl/opensslv.h openssl/ssl.h], [ap_ssltk_type="openssl"], []) if test "$ap_ssltk_type" = "openssl"; then @@ -385,25 +389,17 @@ if test "x$ap_ssltk_configured" = "x"; then echo "WARNING: OpenSSL version may contain security vulnerabilities!" echo " Ensure the latest security patches have been applied!" ]) - dnl Look for additional, possibly missing headers - AC_CHECK_HEADERS(openssl/engine.h) - if test -n "$PKGCONFIG"; then - $PKGCONFIG openssl - if test $? -eq 0; then - ap_ssltk_inc="$ap_ssltk_inc `$PKGCONFIG --cflags-only-I openssl`" - CPPFLAGS="$CPPFLAGS $ap_ssltk_inc" - fi - fi else AC_MSG_RESULT([no OpenSSL headers found]) fi fi if test "$ap_ssltk_type" != "openssl"; then dnl Might be SSL-C - report, then test anything relevant - AC_MSG_CHECKING(for SSL-C version) + AC_MSG_CHECKING([for SSL-C version]) AC_CHECK_HEADERS([sslc.h], [ap_ssltk_type="sslc"], [ap_ssltk_type=""]) if test "$ap_ssltk_type" = "sslc"; then - AC_MSG_CHECKING(for SSL-C version) + ap_ssltk_libs="-lsslc" + AC_MSG_CHECKING([for SSL-C version]) AC_TRY_COMPILE([#include <sslc.h>],[ #if !defined(SSLC_VERSION_NUMBER) #error "Missing SSL-C version" @@ -422,40 +418,51 @@ if test "x$ap_ssltk_configured" = "x"; then AC_MSG_RESULT([no SSL-C headers found]) fi fi - dnl restore - CPPFLAGS=$saved_CPPFLAGS if test "x$ap_ssltk_type" = "x"; then AC_MSG_ERROR([...No recognized SSL/TLS toolkit detected]) fi - dnl Run library and function checks - saved_LDFLAGS=$LDFLAGS - saved_LIBS=$LIBS - if test "x$ap_ssltk_base" != "x"; then - if test -d "$ap_ssltk_base/lib"; then - ap_ssltk_lib="$ap_ssltk_base/lib" + if test "$ap_ssltk_type" = "openssl"; then + if test "x$ap_ssltk_base" != "x" -a \ + -f "${ap_ssltk_base}/lib/pkgconfig/openssl.pc"; then + dnl Ensure that the given path is used by pkg-config too, otherwise + dnl the system openssl.pc might be picked up instead. + PKG_CONFIG_PATH="${ap_ssltk_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + fi + if test -n "$PKGCONFIG"; then + ap_ssltk_libs="`$PKGCONFIG --libs-only-l openssl`" + if test $? -eq 0; then + pkglookup="`$PKGCONFIG --cflags-only-I openssl`" + APR_ADDTO(CPPFLAGS, [$pkglookup]) + APR_ADDTO(INCLUDES, [$pkglookup]) + pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`" + APR_ADDTO(LDFLAGS, [$pkglookup]) + else + ap_ssltk_libs="-lssl -lcrypto `$apr_config --libs`" + fi else - ap_ssltk_lib="$ap_ssltk_base" + ap_ssltk_libs="-lssl -lcrypto `$apr_config --libs`" fi - LDFLAGS="$LDFLAGS -L$ap_ssltk_lib" fi - dnl make sure "other" flags are available so libcrypto and libssl can link - LIBS="$LIBS `$apr_config --libs`" + APR_SETVAR(SSL_LIBS, [$ap_ssltk_libs]) + APR_ADDTO(LIBS, [$ap_ssltk_libs]) + APACHE_SUBST(SSL_LIBS) + + dnl Run library and function checks liberrors="" if test "$ap_ssltk_type" = "openssl"; then - AC_CHECK_LIB(crypto, SSLeay_version, [], [liberrors="yes"]) - AC_CHECK_LIB(ssl, SSL_CTX_new, [], [liberrors="yes"]) - AC_CHECK_FUNCS(ENGINE_init) - AC_CHECK_FUNCS(ENGINE_load_builtin_engines) + AC_CHECK_HEADERS([openssl/engine.h]) + AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"]) + AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines]) else - AC_CHECK_LIB(sslc, SSLC_library_version, [], [liberrors="yes"]) - AC_CHECK_LIB(sslc, SSL_CTX_new, [], [liberrors="yes"]) + AC_CHECK_FUNCS([SSLC_library_version SSL_CTX_new], [], [liberrors="yes"]) AC_CHECK_FUNCS(SSL_set_state) fi AC_CHECK_FUNCS(SSL_set_cert_store) dnl restore - LDFLAGS=$saved_LDFLAGS - LIBS=$saved_LIBS + CPPFLAGS="$saved_CPPFLAGS" + LIBS="$saved_LIBS" if test "x$liberrors" != "x"; then AC_MSG_ERROR([... Error, SSL/TLS libraries were missing or unusable]) fi @@ -467,31 +474,6 @@ if test "x$ap_ssltk_configured" = "x"; then else AC_DEFINE(HAVE_SSLC, 1, [Define if SSL is supported using SSL-C]) fi - dnl (b) hook up include paths - if test "x$ap_ssltk_inc" != "x"; then - APR_ADDTO(INCLUDES, [$ap_ssltk_inc]) - fi - dnl (c) hook up linker paths - if test "x$ap_ssltk_lib" != "x"; then - APR_ADDTO(LDFLAGS, ["-L$ap_ssltk_lib"]) - if test "x$ap_platform_runtime_link_flag" != "x"; then - APR_ADDTO(LDFLAGS, ["$ap_platform_runtime_link_flag$ap_ssltk_lib"]) - fi - fi - # Put SSL libraries in SSL_LIBS. - if test "$ap_ssltk_type" = "openssl"; then - APR_SETVAR(SSL_LIBS, [-lssl -lcrypto]) - if test -n "$PKGCONFIG"; then - $PKGCONFIG openssl - if test $? -eq 0; then - ap_ssltk_libdep=`$PKGCONFIG --libs openssl` - APR_ADDTO(SSL_LIBS, $ap_ssltk_libdep) - fi - fi - else - APR_SETVAR(SSL_LIBS, [-lsslc]) - fi - APACHE_SUBST(SSL_LIBS) fi ]) @@ -580,15 +562,15 @@ dnl integer type. dnl AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [ -AC_CACHE_CHECK([for void pointer length], [ap_void_ptr_lt_long], +AC_CACHE_CHECK([for void pointer length], [ap_cv_void_ptr_lt_long], [AC_TRY_RUN([ int main(void) { return sizeof(void *) < sizeof(long); -}], [ap_void_ptr_lt_long=no], [ap_void_ptr_lt_long=yes], - [ap_void_ptr_lt_long=yes])]) +}], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes], + [ap_cv_void_ptr_lt_long=yes])]) -if test "$ap_void_ptr_lt_long" = "yes"; then +if test "$ap_cv_void_ptr_lt_long" = "yes"; then AC_MSG_ERROR([Size of "void *" is less than size of "long"]) fi ]) diff --git a/build/apr_common.m4 b/build/apr_common.m4 index 2afb4666..4b3f6586 100644 --- a/build/apr_common.m4 +++ b/build/apr_common.m4 @@ -158,9 +158,12 @@ changequote([, ])dnl done ]) - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it + dnl autoconf doesn't add --silent to ac_configure_args; explicitly pass it test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + dnl AC_CONFIG_SUBDIRS silences option warnings, emulate this for 2.62 + apr_configure_args="--disable-option-checking $apr_configure_args" + dnl The eval makes quoting arguments work - specifically the second argument dnl where the quoting mechanisms used is "" rather than []. dnl @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62. +# Generated by GNU Autoconf 2.63. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -599,6 +599,7 @@ PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="ABOUT_APACHE" +enable_option_checking=no ac_default_prefix=/usr/local/apache2 # Factoring default headers for most tests. ac_includes_default="\ @@ -636,283 +637,283 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -exp_exec_prefix -rel_exec_prefix -exp_bindir -rel_bindir -exp_sbindir -rel_sbindir -exp_libdir -rel_libdir -exp_libexecdir -rel_libexecdir -exp_mandir -rel_mandir -exp_sysconfdir -rel_sysconfdir -exp_datadir -rel_datadir -exp_installbuilddir -rel_installbuilddir -exp_errordir -rel_errordir -exp_iconsdir -rel_iconsdir -exp_htdocsdir -rel_htdocsdir -exp_manualdir -rel_manualdir -exp_cgidir -rel_cgidir -exp_includedir -rel_includedir -exp_localstatedir -rel_localstatedir -exp_runtimedir -rel_runtimedir -exp_logfiledir -rel_logfiledir -exp_proxycachedir -rel_proxycachedir -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -target -target_cpu -target_vendor -target_os -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -CPP -PCRE_CONFIG -SHLTCFLAGS -LTCFLAGS -RM -PKGCONFIG -RSYNC -AWK -LN_S -RANLIB -LYNX_PATH -MKINSTALLDIRS -INSTALL -GREP -EGREP -MKDEP -PICFLAGS -PILDFLAGS -MOD_AUTHN_FILE_LDADD -MOD_AUTHN_DBM_LDADD -MOD_AUTHN_ANON_LDADD -MOD_AUTHN_DBD_LDADD -MOD_AUTHN_DEFAULT_LDADD -MOD_AUTHN_ALIAS_LDADD -MOD_AUTHZ_HOST_LDADD -MOD_AUTHZ_GROUPFILE_LDADD -MOD_AUTHZ_USER_LDADD -MOD_AUTHZ_DBM_LDADD -MOD_AUTHZ_OWNER_LDADD -MOD_AUTHNZ_LDAP_LDADD -MOD_AUTHZ_DEFAULT_LDADD -MOD_AUTH_BASIC_LDADD -MOD_AUTH_DIGEST_LDADD -MOD_ISAPI_LDADD -MOD_FILE_CACHE_LDADD -MOD_CACHE_LDADD -MOD_DISK_CACHE_LDADD -MOD_MEM_CACHE_LDADD -MOD_DBD_LDADD -MOD_BUCKETEER_LDADD -MOD_DUMPIO_LDADD -MOD_ECHO_LDADD -MOD_EXAMPLE_LDADD -MOD_CASE_FILTER_LDADD -MOD_CASE_FILTER_IN_LDADD -MOD_EXT_FILTER_LDADD -MOD_INCLUDE_LDADD -MOD_FILTER_LDADD -MOD_SUBSTITUTE_LDADD -MOD_CHARSET_LITE_LDADD -MOD_DEFLATE_LDADD -MOD_LDAP_LDADD -MOD_LOG_CONFIG_LDADD -MOD_LOG_FORENSIC_LDADD -MOD_LOGIO_LDADD -MOD_ENV_LDADD -MOD_MIME_MAGIC_LDADD -MOD_CERN_META_LDADD -MOD_EXPIRES_LDADD -MOD_HEADERS_LDADD -MOD_IDENT_LDADD -MOD_USERTRACK_LDADD -MOD_UNIQUE_ID_LDADD -MOD_SETENVIF_LDADD -MOD_VERSION_LDADD -MOD_PROXY_LDADD -MOD_PROXY_CONNECT_LDADD -MOD_PROXY_FTP_LDADD -MOD_PROXY_HTTP_LDADD -MOD_PROXY_AJP_LDADD -MOD_PROXY_BALANCER_LDADD -SSL_LIBS -MOD_SSL_LDADD -MOD_OPTIONAL_HOOK_EXPORT_LDADD -MOD_OPTIONAL_HOOK_IMPORT_LDADD -MOD_OPTIONAL_FN_IMPORT_LDADD -MOD_OPTIONAL_FN_EXPORT_LDADD -MPM_NAME -MPM_SUBDIR_NAME -htpasswd_LTFLAGS -htdigest_LTFLAGS -rotatelogs_LTFLAGS -logresolve_LTFLAGS -htdbm_LTFLAGS -ab_LTFLAGS -checkgid_LTFLAGS -htcacheclean_LTFLAGS -httxt2dbm_LTFLAGS -APACHECTL_ULIMIT -MOD_HTTP_LDADD -MOD_MIME_LDADD -MOD_DAV_LDADD -MOD_STATUS_LDADD -MOD_AUTOINDEX_LDADD -MOD_ASIS_LDADD -MOD_INFO_LDADD -MOD_SUEXEC_LDADD -MOD_CGID_LDADD -MOD_CGI_LDADD -MOD_DAV_FS_LDADD -MOD_DAV_LOCK_LDADD -MOD_VHOST_ALIAS_LDADD -MOD_NEGOTIATION_LDADD -MOD_DIR_LDADD -MOD_IMAGEMAP_LDADD -MOD_ACTIONS_LDADD -MOD_SPELING_LDADD -MOD_USERDIR_LDADD -MOD_ALIAS_LDADD -MOD_REWRITE_LDADD -INSTALL_DSO -MOD_SO_LDADD -progname -MPM_LIB -OS -OS_DIR -BUILTIN_LIBS -SHLIBPATH_VAR -OS_SPECIFIC_VARS -PRE_SHARED_CMDS -POST_SHARED_CMDS -shared_build -AP_LIBS -AP_BUILD_SRCLIB_DIRS -AP_CLEAN_SRCLIB_DIRS -EXTRA_CPPFLAGS -EXTRA_CFLAGS -EXTRA_CXXFLAGS -EXTRA_LDFLAGS -EXTRA_LIBS -EXTRA_INCLUDES -abs_srcdir -cgidir -logfiledir -htdocsdir -manualdir -errordir -iconsdir -installbuilddir -runtimedir -proxycachedir -other_targets -CXX -CXXFLAGS -LTFLAGS -LT_LDFLAGS -SH_LDFLAGS -HTTPD_LDFLAGS -UTIL_LDFLAGS -INCLUDES -NOTEST_CPPFLAGS -NOTEST_CFLAGS -NOTEST_CXXFLAGS -NOTEST_LDFLAGS -NOTEST_LIBS -LIBTOOL -MODULE_DIRS -MODULE_CLEANDIRS -PORT -SSLPORT -nonssl_listen_stmt_1 -nonssl_listen_stmt_2 -CORE_IMPLIB_FILE -CORE_IMPLIB -SH_LIBS -SH_LIBTOOL -MK_IMPLIB -INSTALL_PROG_FLAGS -DSO_MODULES -APR_BINDIR -APR_INCLUDEDIR -APR_VERSION -APR_CONFIG -APU_BINDIR -APU_INCLUDEDIR -APU_VERSION -APU_CONFIG -perlbin -ap_make_include -ap_make_delimiter -HTTPD_VERSION +ac_subst_vars='LTLIBOBJS LIBOBJS -LTLIBOBJS' +HTTPD_VERSION +ap_make_delimiter +ap_make_include +perlbin +APU_CONFIG +APU_VERSION +APU_INCLUDEDIR +APU_BINDIR +APR_CONFIG +APR_VERSION +APR_INCLUDEDIR +APR_BINDIR +DSO_MODULES +INSTALL_PROG_FLAGS +MK_IMPLIB +SH_LIBTOOL +SH_LIBS +CORE_IMPLIB +CORE_IMPLIB_FILE +nonssl_listen_stmt_2 +nonssl_listen_stmt_1 +SSLPORT +PORT +MODULE_CLEANDIRS +MODULE_DIRS +LIBTOOL +NOTEST_LIBS +NOTEST_LDFLAGS +NOTEST_CXXFLAGS +NOTEST_CFLAGS +NOTEST_CPPFLAGS +INCLUDES +UTIL_LDFLAGS +HTTPD_LDFLAGS +SH_LDFLAGS +LT_LDFLAGS +LTFLAGS +CXXFLAGS +CXX +other_targets +proxycachedir +runtimedir +installbuilddir +iconsdir +errordir +manualdir +htdocsdir +logfiledir +cgidir +abs_srcdir +EXTRA_INCLUDES +EXTRA_LIBS +EXTRA_LDFLAGS +EXTRA_CXXFLAGS +EXTRA_CFLAGS +EXTRA_CPPFLAGS +AP_CLEAN_SRCLIB_DIRS +AP_BUILD_SRCLIB_DIRS +AP_LIBS +shared_build +POST_SHARED_CMDS +PRE_SHARED_CMDS +OS_SPECIFIC_VARS +SHLIBPATH_VAR +BUILTIN_LIBS +OS_DIR +OS +MPM_LIB +progname +MOD_SO_LDADD +INSTALL_DSO +MOD_REWRITE_LDADD +MOD_ALIAS_LDADD +MOD_USERDIR_LDADD +MOD_SPELING_LDADD +MOD_ACTIONS_LDADD +MOD_IMAGEMAP_LDADD +MOD_DIR_LDADD +MOD_NEGOTIATION_LDADD +MOD_VHOST_ALIAS_LDADD +MOD_DAV_LOCK_LDADD +MOD_DAV_FS_LDADD +MOD_CGI_LDADD +MOD_CGID_LDADD +MOD_SUEXEC_LDADD +MOD_INFO_LDADD +MOD_ASIS_LDADD +MOD_AUTOINDEX_LDADD +MOD_STATUS_LDADD +MOD_DAV_LDADD +MOD_MIME_LDADD +MOD_HTTP_LDADD +APACHECTL_ULIMIT +httxt2dbm_LTFLAGS +htcacheclean_LTFLAGS +checkgid_LTFLAGS +ab_LTFLAGS +htdbm_LTFLAGS +logresolve_LTFLAGS +rotatelogs_LTFLAGS +htdigest_LTFLAGS +htpasswd_LTFLAGS +MPM_SUBDIR_NAME +MPM_NAME +MOD_OPTIONAL_FN_EXPORT_LDADD +MOD_OPTIONAL_FN_IMPORT_LDADD +MOD_OPTIONAL_HOOK_IMPORT_LDADD +MOD_OPTIONAL_HOOK_EXPORT_LDADD +MOD_SSL_LDADD +SSL_LIBS +MOD_PROXY_BALANCER_LDADD +MOD_PROXY_AJP_LDADD +MOD_PROXY_HTTP_LDADD +MOD_PROXY_FTP_LDADD +MOD_PROXY_CONNECT_LDADD +MOD_PROXY_LDADD +MOD_VERSION_LDADD +MOD_SETENVIF_LDADD +MOD_UNIQUE_ID_LDADD +MOD_USERTRACK_LDADD +MOD_IDENT_LDADD +MOD_HEADERS_LDADD +MOD_EXPIRES_LDADD +MOD_CERN_META_LDADD +MOD_MIME_MAGIC_LDADD +MOD_ENV_LDADD +MOD_LOGIO_LDADD +MOD_LOG_FORENSIC_LDADD +MOD_LOG_CONFIG_LDADD +MOD_LDAP_LDADD +MOD_DEFLATE_LDADD +MOD_CHARSET_LITE_LDADD +MOD_SUBSTITUTE_LDADD +MOD_FILTER_LDADD +MOD_INCLUDE_LDADD +MOD_EXT_FILTER_LDADD +MOD_CASE_FILTER_IN_LDADD +MOD_CASE_FILTER_LDADD +MOD_EXAMPLE_LDADD +MOD_ECHO_LDADD +MOD_DUMPIO_LDADD +MOD_BUCKETEER_LDADD +MOD_DBD_LDADD +MOD_MEM_CACHE_LDADD +MOD_DISK_CACHE_LDADD +MOD_CACHE_LDADD +MOD_FILE_CACHE_LDADD +MOD_ISAPI_LDADD +MOD_AUTH_DIGEST_LDADD +MOD_AUTH_BASIC_LDADD +MOD_AUTHZ_DEFAULT_LDADD +MOD_AUTHNZ_LDAP_LDADD +MOD_AUTHZ_OWNER_LDADD +MOD_AUTHZ_DBM_LDADD +MOD_AUTHZ_USER_LDADD +MOD_AUTHZ_GROUPFILE_LDADD +MOD_AUTHZ_HOST_LDADD +MOD_AUTHN_ALIAS_LDADD +MOD_AUTHN_DEFAULT_LDADD +MOD_AUTHN_DBD_LDADD +MOD_AUTHN_ANON_LDADD +MOD_AUTHN_DBM_LDADD +MOD_AUTHN_FILE_LDADD +PILDFLAGS +PICFLAGS +MKDEP +EGREP +GREP +INSTALL +MKINSTALLDIRS +LYNX_PATH +RANLIB +LN_S +AWK +RSYNC +PKGCONFIG +RM +LTCFLAGS +SHLTCFLAGS +PCRE_CONFIG +CPP +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +rel_proxycachedir +exp_proxycachedir +rel_logfiledir +exp_logfiledir +rel_runtimedir +exp_runtimedir +rel_localstatedir +exp_localstatedir +rel_includedir +exp_includedir +rel_cgidir +exp_cgidir +rel_manualdir +exp_manualdir +rel_htdocsdir +exp_htdocsdir +rel_iconsdir +exp_iconsdir +rel_errordir +exp_errordir +rel_installbuilddir +exp_installbuilddir +rel_datadir +exp_datadir +rel_sysconfdir +exp_sysconfdir +rel_mandir +exp_mandir +rel_libexecdir +exp_libexecdir +rel_libdir +exp_libdir +rel_sbindir +exp_sbindir +rel_bindir +exp_bindir +rel_exec_prefix +exp_exec_prefix +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -1467,9 +1468,9 @@ fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1522,7 +1523,7 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: Working directory cannot be determined" >&2 + { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 @@ -1895,7 +1896,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.62 +generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -1909,7 +1910,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2032,8 +2033,8 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -2236,6 +2237,8 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 @@ -2420,6 +2423,9 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + # Check whether --enable-layout was given. if test "${enable_layout+set}" = set; then enableval=$enable_layout; @@ -3621,8 +3627,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -3703,8 +3709,9 @@ rm -f confcache done - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it - test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + + apr_configure_args="--disable-option-checking $apr_configure_args" if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir $apache_apr_flags --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir --datadir=$datadir --with-installbuilddir=$installbuilddir then : @@ -3994,8 +4001,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -4076,8 +4083,9 @@ rm -f confcache done - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it - test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + + apr_configure_args="--disable-option-checking $apr_configure_args" if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir --with-apr=../apr --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir then : @@ -4225,12 +4233,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -4429,12 +4433,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -4444,11 +4444,13 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 @@ -4578,11 +4580,13 @@ if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext @@ -4610,13 +4614,15 @@ $as_echo "$ac_try_echo") >&5 if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi @@ -4659,11 +4665,13 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext @@ -4717,11 +4725,13 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext @@ -5290,11 +5300,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -5456,8 +5468,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -5526,8 +5538,9 @@ rm -f confcache apr_configure_args=$ac_configure_args - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it - test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + + apr_configure_args="--disable-option-checking $apr_configure_args" if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir then : @@ -5748,7 +5761,7 @@ case $host in LIBTOOL="$my_libtool \$(LTFLAGS)" libtoolversion=`$my_libtool --version` case $libtoolversion in - *1.[45]*) + *1.[45]* | *[2-9].[0-9]*) SH_LIBTOOL='$(LIBTOOL)' SHLTCFLAGS="-prefer-pic" LTCFLAGS="-prefer-non-pic -static" @@ -6121,12 +6134,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -6193,6 +6202,7 @@ INSTALL="\$(LIBTOOL) --mode=install \$(abs_srcdir)/build/install.sh -c" + { $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then @@ -6566,8 +6576,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -6705,7 +6716,7 @@ fi $as_echo "$ac_cv_header_minix_config_h" >&6; } fi -if test $ac_cv_header_minix_config_h = yes; then +if test "x$ac_cv_header_minix_config_h" = x""yes; then MINIX=yes else MINIX= @@ -6806,6 +6817,8 @@ _ACEOF _ACEOF + + { $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if test "${ac_cv_search_strerror+set}" = set; then @@ -6894,235 +6907,6 @@ if test "$ac_res" != no; then fi - if test "${ac_cv_header_minix_config_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5 -$as_echo_n "checking minix/config.h 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 <minix/config.h> -_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 minix/config.h presence" >&5 -$as_echo_n "checking minix/config.h 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 <minix/config.h> -_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: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_minix_config_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } - -fi -if test $ac_cv_header_minix_config_h = yes; then - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define _POSIX_SOURCE 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define _POSIX_1_SOURCE 2 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define _MINIX 1 -_ACEOF - - fi - - - - { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_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_cv_safe_to_define___extensions__=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_safe_to_define___extensions__=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - cat >>confdefs.h <<\_ACEOF -#define __EXTENSIONS__ 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _ALL_SOURCE 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _GNU_SOURCE 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _POSIX_PTHREAD_SEMANTICS 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _TANDEM_SOURCE 1 -_ACEOF - - - # Ensure that satisfactory versions of apr and apr-util are # found if external copies are configured. if test "${apr_found}" = "yes"; then @@ -7608,8 +7392,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7990,8 +7775,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -8004,11 +7790,11 @@ done { $as_echo "$as_me:$LINENO: checking for void pointer length" >&5 $as_echo_n "checking for void pointer length... " >&6; } -if test "${ap_void_ptr_lt_long+set}" = set; then +if test "${ap_cv_void_ptr_lt_long+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then - ap_void_ptr_lt_long=yes + ap_cv_void_ptr_lt_long=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -8044,14 +7830,14 @@ $as_echo "$ac_try_echo") >&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ap_void_ptr_lt_long=no + ap_cv_void_ptr_lt_long=no 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 ) -ap_void_ptr_lt_long=yes +ap_cv_void_ptr_lt_long=yes fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext @@ -8059,10 +7845,10 @@ fi fi -{ $as_echo "$as_me:$LINENO: result: $ap_void_ptr_lt_long" >&5 -$as_echo "$ap_void_ptr_lt_long" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ap_cv_void_ptr_lt_long" >&5 +$as_echo "$ap_cv_void_ptr_lt_long" >&6; } -if test "$ap_void_ptr_lt_long" = "yes"; then +if test "$ap_cv_void_ptr_lt_long" = "yes"; then { { $as_echo "$as_me:$LINENO: error: Size of \"void *\" is less than size of \"long\"" >&5 $as_echo "$as_me: error: Size of \"void *\" is less than size of \"long\"" >&2;} { (exit 1); exit 1; }; } @@ -13264,8 +13050,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -13365,8 +13152,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -14425,8 +14213,7 @@ $as_echo "checking dependencies" >&6; } if test "x$ap_ssltk_configured" = "x"; then ap_ssltk_base="" - ap_ssltk_inc="" - ap_ssltk_lib="" + ap_ssltk_libs="" ap_ssltk_type="" { $as_echo "$as_me:$LINENO: checking for SSL/TLS toolkit base" >&5 @@ -14460,10 +14247,95 @@ $as_echo "none" >&6; } $as_echo "$ap_ssltk_base" >&6; } fi - saved_CPPFLAGS=$CPPFLAGS + saved_CPPFLAGS="$CPPFLAGS" + saved_LIBS="$LIBS" if test "x$ap_ssltk_base" != "x"; then - ap_ssltk_inc="-I$ap_ssltk_base/include" - CPPFLAGS="$CPPFLAGS $ap_ssltk_inc" + + if test "x$CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-I$ap_ssltk_base/include\"" + CPPFLAGS="-I$ap_ssltk_base/include" + else + apr_addto_bugger="-I$ap_ssltk_base/include" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" + CPPFLAGS="$CPPFLAGS $i" + fi + done + fi + + + if test "x$INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting INCLUDES to \"-I$ap_ssltk_base/include\"" + INCLUDES="-I$ap_ssltk_base/include" + else + apr_addto_bugger="-I$ap_ssltk_base/include" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $INCLUDES; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" + INCLUDES="$INCLUDES $i" + fi + done + fi + + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"-L$ap_ssltk_base/lib\"" + LDFLAGS="-L$ap_ssltk_base/lib" + else + apr_addto_bugger="-L$ap_ssltk_base/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + if test "x$ap_platform_runtime_link_flag" != "x"; then + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$ap_platform_runtime_link_flag$ap_ssltk_base/lib\"" + LDFLAGS="$ap_platform_runtime_link_flag$ap_ssltk_base/lib" + else + apr_addto_bugger="$ap_platform_runtime_link_flag$ap_ssltk_base/lib" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + fi fi if test "x$ap_ssltk_type" = "x"; then { $as_echo "$as_me:$LINENO: checking for OpenSSL version" >&5 @@ -14604,8 +14476,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -14669,158 +14542,6 @@ $as_echo "not encouraging" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -for ac_header in openssl/engine.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_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 $ac_header usability" >&5 -$as_echo_n "checking $ac_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 <$ac_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 $ac_header presence" >&5 -$as_echo_n "checking $ac_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 <$ac_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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_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 -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - if test -n "$PKGCONFIG"; then - $PKGCONFIG openssl - if test $? -eq 0; then - ap_ssltk_inc="$ap_ssltk_inc `$PKGCONFIG --cflags-only-I openssl`" - CPPFLAGS="$CPPFLAGS $ap_ssltk_inc" - fi - fi else { $as_echo "$as_me:$LINENO: result: no OpenSSL headers found" >&5 $as_echo "no OpenSSL headers found" >&6; } @@ -14964,8 +14685,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -14977,6 +14699,7 @@ fi done if test "$ap_ssltk_type" = "sslc"; then + ap_ssltk_libs="-lsslc" { $as_echo "$as_me:$LINENO: checking for SSL-C version" >&5 $as_echo_n "checking for SSL-C version... " >&6; } cat >conftest.$ac_ext <<_ACEOF @@ -15038,65 +14761,161 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext $as_echo "no SSL-C headers found" >&6; } fi fi - CPPFLAGS=$saved_CPPFLAGS if test "x$ap_ssltk_type" = "x"; then { { $as_echo "$as_me:$LINENO: error: ...No recognized SSL/TLS toolkit detected" >&5 $as_echo "$as_me: error: ...No recognized SSL/TLS toolkit detected" >&2;} { (exit 1); exit 1; }; } fi - saved_LDFLAGS=$LDFLAGS - saved_LIBS=$LIBS - if test "x$ap_ssltk_base" != "x"; then - if test -d "$ap_ssltk_base/lib"; then - ap_ssltk_lib="$ap_ssltk_base/lib" + if test "$ap_ssltk_type" = "openssl"; then + if test "x$ap_ssltk_base" != "x" -a \ + -f "${ap_ssltk_base}/lib/pkgconfig/openssl.pc"; then + PKG_CONFIG_PATH="${ap_ssltk_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + fi + if test -n "$PKGCONFIG"; then + ap_ssltk_libs="`$PKGCONFIG --libs-only-l openssl`" + if test $? -eq 0; then + pkglookup="`$PKGCONFIG --cflags-only-I openssl`" + + if test "x$CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"$pkglookup\"" + CPPFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" + CPPFLAGS="$CPPFLAGS $i" + fi + done + fi + + + if test "x$INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting INCLUDES to \"$pkglookup\"" + INCLUDES="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $INCLUDES; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" + INCLUDES="$INCLUDES $i" + fi + done + fi + + pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`" + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$pkglookup\"" + LDFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + else + ap_ssltk_libs="-lssl -lcrypto `$apr_config --libs`" + fi else - ap_ssltk_lib="$ap_ssltk_base" + ap_ssltk_libs="-lssl -lcrypto `$apr_config --libs`" fi - LDFLAGS="$LDFLAGS -L$ap_ssltk_lib" fi - LIBS="$LIBS `$apr_config --libs`" - liberrors="" + + test "x$silent" != "xyes" && echo " forcing SSL_LIBS to \"$ap_ssltk_libs\"" + SSL_LIBS="$ap_ssltk_libs" + + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$ap_ssltk_libs\"" + LIBS="$ap_ssltk_libs" + else + apr_addto_bugger="$ap_ssltk_libs" + 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 + + + APACHE_VAR_SUBST="$APACHE_VAR_SUBST SSL_LIBS" + + + + liberrors="" if test "$ap_ssltk_type" = "openssl"; then -{ $as_echo "$as_me:$LINENO: checking for SSLeay_version in -lcrypto" >&5 -$as_echo_n "checking for SSLeay_version in -lcrypto... " >&6; } -if test "${ac_cv_lib_crypto_SSLeay_version+set}" = set; then +for ac_header in openssl/engine.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypto $LIBS" + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_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. */ - -/* 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 SSLeay_version (); -int -main () -{ -return SSLeay_version (); - ; - return 0; -} +$ac_includes_default +#include <$ac_header> _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +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_link") 2>conftest.er1 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -15105,115 +14924,111 @@ $as_echo "$ac_try_echo") >&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_crypto_SSLeay_version=yes + } && 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_cv_lib_crypto_SSLeay_version=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_crypto_SSLeay_version" >&5 -$as_echo "$ac_cv_lib_crypto_SSLeay_version" >&6; } -if test $ac_cv_lib_crypto_SSLeay_version = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCRYPTO 1 -_ACEOF - - LIBS="-lcrypto $LIBS" - -else - liberrors="yes" + 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; } -{ $as_echo "$as_me:$LINENO: checking for SSL_CTX_new in -lssl" >&5 -$as_echo_n "checking for SSL_CTX_new in -lssl... " >&6; } -if test "${ac_cv_lib_ssl_SSL_CTX_new+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lssl $LIBS" +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_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. */ - -/* 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 SSL_CTX_new (); -int -main () -{ -return SSL_CTX_new (); - ; - return 0; -} +#include <$ac_header> _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +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_link") 2>conftest.er1 + (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); } && { - test -z "$ac_c_werror_flag" || + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$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_ssl_SSL_CTX_new=yes + ac_header_preproc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_ssl_SSL_CTX_new=no + ac_header_preproc=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 +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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_CTX_new" >&5 -$as_echo "$ac_cv_lib_ssl_SSL_CTX_new" >&6; } -if test $ac_cv_lib_ssl_SSL_CTX_new = yes; then +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 cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSSL 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - LIBS="-lssl $LIBS" - -else - liberrors="yes" fi +done + + -for ac_func in ENGINE_init +for ac_func in SSLeay_version SSL_CTX_new do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -15303,17 +15118,21 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF +else + liberrors="yes" fi done -for ac_func in ENGINE_load_builtin_engines + +for ac_func in ENGINE_init ENGINE_load_builtin_engines do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -15403,8 +15222,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -15414,96 +15234,37 @@ done else -{ $as_echo "$as_me:$LINENO: checking for SSLC_library_version in -lsslc" >&5 -$as_echo_n "checking for SSLC_library_version in -lsslc... " >&6; } -if test "${ac_cv_lib_sslc_SSLC_library_version+set}" = set; then + +for ac_func in SSLC_library_version SSL_CTX_new +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsslc $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $ac_func innocuous_$ac_func -/* 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 SSLC_library_version (); -int -main () -{ -return SSLC_library_version (); - ; - 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_sslc_SSLC_library_version=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_sslc_SSLC_library_version=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_sslc_SSLC_library_version" >&5 -$as_echo "$ac_cv_lib_sslc_SSLC_library_version" >&6; } -if test $ac_cv_lib_sslc_SSLC_library_version = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSSLC 1 -_ACEOF - - LIBS="-lsslc $LIBS" - -else - liberrors="yes" -fi +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif -{ $as_echo "$as_me:$LINENO: checking for SSL_CTX_new in -lsslc" >&5 -$as_echo_n "checking for SSL_CTX_new in -lsslc... " >&6; } -if test "${ac_cv_lib_sslc_SSL_CTX_new+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsslc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -15511,11 +15272,18 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char SSL_CTX_new (); +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + int main () { -return SSL_CTX_new (); +return $ac_func (); ; return 0; } @@ -15541,31 +15309,33 @@ $as_echo "$ac_try_echo") >&5 test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then - ac_cv_lib_sslc_SSL_CTX_new=yes + eval "$as_ac_var=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_sslc_SSL_CTX_new=no + eval "$as_ac_var=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_sslc_SSL_CTX_new" >&5 -$as_echo "$ac_cv_lib_sslc_SSL_CTX_new" >&6; } -if test $ac_cv_lib_sslc_SSL_CTX_new = yes; then +ac_res=`eval 'as_val=${'$as_ac_var'} + $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_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSSLC 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - LIBS="-lsslc $LIBS" - else liberrors="yes" fi +done for ac_func in SSL_set_state @@ -15658,8 +15428,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -15759,8 +15530,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -15768,8 +15540,8 @@ _ACEOF fi done - LDFLAGS=$saved_LDFLAGS - LIBS=$saved_LIBS + CPPFLAGS="$saved_CPPFLAGS" + LIBS="$saved_LIBS" if test "x$liberrors" != "x"; then { { $as_echo "$as_me:$LINENO: error: ... Error, SSL/TLS libraries were missing or unusable" >&5 $as_echo "$as_me: error: ... Error, SSL/TLS libraries were missing or unusable" >&2;} @@ -15789,118 +15561,6 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi - if test "x$ap_ssltk_inc" != "x"; then - - if test "x$INCLUDES" = "x"; then - test "x$silent" != "xyes" && echo " setting INCLUDES to \"$ap_ssltk_inc\"" - INCLUDES="$ap_ssltk_inc" - else - apr_addto_bugger="$ap_ssltk_inc" - for i in $apr_addto_bugger; do - apr_addto_duplicate="0" - for j in $INCLUDES; do - if test "x$i" = "x$j"; then - apr_addto_duplicate="1" - break - fi - done - if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" - INCLUDES="$INCLUDES $i" - fi - done - fi - - fi - if test "x$ap_ssltk_lib" != "x"; then - - if test "x$LDFLAGS" = "x"; then - test "x$silent" != "xyes" && echo " setting LDFLAGS to \""-L$ap_ssltk_lib"\"" - LDFLAGS=""-L$ap_ssltk_lib"" - else - apr_addto_bugger=""-L$ap_ssltk_lib"" - for i in $apr_addto_bugger; do - apr_addto_duplicate="0" - for j in $LDFLAGS; do - if test "x$i" = "x$j"; then - apr_addto_duplicate="1" - break - fi - done - if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" - LDFLAGS="$LDFLAGS $i" - fi - done - fi - - if test "x$ap_platform_runtime_link_flag" != "x"; then - - if test "x$LDFLAGS" = "x"; then - test "x$silent" != "xyes" && echo " setting LDFLAGS to \""$ap_platform_runtime_link_flag$ap_ssltk_lib"\"" - LDFLAGS=""$ap_platform_runtime_link_flag$ap_ssltk_lib"" - else - apr_addto_bugger=""$ap_platform_runtime_link_flag$ap_ssltk_lib"" - for i in $apr_addto_bugger; do - apr_addto_duplicate="0" - for j in $LDFLAGS; do - if test "x$i" = "x$j"; then - apr_addto_duplicate="1" - break - fi - done - if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" - LDFLAGS="$LDFLAGS $i" - fi - done - fi - - fi - fi - # Put SSL libraries in SSL_LIBS. - if test "$ap_ssltk_type" = "openssl"; then - - test "x$silent" != "xyes" && echo " forcing SSL_LIBS to \"-lssl -lcrypto\"" - SSL_LIBS="-lssl -lcrypto" - - if test -n "$PKGCONFIG"; then - $PKGCONFIG openssl - if test $? -eq 0; then - ap_ssltk_libdep=`$PKGCONFIG --libs openssl` - - if test "x$SSL_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting SSL_LIBS to \"$ap_ssltk_libdep\"" - SSL_LIBS="$ap_ssltk_libdep" - else - apr_addto_bugger="$ap_ssltk_libdep" - for i in $apr_addto_bugger; do - apr_addto_duplicate="0" - for j in $SSL_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 SSL_LIBS" - SSL_LIBS="$SSL_LIBS $i" - fi - done - fi - - fi - fi - else - - test "x$silent" != "xyes" && echo " forcing SSL_LIBS to \"-lsslc\"" - SSL_LIBS="-lsslc" - - fi - - APACHE_VAR_SUBST="$APACHE_VAR_SUBST SSL_LIBS" - - fi @@ -16068,7 +15728,7 @@ fi $as_echo "$ac_cv_header_distcache_dc_client_h" >&6; } fi -if test $ac_cv_header_distcache_dc_client_h = yes; then +if test "x$ac_cv_header_distcache_dc_client_h" = x""yes; then : else tmp_nomessage="can't include distcache headers" @@ -17043,8 +16703,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -17146,8 +16807,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -17295,8 +16957,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -17399,8 +17062,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -17544,8 +17208,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -17645,8 +17310,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -19942,8 +19608,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -19984,8 +19651,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -20150,8 +19817,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -21492,8 +21160,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -22323,8 +21991,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -22716,7 +22384,7 @@ exec 6>&1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -22729,6 +22397,15 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" @@ -22742,16 +22419,17 @@ ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] + --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] + --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: @@ -22769,7 +22447,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.62, +configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. @@ -23001,7 +22679,8 @@ for ac_last_try in false false false false false :; do $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -23206,9 +22885,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 } split(mac1, mac2, "(") #) macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". - prefix = substr(line, 1, index(line, defundef) - 1) print prefix "define", macro P[macro] D[macro] next } else { @@ -23216,7 +22895,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { - print "/*", line, "*/" + print "/*", prefix defundef, macro, "*/" next } } @@ -23240,8 +22919,8 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; @@ -23566,8 +23245,8 @@ if test "$no_create" != yes; then $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/configure.in b/configure.in index 434a43ec..0ccf8591 100644 --- a/configure.in +++ b/configure.in @@ -18,6 +18,15 @@ sinclude(build/find_apr.m4) sinclude(build/find_apu.m4) sinclude(acinclude.m4) +dnl Later versions of autoconf (>= 2.62) by default cause the produced +dnl configure script to emit at least warnings when it comes across unknown +dnl command line options. These versions also have the macro +dnl AC_DISABLE_OPTION_CHECKING defined which turns this off by default. +dnl We want to have this turned off here since our configure calls can +dnl contain options for APR / APR-UTIL configure that are unknown to us. +dnl So avoid confusing the user by turning this off. See also PR 45221. +ifdef([AC_DISABLE_OPTION_CHECKING], [AC_DISABLE_OPTION_CHECKING]) + dnl XXX we can't just use AC_PREFIX_DEFAULT because that isn't subbed in dnl by configure until it is too late. Is that how it should be or not? dnl Something seems broken here. @@ -235,7 +244,7 @@ case $host in LIBTOOL="$my_libtool \$(LTFLAGS)" libtoolversion=`$my_libtool --version` case $libtoolversion in - *1.[[45]]*) + *1.[[45]]* | *[[2-9]].[[0-9]]*) SH_LIBTOOL='$(LIBTOOL)' SHLTCFLAGS="-prefer-pic" LTCFLAGS="-prefer-non-pic -static" @@ -329,10 +338,15 @@ INSTALL="\$(LIBTOOL) --mode=install \$(abs_srcdir)/build/install.sh -c" APACHE_SUBST(MKINSTALLDIRS) APACHE_SUBST(INSTALL) -dnl various OS checks that apparently set required flags +dnl Various OS checks that apparently set required flags +ifdef([AC_USE_SYSTEM_EXTENSIONS], [ +AC_USE_SYSTEM_EXTENSIONS +], [ AC_AIX -AC_ISC_POSIX AC_MINIX +]) + +AC_ISC_POSIX # Ensure that satisfactory versions of apr and apr-util are # found if external copies are configured. diff --git a/docs/conf/mime.types b/docs/conf/mime.types index f1299bce..07b4465e 100644 --- a/docs/conf/mime.types +++ b/docs/conf/mime.types @@ -63,6 +63,7 @@ application/javascript js application/json json application/kpml-request+xml application/kpml-response+xml +application/lost+xml lostxml application/mac-binhex40 hqx application/mac-compactpro cpt application/macwriteii @@ -80,6 +81,7 @@ application/mbms-register+xml application/mbms-register-response+xml application/mbms-user-service-description+xml application/mbox mbox +application/media_control+xml application/mediaservercontrol+xml mscml application/mikey application/moss-keys @@ -93,7 +95,6 @@ application/mpeg4-iod-xmt application/msword doc dot application/mxf mxf application/nasdata -application/news-message-id application/news-transmission application/nss application/ocsp-request @@ -101,14 +102,16 @@ application/ocsp-response application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc application/oda oda application/oebps-package+xml -application/ogg ogg +application/ogg ogx application/parityfec +application/patch-ops-error+xml xer application/pdf pdf application/pgp-encrypted pgp application/pgp-keys application/pgp-signature asc sig application/pics-rules prf application/pidf+xml +application/pidf-diff+xml application/pkcs10 p10 application/pkcs7-mime p7m p7c application/pkcs7-signature p7s @@ -129,6 +132,7 @@ application/reginfo+xml rif application/relax-ng-compact-syntax rnc application/remote-printing application/resource-lists+xml rl +application/resource-lists-diff+xml rld application/riscos application/rlmi+xml application/rls-services+xml rs @@ -188,11 +192,13 @@ application/vnd.acucorp atc acutc application/vnd.adobe.xdp+xml xdp application/vnd.adobe.xfdf xfdf application/vnd.aether.imp +application/vnd.americandynamics.acc acc application/vnd.amiga.ami ami application/vnd.anser-web-certificate-issue-initiation cii application/vnd.anser-web-funds-transfer-initiation fti application/vnd.antix.game-component atx application/vnd.apple.installer+xml mpkg +application/vnd.arastra.swi swi application/vnd.audiograph aep application/vnd.autopackage application/vnd.avistar+xml @@ -220,6 +226,7 @@ application/vnd.crick.clicker.template clkt application/vnd.crick.clicker.wordbank clkw application/vnd.criticaltools.wbs+xml wbs application/vnd.ctc-posml pml +application/vnd.ctct.ws+xml application/vnd.cups-pdf application/vnd.cups-postscript application/vnd.cups-ppd ppd @@ -235,6 +242,8 @@ application/vnd.dpgraph dpg application/vnd.dreamfactory dfac application/vnd.dvb.esgcontainer application/vnd.dvb.ipdcesgaccess +application/vnd.dvb.iptv.alfec-base +application/vnd.dvb.iptv.alfec-enhancement application/vnd.dxr application/vnd.ecdis-update application/vnd.ecowin.chart mag @@ -259,6 +268,7 @@ application/vnd.ffsns application/vnd.fints application/vnd.flographit gph application/vnd.fluxtime.clip ftc +application/vnd.font-fontforge-sfd application/vnd.framemaker fm frame maker application/vnd.frogans.fnc fnc application/vnd.frogans.ltf ltf @@ -277,6 +287,7 @@ application/vnd.fujixerox.docuworks.binder xbd application/vnd.fut-misnet application/vnd.fuzzysheet fzs application/vnd.genomatix.tuxedo txd +application/vnd.gmx gmx application/vnd.google-earth.kml+xml kml application/vnd.google-earth.kmz kmz application/vnd.grafeq gqf gqs @@ -299,6 +310,7 @@ application/vnd.hp-jlyt jlt application/vnd.hp-pcl pcl application/vnd.hp-pclxl pclxl application/vnd.httphone +application/vnd.hydrostatix.sof-data sfd-hdstx application/vnd.hzn-3d-crossword x3d application/vnd.ibm.afplinedata application/vnd.ibm.electronic-media @@ -306,6 +318,7 @@ application/vnd.ibm.minipay mpy application/vnd.ibm.modcap afp listafp list3820 application/vnd.ibm.rights-management irm application/vnd.ibm.secure-container sc +application/vnd.iccprofile icc icm application/vnd.igloader igl application/vnd.immervision-ivp ivp application/vnd.immervision-ivu ivu @@ -315,6 +328,10 @@ application/vnd.intertrust.digibox application/vnd.intertrust.nncp application/vnd.intu.qbo qbo application/vnd.intu.qfx qfx +application/vnd.iptc.g2.conceptitem+xml +application/vnd.iptc.g2.knowledgeitem+xml +application/vnd.iptc.g2.newsitem+xml +application/vnd.iptc.g2.packageitem+xml application/vnd.ipunplugged.rcprofile rcprofile application/vnd.irepository.package+xml irp application/vnd.is-xpr xpr @@ -343,6 +360,7 @@ application/vnd.kenameaapp htke application/vnd.kidspiration kia application/vnd.kinar kne knp application/vnd.koan skp skd skt skm +application/vnd.kodak-descriptor sse application/vnd.liberty-request+xml application/vnd.llamagraphics.life-balance.desktop lbd application/vnd.llamagraphics.life-balance.exchange+xml lbe @@ -356,6 +374,7 @@ application/vnd.lotus-wordpro lwp application/vnd.macports.portpkg portpkg application/vnd.marlin.drm.actiontoken+xml application/vnd.marlin.drm.conftoken+xml +application/vnd.marlin.drm.license+xml application/vnd.marlin.drm.mdcf application/vnd.mcd mcd application/vnd.medcalcdata mc1 @@ -384,7 +403,8 @@ application/vnd.motorola.flexsuite.gotap application/vnd.motorola.flexsuite.kmr application/vnd.motorola.flexsuite.ttc application/vnd.motorola.flexsuite.wem -application/vnd.mozilla.xul+xml xul +application/vnd.motorola.iprm +application/vnd.mozilla.xul+xml xul application/vnd.ms-artgalry cil application/vnd.ms-asf asf application/vnd.ms-cab-compressed cab @@ -462,19 +482,25 @@ application/vnd.oma-scws-http-response application/vnd.oma.bcast.associated-procedure-parameter+xml application/vnd.oma.bcast.drm-trigger+xml application/vnd.oma.bcast.imd+xml +application/vnd.oma.bcast.ltkm application/vnd.oma.bcast.notification+xml +application/vnd.oma.bcast.provisioningtrigger application/vnd.oma.bcast.sgboot application/vnd.oma.bcast.sgdd+xml application/vnd.oma.bcast.sgdu application/vnd.oma.bcast.simple-symbol-container application/vnd.oma.bcast.smartcard-trigger+xml application/vnd.oma.bcast.sprov+xml +application/vnd.oma.bcast.stkm +application/vnd.oma.dcd +application/vnd.oma.dcdc application/vnd.oma.dd2+xml dd2 application/vnd.oma.drm.risd+xml application/vnd.oma.group-usage-list+xml application/vnd.oma.poc.detailed-progress-report+xml application/vnd.oma.poc.final-report+xml application/vnd.oma.poc.groups+xml +application/vnd.oma.poc.invocation-descriptor+xml application/vnd.oma.poc.optimized-progress-report+xml application/vnd.oma.xcap-directory+xml application/vnd.omads-email+xml @@ -513,6 +539,7 @@ application/vnd.recordare.musicxml mxl application/vnd.recordare.musicxml+xml application/vnd.renlearn.rlprint application/vnd.rn-realmedia rm +application/vnd.route66.link66+xml link66 application/vnd.ruckus.download application/vnd.s3sms application/vnd.sbm.mid2 @@ -538,6 +565,8 @@ application/vnd.shana.informed.interchange iif application/vnd.shana.informed.package ipk application/vnd.simtech-mindmapper twd twds application/vnd.smaf mmf +application/vnd.software602.filler.form+xml +application/vnd.software602.filler.form-xml-zip application/vnd.solent.sdkm+xml sdkm sdkd application/vnd.spotfire.dxp dxp application/vnd.spotfire.sfs sfs @@ -593,6 +622,7 @@ application/vnd.wap.wmlscriptc wmlsc application/vnd.webturbo wtb application/vnd.wfa.wsc application/vnd.wmc +application/vnd.wmf.bootstrap application/vnd.wordperfect wpd application/vnd.wqd wqd application/vnd.wrq-hp3000-labelled @@ -602,6 +632,7 @@ application/vnd.wv.csp+xml application/vnd.wv.ssp+xml application/vnd.xara xar application/vnd.xfdl xfdl +application/vnd.xmi+xml application/vnd.xmpie.cpkg application/vnd.xmpie.dpkg application/vnd.xmpie.plan @@ -719,6 +750,9 @@ audio/evrc1 audio/evrcb audio/evrcb0 audio/evrcb1 +audio/evrcwb +audio/evrcwb0 +audio/evrcwb1 audio/g722 audio/g7221 audio/g723 @@ -747,6 +781,7 @@ audio/mpa audio/mpa-robust audio/mpeg mpga mp2 mp2a mp3 m2a m3a audio/mpeg4-generic +audio/ogg oga ogg spx audio/parityfec audio/pcma audio/pcmu @@ -778,9 +813,12 @@ audio/vnd.cns.inf1 audio/vnd.digital-winds eol audio/vnd.dlna.adts audio/vnd.dolby.mlp +audio/vnd.dts dts +audio/vnd.dts.hd dtshd audio/vnd.everad.plj audio/vnd.hns.audio audio/vnd.lucent.voice lvp +audio/vnd.ms-playready.media.pya pya audio/vnd.nokia.mobile-xmf audio/vnd.nortel.vbk audio/vnd.nuera.ecelp4800 ecelp4800 @@ -791,6 +829,8 @@ audio/vnd.qcelp audio/vnd.rhetorex.32kadpcm audio/vnd.sealedmedia.softseal.mpeg audio/vnd.vmx.cvsd +audio/vorbis +audio/vorbis-config audio/wav wav audio/x-aiff aif aiff aifc audio/x-mpegurl m3u @@ -862,6 +902,10 @@ message/cpim message/delivery-status message/disposition-notification message/external-body +message/global +message/global-delivery-status +message/global-disposition-notification +message/global-headers message/http message/news message/partial @@ -926,6 +970,7 @@ text/vnd.dmclientscript text/vnd.esmertec.theme-descriptor text/vnd.fly fly text/vnd.fmi.flexstor flx +text/vnd.graphviz gv text/vnd.in3d.3dml 3dml text/vnd.in3d.spot spot text/vnd.iptc.newsml @@ -965,6 +1010,7 @@ video/h263-1998 video/h263-2000 video/h264 h264 video/jpeg jpgv +video/jpeg2000 video/jpm jpm jpgm video/mj2 mj2 mjp2 video/mp1s @@ -976,6 +1022,7 @@ video/mpeg mpeg mpg mpe m1v m2v video/mpeg4-generic video/mpv video/nv +video/ogg ogv video/parityfec video/pointer video/quicktime qt mov @@ -985,12 +1032,20 @@ video/rtx video/smpte292m video/ulpfec video/vc1 +video/vnd.cctv video/vnd.dlna.mpeg-tts video/vnd.fvt fvt video/vnd.hns.video +video/vnd.iptvforum.1dparityfec-1010 +video/vnd.iptvforum.1dparityfec-2005 +video/vnd.iptvforum.2dparityfec-1010 +video/vnd.iptvforum.2dparityfec-2005 +video/vnd.iptvforum.ttsavc +video/vnd.iptvforum.ttsmpeg2 video/vnd.motorola.video video/vnd.motorola.videop video/vnd.mpegurl mxu m4u +video/vnd.ms-playready.media.pyv pyv video/vnd.nokia.interleaved-multimedia video/vnd.nokia.videovoip video/vnd.objectvideo diff --git a/docs/docroot/apache_pb.gif b/docs/docroot/apache_pb.gif Binary files differdeleted file mode 100644 index 3a1c139f..00000000 --- a/docs/docroot/apache_pb.gif +++ /dev/null diff --git a/docs/docroot/apache_pb.png b/docs/docroot/apache_pb.png Binary files differdeleted file mode 100644 index eb99a8cd..00000000 --- a/docs/docroot/apache_pb.png +++ /dev/null diff --git a/docs/docroot/apache_pb22.gif b/docs/docroot/apache_pb22.gif Binary files differdeleted file mode 100644 index 7aab8053..00000000 --- a/docs/docroot/apache_pb22.gif +++ /dev/null diff --git a/docs/docroot/apache_pb22.png b/docs/docroot/apache_pb22.png Binary files differdeleted file mode 100644 index 988926c2..00000000 --- a/docs/docroot/apache_pb22.png +++ /dev/null diff --git a/docs/docroot/apache_pb22_ani.gif b/docs/docroot/apache_pb22_ani.gif Binary files differdeleted file mode 100644 index cafccc56..00000000 --- a/docs/docroot/apache_pb22_ani.gif +++ /dev/null diff --git a/docs/icons/a.png b/docs/icons/a.png Binary files differindex 8cd63a95..98fd358b 100644 --- a/docs/icons/a.png +++ b/docs/icons/a.png diff --git a/docs/icons/alert.black.png b/docs/icons/alert.black.png Binary files differindex 8655d801..60b29521 100644 --- a/docs/icons/alert.black.png +++ b/docs/icons/alert.black.png diff --git a/docs/icons/alert.red.png b/docs/icons/alert.red.png Binary files differindex aa877c09..27f1924f 100644 --- a/docs/icons/alert.red.png +++ b/docs/icons/alert.red.png diff --git a/docs/icons/apache_pb.png b/docs/icons/apache_pb.png Binary files differindex 9b55f79f..daa26b0b 100644 --- a/docs/icons/apache_pb.png +++ b/docs/icons/apache_pb.png diff --git a/docs/icons/apache_pb2.gif b/docs/icons/apache_pb2.gif Binary files differindex 4e67c711..192ae815 100644 --- a/docs/icons/apache_pb2.gif +++ b/docs/icons/apache_pb2.gif diff --git a/docs/icons/apache_pb2.png b/docs/icons/apache_pb2.png Binary files differindex 1237499f..e2721037 100644 --- a/docs/icons/apache_pb2.png +++ b/docs/icons/apache_pb2.png diff --git a/docs/icons/apache_pb2_ani.gif b/docs/icons/apache_pb2_ani.gif Binary files differindex fc41c036..177c6c01 100644 --- a/docs/icons/apache_pb2_ani.gif +++ b/docs/icons/apache_pb2_ani.gif diff --git a/docs/icons/back.png b/docs/icons/back.png Binary files differindex 27d4dc7a..a97b41e4 100644 --- a/docs/icons/back.png +++ b/docs/icons/back.png diff --git a/docs/icons/ball.gray.png b/docs/icons/ball.gray.png Binary files differindex cac2ce0b..75a6b76e 100644 --- a/docs/icons/ball.gray.png +++ b/docs/icons/ball.gray.png diff --git a/docs/icons/ball.red.png b/docs/icons/ball.red.png Binary files differindex 9c19b941..983ebd34 100644 --- a/docs/icons/ball.red.png +++ b/docs/icons/ball.red.png diff --git a/docs/icons/binary.png b/docs/icons/binary.png Binary files differindex ed0c6608..c86d3e9b 100644 --- a/docs/icons/binary.png +++ b/docs/icons/binary.png diff --git a/docs/icons/binhex.png b/docs/icons/binhex.png Binary files differindex df267fb1..5b34c87f 100644 --- a/docs/icons/binhex.png +++ b/docs/icons/binhex.png diff --git a/docs/icons/blank.png b/docs/icons/blank.png Binary files differindex 33e64770..5fd29a8f 100644 --- a/docs/icons/blank.png +++ b/docs/icons/blank.png diff --git a/docs/icons/bomb.png b/docs/icons/bomb.png Binary files differindex 58323a21..29a11825 100644 --- a/docs/icons/bomb.png +++ b/docs/icons/bomb.png diff --git a/docs/icons/broken.png b/docs/icons/broken.png Binary files differindex 44ab15d7..2ebe4597 100644 --- a/docs/icons/broken.png +++ b/docs/icons/broken.png diff --git a/docs/icons/burst.png b/docs/icons/burst.png Binary files differindex fd504ee3..aafaa6dd 100644 --- a/docs/icons/burst.png +++ b/docs/icons/burst.png diff --git a/docs/icons/c.png b/docs/icons/c.png Binary files differindex a1fef3e3..46abf10c 100644 --- a/docs/icons/c.png +++ b/docs/icons/c.png diff --git a/docs/icons/comp.gray.png b/docs/icons/comp.gray.png Binary files differindex 8f620bdd..521fd763 100644 --- a/docs/icons/comp.gray.png +++ b/docs/icons/comp.gray.png diff --git a/docs/icons/continued.png b/docs/icons/continued.png Binary files differindex 7431262e..b21bd3b0 100644 --- a/docs/icons/continued.png +++ b/docs/icons/continued.png diff --git a/docs/icons/dir.png b/docs/icons/dir.png Binary files differindex 971ac3f4..df03153b 100644 --- a/docs/icons/dir.png +++ b/docs/icons/dir.png diff --git a/docs/icons/down.png b/docs/icons/down.png Binary files differindex 076ca2e9..60f2a392 100644 --- a/docs/icons/down.png +++ b/docs/icons/down.png diff --git a/docs/icons/dvi.png b/docs/icons/dvi.png Binary files differindex e77b2821..463e1aa9 100644 --- a/docs/icons/dvi.png +++ b/docs/icons/dvi.png diff --git a/docs/icons/f.png b/docs/icons/f.png Binary files differindex 876e1c9c..8c89b274 100644 --- a/docs/icons/f.png +++ b/docs/icons/f.png diff --git a/docs/icons/folder.open.png b/docs/icons/folder.open.png Binary files differindex 7260e840..6b5d5206 100644 --- a/docs/icons/folder.open.png +++ b/docs/icons/folder.open.png diff --git a/docs/icons/folder.png b/docs/icons/folder.png Binary files differindex 971ac3f4..df03153b 100644 --- a/docs/icons/folder.png +++ b/docs/icons/folder.png diff --git a/docs/icons/forward.png b/docs/icons/forward.png Binary files differindex 9e7bfeec..34ef3ae4 100644 --- a/docs/icons/forward.png +++ b/docs/icons/forward.png diff --git a/docs/icons/generic.png b/docs/icons/generic.png Binary files differindex 2c75bde9..478e06ee 100644 --- a/docs/icons/generic.png +++ b/docs/icons/generic.png diff --git a/docs/icons/generic.red.png b/docs/icons/generic.red.png Binary files differindex 2fcb057c..c518e9cb 100644 --- a/docs/icons/generic.red.png +++ b/docs/icons/generic.red.png diff --git a/docs/icons/generic.sec.png b/docs/icons/generic.sec.png Binary files differindex 229ddbfe..e0cd444b 100644 --- a/docs/icons/generic.sec.png +++ b/docs/icons/generic.sec.png diff --git a/docs/icons/hand.right.png b/docs/icons/hand.right.png Binary files differindex 88efd6f8..3c5bd12e 100644 --- a/docs/icons/hand.right.png +++ b/docs/icons/hand.right.png diff --git a/docs/icons/hand.up.png b/docs/icons/hand.up.png Binary files differindex d892e15c..acfc3681 100644 --- a/docs/icons/hand.up.png +++ b/docs/icons/hand.up.png diff --git a/docs/icons/image1.png b/docs/icons/image1.png Binary files differindex c56991b4..eafff5e3 100644 --- a/docs/icons/image1.png +++ b/docs/icons/image1.png diff --git a/docs/icons/image2.png b/docs/icons/image2.png Binary files differindex 532432c9..1fe32092 100644 --- a/docs/icons/image2.png +++ b/docs/icons/image2.png diff --git a/docs/icons/image3.png b/docs/icons/image3.png Binary files differindex 90373245..5de386b4 100644 --- a/docs/icons/image3.png +++ b/docs/icons/image3.png diff --git a/docs/icons/index.png b/docs/icons/index.png Binary files differindex ca3cd277..eec0334d 100644 --- a/docs/icons/index.png +++ b/docs/icons/index.png diff --git a/docs/icons/layout.png b/docs/icons/layout.png Binary files differindex 8f3bbd25..7c6b7638 100644 --- a/docs/icons/layout.png +++ b/docs/icons/layout.png diff --git a/docs/icons/left.png b/docs/icons/left.png Binary files differindex fa19fd66..1087e702 100644 --- a/docs/icons/left.png +++ b/docs/icons/left.png diff --git a/docs/icons/link.png b/docs/icons/link.png Binary files differindex 5969c45b..f53339b2 100644 --- a/docs/icons/link.png +++ b/docs/icons/link.png diff --git a/docs/icons/movie.png b/docs/icons/movie.png Binary files differindex bb9c9e4d..131e9dc7 100644 --- a/docs/icons/movie.png +++ b/docs/icons/movie.png diff --git a/docs/icons/p.png b/docs/icons/p.png Binary files differindex 99bca2c8..450d9c6e 100644 --- a/docs/icons/p.png +++ b/docs/icons/p.png diff --git a/docs/icons/patch.png b/docs/icons/patch.png Binary files differindex a1a7abd8..85c9ba08 100644 --- a/docs/icons/patch.png +++ b/docs/icons/patch.png diff --git a/docs/icons/pdf.png b/docs/icons/pdf.png Binary files differindex dd478cc5..777fb182 100644 --- a/docs/icons/pdf.png +++ b/docs/icons/pdf.png diff --git a/docs/icons/pie0.png b/docs/icons/pie0.png Binary files differindex 0418fd5e..f9b6adf9 100644 --- a/docs/icons/pie0.png +++ b/docs/icons/pie0.png diff --git a/docs/icons/pie1.png b/docs/icons/pie1.png Binary files differindex 9ec6d610..633959c1 100644 --- a/docs/icons/pie1.png +++ b/docs/icons/pie1.png diff --git a/docs/icons/pie2.png b/docs/icons/pie2.png Binary files differindex b74fc719..198f3e41 100644 --- a/docs/icons/pie2.png +++ b/docs/icons/pie2.png diff --git a/docs/icons/pie3.png b/docs/icons/pie3.png Binary files differindex cad281a2..3fab58cd 100644 --- a/docs/icons/pie3.png +++ b/docs/icons/pie3.png diff --git a/docs/icons/pie4.png b/docs/icons/pie4.png Binary files differindex e6d01d2d..7fa6a037 100644 --- a/docs/icons/pie4.png +++ b/docs/icons/pie4.png diff --git a/docs/icons/pie5.png b/docs/icons/pie5.png Binary files differindex 8851abf8..c7e3c581 100644 --- a/docs/icons/pie5.png +++ b/docs/icons/pie5.png diff --git a/docs/icons/pie6.png b/docs/icons/pie6.png Binary files differindex 8dc4df56..072fd40c 100644 --- a/docs/icons/pie6.png +++ b/docs/icons/pie6.png diff --git a/docs/icons/pie7.png b/docs/icons/pie7.png Binary files differindex 242957ea..8817d879 100644 --- a/docs/icons/pie7.png +++ b/docs/icons/pie7.png diff --git a/docs/icons/pie8.png b/docs/icons/pie8.png Binary files differindex c5f2d0d5..b2c70e3f 100644 --- a/docs/icons/pie8.png +++ b/docs/icons/pie8.png diff --git a/docs/icons/ps.png b/docs/icons/ps.png Binary files differindex 4058cfbb..65bc1221 100644 --- a/docs/icons/ps.png +++ b/docs/icons/ps.png diff --git a/docs/icons/right.png b/docs/icons/right.png Binary files differindex ded7110e..00495dc4 100644 --- a/docs/icons/right.png +++ b/docs/icons/right.png diff --git a/docs/icons/screw1.png b/docs/icons/screw1.png Binary files differindex 3815cb70..c9456909 100644 --- a/docs/icons/screw1.png +++ b/docs/icons/screw1.png diff --git a/docs/icons/screw2.png b/docs/icons/screw2.png Binary files differindex 3f4c5a28..6912f9ef 100644 --- a/docs/icons/screw2.png +++ b/docs/icons/screw2.png diff --git a/docs/icons/script.png b/docs/icons/script.png Binary files differindex 8064d073..d2a00ca6 100644 --- a/docs/icons/script.png +++ b/docs/icons/script.png diff --git a/docs/icons/sound2.png b/docs/icons/sound2.png Binary files differindex 0b11d761..8cbbe02a 100644 --- a/docs/icons/sound2.png +++ b/docs/icons/sound2.png diff --git a/docs/icons/sphere1.png b/docs/icons/sphere1.png Binary files differindex 5dddd042..ae3b3a3a 100644 --- a/docs/icons/sphere1.png +++ b/docs/icons/sphere1.png diff --git a/docs/icons/tar.png b/docs/icons/tar.png Binary files differindex 533fd6f0..42877139 100644 --- a/docs/icons/tar.png +++ b/docs/icons/tar.png diff --git a/docs/icons/tex.png b/docs/icons/tex.png Binary files differindex ca8e7893..a3d08eb7 100644 --- a/docs/icons/tex.png +++ b/docs/icons/tex.png diff --git a/docs/icons/text.png b/docs/icons/text.png Binary files differindex ad068b90..c43fb622 100644 --- a/docs/icons/text.png +++ b/docs/icons/text.png diff --git a/docs/icons/transfer.png b/docs/icons/transfer.png Binary files differindex bd4f325f..b969e434 100644 --- a/docs/icons/transfer.png +++ b/docs/icons/transfer.png diff --git a/docs/icons/unknown.png b/docs/icons/unknown.png Binary files differindex 8277602b..e4e29824 100644 --- a/docs/icons/unknown.png +++ b/docs/icons/unknown.png diff --git a/docs/icons/up.png b/docs/icons/up.png Binary files differindex b8d32f58..4aa8faf5 100644 --- a/docs/icons/up.png +++ b/docs/icons/up.png diff --git a/docs/icons/uu.png b/docs/icons/uu.png Binary files differindex 483fb8d6..a57837a0 100644 --- a/docs/icons/uu.png +++ b/docs/icons/uu.png diff --git a/docs/icons/uuencoded.png b/docs/icons/uuencoded.png Binary files differindex 483fb8d6..a57837a0 100644 --- a/docs/icons/uuencoded.png +++ b/docs/icons/uuencoded.png diff --git a/docs/icons/world2.png b/docs/icons/world2.png Binary files differindex 0d33fb67..e7ea4899 100644 --- a/docs/icons/world2.png +++ b/docs/icons/world2.png diff --git a/docs/man/ab.8 b/docs/man/ab.8 index aa1c7ab2..c1ba3f24 100644 --- a/docs/man/ab.8 +++ b/docs/man/ab.8 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "AB" 8 "2004-11-14" "Apache HTTP Server" "ab" +.TH "AB" 8 "2008-10-23" "Apache HTTP Server" "ab" .SH NAME ab \- Apache HTTP server benchmarking tool @@ -27,7 +27,7 @@ ab \- Apache HTTP server benchmarking tool .SH "SYNOPSIS" .PP -\fBab\fR [ -\fBA\fR \fIauth-username\fR:\fIpassword\fR ] [ -\fBc\fR \fIconcurrency\fR ] [ -\fBC\fR \fIcookie-name\fR=\fIvalue\fR ] [ -\fBd\fR ] [ -\fBe\fR \fIcsv-file\fR ] [ -\fBg\fR \fIgnuplot-file\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIcustom-header\fR ] [ -\fBi\fR ] [ -\fBk\fR ] [ -\fBn\fR \fIrequests\fR ] [ -\fBp\fR \fIPOST-file\fR ] [ -\fBP\fR \fIproxy-auth-username\fR:\fIpassword\fR ] [ -\fBq\fR ] [ -\fBs\fR ] [ -\fBS\fR ] [ -\fBt\fR \fItimelimit\fR ] [ -\fBT\fR \fIcontent-type\fR ] [ -\fBv\fR \fIverbosity\fR] [ -\fBV\fR ] [ -\fBw\fR ] [ -\fBx\fR \fI<table>-attributes\fR ] [ -\fBX\fR \fIproxy\fR[:\fIport\fR] ] [ -\fBy\fR \fI<tr>-attributes\fR ] [ -\fBz\fR \fI<td>-attributes\fR ] [http://]\fIhostname\fR[:\fIport\fR]/\fIpath\fR +\fBab\fR [ -\fBA\fR \fIauth-username\fR:\fIpassword\fR ] [ -\fBb\fR \fIwindowsize\fR ] [ -\fBc\fR \fIconcurrency\fR ] [ -\fBC\fR \fIcookie-name\fR=\fIvalue\fR ] [ -\fBd\fR ] [ -\fBe\fR \fIcsv-file\fR ] [ -\fBf\fR \fIprotocol\fR ] [ -\fBg\fR \fIgnuplot-file\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIcustom-header\fR ] [ -\fBi\fR ] [ -\fBk\fR ] [ -\fBn\fR \fIrequests\fR ] [ -\fBp\fR \fIPOST-file\fR ] [ -\fBP\fR \fIproxy-auth-username\fR:\fIpassword\fR ] [ -\fBq\fR ] [ -\fBr\fR ] [ -\fBs\fR ] [ -\fBS\fR ] [ -\fBt\fR \fItimelimit\fR ] [ -\fBT\fR \fIcontent-type\fR ] [ -\fBv\fR \fIverbosity\fR] [ -\fBV\fR ] [ -\fBw\fR ] [ -\fBx\fR \fI<table>-attributes\fR ] [ -\fBX\fR \fIproxy\fR[:\fIport\fR] ] [ -\fBy\fR \fI<tr>-attributes\fR ] [ -\fBz\fR \fI<td>-attributes\fR ] [ -\fBZ\fR \fIciphersuite\fR ] [http[s]://]\fIhostname\fR[:\fIport\fR]/\fIpath\fR .SH "SUMMARY" @@ -43,6 +43,9 @@ ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) ser -A \fIauth-username\fR:\fIpassword\fR Supply BASIC Authentication credentials to the server\&. The username and password are separated by a single : and sent on the wire base64 encoded\&. The string is sent regardless of whether the server needs it (\fIi\&.e\&.\fR, has sent an 401 authentication needed)\&. .TP +-b \fIwindowsize\fR +Size of TCP send/receive buffer, in bytes\&. +.TP -c \fIconcurrency\fR Number of multiple requests to perform at a time\&. Default is one request at a time\&. .TP @@ -55,6 +58,9 @@ Do not display the "percentage served within XX [ms] table"\&. (legacy support)\ -e \fIcsv-file\fR Write a Comma separated value (CSV) file which contains for each percentage (from 1% to 100%) the time (in milliseconds) it took to serve that percentage of the requests\&. This is usually more useful than the 'gnuplot' file; as the results are already 'binned'\&. .TP +-f \fIprotocol\fR +Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)\&. +.TP -g \fIgnuplot-file\fR Write all measured values out as a 'gnuplot' or TSV (Tab separate values) file\&. This file can easily be imported into packages like Gnuplot, IDL, Mathematica, Igor or even Excel\&. The labels are on the first line of the file\&. .TP @@ -74,7 +80,7 @@ Enable the HTTP KeepAlive feature, \fIi\&.e\&.\fR, perform multiple requests wit Number of requests to perform for the benchmarking session\&. The default is to just perform a single request which usually leads to non-representative benchmarking results\&. .TP -p \fIPOST-file\fR -File containing data to POST\&. +File containing data to POST\&. Remember to also set -T\&. .TP -P \fIproxy-auth-username\fR:\fIpassword\fR Supply BASIC Authentication credentials to a proxy en-route\&. The username and password are separated by a single : and sent on the wire base64 encoded\&. The string is sent regardless of whether the proxy needs it (\fIi\&.e\&.\fR, has sent an 407 proxy authentication needed)\&. @@ -82,6 +88,9 @@ Supply BASIC Authentication credentials to a proxy en-route\&. The username and -q When processing more than 150 requests, ab outputs a progress count on stderr every 10% or 100 requests or so\&. The -q flag will suppress these messages\&. .TP +-r +Don't exit on socket receive errors\&. +.TP -s When compiled in (ab -h will show you) use the SSL protected https rather than the http protocol\&. This feature is experimental and \fIvery\fR rudimentary\&. You probably do not want to use it\&. .TP @@ -92,7 +101,7 @@ Do not display the median and standard deviation values, nor display the warning Maximum number of seconds to spend for benchmarking\&. This implies a -n 50000 internally\&. Use this to benchmark the server within a fixed total amount of time\&. Per default there is no timelimit\&. .TP -T \fIcontent-type\fR -Content-type header to use for POST data\&. +Content-type header to use for POST data, eg\&. application/x-www-form-urlencoded\&. Default: text/plain\&. .TP -v \fIverbosity\fR Set verbosity level - 4 and above prints information on headers, 3 and above prints response codes (404, 200, etc\&.), 2 and above prints warnings and info\&. @@ -114,6 +123,9 @@ String to use as attributes for <tr>\&. .TP -z \fI<td>-attributes\fR String to use as attributes for <td>\&. +.TP +-Z \fIciphersuite\fR +Specify SSL/TLS cipher suite (See openssl ciphers)\&. .SH "BUGS" diff --git a/docs/manual/bind.html.tr.utf8 b/docs/manual/bind.html.tr.utf8 index 6740b659..aa77c902 100644 --- a/docs/manual/bind.html.tr.utf8 +++ b/docs/manual/bind.html.tr.utf8 @@ -25,7 +25,6 @@ <a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/bind.html" title="Türkçe"> tr </a></p> </div> -<div class="outofdate">Bu çeviri güncel olmayabilir. Son deÄŸiÅŸiklikler için Ä°ngilizce sürüm geçerlidir.</div> <p>Apache’nin belli adresleri ve portları dinlemek üzere yapılandırılması.</p> @@ -60,8 +59,8 @@ böyle bir durumda belirtilen bütün adres ve portlardan gelen isteklere yanıt verecektir.</p> - <p>ÖrneÄŸin, sunucunun hem 80 portundan hem de 8000 portundan gelen - baÄŸlantıları kabul etmesini saÄŸlamak için,</p> + <p>ÖrneÄŸin, sunucunun tüm arabirimlerin hem 80 portundan hem de 8000 + portundan gelen baÄŸlantıları kabul etmesini saÄŸlamak için,</p> <div class="example"><p><code> Listen 80<br /> @@ -136,7 +135,7 @@ konaklar için gerçeklenmemiÅŸtir; sadece ana sunucuya hangi adresleri ve portları dinleyeceÄŸini söyler. Hiç <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> yönergesi kullanılmamışsa sunucu kabul edilen tüm isteklere aynı ÅŸekilde davranacaktır. EÄŸer bir veya - daha fazla adres ve port için farklı bir davranış belirtmek + daha fazla adres veya port için farklı bir davranış belirtmek istiyorsanız <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> kullanabilirsiniz. Bir sanal konağı gerçeklemek için önce sunucunun sanal konak için kullanacağı adres ve portu dinleyeceÄŸini belirtmek gerekir. Bundan sonra bu sanal diff --git a/docs/manual/caching.html b/docs/manual/caching.html index a707635a..53094a5f 100644 --- a/docs/manual/caching.html +++ b/docs/manual/caching.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: caching.html.fr Content-Language: fr Content-type: text/html; charset=ISO-8859-1 + +URI: caching.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/caching.html.en b/docs/manual/caching.html.en index 978f91f6..71bb8e0a 100644 --- a/docs/manual/caching.html.en +++ b/docs/manual/caching.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Caching Guide</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="./en/caching.html" title="English"> en </a> | -<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This document supplements the <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, @@ -650,7 +651,8 @@ CacheDirLength 1</pre></div> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/caching.html" title="English"> en </a> | -<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/caching.html.fr b/docs/manual/caching.html.fr index adbe1364..e70597a0 100644 --- a/docs/manual/caching.html.fr +++ b/docs/manual/caching.html.fr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Guide de la mise en cache</h1> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="./en/caching.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="./fr/caching.html" title="Français"> fr </a></p> +<a href="./fr/caching.html" title="Français"> fr </a> | +<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Ce document complète la documentation de référence des modules @@ -734,7 +735,8 @@ CacheDirLength 1</pre></div> </div></div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="./en/caching.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="./fr/caching.html" title="Français"> fr </a></p> +<a href="./fr/caching.html" title="Français"> fr </a> | +<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/caching.html.tr.utf8 b/docs/manual/caching.html.tr.utf8 new file mode 100644 index 00000000..b4f6269c --- /dev/null +++ b/docs/manual/caching.html.tr.utf8 @@ -0,0 +1,676 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Önbellek Kullanım Kılavuzu - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Önbellek Kullanım Kılavuzu</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/caching.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./tr/caching.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belge <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, + <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code>, <code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code>, + <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> modülleri ve <a href="programs/htcacheclean.html">htcacheclean</a> için bir baÅŸvuru + kılavuzu niteliÄŸindedir. HTTP sunucusu ve vekil olarak çalışmada + iÅŸlemleri hızlandırmak için bilinen sorunlar ve yanlış + yapılandırmalardan kaçınarak Apache’nin önbellekleme özelliklerinin + nasıl kullanılacağı açıklanmıştır.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">GiriÅŸ</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#overview">Önbelleklemeye Bir Bakış</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#security">Güvenlik Kaygıları</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#filehandle">Dosya Tanıtıcı Önbelleklemesi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#inmemory">Sistem BelleÄŸinde Önbellekleme</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#disk">Disk Ãœzerinde Önbellekleme</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">GiriÅŸ</a></h2> + + + <p>Apache HTTP sunucusunun 2.2 sürümünden itibaren + <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ve <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> modülleri + deneysel olmaktan çıkarılmış ve üretim amaçlı kullanılabileceÄŸine karar + verilmiÅŸtir. Bu önbellekleme mimarileri gerek HTTP sunucusu gerekse + vekili olarak çalışmada HTTP iÅŸlemlerini hızlandırmak anlamında sunucuya + güç katarlar.</p> + + <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, ortam saÄŸlayıcı modülleri olan + <code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> ve <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> ile + birlikte HTTP önbelleklemesini akıllıca yerine getirir. İçeriÄŸin kendisi + önbellekte saklanırken <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> içeriÄŸin + önbelleklenebilmesini denetim altında tutan HTTP baÅŸlıkları ve + seçenekleri ile ilgilenir. Yerel ve vekalet edilen içeriÄŸin her ikisinin + de aynı anda iÅŸlem görmesi saÄŸlanabilir. <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, + vekalet edilen içeriÄŸe, devingen yerel içeriÄŸe veya zamanla deÄŸiÅŸen + yerel dosyalara eriÅŸimi hızlandırma ihtiyacına yönelik olarak hem basit + hem de karmaşık önbellekleme yapılandırmalarını mümkün kılar.</p> + + <p><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> ise biraz daha temel ancak bazen daha + kullanışlı olabilen bir önbellekleme ÅŸekli ile ilgilenir. URL’lerin + önbelleklenebilmesini mümkün kılmanın karmaşıklığıyla boÄŸuÅŸmak yerine + <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>, dosyaların Apache’nin son baÅŸlatıldığı + zamanki durumlarını saklamak için dosyaların belleÄŸe eÅŸlenmek üzere ele + alınmasını saÄŸlar. Böylelikle, <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>, çok sık + deÄŸiÅŸmeyen duraÄŸan yerel dosyalara eriÅŸim zamanını azaltmaya yardım + eder.</p> + + <p><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> ve <code class="directive"><a href="./mod/mod_file_cache.html#mmapstatic">MMapStatic</a></code> yönergeleri ile ilgili + bölümlerde anlatılanları saymazsak <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>, bu + belgenin asıl konusu olan <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> önbellekleme + mimarisine göre daha basit bir önbellekleme gerçeklenimidir.</p> + + <p>Bu belgeden azami yararı saÄŸlayabilmek için temel bir HTTP bilginizin + olması ve <a href="urlmapping.html">URL’lerin Dosya Sistemine + EÅŸlenmesi</a> ile <a href="content-negotiation.html">İçerik Uzlaşımı</a> + belgelerini okumuÅŸ olmanız gerekir.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="overview" id="overview">Önbelleklemeye Bir Bakış</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_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code></li><li><code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code></li><li><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="./mod/mod_file_cache.html#mmapstatic">MMapStatic</a></code></li><li><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code></li></ul></td></tr></table> + + <p>Bir istek sonuçlanıncaya kadar <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> modülünde iki + aÅŸamadan geçer. Ä°lkinde <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> bir URL eÅŸleme modülü + olarak çalışır ve URL önbellekteyse ve zaman aşımına uÄŸramamışsa isteÄŸin + doÄŸrudan <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> tarafından sunulmasını saÄŸlar.</p> + + <p>Yani isteÄŸin sunumu sırasında, isteÄŸin örneÄŸin, + <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> veya <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> tarafından + ele alınması gerekse bile bu yapılmaz. Önbelleklenen içerik ilk alındığı + haliyle sunulur.</p> + + <p>EÄŸer URL önbellekte yoksa, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> isteÄŸi bir <a href="filter.html">süzgece</a> tabi tutar. Apache içeriÄŸin varlığını + saptamışsa içeriÄŸin süzgeç tarafından sunulmasını saÄŸladıktan sonra, + süzgeç içeriÄŸin önbelleklenebileceÄŸini saptamışsa gelecekte sunmak üzere + içeriÄŸi önbelleÄŸe kaydeder.</p> + + <p>EÄŸer URL önbellekte bulunmuÅŸ fakat içeriÄŸin zaman aşımına uÄŸradığı + anlaşılmışsa süzgeç yine de eklenir fakat bu kez + <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> önbellekteki sürümün hala geçerli olup + olmadığını saptamak için kaynağın bulunduÄŸu sunucuya bir koÅŸullu istek + gönderir. Önbellekteki sürüm hala geçerliyse temel verileri güncellenir + ve istek önbellekten sunulur. Önbellekteki sürüm artık geçerli deÄŸilse, + önbellekteki sürüm silinir ve süzgeç güncel içeriÄŸi önbelleÄŸe kaydeder + ve isteÄŸi oradan sunar.</p> + + <h3>ÖnbelleÄŸin Hızlandırılması</h3> + + + <p>Yerel içerik önbelleklendiÄŸi takdirde <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> yönergesine <code>On</code> + deÄŸeri atanmışsa önbellekten sunulan sayfa sayısında büyük bir artış + olduduÄŸu görülür. Bunun sebebi içeriÄŸi sunan sanal konağın isminin + önbellek anahtarının bir parçası olarak kullanılmasıdır. Yönergeye + <code>On</code> deÄŸerini atamak suretiyle çok isimli ve rumuzlu sanal + konaklar için farklı önbellek girdileri oluÅŸturulmaz, bunun yerine her + meÅŸru sanal konak için ayrı bir önbellek tutulur.</p> + + <p>Önbellekleme, URL’nin dosya ismine dönüştürülmesi aÅŸamasında + gerçekleÅŸtiÄŸinden önbelleklenen belgeler sadece URL isteklerine bir + yanıt olarak sunulurlar. <a href="howto/ssi.html">Sunucu Taraflı + İçerikleri</a> kullanmazsanız genellikle bunun fazla bir önemi + olmaz.</p> + + <div class="example"><p><code> + <!-- Bu içerik önbelleklenebilir. --><br /> + <!--#include virtual="/dipnot.html" --><br /> + <br /> + <!-- Bu içerik önbelleklenemez. --><br /> + <!--#include file="/bir/yol/dipnot.html" --> + </code></p></div> + + <p>Sunucu Taraflı İçerikleri kullanıyorsanız ve önbelleklemenin + saÄŸladığı hız artışından da yaralanmak istiyorsanız içerik + yerleÅŸtirmek için <code>virtual</code> içerik türünü kullanınız.</p> + + + <h3>Zaman Aşımı Süreleri</h3> + + + <p>Önbellekli öğeler için öntanımlı zaman aşımı süresi bir saat olmakla + birlikte <code class="directive"><a href="./mod/mod_cache.html#cachedefaultexpire">CacheDefaultExpire</a></code> + yönergesi kullanılarak bu deÄŸer kolaylıkla geçersiz kılınabilir. Bu + öntanımlı deÄŸer sadece içeriÄŸin özgün kaynağı bir zaman aşımı süresi + veya son deÄŸiÅŸiklik tarihi belirtmediÄŸi takdirde kullanılır.</p> + + <p>Bir yanıt <code>Expires</code> baÅŸlığını deÄŸil de + <code>Last-Modified</code> baÅŸlığını içeriyorsa + <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> zaman aşımı süresini <code class="directive"><a href="./mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code> yönergesinin + nasıl kullanıldığına bakarak saptar.</p> + + <p>Yerel içerik için, zaman aşımı süresini hassas olarak ayarlamak + gerekirse <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code> kullanılabilir.</p> + + <p>Zaman aşımı süresinin üst sınırı <code class="directive"><a href="./mod/mod_cache.html#cachemaxexpire">CacheMaxExpire</a></code> yönergesi ile + belirlenebilir.</p> + + + + <h3>Åžartlı Ä°stekler için Özlü Kılavuz</h3> + + + <p>Önbellekteki içerik zaman aşımına uÄŸrayıp, içerik saÄŸlayıcıya veya + arka sunucuya özgün isteÄŸi aktarmak yerine ayrı bir istek yapılması + gereÄŸi Apache’nin ÅŸartlı bir istek yapması sonucunu doÄŸurur.</p> + + <p>Bir istemcinin veya önbelleÄŸin aynı içeriÄŸin farklı sürümleri + arasında ayrım yapabilmesi için HTTP protokolü bazı baÅŸlık alanları + önerir. ÖrneÄŸin, "Etag:" baÅŸlığıyla sunulan bir özkaynak için + "If-None-Match:" baÅŸlığıyla bir ÅŸartlı istek yapmak mümkün olduÄŸu gibi + özkaynak "Last-Modified:" baÅŸlığıyla sunuluyorsa ÅŸartlı istek + "If-Modified-Since:" baÅŸlığıyla yapılabilir, vesaire.</p> + + <p>Böyle bir ÅŸartlı istek yapıldığında yanıt koÅŸulun içerikle eÅŸleÅŸip + eÅŸleÅŸmediÄŸine baÄŸlı olarak farklı olur. EÄŸer istek bir + "If-Modified-Since:" baÅŸlığıyla yapılmışsa ve içerik istekte + belirtilen zamandan önce deÄŸiÅŸtirilmemiÅŸse kısa ve öz olarak bir "304 + Not Modified" (Bir deÄŸiÅŸiklik yok) iletisiyle yanıt verilir.</p> + + <p>Aksi takdirde bir ÅŸartlı istek yapılmamış gibi içeriÄŸin kendisi + sunulur.</p> + + <p>Önbellekleme ile ilgili ÅŸartlı istekler çifte yarar saÄŸlar. Birinci + olarak, böyle bir istek arkadaki sunucuya yapılıyorsa ve iki içerik de + aynıysa bunu saptamak kolay olur ve özkaynağın tamamını aktarma + külfetinden kurtulunur.</p> + + <p>Ä°kinci olarak, ÅŸartlı istekler arka sunucuda normalden daha az + faaliyete sebep olur. DuraÄŸan dosyalar için bu genellikle + <code>stat()</code> veya benzeri bir sistem çaÄŸrısıyla dosya + boyutları ve deÄŸiÅŸiklik zamanına bakmak ÅŸeklinde gerçekleÅŸir. + Böylelikle Apache yerel içeriÄŸi önbellekliyor olsa bile ve hatta + içerik zaman aşımına da uÄŸrasa önbellekteki dosyada bir deÄŸiÅŸiklik + olmadığı takdirde içeriÄŸi önbellekten sunmak daha hızlı olacaktır. + Çünkü dosyayı önbellekten okumak, arka sunucudan okumaktan daha + hızlıdır (bu, bellekten okumayla diskten okumayı karşılaÅŸtırmak + gibidir).</p> + + + <h3>Neler Önbelleklenebilir?</h3> + + + <p>Evvelce bahsedildiÄŸi gibi Apache’de iki tür önbellekleme yapılır ve + bunlar farklı yöntemlerle çalışır. <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> + önbelleklemesinde dosyalar Apache baÅŸlatıldığı zamanki içerikle + saklanır. Bu modül tarafından önbelleÄŸe alınmış bir dosya için istek + geldiÄŸinde isteÄŸin yolu kesilip önbellekteki dosya sunulur.</p> + + <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> önbelleklemesinde iÅŸler biraz daha + karışıktır. Bir isteÄŸe hizmet sunulurken istenen içerik evvelce + önbelleklenmemiÅŸse önbellekleme modülü önce içeriÄŸin + önbelleklenebilirliÄŸine bakar. Bir yanıtın önbelleklenebilirliÄŸini + belirleyen koÅŸullar ÅŸunlardır:</p> + + <ol> + <li>Önbellekleme bu URL ile etkin kılınabilmelidir. <code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code> ve <code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code> yönergelerine bakınız.</li> + + <li>Yanıtın HTTP durum kodu 200, 203, 300, 301 veya 410 olmalıdır.</li> + + <li>Ä°stek bir HTTP GET isteÄŸi olmalıdır.</li> + + <li>Ä°stek bir "Authorization:" baÅŸlığı içeriyorsa yanıt önbelleÄŸe + alınmayacaktır.</li> + + <li>EÄŸer yanıt bir "Authorization:" baÅŸlığı içeriyorsa ayrıca + "Cache-Control:" baÅŸlığında da "s-maxage", "must-revalidate" veya + "public" deÄŸerlerinden birini içermelidir.</li> + + <li>EÄŸer URL (GET yöntemi kullanan bir HTML formunun yaptığı gibi) bir + sorgu dizgesi içeriyorsa yanıt, RFC2616’nın 13.9. bölümünde + açıklandığı gibi bir "Expires:" baÅŸlığı içermedikçe yanıt içeriÄŸi + önbelleÄŸe alınmayacaktır.</li> + + <li><code class="directive"><a href="./mod/mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></code> + yönergesinin kullanımını gerektiren bir durum olmadıkça 200 durum + koduna sahip bir yanıtın "Etag", "Last-Modified" ve "Expires" + baÅŸlıklarından en az birini içermesi gerekir.</li> + + <li><code class="directive"><a href="./mod/mod_cache.html#cachestoreprivate">CacheStorePrivate</a></code> + yönergesinin kullanımını gerektiren bir durum olmadıkça yanıt + "private" deÄŸerli bir "Cache-Control:" baÅŸlığı içerdiÄŸi takdirde + yanıtın içeriÄŸi önbelleÄŸe alınmayacaktır.</li> + + <li>Benzer ÅŸekilde, <code class="directive"><a href="./mod/mod_cache.html#cachestorenostore">CacheStoreNoStore</a></code> yönergesi kullanılmamışsa yanıt + "no-store" deÄŸerli bir "Cache-Control:" baÅŸlığı içeriyorsa yanıt + içeriÄŸi önbelleÄŸe alınmayacaktır.</li> + + <li>HerÅŸeyle eÅŸleÅŸen "*" deÄŸerli bir "Vary:" baÅŸlığı içeren bir + yanıtın içeriÄŸi önbelleÄŸe alınmaz.</li> + </ol> + + + <h3>Neler Önbelleklenmemeli?</h3> + + + <p>Kısaca, istek zamana aşırı bağımlıysa ya da istek kısmen bile olsa + HTTP uzlaşımıyla baÄŸdaÅŸmıyorsa önbelleÄŸe alınmamalıdır.</p> + + <p>İçeriÄŸi istekçinin IP adresine baÄŸlı olarak deÄŸiÅŸen veya her beÅŸ + dakikada bir deÄŸiÅŸikliÄŸe uÄŸrayan bir devingen içeriÄŸe sahipseniz böyle + bir içerik asla önbelleÄŸe alınmamalıdır.</p> + + <p>DiÄŸer taraftan, içerik HTTP baÅŸlığındaki deÄŸerlere baÄŸlı olarak + deÄŸiÅŸiyorsa içeriÄŸin bir "Vary" baÅŸlığı kullanılarak akıllıca + önbelleklenmesi imkanı mevcuttur.</p> + + + <h3>DeÄŸiÅŸken/Uzlaşımlı İçerik</h3> + + + <p>"Vary" baÅŸlıklı bir yanıt arka sunucudan istenirken + <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> tarafından alınmışsa akıllıca ele alınmaya + çalışılacaktır. Mümkünse, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> gelecekte bu + içerikle ilgili isteklerin "Vary" baÅŸlıklı yanıtları olacağını + saptayacak ve önbellekten doÄŸru içerikle yanıt verecektir.</p> + + <p>ÖrneÄŸin, bir yanıt şöyle bir baÅŸlık ile alınmışsa,</p> + + <div class="example"><p><code> + Vary: negotiate,accept-language,accept-charset + </code></p></div> + + <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> sadece accept-language ve accept-charset + baÅŸlıkları özgün istekle eÅŸleÅŸen önbellekli içeriÄŸi sunacaktır.</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 Kaygıları</a></h2> + + + <h3>EriÅŸim Denetimi ve Yetkilendirme</h3> + + + <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> çoÄŸunlukla bir karşı vekile sahip olmak + amacıyla kullanılır. Arka sunucunun sorgulanmasını gerektirmeyen tüm + istekler önbellekleme modülü tarafından karşılanacaktır. Yerel + özkaynakların önbelleklenmesi söz konusu olduÄŸunda Apache’nin güvenlik + modeli büyükçe bir deÄŸiÅŸikliÄŸe uÄŸrar.</p> + + <p>Olası <code>.htaccess</code> dosyalarının dosya sisteminin tamamında + taranması çok pahalı bir iÅŸlem olduÄŸundan <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, + (iÅŸlemi hızlandırmak için) önbelleÄŸe almanın temel amacını kısmen + gözardı ederek, önbellekteki içeriÄŸin sunumu için gerekli + yetkilendirmenin olup olmadığı konusunda bir karar üretmez. BaÅŸka bir + deyiÅŸle, eÄŸer <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> bir kısım içeriÄŸi önbelleÄŸe + almışsa içerik zaman aşımına uÄŸramadığı sürece bu içerik önbellekten + sunulacaktır.</p> + + <p>ÖrneÄŸin, yapılandırmanız bir özkaynaÄŸa IP adresine göre eriÅŸime izin + veriyorsa bu içeriÄŸin önbelleÄŸe alınmayacağından emin olmalısınız. + Bunu <code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code> + yönergesini veya <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code> kullanarak + yapabilirsiniz. Bunu yapmaz, olayı kendi haline bırakırsanız + <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> bir karşı vekil gibi çalışarak sunulan her + içeriÄŸi arabelleÄŸe alacak ve hangi IP adresinden gelirse gelsin her + istemciye bunu sunacaktır.</p> + + + <h3>Yerel Ä°stismarcılar</h3> + + + <p>Son kullanıcılarıın isteklerine önbellekten hizmet sunulduÄŸundan + önbelleÄŸin kendisi içerikle etkileÅŸime geçmek isteyenlerin veya + içeriÄŸi tahrif etmek isteyenlerin hedefi haline gelebilir. Apache’yi + çalıştıran kullanıcı tarafından her zaman önbelleÄŸe yazılabileceÄŸini + akıldan çıkarmamak önemlidir. Bu durumda alışılmışın tersine tüm + içeriÄŸin Apache kullanıcısı tarafından yazılamamasının saÄŸlanması + önerilir.</p> + + <p>EÄŸer Apache kullanıcısı, örneÄŸin bir CGI sürecindeki açık nedeniyle + tehlikeye atılırsa, önbellek hedef alınabilir. + <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> kullanılırken önbellekteki bir öğeyi + deÄŸiÅŸtirmek veya önbelleÄŸe yeni bir öğe eklemek görece daha + kolaydır.</p> + + <p>Bu risk, Apache kullanıcısını kullanan diÄŸer saldırı türleriyle + karşılaÅŸtırıldığında daha yüksektir. <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> + kullanıyorsanız ÅŸunları aklınızdan çıkarmayın: (1) Apache güvenlik + güncellemelerini takip edin ve sunucunuzu buna göre güncelleyin. (2) + Mümkünse <a href="suexec.html">suEXEC</a> kullanarak CGI süreçlerini + Apache kullanıcısı olmayan bir kullanıcının aidiyetinde çalıştırın.</p> + + + + <h3>Önbellek Zehirlenmeleri</h3> + + + <p>Apache bir önbellekli vekil sunucu olarak çalıştığında önbellek + zehirlenmesi adı verilen sorunla karşılaşılma olasılığı vardır. + Önbellek zehirlenmesi, vekil sunucunun arka sunucudan yanlış (ve + genellikle istenmeyen) içerik almasına sebep olan bir saldırı türünü + betimlemek için yaygın olarak kullanılan bir terimdir.</p> + + <p>ÖrneÄŸin Apache’nin çalıştığı sistemin kullandığı DNS sunucuları DNS + önbellek zehirlenmesinden etkilenebilecek durumdaysa, bir saldırgan + Apache’nin istekleri almak için baÅŸvuracağı kaynak sunucunun yerini + deÄŸiÅŸtirebilir. DiÄŸer bir örnek, HTTP istek kaçakçılığı adı verilen + bir saldırı türüdür.</p> + + <p>Bu belge HTTP istek kaçakçılığını derinliÄŸine incelenmesi için uygun + yer deÄŸildir (böyle kaynaklara arama motorunuzla eriÅŸebilirsiniz). + Bununla birlikte, vekil tarafından kaynak sunucudan alınan içeriÄŸi + tamamen denetim altına almak amacıyla kaynak sunucudaki bir açığı + istismar etmeye yönelik bir dizi istek yapılabileceÄŸinin olasılık + dahilinde olduÄŸunu bilmenizde yarar vardır.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="filehandle" id="filehandle">Dosya Tanıtıcı Önbelleklemesi</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_file_cache.html">mod_file_cache</a></code></li><li><code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code></li></ul></td></tr></table> + + <p>Bir dosyanın açılması iÅŸlemi, özellikle de aÄŸ dosya sistemlerinde + bulunan dosyalar için önemli bir gecikme kaynağı olabilir. Önbellekte, + çok sunulan dosyaların kendilerinin deÄŸil, açık dosya tanıtıcılarının + saklanması Apache’yi bu tür gecikmelerden koruyabilir. Apache’de iki tür + dosya tanıtıcı önbelleklemesi yapılabilmektedir.</p> + + <h3><code>CacheFile</code> yönergesi ile</h3> + + + <p>Apache’de mevcut önbelleklemenin en temel ÅŸekli + <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> tarafından saÄŸlanan dosya tanıtıcı + önbelleklemesidir. Bu önbellek türü dosyaların kendilerini deÄŸil açık + dosya tanıtıcılarının bir listesini saklar. Dosyaların bu anlamda + önbelleklenmesi, <code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesi yapılandırma dosyasında belirtilerek + saÄŸlanabilir.</p> + + <p><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesi + belirtilen dosyanın Apache baÅŸlatıldığında açılmasını ve dosya için + yapılan sonraki her istekte bu dosya tanıtıcısının kullanılmasını + saÄŸlar.</p> + + <div class="example"><p><code> + CacheFile /usr/local/apache2/htdocs/index.html + </code></p></div> + + <p>Büyük miktarda dosyayı bu anlamda önbelleklemeyi tasarlıyorsanız + iÅŸletim sisteminizin açık dosya tanıtıcılarının sayısı ile ilgili + sınırlamasını uygun bir deÄŸere ayarlamanız gerekebilir.</p> + + <p><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesini + kullandığınız takdirde dosya içeriÄŸindeki deÄŸiÅŸiklikleri anında isteÄŸe + yansıtamazsınız. Apache dosyayı ilk baÅŸlatıldığındaki haliyle + sunar.</p> + + <p>EÄŸer Apache çalışırken dosya silinmiÅŸse Apache ilk baÅŸlatıldığındaki + haline iliÅŸkin dosya tanıtıcıyı saÄŸlamaya ve dolayısıyla dosya + içeriÄŸini sunmaya devam edecektir. Yani, dosya silinmiÅŸ ve artık dosya + sisteminde görünmüyor olsa bile Apache durdurulup dosya tanıtıcıları + kapanmadıkça dosyaların silinmesiyle açılan yer serbest + kalmayacaktır.</p> + + + <h3><code>CacheEnable</code> yönergesi ile</h3> + + + <p><code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> modülünün ayrıca, <code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code> yönergesi üzerinden etkin + kılınabilen kendine özgü bir dosya tanıtıcı önbellekleme ÅŸeması + vardır.</p> + + <div class="example"><p><code> + CacheEnable fd / + </code></p></div> + + <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>’nin devreye girdiÄŸi her iÅŸlemde olduÄŸu + gibi bu tür dosya tanıtıcı önbelleklemesi de akıllıca yapılır ve + önbellekteki içerik zaman aşımına uÄŸradığı halde sunulmaya devam + edilmez.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="inmemory" id="inmemory">Sistem BelleÄŸinde Önbellekleme</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_mem_cache.html">mod_mem_cache</a></code></li><li><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="./mod/mod_file_cache.html#mmapstatic">MMapStatic</a></code></li></ul></td></tr></table> + + <p>İçeriÄŸin sistem belleÄŸinden sunulması içerik sunmanın evrensel olarak + en hızlı yoludur. Dosyaların bir disk denetleyiciden okunması ya da daha + kötüsü uzak bir aÄŸdan okunması bellekten okumayla karşılaÅŸtırılamayacak + ölçüde yavaÅŸ iÅŸlemlerdir. Disk denetleyiciler genellikle fiziksel + süreçleri denetlerler. AÄŸ eriÅŸimi ise band geniÅŸliÄŸi sınırlamalarından + etkilenir. Halbuki bellek eriÅŸimi sadece nano saniyeler mertebesinde + gerçekleÅŸir.</p> + + <p>Sistem belleÄŸi en pahalı saklama ortamı olması sebebiyle en verimli + ÅŸekilde kullanımı önemlidir. Dosyaları sistem belleÄŸinde saklamakla + sistemin kullanabileceÄŸi bellek miktarını azaltmış olursunuz. Ä°ÅŸletim + sistemi önbelleklemesinde göreceÄŸiniz gibi bu öyle basit bir konu + deÄŸildir. Apache’nin kendi kullandığı belleÄŸin bir kısmını önbellek + olarak ayırırken çok fazla bellek kullanmamak önemlidir. Aksi takdirde + iÅŸletim sistemi belleÄŸin yetmediÄŸi noktada belleÄŸi diske + takaslayacağından istenen baÅŸarım artışı saÄŸlanamayacaktır.</p> + + <h3>Ä°ÅŸletim Sistemi Önbelleklemesi</h3> + + + <p>Günümüz iÅŸtetim sistemlerinin hemen hemen tamamında bellek içi + dosya/veri saklama iÅŸlemlerini çekirdek yönetir. Bu güçlü bir + özelliktir ve iÅŸletim sistemlerinin büyük çoÄŸunluÄŸu bunu böyle yapar. + ÖrneÄŸin, Linux’ta bir dosyanın ilk defa okunduÄŸunda ve ikinci kez + okunduÄŸunda iÅŸlemcinin ne kadar meÅŸgul edildiÄŸine bakalım:</p> + + <div class="example"><p><code> + colm@coroebus:~$ time cat testfile > /dev/null<br /> + real 0m0.065s<br /> + user 0m0.000s<br /> + sys 0m0.001s<br /> + colm@coroebus:~$ time cat testfile > /dev/null<br /> + real 0m0.003s<br /> + user 0m0.003s<br /> + sys 0m0.000s + </code></p></div> + + <p>Küçük bir dosya için bile okuma süresi bakımından büyük fark ortaya + çıkmaktadır. Bunun sebebi çekirdeÄŸin dosya içeriÄŸini bellek daha + güncel amaçlar için lazım olana dek bellek içinde saklamasıdır.</p> + + <p>Sisteminizde yeterince yedek bellek olduÄŸundan eminseniz, bu + önbellekte daha fazla dosya saklanacağından emin olabilirsiniz. + Bundan, önbelleÄŸin sistem belleÄŸinde verimli biçimde tutulması için + Apache’de ek bir yapılandırmaya gidilmesinin gerekmediÄŸi sonucu + çıkarılabilir.</p> + + <p>Bundan baÅŸka, iÅŸletim sistemi dosyaların deÄŸiÅŸtiÄŸi ve silindiÄŸi + zamanları bildiÄŸinden bu tür dosyaların içerikleri gerektiÄŸinde + önbellekten kendiliÄŸinden silinmiÅŸ olur. Bellek içinde dosya saklarken + dosyaların deÄŸiÅŸtirilme zamanlarını bilme olanağı olmadığından bu + durum Apache’ye büyük yarar saÄŸlar.</p> + + + <p>Ä°ÅŸletim sisteminin dosyaların önbelleklenmesi için saÄŸladığı bunca + yarara ve baÅŸarım artışına karşın bellek içinde dosya önbelleklemenin + Apache tarafından yerine getirilmesinin daha iyi olacağı bazı durumlar + vardır.</p> + + <p>Öncelikle, iÅŸletim sistemi sadece bildiÄŸi dosyaları önbellekler (veya + önbelleklediÄŸi dosyaları bilir). EÄŸer Apache’yi bir vekil sunucu olarak + çalıştırıyorsanız, önbelleklediÄŸiniz dosyalar yerel olarak saklanmadan + uzaktan sunulabilir. Ancak bellekiçi önbelleklemenin saÄŸladığı hız + artışının dayanılmaz çekiciliÄŸine karşı koyamıyorsanız, Apache’nin kendi + bellekiçi önbelleklemesine ihtiyacınız var demektir.</p> + + <h3><code>MMapStatic</code> yönergesi ile</h3> + + + <p><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> modülü, bir duraÄŸan dosyanın + içeriÄŸini sunucunun baÅŸlatılması sırasında (mmap sistem çaÄŸrısıyla) + belleÄŸe eÅŸlenmesini mümkün kılmak için <code class="directive"><a href="./mod/mod_file_cache.html#mmapstatic">MMapStatic</a></code> yönergesini saÄŸlar. + Apache bu dosyaya gelecek sonraki istekler için dosyanın bellekiçi + içeriÄŸini kullanacaktır.</p> + + <div class="example"><p><code> + MMapStatic /usr/local/apache2/htdocs/index.html + </code></p></div> + + <p><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> yönergesinde + olduÄŸu gibi bu dosyalarda Apache baÅŸlatıldıktan sonra yapılacak bir + deÄŸiÅŸiklikten Apache’nin haberi olmayacaktır.</p> + + <p><code class="directive"><a href="./mod/mod_file_cache.html#mmapstatic">MMapStatic</a></code> yönergesi + ayırdığı belleÄŸin toplam miktarı ile ilgilenmez, dolayısıyla + yönergenin aşırı kullanımından kaçınmalısınız. Apache’nin çocuk + süreçlerinin her biri bu belleÄŸin kendilerine ait birer kopyasını + yapacağından belleÄŸe eÅŸlenen dosyaların çok yer kaplamaması büyük önem + taşımaktadır; aksi takdirde iÅŸletim sistemi belleÄŸi diske + takaslayacağından beklenen fayda saÄŸlanamayacaktır.</p> + + + <h3><code>mod_mem_cache</code> modülü ile</h3> + + + <p><code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> modülü HTTP belirtimine uygun olarak + bellekiçi önbelleklemeyi akıllıca uygular. Ayrıca yüksek belleÄŸi + doÄŸrudan kullanabildiÄŸinden <var>MMap</var> desteÄŸi olmayan + sistemlerde bile bellekiçi önbellekleme yapabilir.</p> + + <p>Bu tür önbellekleme şöyle etkin kılınabilir:</p> + + <div class="example"><p><code> + # Bellekiçi önbelleklemeyi etkin kılalım<br /> + CacheEnable mem /<br /> + <br /> + # Önbellek 1 Megabayttan büyük olmasın<br /> + MCacheSize 1024 + </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="disk" id="disk">Disk Ãœzerinde Önbellekleme</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_disk_cache.html">mod_disk_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code></li></ul></td></tr></table> + + <p><code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> modülü önbelleklemenin + <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> için disk üzerinde yapılmasını mümkün kılar. + <code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> modülünde olduÄŸu gibi bu önbellekleme de + akıllıca yapılır ve önbellekteki içerik sadece geçerli kabul edildiÄŸi + sürece sunulabilir.</p> + + <p>Modül bu amaçla genelde şöyle kullanılır:</p> + + <div class="example"><p><code> + CacheRoot /var/cache/apache/<br /> + CacheEnable disk /<br /> + CacheDirLevels 2<br /> + CacheDirLength 1 + </code></p></div> + + <p>En önemlisi önbelleklenen dosyaların yerel olarak saklanması olup + iÅŸletim sisteminin saÄŸladığı bellekiçi önbelleklemeden de ayrıca + faydalanılmış olur. Bu bakımdan, dosyalar disk üzerinde saklansa bile + sıkça eriÅŸilen dosyalar iÅŸletim sistemi sayesinde aslında bellekten + sunulmuÅŸ olacaklardır.</p> + + <h3>Önbellekte Saklamanın Anlamı</h3> + + + <p><code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> öğeleri önbellekte saklamak için + istek yapılan URL’nin 22 karakterlik özetini oluÅŸturur. Bu özet, çok + sayıda URL’nin aynı özeti oluÅŸturmaması için konak ismi, protokol, + port ve varsa CGI argümanlarından oluÅŸur.</p> + + <p>Özeti oluÅŸturan karakterler 64 karakterlik bir karakter kümesinden + seçildiÄŸinden oluÅŸturulması olası farklı özet sayısı 64^22’dir. + ÖrneÄŸin, bir URL’nin <code>xyTGxSMO2b68mBCykqkp1w</code> gibi bir + özeti olabilir. Bu özet, bu URL ile eriÅŸilen dosyalar önbellek içinde + saklanırken dosya ismi öneki olarak kullanılır. Ancak bununla + yetinilmez ve içerik <code class="directive"><a href="./mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code> ve <code class="directive"><a href="./mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code> yönergelerinin + deÄŸerlerine göre önce dizinlere ayrılır.</p> + + <p><code class="directive"><a href="./mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code> + yönergesi kaç alt seviye dizin olacağını belirler. ÖrneÄŸin, yukarıdaki + özete sahip bir dosyanın isminin başına yukarıdaki yapılandırma + örneÄŸine uygun olarak + <code>/var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w</code> gibi bir önek + getirilebilirdi.</p> + + <p>Bu tekniÄŸin asıl amacı belli bir dizin içinde bulunabilecek + dosyaların ve alt dizinlerin sayısını düşük tutmaktır. Bu sayının + büyük olması çoÄŸu iÅŸletim sisteminde baÅŸarımın düşmesine sebep olur. + <code class="directive"><a href="./mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code> + yönergesi "1" deÄŸeriyle kullanıldığında her dizin altında en fazla 64 + alt dizin veya dosya açılabilir. "2" deÄŸeriyle kullanıldığında ise bu + sayı 64^2’ye yükselir ve böyle artarak gider. Ä°yi bir sebebiniz + olmadıkça <code class="directive"><a href="./mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code> için deÄŸer olarak + "1" belirtmenizi öneririz.</p> + + <p><code class="directive"><a href="./mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code> + yönergesine atanacak deÄŸer önbellekte saklamayı düşündüğünüz olası + dosya sayısı ile ilgilidir. Yukarıdaki örnekte olduÄŸu gibi "2" + deÄŸerini belirtirseniz, toplamda en fazla 4096 dizin oluÅŸturulabilir. + 1 milyon dosyanın önbelleklendiÄŸi bir durumda bu, her dizinde yaklaşık + olarak 245 önbelleklenmiÅŸ URL demektir.</p> + + <p>Her URL için önbellekte en az iki dosya saklanır. Biri genellikle URL + hakkındaki temel verilerden oluÅŸan ".header" dosyasıdır, diÄŸeri ise + sunulacak içeriÄŸin bire bir kopyası olan ".data" dosyasıdır.</p> + + <p>"Vary" baÅŸlığı üzerinden içeriÄŸin uzlaşıldığı durumda URL için bir + ".vary" dizini oluÅŸturulur. Bu dizin her biri farklı bir uzlaşıma ait + çok sayıda ".data" dosyası içerebilir.</p> + + + <h3>Disk ÖnbelleÄŸinin Bakımı</h3> + + + <p><code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> zaman aşımına uÄŸrayan önbellekli + içeriÄŸi silse de önbelleÄŸin toplam boyu ve ne kadar boÅŸ bellek kaldığı + hakkında bilgi vermez.</p> + + <p>Bunun yerine Apache önbellek içeriÄŸini düzenli aralıklarla + temizleyebilmeniz için <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code> adında bir araç + içerir. Önbellek için azami ne kadar yer kullanılacağının ve bunun + üzerinde <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code>’i hangi sıklıkta + çalıştırılacağının tespiti biraz karmaşık bir iÅŸlem olup uygun deÄŸerler + genellikle deneme yanılma yoluyla bulunur.</p> + + <p><code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code> iki iÅŸlem kipine sahiptir. Kalıcı bir + artalan süreci olarak çalışabileceÄŸi gibi cron üzerinden belli + aralıklarla da çalıştırılabilir. Çok büyük (onlarca GB) önbelleklerde + <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code>’in iÅŸini bitirmesi 1 saatten fazla + sürebileceÄŸinden, cron ile çalıştırma durumunda aynı anda birden fazla + kopyanın çalışıyor durumda olmaması için + <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code>’in çalıştırılma aralığını iyi + belirlemek gerekir.</p> + + <p class="figure"> + <img src="images/caching_fig1.tr.png" alt="" width="600" height="406" /><br /> + <a id="figure1" name="figure1"><dfn>Åžekil 1</dfn></a>: + ÖnbelleÄŸin büyümesi ve düzenli aralıklarla temizlenmesi.</p> + + <p><code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> ne kadar önbellek alanı kullandığı + ile ilgili bir bilgi vermediÄŸinden <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code>’in + bir temizlik sonrası yeterince büyük bir geniÅŸleme alanı kalacak + ÅŸekilde yapılandırılması önemlidir.</p> + + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/caching.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/caching.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./tr/caching.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/content-negotiation.html index c10ace6c..d2170a4b 100644 --- a/docs/manual/content-negotiation.html +++ b/docs/manual/content-negotiation.html @@ -15,3 +15,7 @@ Content-type: text/html; charset=UTF-8 URI: content-negotiation.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: content-negotiation.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/content-negotiation.html.en b/docs/manual/content-negotiation.html.en index 90412aa4..eed78f93 100644 --- a/docs/manual/content-negotiation.html.en +++ b/docs/manual/content-negotiation.html.en @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="./en/content-negotiation.html" title="English"> en </a> | <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -46,7 +47,6 @@ Negotiation</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#naming">Note on hyperlinks and naming conventions</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#caching">Note on Caching</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#more">More Information</a></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> @@ -661,20 +661,13 @@ factors to 5 decimal places before choosing the best variant.</p> encourage a cache to use the local copy regardless of the negotiation dimensions, set the <code>force-no-vary</code> <a href="env.html#special">environment variable</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="more" id="more">More Information</a></h2> - - <p>For more information about content negotiation, see Alan - J. Flavell's <a href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language - Negotiation Notes</a>. But note that this document may not be - updated to include changes in Apache 2.0.</p> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/content-negotiation.html" title="English"> en </a> | <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/content-negotiation.html.fr b/docs/manual/content-negotiation.html.fr index 06675796..2557dbc3 100644 --- a/docs/manual/content-negotiation.html.fr +++ b/docs/manual/content-negotiation.html.fr @@ -21,7 +21,8 @@ <p><span>Langues Disponibles: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/content-negotiation.html" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -46,7 +47,6 @@ transparente</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#naming">Remarques à propos des liens hypertextes et des conventions de nommage</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#caching">Remarque sur la mise en cache</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#more">Pour plus d'informations</a></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> @@ -685,20 +685,13 @@ conventions de nommage</a></h2> <a href="env.html#special">variable d'environnement</a> <code>force-no-vary</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="more" id="more">Pour plus d'informations</a></h2> - - <p>Pour plus d'informations à propos de la négociation de contenu, voir le - document d'Alan J. Flavell <a href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language - Negotiation Notes</a>. Mais gardez à l'esprit que ce document ne tiendra - peut-être pas compte des changements intervenus dans Apache 2.0.</p> </div></div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/content-negotiation.html" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/content-negotiation.html.ja.utf8 b/docs/manual/content-negotiation.html.ja.utf8 index 7ab870a9..4040ec61 100644 --- a/docs/manual/content-negotiation.html.ja.utf8 +++ b/docs/manual/content-negotiation.html.ja.utf8 @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -47,7 +48,6 @@ ã®æ‹¡å¼µ</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#naming">リンクã¨åå‰ã®å¤‰æ›ã«é–¢ã™ã‚‹æ³¨æ„点</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#caching">ã‚ャッシュã«é–¢ã™ã‚‹æ³¨æ„äº‹é …</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#more">è¿½åŠ æƒ…å ±</a></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> @@ -710,21 +710,13 @@ RVSA/1.0 ã®å®Ÿè£…ã§ã¯ã€æœ€é©ãª variant ãŒè¦‹ã¤ã‹ã‚‹ã¾ã§ã€ <code>force-no-vary</code> <a href="env.html#special">環境変数</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="more" id="more">è¿½åŠ æƒ…å ±</a></h2> - - <p>コンテントãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã«é–¢ã™ã‚‹è¿½åŠ æƒ…å ±ã¯ã€ - Alan J. Flavell ã•ã‚“ã®<a href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language - Negotiation Notes</a> ã‚’ã”覧下ã•ã„。ã§ã™ãŒã€ - Apache 2.0 ã§ã®å¤‰æ›´ç‚¹ã‚’å«ã‚€ãŸã‚ã«ã¯æ›´æ–°ã•ã‚Œã¦ã„ãªã„ã‹ã‚‚ã—ã‚Œãªã„ - ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。</p> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/content-negotiation.html.ko.euc-kr b/docs/manual/content-negotiation.html.ko.euc-kr index b4ccba24..ed80b82d 100644 --- a/docs/manual/content-negotiation.html.ko.euc-kr +++ b/docs/manual/content-negotiation.html.ko.euc-kr @@ -21,7 +21,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -43,7 +44,6 @@ <li><img alt="" src="./images/down.gif" /> <a href="#extensions">ÀÚ¿¬½º·¯¿î(transparent) ³»¿ëÇù»óÀÇ È®Àå</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#naming">ÇÏÀÌÆÛ¸µÅ©¿Í À̸§±ÔÄ¢¿¡ ´ëÇÏ¿©</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#caching">ij½¬¿¡ ´ëÇÏ¿©</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#more">´Ù¸¥ Á¤º¸</a></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> @@ -593,19 +593,13 @@ content-encodingÀ» °¡Áø º¯Çü¸¸À» ÁöĪÇÑ´Ù. RVSA/1.0 ¾Ë°í¸®ÁòÀº ÆÇ´ÜÇÒ ¼ö ÀÖ´Ù. Çé»óÀÇ ¹üÀ§¿Í °ü°è¾øÀÌ Ä³½¬µÈ º¹»çº»À» ±ÇÇÑ´Ù¸é <code>force-no-vary</code> <a href="env.html#special">ȯ°æº¯¼ö</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="more" id="more">´Ù¸¥ Á¤º¸</a></h2> - - <p>³»¿ëÇù»ó¿¡ ´ëÇÑ ´Ù¸¥ Á¤º¸´Â Alan J. Flavell°¡ ¾´ <a href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language - Negotiation Notes</a>¸¦ Âü°íÇ϶ó. ±×·¯³ª ÀÌ ¹®¼´Â ¾ÆÁ÷ - ¾ÆÆÄÄ¡ 2.0ÀÇ º¯È¸¦ ¹Ý¿µÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù.</p> </div></div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/content-negotiation.html" title="Korean"> ko </a></p> +<a href="./ko/content-negotiation.html" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/content-negotiation.html.tr.utf8 b/docs/manual/content-negotiation.html.tr.utf8 new file mode 100644 index 00000000..807a4e47 --- /dev/null +++ b/docs/manual/content-negotiation.html.tr.utf8 @@ -0,0 +1,646 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>İçerik Uzlaşımı - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>İçerik Uzlaşımı</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" title="Türkçe"> tr </a></p> +</div> + + + <p>Apache, içerik uzlaşımını HTTP/1.1 belirtiminde bahsedildiÄŸi ÅŸekliyle + destekler. Bir özkaynağın en iyi gösterimini, tarayıcının saÄŸladığı + karakter kodlaması, karakter kümesi, dil, ortam türü gibi kullanıcı + tercihlerine baÄŸlı olarak seçebilir. Ayrıca, tarayıcının kullanıcı + tercihlerini tam yansıtamadığı durumlarda istekleri daha akıllıca ele + alabilmeyi saÄŸlayacak bir takım özelliklere de sahiptir.</p> + + <p>İçerik uzlaşımı öntanımlı olarak derlenen + <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü tarafından saÄŸlanır.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#about">İçerik Uzlaşımı Hakkında</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#negotiation">Apache’de İçerik Uzlaşımı</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#methods">Uzlaşım Yöntemleri</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#better">Ãœstünlük DeÄŸerleriyle Oynamak</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#extensions">Åžeffaf İçerik Uzlaşımının GeniÅŸletilmesi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#naming">HiperbaÄŸlar ve Ä°simlendirme Uzlaşımları</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#caching">Arabellekler Hakkında</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="about" id="about">İçerik Uzlaşımı Hakkında</a></h2> + + <p>Bir özkaynağın bir çok farklı gösterimi olabilir. ÖrneÄŸin, bir belgenin + farklı ortam türleri ve/veya farklı diller için gösterimleri olabilir. + En uygun seçimi yapmanın tek yolu kullanıcıya bir liste verip seçmesini + istemektir. Bununla birlikte sunucunun bu seçimi kendiliÄŸinden yapması + da mümkündür. Tarayıcılar isteÄŸin bir parçası olarak kullanıcı + tercihlerini de gönderdiÄŸinden bu istendiÄŸi gibi çalışır. ÖrneÄŸin bir + tarayıcı, kullanıcısınının mümkünse Fransızca içerik tercih ettiÄŸini + yoksa Ä°ngilizce içeriÄŸe de razı olabileceÄŸini belirtebilirdi. + Tarayıcılar bu tercihleri baÅŸlıkta belirtirler. Tarayıcı sadece Türkçe + içerik istendiÄŸini şöyle belirtebilirdi:</p> + + <div class="example"><p><code>Accept-Language: tr</code></p></div> + + <p>Bu tercihin yerine getirilebilmesininin sadece, desteklenen diller + arasında bu dilin varlığına ve istenen belgenin bu dilde bir + gösteriminin bulunmasına baÄŸlı oluÅŸuna dikkat ediniz.</p> + + <p>Daha karmaşık bir istek örneÄŸi olarak, tarayıcının Fransızca ve + Ä°ngilizce içerik kabul etmeye ayarlandığını fakat Fransızcayı tercih + ettiÄŸini ve çeÅŸitli ortam türlerini kabul etmekle birlikte salt metin ve + diÄŸer metin türlerinden ziyade HTML tercih ettiÄŸini, ayrıca, diÄŸer ortam + türleri üzerinde GIF veya JPEG tercih ettiÄŸini fakat baÅŸka çare yoksa + her ortam türüne de izin verdiÄŸini belirtiyor olsun:</p> + + <div class="example"><p><code> + Accept-Language: fr; q=1.0, en; q=0.5<br /> + Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; + q=0.6, image/*; q=0.5, */*; q=0.1 + </code></p></div> + + <p>Apache, HTTP/1.1 belirtiminde tanımlanan ÅŸekliyle ‘sunucu yönetiminde’ + içerik uzlaşımını destekler. <code>Accept</code>, + <code>Accept-Language</code>, <code>Accept-Charset</code> ve + <code>Accept-Encoding</code> istek baÅŸlıklarını tamamen destekler. + Apache ayrıca, RFC 2295 ve RFC 2296’da tanımlanan bir deneysel uzlaşım + olarak ‘şeffaf’ içerik uzlaşımını da destekler. Fakat ‘özellik + uzlaşımını’ bu RFC’lerde tanımlandığı gibi desteklemez.</p> + + <p>Bir <strong>özkaynak</strong> bir URI (RFC 2396) tarafından betimlenen + kavramsal bir öğedir. Apache gibi bir HTTP sunucusu, ortam türü, + karakter kümesi, kodlama ve saire ile tanımlanmış bir bayt dizisi + ÅŸeklindeki her gösterimiyle, özkaynaklara kendi isim alanları dahilinde + eriÅŸim saÄŸlar. Her özkaynağın aynı anda bir veya daha fazla gösterimi + mevcut olabileceÄŸi gibi hiç mevcut olmayabilir de. EÄŸer çok sayıda + gösterim mevcutsa, bu özkaynağın <strong>uzlaşılabilir</strong> + olduÄŸundan ve her gösteriminin bir <strong>çeÅŸitlilik</strong> + oluÅŸturduÄŸundan bunun da uzlaşımın <strong>boyutlar</strong>ından + kaynaklandığından bahsedilebilir.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="negotiation" id="negotiation">Apache’de İçerik Uzlaşımı</a></h2> + + <p>Bir özkaynak üzerinde uzlaşılırken gösterim çeÅŸitlerinin her biri + hakkında sunucuya bilgi verilmesi gerekir. Bu iki yolla yapılabilir:</p> + + <ul> + <li>Ya gösterim çeÅŸitlerini içeren dosyaların isimleriyle eÅŸleÅŸmeyi + saÄŸlayan bir tür eÅŸlemi kullanılır (bir <code>*.var</code> dosyası + gibi).</li> + + <li>Ya da sunucu örtük bir dosya ismi kalıbı eÅŸleÅŸmesinin ardından + sonuçlar arasından seçim yapar; buna ‘Çoklu Görünüm’ araması adı + verilir.</li> + </ul> + + <h3><a name="type-map" id="type-map">Bir türeÅŸlem dosyası kullanmak</a></h3> + + <p>Bir türeÅŸlem dosyası, <code>type-map</code> eylemcisi ile iliÅŸkili bir + belgedir (ya da eski Apache yapılandırmaları ile geriye uyumluluk için, + <code>application/x-type-map</code> <a class="glossarylink" href="./glossary.html#mime türü" title="sözlüğe bakınız">MIME türü</a>nde + bir belgedir). Bu özelliÄŸi kullanmak için, yapılandırmada bir tür + eÅŸleyici olarak her dosya ismi uzantısı için bir <code>type-map</code> + eylemcisi tanımlamalısınız. Bu, sunucu yapılandırma dosyasında en iyi + şöyle yapılabilir:</p> + + <div class="example"><p><code>AddHandler type-map .var</code></p></div> + + <p>TüreÅŸlem dosyaları kendilerini tanımlayan özkaynak ile aynı isimde + olmalı ve her gösterim çeÅŸidi için bir girdi içermelidir; bu girdiler + ardarda belirtilen HTTP biçem baÅŸlık satırlarından oluÅŸur. Farklı + gösterimlerin girdileri bir boÅŸ satırla diÄŸerlerinden ayrılır. Aynı + girdi içinde boÅŸ satır kullanılamaz. Bir eÅŸlem dosyasını bir birleÅŸik + öğenin tamamı için bir girdi ile baÅŸlatmak adet olmuÅŸtur (ise de, bu + gerekli deÄŸildir, hele yoksayılacaksa hiç gerekli deÄŸildir). EÅŸlem + dosyası için aÅŸağıda bir örnek verilmiÅŸtir. Dosya <code>misal</code> + isimli bir özkaynak hakkında olduÄŸundan dosyaya <code>misal.var</code> + ismi verilebilir.</p> + + <div class="example"><p><code> + URI: misal<br /> + <br /> + URI: misal.en.html<br /> + Content-type: text/html<br /> + Content-language: en<br /> + <br /> + URI: misal.fr.de.html<br /> + Content-type: text/html;charset=iso-8859-2<br /> + Content-language: fr, de<br /> + </code></p></div> + + <p>Ayrıca, <code>MultiViews</code> etkin olsa bile bir türeÅŸlem dosyasının + dosya ismi uzantılarının taranmasına göre öncelik alacağına dikkat + ediniz. EÄŸer gösterimler bu örnekteki resim dosyasında olduÄŸu gibi + farklı kaynak üstünlüklerine sahipseler, ortam türünün <code>qs</code> + parametresi kullanılarak kaynak üstünlükleri belirtilebilir: </p> + + <div class="example"><p><code> + URI: misal<br /> + <br /> + URI: misal.jpeg<br /> + Content-type: image/jpeg; <strong>qs=0.8</strong><br /> + <br /> + URI: misal.gif<br /> + Content-type: image/gif; <strong>qs=0.5</strong><br /> + <br /> + URI: misal.txt<br /> + Content-type: text/plain; <strong>qs=0.01</strong><br /> + </code></p></div> + + <p><code>qs</code> deÄŸerleri 0.000-1.000 deÄŸer aralığı içinde + belirtilebilir. 0.000 <code>qs</code> deÄŸerine sahip gösterimin asla + seçilmeyeceÄŸine dikkat ediniz. Bir <code>qs</code> deÄŸeri belirtilmeyen + gösterimlerin kaynak üstünlüğü 1.000 kabul edilir. <code>qs</code> + parametresinin belirttiÄŸi deÄŸer istemcinin yeteneklerinden bağımsız + olarak olası gösterimler arasında göreli bir üstünlük ifade eder. + ÖrneÄŸin bir fotoÄŸraf sözkonusu olduÄŸunda bir JPEG dosyasının kaynak + üstünlüğü bir ASCII çiziminkinden yüksek olacaktır. DiÄŸer taraftan özgün + resim bir ASCII çizim olduÄŸu takdirde, ASCII çizim, bir JPEG gösterimine + göre öncelikli olacaktır. Bu nedenle <code>qs</code> deÄŸeri özkaynağın + doÄŸasına bakarak belirlenir.</p> + + <p>Tanınan baÅŸlıkların tam listesini <a href="mod/mod_negotiation.html#typemaps">mod_negotation</a> modülünün + belgesinde bulabilirsiniz.</p> + + + <h3><a name="multiviews" id="multiviews">Çoklu Görünümler</a></h3> + + <p><code>MultiViews</code>, <code>httpd.conf</code> dosyasındaki veya + (<code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> yönergesinin + deÄŸerine baÄŸlı olarak) <code>.htaccess</code> dosyalarındaki <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code> veya <code class="directive"><a href="./mod/core.html#files"><Files></a></code> bölümleri içinde + <code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergeleri ile + belirtilebilen, dizine özgü bir seçenektir. Yalnız, dikkatli olun, + <code>Options All</code> yaparak <code>MultiViews</code> seçeneÄŸini + etkin kılamazsınız; seçeneÄŸi ismiyle açıkça belirtmelisiniz.</p> + + <p><code>MultiViews</code> şöyle etki eder: Sunucudan, + <code>MultiViews</code> seçeneÄŸinin etkin olduÄŸu <code>/bir/dizin</code> + dizininden <code>filanca</code> dosyası için bir istekte bulunulmuÅŸsa + fakat dizinde bu dosya yoksa, sunucu dizin içeriÄŸini + <code>filanca.*</code> dosyaları için tarar ve bu dosyalar için + istemcinin ismiyle talep ettiÄŸi ortam türlerini ve kodlamaları + kullanarak bir türeÅŸlem dosyası uydurup bu gösterimler arasından + istemcinin gereksinimlerine en uygun gösterimi seçer.</p> + + <p><code>MultiViews</code> ayrıca, sunucunun bir dizin içeriÄŸini + listelemeye çalıştığı durumda <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> yönergesi ile belirtilen dosya için de bir + arama tertipleyebilir. EÄŸer yapılandırma dosyalarında</p> + + <div class="example"><p><code>DirectoryIndex index</code></p></div> + + <p>ÅŸeklinde bir atama varsa ve dizinde <code>index.html</code> ve + <code>index.html3</code> dosyaları varsa sunucu bunlar arasından hakem + sıfatıyla bir seçim yapacaktır; ama bu ikisi yerine dizinde sadece + <code>index.cgi</code> mevcutsa sunucu sadece bu dosyayı + çalıştıracaktır.</p> + + <p>Okunan dizinde bulunan dosyalar arasında <code>mod_mime</code> + tarafından tanınan karakter kümesi, içerik türü, dil ve kodlama + baÅŸlıklarına uygun gösterim uzantılarından birine sahip bir dosya yoksa + sonuç <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code> + yönergesiyle yapılan tanıma baÄŸlı olur. Bu yönerge hangi diÄŸer dosya + uzantılarının, eylemcilerin veya süzgeçlerin çok gösterimli uzlaşımla + ilintileneceÄŸini belirler.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="methods" id="methods">Uzlaşım Yöntemleri</a></h2> + + <p>Apache’nin, bir türeÅŸlem dosyası veya dizin içindeki bir dosya + sayesinde belli bir özkaynağın gösterim çeÅŸitlerinin bir listesini elde + ettikten sonra ‘en uygun’ gösterime karar vermek için kullanabileceÄŸi + iki yöntem vardır. Apache’nin içerik uzlaşım özelliklerinin kullanımı + sırasında uzlaşımın nasıl yerine getirileceÄŸi ile ilgili ayrıntıları + bilmek aslında gerekli deÄŸildir. Bununla birlikte belgenin kalanında bu + konu açıklanmaya çalışılmıştır.</p> + + <p>Ä°ki uzlaşım yöntemi vardır:</p> + + <ol> + <li>Normal durumda <strong>sunucu yönetiminde Apache uzlaşım + algoritması</strong> kullanılır. Bu algoritma aÅŸağıda ayrıntılı olarak + açıklanmıştır. Bu algoritma kullanıldığı zaman, Apache, en iyi sonuca + ulaÅŸmak için bazen belli boyutların üstünlük katsayılarıyla ‘oynar’. + Apache’nin bu katsayılarla oynama iÅŸini nasıl yaptığı aÅŸağıda daha + ayrıntılı açıklanmıştır.</li> + + <li>Ä°stemci bu iÅŸlem için özellikle RFC 2295’te tanımlanan mekanizmanın + kullanılmasını isterse <strong>ÅŸeffaf içerik uzlaşımı</strong> + kullanılır. Bu uzlaşım yöntemi, en uygun gösterimin seçilmesi + konusunda tarayıcıya tam denetim imkanı verir; dolayısıyla sonuç + tarayıcının bu iÅŸlem için kullandığı algoritmanın baÅŸarısına baÄŸlıdır. + Åžeffaf uzlaşım sürecinin bir parçası olarak, tarayıcı, RFC 2296’da + tanımlanan ‘gösterim çeÅŸidini uzaktan seçme algoritması’nın + çalıştırılmasını Apache’den isteyebilir.</li> + </ol> + + <h3><a name="dimensions" id="dimensions">Uzlaşımın Boyutları</a></h3> + + <table> + + <tr valign="top"> + <th>Boyut</th> + + <th>Açıklama</th> + </tr> + + <tr valign="top"> + <td>Ortam Türü</td> + + <td>Tarayıcı ortam türü tercihlerini <code>Accept</code> baÅŸlık alanı + ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir. Gösterimin açıklaması da ayrıca bir kaynak üstünlüğüne + (<code>qs</code> parametresi) sahip olabilir.</td> + </tr> + + <tr valign="top"> + <td>Dil</td> + + <td>Tarayıcı dil tercihlerini <code>Accept-Language</code> baÅŸlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir. Gösterimler bir kaç dilde olabileceÄŸi gibi hiç bir dille + iliÅŸkilendirimemiÅŸ de olabilir.</td> + </tr> + + <tr valign="top"> + <td>Kodlama</td> + + <td>Tarayıcı kodlama tercihlerini <code>Accept-Encoding</code> baÅŸlık + alanı ile belirtir. Her öğenin kendine özgü bir üstünlük katsayısı + olabilir.</td> + </tr> + + <tr valign="top"> + <td>Karakter Kümesi</td> + + <td>Tarayıcı karakter kümesi tercihlerini <code>Accept-Charset</code> + baÅŸlık alanı ile belirtir. Her öğenin kendine özgü bir üstünlük + katsayısı olabilir. Gösterim çeÅŸitleri karakter kümesini ortam + türünün bir parametresi olarak belirtebilirler.</td> + </tr> + </table> + + + <h3><a name="algorithm" id="algorithm">Apache Uzlaşım Algoritması</a></h3> + + <p>Apache, tarayıcıya döndürülecek en uygun gösterim çeÅŸidini (varsa) + seçmek için aÅŸağıdaki algoritmayı kullanabilir. Bu algoritma pek de + yapılandırılabilir deÄŸildir. Şöyle çalışır:</p> + + <ol> + <li>Önce her uzlaşım boyutu için ilgili <em>Accept*</em> baÅŸlık alanına + bakılıp her gösterim çeÅŸidine bir üstünlük katsayısı atanır. EÄŸer + boyutlardan bazıları için ilgili <em>Accept*</em> baÅŸlığı + uygulanabilir deÄŸilse bu boyut elenir ve sonuçta hiçbir gösterim + çeÅŸidi kalmasza 4. adıma atlanır.</li> + + <li>‘En uygun’ gösterim çeÅŸidi bir eleme süreciyle seçilir. Bu süreç + sırasında aÅŸağıdaki sınamalar sırayla uygulanır. Sınamalardan + geçemeyen bir gösterim çeÅŸidi elenir. Sınamaların bir aÅŸamasında tek + bir gösterim çeÅŸidi kalırsa bu en uygun eÅŸleÅŸme olarak seçilmiÅŸ olur + ve 3. adıma atlanır. EÄŸer birden fazla gösterim çeÅŸidi kalırsa sonraki + sınamaya geçilir. + + <ol> + <li><code>Accept</code> baÅŸlığındaki üstünlük katsayısı ile + gösterimin ortam türünde belirtilen kaynak üstünlüğünün çarpımı en + büyük olan gösterim çeÅŸidi seçilir.</li> + + <li>En yüksek dil üstünlük katsayısına sahip gösterim çeÅŸidi seçilir. + </li> + + <li>En uygun dil eÅŸleÅŸmesine sahip gösterim çeÅŸidini seçmek için + önce varsa <code>Accept-Language</code> baÅŸlığındaki dil + sıralamasına bakılır, aksi takdirde <code>LanguagePriority</code> + yönergesi ile atanmışsa oradaki dil sıralamasına bakılır.</li> + + <li>En yüksek ‘seviyeden’ ortam parametresine (text/html ortam türü + sürümünü belirtmekte kullanılır) sahip gösterim çeÅŸitleri + seçilir.</li> + + <li><code>Accept-Charset</code> baÅŸlık satırında belirtilene bakarak + en uygun karakter kümesine sahip gösterim çeÅŸitleri seçilir. + Alenen dışlanmadıkça ISO-8859-1 kabul edilebilir karakter + kümesidir. <code>text/*</code> ortam türüne sahip gösterim + çeÅŸitlerinden belli bir karakter kümesi ile iliÅŸkilendirilmemiÅŸ + olanların karakter kümesinin ISO-8859-1 olduÄŸu varsayılır.</li> + + <li>ISO-8859-1 karakter kümesi ile iliÅŸkilendirilmemiÅŸ gösterim + çeÅŸitleri seçilir. Böyle hiçbir gösterim yoksa bütün gösterimler + seçilir.</li> + + <li>En uygun kodlamaya sahip gösterim çeÅŸitleri seçilir. Tarayıcı + tarafından kabul edilebilir kodlamaya sahip gösterim çeÅŸitleri + varsa bunlar seçilir. Yoksa kodlanmış ve kodlanmamış gösterim + çeÅŸitleri karışık olarak mevcutsa sadece kodlanmamış olanlar + seçilir. EÄŸer bütün gösterim çeÅŸitlerinin sadece kodlanmış ya da + sadece kodlanmamış gösterimleri mevcutsa hepsi seçilir.</li> + + <li>En küçük içerik uzunluÄŸuna sahip gösterim çeÅŸitleri seçilir.</li> + + <li>Kalan gösterim çeÅŸitlerinin ilki seçilir. Bu ilk, ya türeÅŸlem + dosyasında listelenen ilk çeÅŸittir ya da gösterimler bir dizinden + okunuyorsa ASCII kod sıralamasına göre ilk sıradaki dosya ismine + sahip gösterimdir.</li> + </ol> + </li> + + <li>Algoritma, artık seçilmiÅŸ en uygun gösterim çeÅŸidine sahipse bu + artık yanıt olarak döndürülebilir. HTTP yanıt baÅŸlığı + <code>Vary</code>’ye uzlaşım boyutları atanır (tarayıcı ve + arabellekler özkaynağı kaydederken bu bilgiyi kullanırlar) + ve algoritma sonlandırılır.</li> + + <li>Buraya gelinmiÅŸse hiçbir gösterim seçilmemiÅŸ demektir (hiçbiri + tarayıcı tarafından kabul edilebilir bulunmadığından dolayı). + Gövdesinde mevcut gösterim çeÅŸitlerini listeleyen bir HTML belgesi 406 + durum koduyla döndürülür (406: ‘kabul edilebilir bir gösterim yok’). + Ayrıca HTTP <code>Vary</code> baÅŸlığında gösterim çeÅŸitliliÄŸinin + boyutları belirtilir.</li> + </ol> + +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="better" id="better">Ãœstünlük DeÄŸerleriyle Oynamak</a></h2> + + <p>Apache bazen yukarıdaki Apache uzlaşım algoritmasının kesin sonucunun + beklenenden farklı olması için üstünlük deÄŸerleriyle oynar. Bunu tam ve + doÄŸru bilgi göndermeyen tarayıcılar için algoritmadan en iyi sonucu elde + etmek amacıyla yapar. Bazen günümüzün en tanınmış tarayıcıları bile çoÄŸu + durumda yanlış bir seçimle sonuçlanmayacaksa <code>Accept</code> baÅŸlık + bilgilerini göndermemektedir. EÄŸer tarayıcı eksiksiz ve doÄŸru bilgi + gönderirse Apache bu deÄŸerlerle oynamayacaktır.</p> + + <h3><a name="wildcards" id="wildcards">Ortam Türleri ve Dosyaismi Kalıpları</a></h3> + + <p><code>Accept:</code> istek baÅŸlığı ortam türü tercihlerini yansıtır. + Ayrıca, * bir dizge ile eÅŸleÅŸmek üzere "image/*" veya "*/*" gibi ortam + türü kalıpları da içerebilir. Dolayısıyla şöyle bir istek,</p> + + <div class="example"><p><code>Accept: image/*, */*</code></p></div> + + <p>diÄŸer türler gibi "image/" ile baÅŸlayan ortam türlerini kabul + edilebilir kılacaktır. Bazı tarayıcılar ortam türlerini örtük olarak + elde etmek amacıyla hep bu tür kalıplar gönderirler. Örnek:</p> + + <div class="example"><p><code> + Accept: text/html, text/plain, image/gif, image/jpeg, */* + </code></p></div> + + <p>Bunun amacı, açıkça listelenmiÅŸ türlerin tercih edildiÄŸini, fakat + farklı gösterimler varsa onların da kabul edilebileceÄŸini belirtmektir. + Ãœstünlük deÄŸerlerini doÄŸrudan kullanarak tarayıcılar gerçekte ne + istediklerini ÅŸuna benzer ÅŸekilde belirtebilirler:</p> + + <div class="example"><p><code> + Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 + </code></p></div> + + <p>Açıkça belirtilen türler için üstünlük katsayısı belirtilmemiÅŸtir, + dolayısıyla üstünlük katsayılarının 1.0 (en yüksek) olduÄŸu + varsayılmaktadır. */* kalıbı 0.01 gibi çok daha düşük bir öncelik + belirtmektedir. Bu bakımdan, ancak, açıkça belirtilen türlerden + hiçbirinin bulunmaması halinde diÄŸer türler eÅŸleÅŸecektir.</p> + + <p>EÄŸer <code>Accept:</code> baÅŸlığı <em>hiçbir</em> <code>q</code> + katsayısı içermiyorsa ve baÅŸlıkta "*/*" belirtilmiÅŸse, Apache istenen + davranışı taklit etmek için bu kalıba 0.01 katsayısını atar. Keza + "type/*" kalıbına da 0.02 katsayısını atar (yani, */* kalıbına göre + tercihli olur). EÄŸer <code>Accept:</code> alanındaki her ortam türü bir + <code>q</code> katsayısı içeriyorsa bu özel deÄŸerler uygulanmaz. + Dolayısıyla gerekli bilgiyi açıkça bildiren tarayıcılardan gelen + istekler umulduÄŸu gibi iÅŸlem görecektir.</p> + + + <h3><a name="exceptions" id="exceptions">Dil Uzlaşımında Ä°stisnalar</a></h3> + + <p>Apache 2.0’dan itibaren, uzlaşım algoritmasına, bir eÅŸleÅŸme bulmak + konusunda algoritma baÅŸarılı olamadığı takdirde hoÅŸ bir son çareye izin + vermek için bazı istisnalar eklenmiÅŸtir.</p> + + <p>Ä°stemci sunucudan bir sayfa istediÄŸinde, sunucu, tarayıcı tarafından + gönderilen <code>Accept-language</code> baÅŸlığıyla eÅŸleÅŸen tek bir sayfa + bulamadığı takdirde istemciye ya “Kabul edilebilir bir gösterim çeÅŸidi + yok†ya da “Çok sayıda seçim belirtilmiş†yanıtını döndürür. Bu hata + iletilerinden kaçınmak için bu gibi durumlarda Apache + <code>Accept-language</code> baÅŸlığını yoksaymaya ayarlanabilir. Böylece + istemcinin isteÄŸine tam olarak uymasa da bir belge saÄŸlanır. Bu hata + iletilerinin birini veya her ikisini de geçersiz kılmak için <code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code> yönergesi + kullanılabilir ve sunucunun kararını <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> yönergesine + dayanarak vermesi saÄŸlanabilir.</p> + + <p>Sunucu ayrıca, tam bir eÅŸleÅŸme bulunmadığı zaman lehçelerle de eÅŸleÅŸme + arayabilir. ÖrneÄŸin, bir istemci Britanya Ä°ngilizcesi + (<code>en-GB</code>) ile yazılmış belgeler için istekte bulunursa, + sunucu normalde HTTP/1.1 standardına göre bir belgenin basitçe + <code>en</code> olarak imlenmesine izin vermez. (Bir okuyucu Britanya + Ä°ngilizcesini anlıyor ama genel Ä°ngilizceyi anlamıyor diye + <code>Accept-Language</code> baÅŸlığında <code>en</code> deÄŸil de + <code>en-GB</code>’yi belirtmesinin hemen hemen daima bir yapılandırma + hatasına yol açacağına dikkat ediniz. Maalesef, mevcut istemcilerin çoÄŸu + öntanımlı yapılandırmalarında buna benzer ÅŸeyler yapmaktadır.) Bununla + birlikte, baÅŸka bir dille eÅŸleÅŸme mümkün deÄŸilse ve sunucu “Kabul + edilebilir bir gösterim çeÅŸidi yok†hatasını döndürmeye hazırsa veya + <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> son + çaresine ayarlanmışsa alt küme belirtimini yok sayacak ve + <code>en</code> belge isteklerine <code>en-GB</code> belgelerle yanıt + verecektir. Apache, lehçenin üyesi olduÄŸu anadili, istemcinin kabul + edilebilir diller listesine örtük olarak düşük bir üstünlük deÄŸeri ile + ekler. Yalnız ÅŸuna dikkat edin, eÄŸer istemci tercihini "en-GB; q=0.9, + fr; q=0.8" olarak belirtirse ve sunucuda sadece "en" ve "fr" belgeleri + varsa sunucu "fr" belge ile yanıt verecektir. HTTP/1.1 belirtimi ile + uyumluluÄŸu saÄŸlamak ve düzgün yapılandırılmış istemcilerle gerektiÄŸi + gibi çalışabilmek için bu gereklidir.</p> + + <p>GeliÅŸmiÅŸ tekniklerin (çerezler, özel URL yolları gibi) desteklenmesi + sırasında, kullanıcının tercih ettiÄŸi dili saptamak için Apache 2.0.47 + sürümünden beri <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü + <code>prefer-language</code> <a href="env.html">ortam deÄŸiÅŸkenini</a> + tanımaktadır. DeÄŸiÅŸken mevcutsa ve uygun bir dil yaftası içeriyorsa + <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> uygun gösterimi seçmeyi deneyecektir. + Böyle bir gösterim çeÅŸidi mevcut deÄŸilse normal uzlaşım iÅŸlemi + uygulanacaktır.</p> + + <div class="example"><h3>Örnek</h3><p><code> + SetEnvIf Cookie "language=(.+)" prefer-language=$1<br /> + Header append Vary cookie + </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="extensions" id="extensions">Åžeffaf İçerik Uzlaşımının GeniÅŸletilmesi</a></h2> + + + <p>Apache, ÅŸeffaf içerik uzlaşımı protokolünü (RFC 2295) şöyle geniÅŸletir: + Sadece içerik kodlamasına özgü olmak üzere gösterim çeÅŸidi listelerinde + gösterim çeÅŸitlerini imlemek için yeni bir <code>{encoding ..}</code> + elemanı kullanılır. RVSA/1.0 algoritmasının (RFC 2296) gerçeklenimi, + listedeki kodlanmış gösterim çeÅŸitlerini tanımak ve onları + <code>Accept-Encoding</code> baÅŸlık alanıyla ilgili olarak kabul + edilebilir kodlamalara aday gösterim çeÅŸitleri olarak kullanmak üzere + geniÅŸletilmiÅŸtir. RVSA/1.0 gerçeklenimi, en uygun gösterim çeÅŸidi + seçiminin öncesinde hesaplanmış üstünlük katsayısını virgülden sonra beÅŸ + haneye yuvarlamaz.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="naming" id="naming">HiperbaÄŸlar ve Ä°simlendirme Uzlaşımları</a></h2> + + <p>EÄŸer dil uzlaşımı kullanıyorsanız ve birden fazla dosya ismi uzantısına + sahip dosyalarınız varsa uzantıların sıralamasının normalde uygunsuz + düştüğü farklı isimlendirme yaklaşımlarında bulunabilirsiniz (ayrıntılar + için <a href="mod/mod_mime.html#multipleext">mod_mime</a> belgesine + bakınız).</p> + + <p>Bir MIME türü uzantısına sahip bir dosyanın (<code>html</code> gibi), + kodlanmış bir gösterimi (<code>gz</code> gibi) mevcut olabilir. Bu + dosyanın ayrıca farklı dillerdeki gösterimleri için de bir uzantısı + (<code>en</code> gibi) olabilir.</p> + + <p>Örnekler:</p> + + <ul> + <li>misal.en.html</li> + + <li>misal.html.en</li> + + <li>misal.en.html.gz</li> + </ul> + + <p>HiperbaÄŸ olarak geçerli ve geçersiz bazı dosya ismi örnekleri:</p> + + <table class="bordered"> + + <tr> + <th>Dosya ismi</th> + + <th>Geçerli HiperbaÄŸ</th> + + <th>Geçersiz HiperbaÄŸ</th> + </tr> + + <tr> + <td><em>misal.html.en</em></td> + + <td>misal<br /> + misal.html</td> + + <td>-</td> + </tr> + + <tr> + <td><em>misal.en.html</em></td> + + <td>misal</td> + + <td>misal.html</td> + </tr> + + <tr> + <td><em>misal.html.en.gz</em></td> + + <td>misal<br /> + misal.html</td> + + <td>misal.gz<br /> + misal.html.gz</td> + </tr> + + <tr> + <td><em>misal.en.html.gz</em></td> + + <td>misal</td> + + <td>misal.html<br /> + misal.html.gz<br /> + misal.gz</td> + </tr> + + <tr> + <td><em>misal.gz.html.en</em></td> + + <td>misal<br /> + misal.gz<br /> + misal.gz.html</td> + + <td>misal.html</td> + </tr> + + <tr> + <td><em>misal.html.gz.en</em></td> + + <td>misal<br /> + misal.html<br /> + misal.html.gz</td> + + <td>misal.gz</td> + </tr> + </table> + + <p>Yukarıdaki tabloya bakarak hiperbaÄŸlarda bir dosya ismini uzantısız + olarak (<code>misal</code> gibi) kullanmanın daima mümkün olduÄŸunu + farkedeceksiniz. Böylece br belgenin asıl türünü gizleyebilir ve + sonradan bir hiperbaÄŸ deÄŸiÅŸikliÄŸi yapmaksızın örneÄŸin + <code>html</code>’den <code>shtml</code> veya <code>cgi</code>’ye + geçebilirsiniz.</p> + + <p>HiperbaÄŸlarda MIME türlerini (<code>misal.html</code> gibi) kullanmaya + devam etmek istiyorsanız dil uzantısı MIME türü uzantısının sağında + kalmalıdır (<code>misal.html.en</code> gibi).</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="caching" id="caching">Arabellekler Hakkında</a></h2> + + <p>Bir arabellek, bir gösterimi istek URL’si ile iliÅŸkilendirerek saklar. + Böylece, sonradan aynı URL için bir istek yapıldığında kaydettiÄŸi + gösterimi kullanabilir. Fakat özkaynak sunucuyla uzlaşılan türdeyse + arabelleÄŸe ilk istenen çeÅŸit saklanmış olacağından isteÄŸe yanlış + gösterimle yanıt verilmiÅŸ olacaktır. Bunun olmaması için Apache, normal + olarak içerik uzlaşımının sonucu olarak döndürülen tüm yanıtları + HTTP/1.0 istemciler tarafından arabelleklenemez olarak imler. Apache + ayrıca, uzlaşımlı yanıtların arabelleklenmesini mümkün kılan HTTP/1.1 + protokolünü de destekler.</p> + + <p>HTTP/1.0 uyumlu istemcilerden (bir tarayıcı veya arabellek) gelen + istekler için, uzlaşıma konu yanıtların arabelleklenmesini mümkün kılmak + üzere <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code> yönergesi kullanılabilir. Bu yönerge + argümansızdır ve sunucu genelinde veya sanal konakların + yapılandırılmasında kullanılabilir. Bunun HTTP/1.1 istemcilerinden gelen + isteklere bir etkisi yoktur.</p> + + <p>HTTP/1.1 istemciler için, Apache, yanıtın uzlaşım boyutlarını göstermek + üzere bir <code>Vary</code> HTTP yanıt baÅŸlığı gönderir. Arabellekler bu + bilgiyi sonraki istekleri yerel kopyadan sunarken kullanabilirler. Bir + arabelleÄŸin uzlaşım boyutlarına bakmaksızın yerel kopyasını kullanmaya + teÅŸvik etmek için <code>force-no-vary</code> <a href="env.html#special">ortam deÄŸiÅŸkenini</a> etkin kılabilirsiniz.</p> + +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/content-negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/content-negotiation.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 577c6d6d..53857709 100644 --- a/docs/manual/convenience.map +++ b/docs/manual/convenience.map @@ -105,6 +105,7 @@ charsetoptions mod/mod_charset_lite.html#charsetoptions charsetsourceenc mod/mod_charset_lite.html#charsetsourceenc checkcaseonly mod/mod_speling.html#checkcaseonly checkspelling mod/mod_speling.html#checkspelling +chrootdir mod/mpm_common.html#chrootdir contentdigest mod/core.html#contentdigest cookiedomain mod/mod_usertrack.html#cookiedomain cookieexpires mod/mod_usertrack.html#cookieexpires diff --git a/docs/manual/custom-error.html b/docs/manual/custom-error.html index dd9dddbe..5d677760 100644 --- a/docs/manual/custom-error.html +++ b/docs/manual/custom-error.html @@ -15,3 +15,7 @@ Content-type: text/html; charset=UTF-8 URI: custom-error.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: custom-error.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/custom-error.html.en b/docs/manual/custom-error.html.en index a9c0924a..f02df6a5 100644 --- a/docs/manual/custom-error.html.en +++ b/docs/manual/custom-error.html.en @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="./en/custom-error.html" title="English"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Additional functionality allows webmasters to configure the response @@ -195,7 +196,8 @@ <p><span>Available Languages: </span><a href="./en/custom-error.html" title="English"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/custom-error.html.es b/docs/manual/custom-error.html.es index 18401cb5..7d2b5ef8 100644 --- a/docs/manual/custom-error.html.es +++ b/docs/manual/custom-error.html.es @@ -21,7 +21,8 @@ <p><span>Idiomas disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/custom-error.html" title="Español"> es </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">Esta traducción podría estar obsoleta. Consulte la versión en inglés de la @@ -216,7 +217,8 @@ <p><span>Idiomas disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/custom-error.html" title="Español"> es </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> diff --git a/docs/manual/custom-error.html.ja.utf8 b/docs/manual/custom-error.html.ja.utf8 index e8e5f92d..dfcbf49d 100644 --- a/docs/manual/custom-error.html.ja.utf8 +++ b/docs/manual/custom-error.html.ja.utf8 @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./ja/custom-error.html" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -192,7 +193,8 @@ <p><span>Available Languages: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./ja/custom-error.html" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/custom-error.html.ko.euc-kr b/docs/manual/custom-error.html.ko.euc-kr index 241e446b..c0339746 100644 --- a/docs/manual/custom-error.html.ko.euc-kr +++ b/docs/manual/custom-error.html.ko.euc-kr @@ -21,7 +21,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -193,7 +194,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/custom-error.html" title="Korean"> ko </a></p> +<a href="./ko/custom-error.html" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/custom-error.html.tr.utf8 b/docs/manual/custom-error.html.tr.utf8 new file mode 100644 index 00000000..b6c89f5a --- /dev/null +++ b/docs/manual/custom-error.html.tr.utf8 @@ -0,0 +1,203 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Hata Yanıtlarının KiÅŸiselleÅŸtirilmesi - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Hata Yanıtlarının KiÅŸiselleÅŸtirilmesi</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" title="Türkçe"> tr </a></p> +</div> + + <p>Apache, bazı sorunlara ve hatalara karşılık vereceÄŸi yanıtların + yapılandırabilmesini mümkün kılan ek bir iÅŸlevselliÄŸe sahiptir.</p> + + <p>Site yöneticisi tarafından kiÅŸiselleÅŸtirilebilen bu tür yanıtlar, + sunucu belli hatalar veya sorunlarla karşılaÅŸtığında etkin kılınmak + üzere tanımlanabilir.</p> + + <p>Bir betik bir hata nedeniyle bir "500 Server Error" yanıtının + verilmesine sebep olursa bu yanıt yerine baÅŸka bir adrese + yönlendirilerek (dahili veya harici) veya doÄŸrudan daha dostça bir + metin sunulabilir.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#behavior">Davranış</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#configuration">Yapılandırma</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#custom">Özel Hata Yanıtları ve Yönlendirme</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="behavior" id="behavior">Davranış</a></h2> + + + <h3>Eski Davranış</h3> + + + <p>NCSA httpd 1.3, çoÄŸunlukla kullanıcıya anlamsız gelen ve sebebiyle + kavramsal bir baÄŸ kurulamayan günlük kayıtları üreten, can sıkıcı + bazı hata/sorun yanıtları döndürürdü.</p> + + + <h3>Yeni Davranış</h3> + + + <p>Sunucudan NCSA kodlu iletiler yerine</p> + + <ul> + <li>baÅŸka bir metin göstermesi,</li> + + <li>istemciyi baÅŸka bir yerel adrese yönlendirmesi veya</li> + + <li>istemciyi bir harici adrese yönlendirmesi</li> + </ul> + + <p>istenebilir. BaÅŸka bir adrese yönlendirme, hata veya sorunu daha iyi + açıklamakta kullanılabilecek bazı bilgilerin aktarılması ÅŸartıyla + oldukça kullanışlı olabilir.</p> + + <p>Apache, buna olanak vermek için CGI benzeri yeni ortam deÄŸiÅŸkenleri + tanımlamıştır:</p> + + <div class="example"><p><code> + REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, + image/jpeg<br /> + REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 + 9000/712)<br /> + REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br /> + REDIRECT_QUERY_STRING=<br /> + REDIRECT_REMOTE_ADDR=121.345.78.123<br /> + REDIRECT_REMOTE_HOST=ooh.ahhh.dom<br /> + REDIRECT_SERVER_NAME=batti.balik.yan.gider.edu<br /> + REDIRECT_SERVER_PORT=80<br /> + REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br /> + REDIRECT_URL=/cgi-bin/hatalar.pl + </code></p></div> + + <p><code>REDIRECT_</code> önekine dikkat edin.</p> + + <p>Yeni adrese (hedefin bir CGI betiÄŸi veya SSI sayfası olduÄŸu + kabulüyle) en azından <code>REDIRECT_URL</code> ve + <code>REDIRECT_QUERY_STRING</code> deÄŸiÅŸkenleri aktarılır. DiÄŸer + deÄŸiÅŸkenler ise sadece hata veya sorunun öncesinde mevcut oldukları + takdirde aktarılacaklardır. EÄŸer <em>harici</em> yönlendirmeyi + <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesi + üzerinden yapıyorsanız bunlara <strong>None</strong> deÄŸeri + atanacaktır. (Yönlendirme adresi <code>http:</code> ile baÅŸlıyorsa + adres aynı sunucuya ait olsa bile bu bir harici yönlendirme olarak + ele alınır.)</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="configuration" id="configuration">Yapılandırma</a></h2> + + + <p><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesinin + <code>.htaccess</code> dosyalarında kullanılması sadece <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> yönergesine uygun bir deÄŸer + atanmışsa mümkündür.</p> + + <p>Bazı örnekler:</p> + + <div class="example"><p><code> + ErrorDocument 500 /cgi-bin/hata-kurtarma <br /> + ErrorDocument 500 "Pardon, galiba bizim betik hata verdi." <br /> + ErrorDocument 500 http://xxx/ <br /> + ErrorDocument 404 /ozuru_kabahatinden_buyuk/yok.html <br /> + ErrorDocument 401 /Uyeler/NASIL_uye_olunur.html + </code></p></div> + + <p>Burada sözdizimi şöyledir:</p> + + <div class="example"><p><code> + ErrorDocument <3-rakamlı-kod> <eylem> + </code></p></div> + + <p><code><em>eylem</em></code> ÅŸunlardan biri olabilir:</p> + + <ul> + <li>Gösterilecek metin. Metin tırnak (") içine alınmalıdır.</li> + + <li>Yönlendirmenin yapılacağı harici adres.</li> + + <li>Yönlendirmenin yapılacağı dahili adres.</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="custom" id="custom">Özel Hata Yanıtları ve Yönlendirme</a></h2> + + + <p>Apache’nin yönlendirme ile ilgili davranışı bir CGI betiÄŸi veya SSI + sayfası sözkonusu olduÄŸunda bazı ek ortam deÄŸiÅŸkenleri ile + yapılandırılabilir.</p> + + <h3>Eski Davranış</h3> + + + <p>Yönlendirme yapılan betikte standart CGI deÄŸiÅŸkenleri kullanılırdı. + Yönlendirmenin kaynağı ile ilgili bir belirtiye rastlanmazdı.</p> + + + <h3>Yeni Davranış</h3> + + + <p>Yönlendirme yapılan betikte kullanılmak üzere özel olarak + tanımlanmış ortam deÄŸiÅŸkenleri vardır. Her deÄŸiÅŸkenin ismi + <code>REDIRECT_</code> ile baÅŸlar. <code>REDIRECT_</code> ortam + deÄŸiÅŸkenleri, yönlendirme öncesinde tanımlanmış CGI ortam + deÄŸiÅŸkenlerinin isimlerinin başına <code>REDIRECT_</code> öneki + getirilerek oluÅŸturulur. Yani, <code>HTTP_USER_AGENT</code> deÄŸiÅŸkeni + <code>REDIRECT_HTTP_USER_AGENT</code> haline gelir. Bunlara ek + olarak, betiÄŸe olayın izini sürmekte yardımcı olması için + <code>REDIRECT_URL</code> ve <code>REDIRECT_STATUS</code> + deÄŸiÅŸkenleri tanımlanmıştır. EriÅŸim günlüğüne özgün adresle birlikte + yönlendirme adresi de kaydedilir.</p> + + <p>EÄŸer <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesi + bir yerel CGI betiÄŸine yönlendirme belirtiyorsa, hatanın kaynağı + hakkında istemciye bilgi vermek amacıyla betiÄŸin çıktısında bir + "<code>Status:</code>" baÅŸlık alanına yer verilmesi önerilir. + ÖrneÄŸin, bir Perl betiÄŸi ÅŸunları içerebilirdi:</p> + + <div class="example"><p><code> + ... <br /> + print "Content-type: text/html; charset=UTF-8\n"; <br /> + printf "Status: %s durumu saptandı.\n", $ENV{"REDIRECT_STATUS"}; <br /> + ... + </code></p></div> + + <p>EÄŸer betik, <code>404 Not Found</code> gibi, belli bir + hata durumunu ele almaya adanmışsa duruma özel kod ve hata metni + kullanılabilir.</p> + + <p>EÄŸer yanıt, (istemci taraflı yönlendirme yapılırken) bir + <code>Location:</code> baÅŸlığı da içeriyorsa betiÄŸin çıktıya uygun + bir <code>Status:</code> baÅŸlığı (<code>302 Found</code> gibi) + eklemesinin <em>gerekli</em> oluÅŸuna dikkat ediniz. Aksi takdirde, + <code>Location:</code> baÅŸlığı etkisiz olabilir.</p> + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/custom-error.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/dns-caveats.html b/docs/manual/dns-caveats.html index bf518b31..7ce4c170 100644 --- a/docs/manual/dns-caveats.html +++ b/docs/manual/dns-caveats.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: dns-caveats.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: dns-caveats.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/dns-caveats.html.en b/docs/manual/dns-caveats.html.en index a0f2dee3..7f979588 100644 --- a/docs/manual/dns-caveats.html.en +++ b/docs/manual/dns-caveats.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/dns-caveats.html" title="English"> en </a> | <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This page could be summarized with the statement: don't @@ -109,14 +110,18 @@ configuration snippet:</p> <div class="example"><p><code> - <VirtualHost www.abc.dom> <br /> - ServerAdmin webgirl@abc.dom <br /> - DocumentRoot /www/abc <br /> - </VirtualHost> <br /> + <VirtualHost www.abc.dom><br /> + <span class="indent"> + ServerAdmin webgirl@abc.dom<br /> + DocumentRoot /www/abc<br /> + </span> + </VirtualHost><br /> <br /> - <VirtualHost www.def.dom> <br /> - ServerAdmin webguy@def.dom <br /> - DocumentRoot /www/def <br /> + <VirtualHost www.def.dom><br /> + <span class="indent"> + ServerAdmin webguy@def.dom<br /> + DocumentRoot /www/def<br /> + </span> </VirtualHost> </code></p></div> @@ -232,7 +237,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/dns-caveats.html" title="English"> en </a> | <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/dns-caveats.html.ja.utf8 b/docs/manual/dns-caveats.html.ja.utf8 index 879087f8..81b733ce 100644 --- a/docs/manual/dns-caveats.html.ja.utf8 +++ b/docs/manual/dns-caveats.html.ja.utf8 @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dns-caveats.html" title="Japanese"> ja </a> | -<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -236,7 +237,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dns-caveats.html" title="Japanese"> ja </a> | -<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/dns-caveats.html.ko.euc-kr b/docs/manual/dns-caveats.html.ko.euc-kr index a6016a0f..592c483f 100644 --- a/docs/manual/dns-caveats.html.ko.euc-kr +++ b/docs/manual/dns-caveats.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dns-caveats.html" title="Korean"> ko </a></p> +<a href="./ko/dns-caveats.html" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -216,7 +217,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dns-caveats.html" title="Korean"> ko </a></p> +<a href="./ko/dns-caveats.html" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/dns-caveats.html.tr.utf8 b/docs/manual/dns-caveats.html.tr.utf8 new file mode 100644 index 00000000..e024abda --- /dev/null +++ b/docs/manual/dns-caveats.html.tr.utf8 @@ -0,0 +1,235 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache ve DNS ile ilgili Konular - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache ve DNS ile ilgili Konular</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu sayfanın konusu şöyle özetlenebilirdi: Yapılandırma dosyalarınızda + DNS sorguları yapılmasını gerektirecek ayarlamalardan kaçınınız. EÄŸer + yapılandırma dosyalarınızda DNS sorgusu yapılarak çözümlenebilecek + adresler bulunursa sunucunuz beklenmedik davranışlar (hiç + baÅŸlamayabilir) gösterebileceÄŸi gibi hizmet reddi veya hizmet + hırsızlığı (bazı kullanıcıların diÄŸerlerine giden sayfaları çalma + olasılığı dahil) saldırılarına açık hale gelebilir.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#example">Basit Bir Örnek</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#denial">Hizmet Reddi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#main">"Ana Sunucu" Adresi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#tips">Bu Sorunlardan Kaçınmak için Ä°puçları</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#appendix">Ek: Ufuk Turu</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">Basit Bir Örnek</a></h2> + + + <div class="example"><p><code> + <VirtualHost falan.fesmekan.dom> + <span class="indent"> + ServerAdmin filanca@fesmekan.dom <br /> + DocumentRoot /siteler/fesmekan + </span> + </VirtualHost> + </code></p></div> + + <p>Apache’nin beklendiÄŸi gibi iÅŸlemesi için her sanal konak için iki + veriye mutlaka ihtiyacı vardır: <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> ve sunucunun baÄŸlantı kabul edip hizmet + sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi + bulunmamaktadır, dolayısıyla Apache, <code>falan.fesmekan.dom</code> + adresi için bir DNS sorgusu yapmak zorundadır. EÄŸer sunucu, + yapılandırma dosyasını çözümlediÄŸi sırada bir sebeple DNS sunucusuna + eriÅŸemezse bu sanal konak <em>yapılandırılmayacak</em> (hApache 1.2 + öncesinde sunucu hiç baÅŸlatılmazdı) ve bu sanal konaÄŸa yapılan + isteklere yanıt verilemeyecektir.</p> + + <p><code>falan.fesmekan.dom</code>’un 192.168.2.1 IP adresine sahip + olduÄŸunu varsayarsak yapılandırma şöyle olurdu:</p> + + <div class="example"><p><code> + <VirtualHost 192.168.2.1> <br /> + <span class="indent"> + ServerAdmin filanca@fesmekan.dom <br /> + DocumentRoot /siteler/fesmekan + </span> + </VirtualHost> + </code></p></div> + + <p>Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için + Apache’nin bir ters DNS sorgusu yapması gerekecektir. EÄŸer bu sorgu + baÅŸarısız olursa kısmi bir yapılandırmaya gidilir (Apache 1.2 öncesinde + sunucu hiç baÅŸlatılmazdı). EÄŸer sanal konak isme dayalı ise sanal konak + kısmen bile yapılandırılmaz. IP’ye dayalı sanal konaklar büyük oranda + çalışır, fakat sunucu ismini içeren tam bir adres üretilmesini + gerektiren bir durumda, sunucu geçerli bir adres üretemez.</p> + + <p>Her iki sorunu da çözen yapılandırma şöyle olurdu:</p> + + <div class="example"><p><code> + <VirtualHost 192.168.2.1> <br /> + <span class="indent"> + ServerName falan.fesmekan.dom <br /> + ServerAdmin filanca@fesmekan.dom <br /> + DocumentRoot /siteler/fesmekan + </span> + </VirtualHost> + </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="denial" id="denial">Hizmet Reddi</a></h2> + + + <p>Hizmet reddinin meydana gelebilecek (en az) iki türü vardır. + Apache’nin 1.2 öncesi bir sürümünü kullanıyorsanız sanal + konaklarınızdan herhangi biri için yukarıdaki iki sorgudan biri + baÅŸarısız olursa sunucunuzu asla baÅŸlatamazsınız. Bazı durumlarda, DNS + sorgularından alınacak yanıtlar sizin denetiminizde olmayabilir; + örneÄŸin <code>fesmekan.dom</code> müşterilerinizden birine aitse ve + kendi DNS sunucuları varsa <code>falan.fesmekan.dom</code> kaydını + silerek sunucunuzun hiç baÅŸlatılamamasına (1.2 öncesi) sebep + olabilirler.</p> + + <p>DiÄŸer türü biraz daha sinsidir. Şöyle bir yapılandırmanız olsun:</p> + + <div class="example"><p><code> + <VirtualHost falan.fesmekan.dom><br /> + <span class="indent"> + ServerAdmin filanca@fesmekan.dom <br /> + DocumentRoot /siteler/fesmekan + </span> + </VirtualHost><br /> + <br /> + <VirtualHost misal.mesela.dom><br /> + <span class="indent"> + ServerAdmin falanca@mesela.dom<br /> + DocumentRoot /siteler/mesela<br /> + </span> + </VirtualHost> + </code></p></div> + + <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 + getirirsiniz. Bunu gerçekleÅŸtirmek için DNS kaydında + <code>misal.mesela.dom</code>’a 192.168.2.1 adresinin atanması + yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı + <code>misal.mesela.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 + 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 + mevcuttur</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="main" id="main">"Ana Sunucu" Adresi</a></h2> + + + <p>Apache 1.1’de <a href="vhosts/name-based.html">isme dayalı sanal konak + desteÄŸi</a>ne ek olarak, Apache’nin, <code class="program"><a href="./programs/httpd.html">httpd</a></code>’nin + çalıştığı makinenin IP adres(ler)ini de bilmeye ihtiyacı vardır. Bu + adresi elde etmek için sunucu, ya sunucu genelinde geçerli <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> yönergesine bakar ya da bir C + iÅŸlevi olan <code>gethostname</code>’i kullanır (iÅŸlev, komut + isteminden <code>hostname</code> komutuna dönen yanıtın aynısını + döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar. + Bu sorgudan kaçınmanın henüz bir yolu yoktur.</p> + + <p>EÄŸer bu sorgunun (DNS sunucusunun çökmüş olması gibi bir nedenle) + baÅŸarısız olabileceÄŸinden korkuyorsanız, makine ismini ve IP adresini + <code>/etc/hosts</code> dosyanıza yazabilirsiniz (Makinenizin düzgün + olarak açılabilmesi için zaten bu kaydı yapmış olmanız gerekir). + Kullandığınız iÅŸletim sistemine baÄŸlı olarak bu kaydın + <code>/etc/resolv.conf</code> veya <code>/etc/nsswitch.conf</code> + dosyasında bulunması gerekebilir.</p> + + <p>Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya + yapmamalıysa, Apache’yi <code>HOSTRESORDER</code> ortam deÄŸiÅŸkenine + "<code>local</code>" deÄŸerini atadıktan sonra çalıştırabilirsiniz. Bu + tamamen iÅŸletim sistemine ve kullandığınız çözümleyici kütüphanelere + baÄŸlıdır. Ayrıca, ortamı denetlemek için <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> + kullanmıyorsanız, CGI’ler de bundan etkilenir. En iyisi iÅŸletim + sisteminizin SSS belgelerini ve kılavuz sayfalarını okumaktır.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="tips" id="tips">Bu Sorunlardan Kaçınmak için Ä°puçları</a></h2> + + + <ul> + <li><code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> yönergelerinizde + IP adresleri kullanınız.</li> + + <li><code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergelerinizde + IP adresleri kullanınız.</li> + + <li>Tüm sanal konakların ayrı birer <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> yönergesi olsun.</li> + + <li>Hiçbir sayfa sunulmayan bir <code><VirtualHost + _default_:*></code> sanal konağınız olsun.</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="appendix" id="appendix">Ek: Ufuk Turu</a></h2> + + + <p>DNS ile ilgili durum hiç de arzu edildiÄŸi gibi deÄŸildir. Apache 1.2 + için, DNS sorguları baÅŸarısız olsa bile sunucunun baÅŸlatılabilmesini + saÄŸlamaya çalıştık, fakat belki yapabildiÄŸimizden daha da iyisi + mümkündür. Günümüz Genel Ağ’ında IP adresleri sık sık deÄŸiÅŸtiÄŸinden + yapılandırma dosyasına doÄŸrudan IP adresini yazma gerekliliÄŸi asla arzu + edilen davranış deÄŸildir.</p> + + <p>Yukarıda nasıl yapıldığı açıklanan hizmet hırsızlığı saldırısına karşı + önlem olarak, normal sorgudan dönen IP adresine bir ters DNS sorgusu + yapıp bu iki sonucu karşılaÅŸtırmak ve eÅŸleÅŸmeme durumunda sanal konağı + iptal etmek bir çözüm olabilir. Fakat bunun mümkün olabilmesi için + uygun bir ters DNS kaydına ihtiyaç vardır. (FTP sunucuları ve TCP + sarmalayıcılar tarafından yapılan çifte ters DNS sorgusu kullanımından + dolayı çoÄŸu aÄŸ yöneticisi bu konuda zaten bilgi sahibidir.)</p> + + <p>Her halükarda, IP adreslerinin kullanılmaması nedeniyle yapılan DNS + sorgularının baÅŸarısız olması durumunda sanal konaklı bir sunucuyu + düzgün bir ÅŸekilde baÅŸlatmak olası görünmektedir. Yapılandırmayı kısmen + iptal etmek gibi kısmi çözümler, sunucudan beklentinizin ne olduÄŸuna + baÄŸlı olarak sunucuyu hiç baÅŸlatmamaktan daha iyi olabilir.</p> + + <p>HTTP/1.1’de belirtildiÄŸi gibi <code>Host</code> baÅŸlığını göndererek + iÅŸlem yapabilen tarayıcılar ve vekiller IP’ye dayalı sanal konak + kullanımını tamamen ortadan kaldırmanın mümkün olabileceÄŸini + göstermektedir. Bu durumda yapılandırmanın çözümlenmesi aÅŸamasında DNS + sorgusu yapma gereÄŸi kalmayacaktır. Fakat 1997 Mart’ından beri önemli + sunucular üzerinde bunların yeterince geniÅŸ bir uygulama alanı + bulmadığı görülmektedir.</p> + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dns-caveats.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/dso.html index 97df68ae..6cc9403f 100644 --- a/docs/manual/dso.html +++ b/docs/manual/dso.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: dso.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: dso.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/dso.html.en b/docs/manual/dso.html.en index 0c6accce..4c01d3f1 100644 --- a/docs/manual/dso.html.en +++ b/docs/manual/dso.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/dso.html" title="English"> en </a> | <a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>The Apache HTTP Server is a modular program where the @@ -308,7 +309,8 @@ $ apxs -i -a -n foo mod_foo.la <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/dso.html" title="English"> en </a> | <a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/dso.html.ja.utf8 b/docs/manual/dso.html.ja.utf8 index 64ab58ab..0b71ef20 100644 --- a/docs/manual/dso.html.ja.utf8 +++ b/docs/manual/dso.html.ja.utf8 @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dso.html" title="Japanese"> ja </a> | -<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -291,7 +292,8 @@ $ apxs -i -a -n foo mod_foo.la <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dso.html" title="Japanese"> ja </a> | -<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/dso.html.ko.euc-kr b/docs/manual/dso.html.ko.euc-kr index 6a08d5c7..5eb61967 100644 --- a/docs/manual/dso.html.ko.euc-kr +++ b/docs/manual/dso.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dso.html" title="Korean"> ko </a></p> +<a href="./ko/dso.html" title="Korean"> ko </a> | +<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -269,7 +270,8 @@ $ apxs -i -a -n foo mod_foo.la <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/dso.html" title="Korean"> ko </a></p> +<a href="./ko/dso.html" title="Korean"> ko </a> | +<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/dso.html.tr.utf8 b/docs/manual/dso.html.tr.utf8 new file mode 100644 index 00000000..03fe21d0 --- /dev/null +++ b/docs/manual/dso.html.tr.utf8 @@ -0,0 +1,308 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Devingen Paylaşımlı Nesne DesteÄŸi - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Devingen Paylaşımlı Nesne DesteÄŸi</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dso.html" title="Türkçe"> tr </a></p> +</div> + + <p>Apache HTTP Sunucusu modüler bir program olup, yönetici sadece bir + grup modül seçerek sunucuya iÅŸlevsellik ekleyebilir. Modüller sunucunun + derlenmesi sırasında doÄŸrudan <code class="program"><a href="./programs/httpd.html">httpd</a></code> programının + içinde derlenebileceÄŸi gibi Devingen Paylaşımlı Nesneler (DSO - Dynamic + Shared Object) halinde <code class="program"><a href="./programs/httpd.html">httpd</a></code> programından ayrı + olarak da derlenebilir. DSO modülleri sunucunun derlenmesi sırasında + derlenebileceÄŸi gibi ayrı olarak derlenip daha sonra Apache Eklenti + Aracı (Apache Extension Tool) <code class="program"><a href="./programs/apxs.html">apxs</a></code> programı + kullanılarak sunucuya eklenebilir.</p> + + <p>Bu belgede DSO modüllerinin kullanımının yanında teorisine de + deÄŸinilecektir.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#implementation">Gerçeklenim</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#usage">Kullanıcı Özeti</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#background">Artalan Bilgisi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#advantages">Getiriler ve Götürüler</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="implementation" id="implementation">Gerçeklenim</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_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table> + + <p>Apache modüllerini yüklemek için DSO desteÄŸi, Apache çekirdeÄŸine + duraÄŸan olarak ilintilenerek derlenmiÅŸ olan <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> + adında bir modül tarafından saÄŸlanır. <code class="module"><a href="./mod/core.html">core</a></code> modülünden + baÅŸka, bir DSO modülü olamayan tek modül <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> + modülüdür. Hemen hemen tüm diÄŸer Apache modülleri <a href="install.html">kurulum belgesinde</a> de açıklandığı gibi + <code class="program"><a href="./programs/configure.html">configure</a></code> betiÄŸinin + <code>--enable-<em>modül</em>=shared</code> seçeneÄŸi her modül için ayrı + ayrı belirtilerek birer DSO modülü olarak derlenebilir. DerlenmiÅŸ + modüller <code>mod_filanca.so</code> biçeminde birer DSO ismi alırlar ve + her biri istenirse <code>httpd.conf</code> dosyasında + <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> modülünün <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> yönergesiyle belirtilerek sunucu baÅŸlatılırken + veya yeniden baÅŸlatılırken sunucuya yüklenebilir.</p> + + <p>Apache modülleri için (özellikle üçüncü parti modüller için) DSO + dosyası üretimini kolaylaÅŸtırmak amacıyla <code class="program"><a href="./programs/apxs.html">apxs</a></code> + (<dfn>APache eXtenSion</dfn>) adında yeni bir destek programı + kullanılmaktadır. Bu program Apache modüllerini Apache kaynak aÄŸacından + ayrı olarak derlemek için kullanılabilir. Fikir basittir: Apache + derlenirken DSO dosyalarını derlemek için platforma bağımlı + derleyici ve ilintileyici seçenekleri <code class="program"><a href="./programs/apxs.html">apxs</a></code> + programının içine konur ve Apache’nin <code>make install</code> ile + kurulumu sırasında Apache C baÅŸlık dosyaları da kurulur. Böylece + kullanıcı Apache dağıtımının kaynak aÄŸacına ihtiyaç duymadan ve + platforma bağımlı derleyici ve ilintileyici seçeneklerini bilmek zorunda + kalmadan istediÄŸi Apache modülünü <code class="program"><a href="./programs/apxs.html">apxs</a></code> programını + kullanarak derleyebilir.</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">Kullanıcı Özeti</a></h2> + + <p>Apache 2.x’in DSO özelliklerine bir giriÅŸ olarak burada kısaca bir + bilgi vermekle yetinilecektir:</p> + + <ol> + <li>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir + <em>özgün</em> Apache modülünü <code>mod_filanca.so</code> isminde bir + DSO modülü olarak derlemek ve kurmak için şöyle yapılır: + +<div class="example"><p><code> + $ ./configure --prefix=/kurulum/yeri --enable-filanca=shared<br /> + $ make install +</code></p></div> + </li> + + <li>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir + <em>üçüncü parti</em> Apache modülünü <code>mod_filanca.so</code> + isminde bir DSO modülü olarak derlemek ve kurmak için şöyle yapılır: + +<div class="example"><p><code> +$ ./configure --add-module=<var>modül-türü</var>:/bir/kurulum/yeri/mod_filanca.c \<br /> +<span class="indent"> + --enable-filanca=shared<br /> +</span> +$ make install +</code></p></div> + </li> + + <li>Paylaşımlı modülleri <em>sonradan kurmak için</em> Apache şöyle + yapılandırılır: + +<div class="example"><p><code> +$ ./configure --enable-so<br /> +$ make install +</code></p></div> + </li> + + <li>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir + <em>üçüncü parti</em> Apache modülü <code>mod_filanca.so</code> + isminde bir DSO modülü olarak Apache kaynak aÄŸacının dışında + <code class="program"><a href="./programs/apxs.html">apxs</a></code> kullanarak derlemek ve kurmak için şöyle + yapılır: + +<div class="example"><p><code> +$ cd /bir/kurulum/yeri<br /> +$ apxs -c mod_filanca.c<br /> +$ apxs -i -a -n filanca mod_filanca.la +</code></p></div> + </li> + </ol> + + <p>Tüm durumlarda derlenen paylaşımlı modülü Apache’nin etkin kılabilmesi + için <code>httpd.conf</code> dosyasında o modül için bir <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> yönergesi bulunmalıdır.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="background" id="background">Artalan Bilgisi</a></h2> + + <p>Günümüzün Unix türevlerinde var olan şık bir mekanizma sayesinde + çalıştırılabilir bir programın adres uzayına çalışma anında yüklenmek + veya ilintilenmek üzere <em>Devingen Paylaşımlı Nesneler</em> (DSO - + Dynamic Shared Object) adı verilen, özel bir biçem kullanarak kodlanmış + program parçaları oluÅŸturulabilir.</p> + + <p>Bu yükleme normalde iki yolla yapılabilir: Ya çalıştırılabilir + programın baÅŸlatılması sırasında yüklenen <code>ld.so</code> adlı bir + sistem programınının devingen olarak yüklenmesi ile ya da + çalıştırılabilir programın içinden Unix yükleyicisine programsal sistem + arayüzü saÄŸlayan <code>dlopen()/dlsym()</code> sistem çaÄŸrılarının elle + yapılması suretiyle.</p> + + <p>Ä°lk yöntemde kullanılan DSO’lara genelde <em>paylaşımlı + kütüphaneler</em> veya <em>DSO kütüphaneleri</em> adı verilir ve + bunların dosyaları <code>libfilanca.so</code> veya + <code>libfilanca.so.1.2</code> biçiminde isimlendirilir. Belli bir + sistem dizininde (normalde <code>/usr/lib</code>) bulunurlar ve derleme + sırasında ilintileyici komutuna <code>-lfilanca</code> ÅŸeklinde + belirtilerek çalıştırılabilir programla ilintilenirler. DoÄŸrudan + çalıştırılabilir koda eklenen bu kodlar Unix yükleyicisinin programın + baÅŸlatılması sırasında kütüphaneyi <code>/usr/lib</code> altında + <code>libfilanca.so</code> adıyla bulabilmesini saÄŸlar. Kütüphanelerin + aranacağı yerler ya <code>-R</code> gibi bir ilintileyici seçeneÄŸi ile + koda eklenir ya da arama yolları <code>LD_LIBRARY_PATH</code> ortam + deÄŸiÅŸkeni aracılığıyla yapılandırılır. Böylece çalıştırılabilir + programda henüz çözümlenmemiÅŸ simgeler DSO içinde bulunarak + çözümlenebilir.</p> + + <p>Çalıştırılabilir program içindeki simgelere normalde DSO içinden + atıfta bulunulmaz (genel kod kütüphanesinin baÅŸka programlarca da + kullanılması nedeniyle). Bu bakımdan DSO tarafında böyle bir çözümleme + yapılmaz. Çalıştırılabilir program da DSO’daki simgeleri kendisi + çözümlemeye uÄŸraÅŸmaz, bu iÅŸlemlerden tamamen Unix yükleyicisi + (<code>ld.so</code>) sorumludur. (Aslında, <code>ld.so</code>’yu + çağıracak kod, her çalıştırılabilir programın içine ilintilenmiÅŸ + (duraÄŸan deÄŸil) baÅŸlatma kodunun bir parçasıdır.) Programlar tarafından + ortaklaÅŸa kullanılan kütüphanelerin devingen olarak yüklenmesinin sebebi + basittir: Kütüphane kodu <code>libc.so</code> gibi bir sistem + kütüphanesine bir kere kaydedilip disk alanından yer kazanılmış + olur.</p> + + <p>Ä°kinci yöntemde kullanılan DSO’lara yine <em>paylaşımlı + kütüphaneler</em> veya <em>DSO kütüphaneleri</em> adı verilir fakat + bunların dosyaları geçerli kabule göre <code>filanca.so</code> gibi + isimlendirilse de genelde keyfi olarak seçilen bir dosya uzantısı + kullanılarak isimlendirilirler. Bu dosyalar genellikle programa özel bir + dizinde dururlar ve bu dosyaları kullanacak olan çalıştırılabilir + programla aralarında özdevimli olarak baÄŸ kurulmamıştır. Bunun yerine, + çalıştırılabilir program DSO’yu çalışma anında <code>dlopen()</code> + sayesinde kendi adres uzayına ekler. Çalıştırılabilir program için + DSO’daki simgeler bu sırada çözümlenmez. Özdevimli olarak devreye + giren Unix yükleyicisi, (varsa) artakalan simgeleri, çalıştırılabilir + ihraç edilen simge kümelerini (ve özellikle her yerde hazır ve nazır + <code>libc.so</code> içindeki tüm simgeleri) kullanarak çözümler. Bu + yolla DSO, çalıştırılabilir programın simge kümesi bilgilerini sanki + kendisine baÅŸtan duraÄŸan olarak ilintilenmiÅŸ gibi ulaÅŸabilir.</p> + + <p>Son olarak, DSO’nun programlama arayüzünün getirilerinden yararlanmak + amacıyla çalıştırılabilir program, daha sonra dağıtım tabloları vb. + yerlerde kullanmak üzere <code>dlsym()</code> üzerinden DSO’daki belli + simgeleri çözümlemek zorundadır. BaÅŸka bir deyiÅŸle: Çalıştırılabilir + program ihtiyaç duyduÄŸu her simgeyi kullanmak için kendisi çözümleme + yapmak zorundadır. Böyle bir mekanizmanın getirisi, programın isteÄŸe + baÄŸlı parçalarının gerekli olana kadar yüklenmemesidir (böylece daha az + bellek alanı kullanılır). GerektiÄŸi zaman programın iÅŸlevselliÄŸini + arttırmak amacıyla bu parçalar devingen olarak programa + yüklenebilir.</p> + + <p>DSO mekanizmasının bu basit gibi görünen iÅŸleyiÅŸinde zorluk içeren bir + adım ÅŸudur (baÅŸkaları da olabilir): Bir programın iÅŸlevselliÄŸini + geniÅŸletmek için DSO kullanılırken (ikinci yöntem) çalıştırılabilir + programdan DSO için simgelerin çözümlenmesi. ZorluÄŸun sebebi, + "tersine çözümleme" yapılmasıdır; çalıştırılabilir programın simge + kümesindeki DSO simgeleri kütüphane tasarımına aykırı bir ÅŸekilde + çözümlenir ve bu uygulama tüm platformlarda hazır olarak + desteklenmediÄŸi gibi standartlaÅŸmış da deÄŸildir. Geçer uygulamada + çalıştırılabilir programın evrensel simgeleri çoÄŸunlukla yeniden dışa + verilmez ve bu bakımdan bir DSO içinde kullanılmaları uygun deÄŸildir. + Esas sorun, çalıştırılabilir bir programın iÅŸlevselliÄŸini çalışma + anında geniÅŸletmek için DSO kullanımı sırasında ilintileyicinin tüm + evrensel simgeleri dışa vermesini zorlamanın bir yolunu bulmaktır.</p> + + <p>Paylaşımlı kütüphane yaklaşımı bu bakımdan türünün tek örneÄŸidir, + çünkü DSO mekanizması özellikle bunun için tasarlanmıştır, dolayısıyla + iÅŸletim sisteminin saÄŸladığı hemen hemen tüm kütüphaneler için + kullanılabilir. DiÄŸer taraftan, bir programın iÅŸlevselliÄŸini + geniÅŸletmek için paylaşımlı nesne kullanımı çoÄŸu program tarafından + kullanılan bir ÅŸey deÄŸildir.</p> + + <p>1998 itibariyle, DSO nesneleriyle çalışma anında çalıştırılabilir + program iÅŸlevselliÄŸini geniÅŸleten baÅŸlıca birkaç yazılım paketi vardır: + Perl 5 (XS mekanizması ve DynaLoader modülü üzerinden), Netscape + Sunucusu, vd. 1.3 sürümünden itibaren Apache de bu gruba katıldı. Çünkü + Apache, modül kavramını zaten program iÅŸlevselliÄŸini geniÅŸletmek için + kullanıyordu ve temel iÅŸlevselliÄŸine dış modülleri ilintilemek için + dahili olarak dağıtım listesine dayalı bir yaklaşım kullanmaktaydı. + Dolayısıyla Apache, modüllerini çalışma anında yüklemek için DSO + kullanmaya baÅŸtan yazgılıydı.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="advantages" id="advantages">Getiriler ve Götürüler</a></h2> + + <p>Yukarıda bahsedilen DSO’ya dayalı özelliklerin getirileri + ÅŸunlardır:</p> + + <ul> + <li>Sunucu paketi çalışma anında daha esnektir çünkü, asıl sunucuyu + oluÅŸturan parçalar derleme sırasında <code class="program"><a href="./programs/configure.html">configure</a></code> + seçenekleriyle birleÅŸtirilmek yerine <code>httpd.conf</code> içinde + <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> yönergeleri + sayesinde çalışma anında birleÅŸtirilebilmektedir. Bu yolla, örneÄŸin + tek bir Apache kurulumuyla birbirinden farklı yapılandırmalara sahip + çok sayıda sunucu çalıştırmak mümkündür. (standart veya SSL sürümü; + basitleÅŸtirilmiÅŸ veya güçlendirilmiÅŸ sürümü [mod_perl, PHP3], + vs.)</li> + + <li>Sunucu paketi kurulumdan sonra bile üçüncü parti modüllerle kolayca + geniÅŸletilebilir. Bu özellikle, bir Apache temel paketinin yanında + PHP3, mod_perl, mod_fastcgi gibi ek paketler oluÅŸturan paket + dağıtıcılarına büyük yarar saÄŸlar.</li> + + <li>Yeni Apache modülleri için daha kolay prototip geliÅŸtirilebilir: + Modül kaynak kodunu DSO/<code class="program"><a href="./programs/apxs.html">apxs</a></code> çifti sayesinde + Apache kaynak aÄŸacının dışında derleyip modülün yeni bir sürümünü bir + <code>apxs -i</code> komutunun ardından <code>apachectl + restart</code> yaparak çalışan bir Apache sunucusunda denemek daha + kolay hale getirilmiÅŸtir.</li> + </ul> + + <p>DSO kullanımının götürüleri ise ÅŸunlardır:</p> + + <ul> + <li>Her platformda hazır olarak desteklenmeme: Tüm iÅŸletim sistemleri + bir programa devingen olarak kod yükleme becerisine sahip + olmadığından DSO mekanizması her platformda kullanılamaz.</li> + + <li>Ä°lk yüklemede %20 yavaÅŸlama: Unix yükleyicisi simgeleri çözümlemek + zorunda olduÄŸundan sunucu ilk baÅŸlatılırken yaklaşık %20 daha yavaÅŸ + faaliyete geçer.</li> + + <li>Çalışma sırasında % 5 yavaÅŸlama: Konumdan bağımsız kodun (PIC - + Position Independent Code) göreli adresleme için karmaşık oyunlara + girmesi ve bunun mutlak adresleme kadar hızlı olmaması nedeniyle + sunucu bazı platformlarda çalışma anında yaklaşık %5 daha yavaÅŸ + çalışabilir.</li> + + <li>DSO'nun tüm modüller için uygun olmaması: DSO modülleri bazı + platformlarda diÄŸer DSO temelli kütüphanelerle ilintilenemediÄŸinden + (<code>ld -lfilanca</code>) DSO mekanizmasını tüm modül türleri için + kullanamazsınız (örneÄŸin a.out temelli platformlar bu iÅŸlevselliÄŸi + ELF temelli platformlar kadar iyi saÄŸlamaz). BaÅŸka bir deyiÅŸle, DSO + dosyaları olarak derlenmiÅŸ modüllerin kullanabileceÄŸi simgeler ya + Apache temel kodunda vardır ya Apache temel kodunun kullandığı C + kütüphanesinde (<code>libc</code>) ve diÄŸer duraÄŸan ve devingen + kütüphanelerde vardır ya da konumdan bağımsız kodu içeren + duraÄŸan kütüphane arÅŸivlerinde (<code>libfilanca.a</code>) + vardır. DiÄŸer modülleri kullanmak için tek ÅŸansınız ya Apache + çekirdeÄŸinin modüle bir atıf içermesini saÄŸlamak ya da modül kodunu + <code>dlopen()</code> vasıtasıyla yüklemektir.</li> + </ul> + +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/dso.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/env.html index 61d0a3a8..1a60f968 100644 --- a/docs/manual/env.html +++ b/docs/manual/env.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: env.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: env.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/env.html.en b/docs/manual/env.html.en index 69455c0b..8e910898 100644 --- a/docs/manual/env.html.en +++ b/docs/manual/env.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/env.html" title="English"> en </a> | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>The Apache HTTP Server provides a mechanism for storing @@ -67,20 +68,20 @@ <p>For additional flexibility, the directives provided by - mod_setenvif allow environment variables to be set on a - per-request basis, conditional on characteristics of particular + <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> allow environment variables to be set + on a per-request basis, conditional on characteristics of particular requests. For example, a variable could be set only when a specific browser (User-Agent) is making a request, or only when a specific Referer [sic] header is found. Even more flexibility - is available through the mod_rewrite's <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> which uses the + is available through the <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> which uses the <code>[E=...]</code> option to set environment variables.</p> <h3><a name="unique-identifiers" id="unique-identifiers">Unique Identifiers</a></h3> - <p>Finally, mod_unique_id sets the environment variable - <code>UNIQUE_ID</code> for each request to a value which is + <p>Finally, <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> sets the environment + variable <code>UNIQUE_ID</code> for each request to a value which is guaranteed to be unique across "all" requests under very specific conditions.</p> @@ -115,7 +116,7 @@ not be a number. Characters which do not match this restriction will be replaced by an underscore when passed to CGI scripts and SSI pages.</li> - + <li>The <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> directive runs late during request processing meaning that directives such as <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> and <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> will not see the @@ -143,7 +144,8 @@ <h3><a name="ssi-pages" id="ssi-pages">SSI Pages</a></h3> - <p>Server-parsed (SSI) documents processed by mod_include's + <p>Server-parsed (SSI) documents processed by + <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>'s <code>INCLUDES</code> filter can print environment variables using the <code>echo</code> element, and can use environment variables in flow control elements to makes parts of a page @@ -158,9 +160,9 @@ <p>Access to the server can be controlled based on the value of environment variables using the <code>allow from env=</code> and <code>deny from env=</code> directives. In combination with - <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, this - allows for flexible control of access to the server based on - characteristics of the client. For example, you can use these + <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, this + allows for flexible control of access to the server based on + characteristics of the client. For example, you can use these directives to deny access to a particular browser (User-Agent). </p> @@ -171,11 +173,11 @@ <p>Environment variables can be logged in the access log using the <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> option <code>%e</code>. In addition, the decision on whether - or not to log requests can be made based on the status of - environment variables using the conditional form of the + or not to log requests can be made based on the status of + environment variables using the conditional form of the <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> - directive. In combination with <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> this allows for flexible control of which - requests are logged. For example, you can choose not to log + directive. In combination with <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> this allows for flexible control of which + requests are logged. For example, you can choose not to log requests for filenames ending in <code>gif</code>, or you can choose to only log requests from clients which are outside your subnet.</p> @@ -206,13 +208,12 @@ <h3><a name="url-rewriting" id="url-rewriting">URL Rewriting</a></h3> - <p>The <code>%{ENV:...}</code> form of <em>TestString</em> in - the <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> - allows mod_rewrite's rewrite - engine to make decisions conditional on environment variables. - Note that the variables accessible in mod_rewrite without the - <code>ENV:</code> prefix are not actually environment - variables. Rather, they are variables special to mod_rewrite + <p>The <code>%{ENV:<em>variable</em>}</code> form of + <em>TestString</em> in the <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> allows <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s rewrite + engine to make decisions conditional on environment variables. Note + that the variables accessible in <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> without + the <code>ENV:</code> prefix are not actually environment variables. + Rather, they are variables special to <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> which cannot be accessed from other modules.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> @@ -263,9 +264,10 @@ <h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3> - <p>When set to a value of "1", this variable disables the DEFLATE - output filter provided by <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> for - content-types other than <code>text/html</code>. If you'd rather + <p>When set to a value of "1", this variable disables the + <code>DEFLATE</code> output filter provided by + <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> for content-types other than + <code>text/html</code>. If you'd rather use statically compressed files, <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> evaluates the variable as well (not only for gzip, but for all encodings that differ from "identity").</p> @@ -306,7 +308,7 @@ to the client. This is typically used when a client has a known problem handling redirects. This was originally implemented as a result of a problem with Microsoft's WebFolders software which has - a problem handling redirects on directory resources via DAV + a problem handling redirects on directory resources via DAV methods.</p> @@ -321,16 +323,18 @@ the client can't (or doesn't) automatically follow the redirection. Apache ordinarily labels this text according to the character set which it uses, which is ISO-8859-1.</p> + <p> However, if the redirection is to a page that uses a different character set, some broken browser versions will try to use the character set from the redirection text rather than the actual page. This can result in Greek, for instance, being incorrectly rendered.</p> + <p>Setting this environment variable causes Apache to omit the character set for the redirection text, and these broken browsers will then correctly use that of the destination page.</p> <div class="warning"> - <h3>Security note</h3> + <h3>Security note</h3> <p>Sending error pages without a specified character set may allow a cross-site-scripting attack for existing browsers (MSIE) @@ -344,10 +348,11 @@ - <h3><a name="proxy" id="proxy">force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, proxy-sendcl</a></h3> + <h3><a name="proxy" id="proxy">force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, + proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled</a></h3> <p>These directives alter the protocol behavior of - <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>. See the <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> + <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>. See the <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code> documentation for more details.</p> @@ -392,11 +397,13 @@ BrowserMatch "JDK/1\.0" force-response-1.0</pre></div> access log. It can be easily modified to prevent logging of particular directories, or to prevent logging of requests coming from particular hosts.</p> - <div class="example"><pre> -SetEnvIf Request_URI \.gif image-request -SetEnvIf Request_URI \.jpg image-request -SetEnvIf Request_URI \.png image-request -CustomLog logs/access_log common env=!image-request</pre></div> + + <div class="example"><p><code> + SetEnvIf Request_URI \.gif image-request<br /> + SetEnvIf Request_URI \.jpg image-request<br /> + SetEnvIf Request_URI \.png image-request<br /> + CustomLog logs/access_log common env=!image-request + </code></p></div> <h3><a name="image-theft" id="image-theft">Prevent "Image Theft"</a></h3> @@ -407,24 +414,30 @@ CustomLog logs/access_log common env=!image-request</pre></div> pages. This is not a recommended configuration, but it can work in limited circumstances. We assume that all your images are in a directory called /web/images.</p> - <div class="example"><pre> -SetEnvIf Referer "^http://www\.example\.com/" local_referal -# Allow browsers that do not send Referer info -SetEnvIf Referer "^$" local_referal -<Directory /web/images> - Order Deny,Allow - Deny from all - Allow from env=local_referal -</Directory></pre></div> + + <div class="example"><p><code> + SetEnvIf Referer "^http://www\.example\.com/" local_referal + # Allow browsers that do not send Referer info + SetEnvIf Referer "^$" local_referal + <Directory /web/images> + <span class="indent"> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from env=local_referal + </span> + </Directory> + </code></p></div> <p>For more information about this technique, see the - "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Keeping Your Images from Adorning Other Sites</a>" tutorial on ServerWatch.</p> + "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Keeping Your Images from Adorning Other Sites</a>" tutorial on + ServerWatch.</p> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/env.html" title="English"> en </a> | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/env.html.ja.utf8 b/docs/manual/env.html.ja.utf8 index 9ef314ea..a753b404 100644 --- a/docs/manual/env.html.ja.utf8 +++ b/docs/manual/env.html.ja.utf8 @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/env.html" title="Japanese"> ja </a> | -<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -398,7 +399,8 @@ SetEnvIf Referer "^$" local_referal <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/env.html" title="Japanese"> ja </a> | -<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/env.html.ko.euc-kr b/docs/manual/env.html.ko.euc-kr index b394cd9e..55450564 100644 --- a/docs/manual/env.html.ko.euc-kr +++ b/docs/manual/env.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/env.html" title="Korean"> ko </a></p> +<a href="./ko/env.html" title="Korean"> ko </a> | +<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -366,7 +367,8 @@ SetEnvIf Referer "^$" local_referal <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/env.html" title="Korean"> ko </a></p> +<a href="./ko/env.html" title="Korean"> ko </a> | +<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/env.html.tr.utf8 b/docs/manual/env.html.tr.utf8 new file mode 100644 index 00000000..2b28bd72 --- /dev/null +++ b/docs/manual/env.html.tr.utf8 @@ -0,0 +1,445 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache’de Ortam DeÄŸiÅŸkenleri - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache’de Ortam DeÄŸiÅŸkenleri</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/env.html" title="Türkçe"> tr </a></p> +</div> + + <p>Apache HTTP Sunucusunda bilgiyi deÄŸiÅŸkenlerde saklamak için <em>ortam + deÄŸiÅŸkenleri</em> adı verilen bir mekanizma bulunur. Saklanan bu bilgi + eriÅŸim denetimi, günlük kaydı gibi çeÅŸitli iÅŸlemleri denetlemekte + kullanılabilir. DeÄŸiÅŸkenler ayrıca, CGI betikleri gibi harici + uygulamalarla iletiÅŸim mekanizması olarak da kullanılabilir. Bu belgede + bu deÄŸiÅŸkenler üzerindeki iÅŸlemlere ve kullanım ÅŸekillerine + deÄŸinilmiÅŸtir.</p> + + <p>Bu deÄŸiÅŸkenlere <em>ortam deÄŸiÅŸkenleri</em> dense de iÅŸletim sisteminin + ortam deÄŸiÅŸkenleri gibi deÄŸillerdir. Bunlar sadece Apache ortamında + geçerli deÄŸiÅŸkenler olup iÅŸletim sisteminin bu deÄŸiÅŸkenlerden haberi + olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar + tarafından üretilen ortam deÄŸiÅŸkenleri sistem ortamının deÄŸiÅŸkenleri + haline gelirler. Ä°ÅŸletim sistemi ortamına çalışmakta olan sunucudan + müdahale etmek isterseniz iÅŸletim sisteminizin kabuÄŸu tarafından saÄŸlanan + standart ortam müdahale mekanizmalarını kullanmalısınız.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Ortam DeÄŸiÅŸkenlerinin Atanması</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#using">Ortam DeÄŸiÅŸkenlerinin Kullanımı</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#special">Özel Amaçlı Ortam DeÄŸiÅŸkenleri</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#examples">Örnekler</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="setting" id="setting">Ortam DeÄŸiÅŸkenlerinin Atanması</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_env.html">mod_env</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_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table> + + <h3><a name="basic-manipulation" id="basic-manipulation">Temel Ortamda DeÄŸiÅŸiklik</a></h3> + + + <p>Apache ortamında bir ortam deÄŸiÅŸkenine müdahale etmenin en temel + yolu hiçbir koÅŸula tabi olmayan <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> yönergesini kullanmaktır. Bu deÄŸiÅŸkenleri Apache + baÅŸlatılırken sistem ortam deÄŸiÅŸkenleri haline getirmek için + <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> yönergesi + kullanılabilir.</p> + + + <h3><a name="conditional" id="conditional">Ä°steÄŸe BaÄŸlı Åžartlı Atamalar</a></h3> + + + <p>EsnekliÄŸi arttırmak için, <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> modülü ile + isteÄŸin özelliklerine uygun olarak her isteÄŸe özel deÄŸiÅŸkenler + atayabilmek mümkün kılınmıştır. ÖrneÄŸin, bir deÄŸiÅŸken sadece isteÄŸi + yapan tarayıcıya özgü bir deÄŸerle veya sadece belli bir baÅŸlık + alanınına baÄŸlı olarak atanabilir. Daha da esnek bir mekanizma, + ortam deÄŸiÅŸkeni atamak için <code>[E=...]</code> seçeneÄŸinin + kullanıldığı <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#rewriterule">RewriteRule</a></code> yönergesi ile + saÄŸlanmıştır.</p> + + + <h3><a name="unique-identifiers" id="unique-identifiers">EÅŸsiz Betimleyiciler</a></h3> + + + <p>Son olarak, <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> <code>UNIQUE_ID</code> + ortam deÄŸiÅŸkenine her istek için o isteÄŸin çok özel koÅŸullar altında + tüm diÄŸer istekler arasında eÅŸsizliÄŸini garanti edecek bir deÄŸer + atar.</p> + + + <h3><a name="standard-cgi" id="standard-cgi">Standart CGI DeÄŸiÅŸkenleri</a></h3> + + + <p>Apache yapılandırmasıyla atanan ve kabuÄŸa aktarılan ortam + deÄŸiÅŸkenlerinden baÅŸka <a href="http://cgi-spec.golux.com/">CGI + Belirtimi</a>nin gerektirdiÄŸi istekler hakkında temel bilgileri + içeren ortam deÄŸiÅŸkenlerinin CGI betikleri ve SSI sayfalarınca + atanabilmesi saÄŸlanmıştır.</p> + + + <h3><a name="caveats" id="caveats">Bazı Yetersizlikler</a></h3> + + + <ul> + <li>Standart CGI deÄŸiÅŸkenlerini ortam deÄŸiÅŸkenlerine müdahale + yönergelerini kullanarak deÄŸiÅŸtirmek veya geçersiz kılmak mümkün + deÄŸildir.</li> + + <li>CGI betiklerini çalıştırmak için <code class="program"><a href="./programs/suexec.html">suexec</a></code> + kullanıldığında ortam, CGI betikleri çalıştırılmadan önce + <em>güvenilir</em> deÄŸiÅŸkenler kalacak ÅŸekilde temizlenir. + <em>Güvenilir</em> deÄŸiÅŸken listesi <code>suexec.c</code> içinde + derleme sırasında tanımlanır.</li> + + <li>Taşınabilirlik adına, ortam deÄŸiÅŸkenlerinin isimleri sadece + harfler, rakamlar ve alt çizgi imlerini içerebilir. Bunlara ek + olarak ismin ilk karakteri bir rakam olmamalıdır. DeÄŸiÅŸkenler CGI + betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun + olmayan karakterlerin yerlerine alt çizgi imleri konur.</li> + + <li>Ä°steklerin iÅŸleme konması sırasında <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> yönergesi geç çalıştırılır, + yani <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ve + <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> gibi + yönergeler <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> ile + atanan deÄŸiÅŸken deÄŸerlerini görmezler.</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">Ortam DeÄŸiÅŸkenlerinin Kullanımı</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_authz_host.html">mod_authz_host</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_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</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_log_config.html">mod_log_config</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_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_authz_host.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table> + + <h3><a name="cgi-scripts" id="cgi-scripts">CGI Betikleri</a></h3> + + + <p>Ortam deÄŸiÅŸkenlerinin baÅŸlıca amaçlarından biri CGI betikleriyle + iletiÅŸim kurmaktır. Yukarıda bahsedildiÄŸi gibi CGI betiklerine + aktarılan ortam Apache yapılandırmasında atanan deÄŸiÅŸkenlere ek + olarak istek hakkında standart temel bilgileri de içerir. Bu konuda + ayrıntılı bilgi edinmek için <a href="howto/cgi.html">CGI + Öğreticisi</a>ne bakabilirsiniz.</p> + + + <h3><a name="ssi-pages" id="ssi-pages">SSI Sayfaları</a></h3> + + + <p>Sunucu tarafında <code class="module"><a href="./mod/mod_include.html">mod_include</a></code> modülünün + <code>INCLUDES</code> süzgeci ile yorumlanan SSI sayfalarında ortam + deÄŸiÅŸkenleri <code>echo</code> elemanı ile basılabilir ve sayfayı + isteÄŸin özelliklerine uygun olarak oluÅŸturmak için ortam + deÄŸiÅŸkenleri akış denetim elemanları içinde kullanılabilir. Apache + ayrıca, yukarıda bahsedildiÄŸi gibi standart CGI ortam deÄŸiÅŸkenli SSI + sayfalarını da saÄŸlayabilmektedir. Daha ayrıntılı bilgi edinmek için + <a href="howto/ssi.html">SSI Öğreticisi</a>ne bakabilirsiniz.</p> + + + <h3><a name="access-control" id="access-control">EriÅŸim Denetimi</a></h3> + + + <p><code>allow from env=</code> ve <code>deny from env=</code> + yönergeleri sayesinde ortam deÄŸiÅŸkenlerine dayalı olarak sunucuya + eriÅŸim denetim altında tutulabilir. Bunlar <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile birlikte + kullanılmak suretiyle sunucuya eriÅŸim isteÄŸin özelliklerine baÄŸlı + olarak daha esnek bir tarzda denetlenebilir. ÖrneÄŸin, belli bir + tarayıcının sunucuya eriÅŸimi bu yönergelerle engellenebilir.</p> + + + <h3><a name="logging" id="logging">Åžartlı Günlük Kaydı</a></h3> + + + <p>Ortam deÄŸiÅŸkenleri <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesinin <code>%e</code> seçeneÄŸi + kullanılarak eriÅŸim günlüğüne kaydedilebilir. Bundan baÅŸka, + <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi + sayesinde isteklerin günlüğe kaydedilip kaydedilmeyeceÄŸine ortam + deÄŸiÅŸkenlerine dayalı olarak karar verilmesi saÄŸlanabilir. Bunlar + <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile + birlikte kullanılmak suretiyle günlük kayıtları isteÄŸin + özelliklerine baÄŸlı olarak daha esnek bir tarzda denetlenebilir. + ÖrneÄŸin, <code>gif</code> uzantılı dosyalar için yapılan isteklerin + günlüğe kaydedilmemesi veya sadece alt ağınızın dışından gelen + isteklerin günlüğe kaydedilmesini isteyebilirsiniz.</p> + + + <h3><a name="response-headers" id="response-headers">Åžartlı Yanıt BaÅŸlıkları</a></h3> + + + <p><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> yönergesi belli + bir yanıt baÅŸlığının istemciye gönderilip gönderilmeyeceÄŸine belli + bir ortam deÄŸiÅŸkeninin varlığına bakarak karar vermek için + kullanılabilir. Böylece örneÄŸin, belli bir baÅŸlığın istemciye + gönderilmesine istemciden belli bir baÅŸlığın alınıp alınmadığına + baÄŸlı olarak karar verilebilir.</p> + + + + <h3><a name="external-filter" id="external-filter">Harici Süzgeçlerin EtkinleÅŸtirilmesi</a></h3> + + + <p><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> tarafından yapılandırılan harici + süzgeçler <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> yönergesinin <code>disableenv=</code> ve + <code>enableenv=</code> seçenekleri kullanılarak bir ortam + deÄŸiÅŸkenine baÄŸlı olarak etkinleÅŸtirilebilir.</p> + + + <h3><a name="url-rewriting" id="url-rewriting">URL Kurgulaması</a></h3> + + + <p><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> + yönergesinin <em>SınamaDizgesi</em> olarak kullanılan + <code>%{ENV:<em>deÄŸiÅŸken</em>}</code> biçemi + <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> yeniden yazma motorunun ortam + deÄŸiÅŸkenlerine baÄŸlı kararlar almasını mümkün kılar. Yalnız ÅŸuna + dikkat ediniz: <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>’ta <code>ENV:</code> + öneki kullanılmadan belirtilen deÄŸiÅŸkenler ortam deÄŸiÅŸkenleri + deÄŸillerdir. Onlar <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>’a özgü diÄŸer + modüllerden eriÅŸilemeyen özel deÄŸiÅŸkenlerdir.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="special" id="special">Özel Amaçlı Ortam DeÄŸiÅŸkenleri</a></h2> + + + <p>Birlikte çalışabilirlik sorunları Apache’nin belli istemcilerle + veri alışveriÅŸi sırasında davranışını deÄŸiÅŸtirmesini gerektirebilir. + Genellikle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> ve + <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> yönergelerinden + baÅŸka <code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> + gibi yönergelerle ortam deÄŸiÅŸkenleri atanarak bunu saÄŸlayan + mekanizmaların olabildiÄŸince esnek davranabilmesi saÄŸlanabilir.</p> + + <h3><a name="downgrade" id="downgrade"><code>downgrade-1.0</code></a></h3> + + + <p>Ä°stek, daha yüksek bir HTTP protokolüyle yapılmış olsa bile + HTTP/1.0 isteÄŸi olarak ele alınır.</p> + + + <h3><a name="force-gzip" id="force-gzip"><code>force-gzip</code></a></h3> + + <p><code>DEFLATE</code> süzgeci etkinse tarayıcının tercih ettiÄŸi + kodlama koÅŸulsuz olarak yoksayılarak sıkıştırılmış çıktı + gönderilir.</p> + + <h3><a name="force-no-vary" id="force-no-vary"><code>force-no-vary</code></a></h3> + + + <p>Ä°stemciye gönderilmeden önce yanıttan <code>Vary</code> alanının + çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiÄŸi gibi + yorumlayamazlar, bu deÄŸiÅŸken atanarak bu sorunla karşılaşılmamaya + çalışılır. Bu deÄŸiÅŸkenin atanması ayrıca + <strong>force-response-1.0</strong> deÄŸiÅŸkeninin de atanmasına sebep + olur.</p> + + + <h3><a name="force-response" id="force-response"><code>force-response-1.0</code></a></h3> + + + <p>HTTP/1.0 isteÄŸi yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu + kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiÅŸtir. Bazı + HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doÄŸru davranmayabilirler; bu + deÄŸiÅŸken atanarak bunların sorunları giderilebilir.</p> + + + + <h3><a name="gzip-only-text-html" id="gzip-only-text-html"><code>gzip-only-text/html</code></a></h3> + + + <p>Bu deÄŸiÅŸkene "1" deÄŸeri atandığında <code>text/html</code>’den + farklı içerik türleri için <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> modülü + tarafından saÄŸlanan <code>DEFLATE</code> çıktı süzgeci iptal + edilir. Sıkıştırılmış olarak saklanan dosyalar kullanıyorsanız bu + deÄŸiÅŸkeni <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü de dikkate alır + (kimliÄŸine bakarak sadece gzip için deÄŸil, tüm kodlamalar için bunu + yapar).</p> + + + <h3><a name="no-gzip" id="no-gzip"><code>no-gzip</code></a></h3> + + <p>Bu deÄŸiÅŸken atandığında, <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> modülünün + <code>DEFLATE</code> süzgeci kapatılır ve + <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü kodlanmış kaynak teslimatını + reddeder.</p> + + + + <h3><a name="nokeepalive" id="nokeepalive"><code>nokeepalive</code></a></h3> + + + <p>Bu deÄŸiÅŸken atandığında, <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> yönergesi iptal edilir.</p> + + + + <h3><a name="prefer-language" id="prefer-language"><code>prefer-language</code></a></h3> + + + <p>DeÄŸer olarak <code>en</code>, <code>ja</code> veya + <code>x-klingon</code> gibi bir dil kısaltması verilerek atanmışsa + <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülünün normal davranışını + deÄŸiÅŸtirerek belirtilen dilde bir teslimat yapılmaya çalışılır. + Böyle bir belge yoksa normal <a href="content-negotiation.html">uzlaşım</a> süreci uygulanır.</p> + + + + <h3><a name="redirect-carefully" id="redirect-carefully"><code>redirect-carefully</code></a></h3> + + + <p>Ä°stemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya + zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu + olduÄŸu bilindiÄŸi takdirde yararlı olur. Bu deÄŸiÅŸkenin gerçeklenme + sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini + kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.</p> + + + + <h3><a name="suppress-error-charset" id="suppress-error-charset"><code>suppress-error-charset</code></a></h3> + + + <p><em>2.0.54 sürümünden beri mevcuttur.</em></p> + + <p>Apache bir isteÄŸe bir yönlendirme ile yanıt verdiÄŸinde istemci + yönlendirmeyi kendiliÄŸinden yapmaz veya yapamazsa kullanıcıya yanıtla + birlikte gönderilen metin gösterilir. Apache normal olarak bu metni + ISO-8859-1 ile kodlar.</p> + + <p>Ancak, yönlendirmenin yapıldığı sayfa farklı bir karakter kümesine + sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine + yönlendirmenin kodlamasını kullanmaya çalışırlar. Bu özellikle Yunanca + gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.</p> + + <p>Bu ortam deÄŸiÅŸkeninin atanması Apache’nin yönlendirme için karakter + kümesi belirtmemesini saÄŸlamak suretiyle hatalı tarayıcıların hedef + sayfayı yanlış karakter kodlamasıyla yorumlamasını önler.</p> + + <div class="warning"> + <h3>Güvenlik Uyarısı</h3> + + <p>Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması, + HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriÄŸe bakarak + tahmin etmeye çalışan tarayıcılarda (MSIE) karşı siteden betik + saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik + (istek betimleyici gibi) karşı siteden betik saldırılarını engellemek + için tasarlanmış normal önceleme mekanizmalarıyla öncelenmeyeceÄŸi için + böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca + aldatılabilir.</p> + </div> + + + + <h3><a name="proxy" id="proxy"><code>force-proxy-request-1.0</code>, + <code>proxy-nokeepalive</code>, <code>proxy-sendchunked</code> ve + <code>proxy-sendcl</code>, <code>proxy-chain-auth</code>, + <code>proxy-interim-response</code>, <code>proxy-initial-not-pooled</code> + </a></h3> + + <p>Bu yönergeler <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> modülünün normal protokol + davranışını deÄŸiÅŸtirirler. Daha ayrıntılı bilgi için + <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> ve <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code> + belgelerine bakını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="examples" id="examples">Örnekler</a></h2> + + + <h3><a name="misbehaving" id="misbehaving">Protokolü yanlış yorumlayan tarayıcıların davranışlarının + deÄŸiÅŸtirilmesi</a></h3> + + + <p>Önceki sürümlerde bilinen istemci davranışlarına karşı önlem olarak + aÅŸağıdaki satırların <code>httpd.conf</code> içinde bulunması + önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediÄŸinden + bu yapılandırmaya da artık gerek kalmamıştır.</p> + + <div class="example"><pre> +# +# AÅŸağıdaki yönergeler normal HTTP yanıt davranışını deÄŸiÅŸtirirler. +# Ä°lk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için +# kalıcı baÄŸlantıyı (keepalive) iptal eder. Ä°kinci yönerge ise HTTP/1.1 +# protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları +# kullanıldığında kalıcı baÄŸlantıları gerektiÄŸi gibi desteklemeyen +# Microsoft Internet Explorer 4.0b2 içindir. +# +BrowserMatch "Mozilla/2" nokeepalive +BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 + +# +# AÅŸağıdaki yönergeler HTTP/1.0 yanıtlarından baÅŸkasına yabancı olan +# tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder. +# +BrowserMatch "RealPlayer 4\.0" force-response-1.0 +BrowserMatch "Java/1\.0" force-response-1.0 +BrowserMatch "JDK/1\.0" force-response-1.0</pre></div> + + + <h3><a name="no-img-log" id="no-img-log">Resim isteklerinin eriÅŸim günlüğüne kaydedilmemesi</a></h3> + + + <p>Bu örnek resim isteklerinin eriÅŸim günlüğüne yazılmasını engeller. + Bu örnek deÄŸiÅŸtirilerek belli dizinlerin veya belli konaklardan + gelen isteklerin günlüğe kaydedilmesini engellemek amacıyla da + kullanılabilir.</p> + + <div class="example"><p><code> + SetEnvIf Request_URI \.gif image-request<br /> + SetEnvIf Request_URI \.jpg image-request<br /> + SetEnvIf Request_URI \.png image-request<br /> + CustomLog logs/access_log common env=!image-request + </code></p></div> + + + <h3><a name="image-theft" id="image-theft">“Resim Hırsızlığı†için önlem alınması</a></h3> + + + <p>Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki + resimlerin kullanılmasının nasıl önleneceÄŸi gösterilmiÅŸtir. Bu + yapılandırma önerilmemekle birlikte nadir durumlarda iÅŸe yarar. Tüm + resimlerin <code>/siteler/resimler</code> dizini altında tutulduÄŸu + varsayılmıştır.</p> + + <div class="example"><p><code> + SetEnvIf Referer "^http://filan\.fesmekan\.dom/" local_referal<br /> + # Referrer bilgisi göndermeyen tarayıcılara izin verelim<br /> + SetEnvIf Referer "^$" local_referal<br /> + <Directory /siteler/resimler> + <span class="indent"> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from env=local_referal + </span> + </Directory> + </code></p></div> + + <p>Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch + üzerindeki "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">DiÄŸer sitelerin sizin resimlerinizle donatılmasını engellemek</a>" + belgesine bakınız.</p> + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/env.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/filter.html b/docs/manual/filter.html index 96742477..ccac4db6 100644 --- a/docs/manual/filter.html +++ b/docs/manual/filter.html @@ -19,3 +19,7 @@ Content-type: text/html; charset=UTF-8 URI: filter.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: filter.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/filter.html.en b/docs/manual/filter.html.en index efd73236..f13f93c7 100644 --- a/docs/manual/filter.html.en +++ b/docs/manual/filter.html.en @@ -22,7 +22,8 @@ <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This document describes the use of filters in Apache.</p> @@ -130,7 +131,8 @@ configuration instead.</p> <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/filter.html.es b/docs/manual/filter.html.es index c19ea495..f61d3299 100644 --- a/docs/manual/filter.html.es +++ b/docs/manual/filter.html.es @@ -22,7 +22,8 @@ <a href="./es/filter.html" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">Esta traducción podría estar obsoleta. Consulte la versión en inglés de la @@ -74,7 +75,8 @@ <a href="./es/filter.html" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> diff --git a/docs/manual/filter.html.fr b/docs/manual/filter.html.fr index 3e713998..525db0e9 100644 --- a/docs/manual/filter.html.fr +++ b/docs/manual/filter.html.fr @@ -22,7 +22,8 @@ <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Ce document décrit l'utilisation des filtres avec Apache.</p> @@ -141,7 +142,8 @@ configuration dynamique à la place.</p> <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/filter.html.ja.utf8 b/docs/manual/filter.html.ja.utf8 index a7351ec1..b078a726 100644 --- a/docs/manual/filter.html.ja.utf8 +++ b/docs/manual/filter.html.ja.utf8 @@ -22,7 +22,8 @@ <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Apache ã§ã®ãƒ•ã‚£ãƒ«ã‚¿ã®ä½¿ã„æ–¹ã«ã¤ã„ã¦è¨˜è¿°ã—ã¦ã„ã¾ã™ã€‚</p> @@ -134,7 +135,8 @@ application/xhtml+xml ã®å ´åˆã«ã®ã¿å®Ÿè¡Œã•ã‚Œã¾ã™</li> <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" title="Japanese"> ja </a> | -<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/filter.html.ko.euc-kr b/docs/manual/filter.html.ko.euc-kr index 5a9a3d38..8b4e44f6 100644 --- a/docs/manual/filter.html.ko.euc-kr +++ b/docs/manual/filter.html.ko.euc-kr @@ -22,7 +22,8 @@ <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" title="Korean"> ko </a></p> +<a href="./ko/filter.html" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -73,7 +74,8 @@ <a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/filter.html" title="Korean"> ko </a></p> +<a href="./ko/filter.html" title="Korean"> ko </a> | +<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/filter.html.tr.utf8 b/docs/manual/filter.html.tr.utf8 new file mode 100644 index 00000000..9baf5756 --- /dev/null +++ b/docs/manual/filter.html.tr.utf8 @@ -0,0 +1,148 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Süzgeçler - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Süzgeçler</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belge, Apache’de süzgeç kullanımı hakkındadır.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#intro">Apache 2’de Süzme Ä°ÅŸlemi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#smart">Akıllı Süzme</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#using">Süzgeçlerin Kullanı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="intro" id="intro">Apache 2’de Süzme Ä°ÅŸlemi</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_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</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_charset_lite.html">mod_charset_lite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></code></li><li><code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code></li><li><code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code></li></ul></td></tr></table> + + <p>Apache 2.0 ve sonrasında mevcut olan Süzgeç Zinciri, uygulamaların + nereden geldiÄŸine bakmaksızın gelen ve giden verileri oldukça esnek ve + yapılandırılabilir tarzda iÅŸlemesini mümkün kılar. Böylece, gelen veriyi + bir takım ön iÅŸlemlerden geçirebilir, giden veriyi de son bir defa bazı + iÅŸlemlere sokabiliriz. Bu iÅŸlem temel olarak geleneksel istek iÅŸleme + aÅŸamalarından bağımsızdır.</p> + + <p class="figure"> + <img src="images/filter_arch.tr.png" width="569" height="392" alt="Süzgeçler, Ä°stek iÅŸleme eksenine dik bir veri eksenine peÅŸ peÅŸe yerleÅŸtirilebilir." /> + </p> + + <p>Standard Apache dağıtımıyla gelen süzgeç uygulamalarından bazıları:</p> + + <ul> + <li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, sunucu taraflı içerik yerleÅŸtirmeyi + gerçekler.</li> + <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, SSL ÅŸifrelemesini gerçekler (https).</li> + <li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code>, veri sıkıştırma/açma iÅŸlemlerini + çalışma anında gerçekleÅŸtirir.</li> + <li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>, karakter kümeleri arasında + dönüşümü gerçekleÅŸtirir.</li> + <li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>, harici bir yazılımı bir süzgeç + olarak çalıştırır.</li> + </ul> + + <p>Apache, bunlardan baÅŸka, bayt dizilerinin elde edilmesi ve içeriÄŸin + bölünmesi gibi iÅŸlemleri gerçekleÅŸtirmek için bir takım dahili süzgeçler + de kullanabilir.</p> + + <p>Üçüncü parti süzgeç modülleri tarafından gerçeklenmiÅŸ çok geniÅŸ bir + uygulama alanı mevcuttur; <a href="http://modules.apache.org/">modules.apache.org</a> ve benzerlerinden temin edilebilecek bu tür + modüllerden bazılarının uygulama alanları:</p> + + <ul> + <li>HTML ve XML belgelerin iÅŸlenmesi ve yazılması</li> + <li>XSLT dönüşümleri ve XInclude’lar</li> + <li>XML Ä°sim-alanı desteÄŸi</li> + <li>HTML Formlarının çözümlenmesi ve sunucuya dosya yükleme</li> + <li>Resim iÅŸleme</li> + <li>PHP betikleri gibi zararlı olabilecek uygulamalardan korunma</li> + <li>Metin düzenleme ve arama iÅŸlemleri</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="smart" id="smart">Akıllı Süzme</a></h2> + <p class="figure"> + <img src="images/mod_filter_new.tr.png" width="423" height="331" alt="Farklı süzgeç üreticilerinin uygulamaları istek iÅŸlemenin durumuna baÄŸlı olarak akıllıca uygulanabilir." /> + </p> + + <p><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, Apache 2.1 ve sonrasında mevcut olup, + süzgeç zincirinin çalışma anında devingen olarak yapılandırılabilmesini + mümkün kılar. Böylece, örneÄŸin, bir vekili, özgün sunucunun ne + göndereceÄŸini bilmeden HTML’yi bir HTML süzgeciyle yazmaya ve JPEG + resimleri tamamen farklı bir süzgeçten geçirmeye ayarlayabilirsiniz. Bu, + asıl içeriÄŸe baÄŸlı olarak çalışma anında içeriÄŸi farklı içerik + saÄŸlayıcılara dağıtan bir süzgeç düzeneÄŸi kullanılarak çalışır. Bir + süzgeç, doÄŸrudan zincire yerleÅŸtirilip koÅŸulsuz olarak + çalıştırılabileceÄŸi gibi bir içerik saÄŸlayıcı gibi kullanılarak zincire + devingen olarak yerleÅŸtirilebilir. ÖrneÄŸin:</p> + + <ul> + <li>Bir HTML iÅŸleme süzgeci sadece içerik text/html veya + application/xhtml+xml olduÄŸu takdirde çalışır.</li> + <li>Bir sıkıştırma süzgeci sadece girdi sıkıştırılabilir nitelikteyse ve + sıkıştırılmamışsa çalışır.</li> + <li>Bir karakter kümesi dönüşüm süzgeci, bir metin belgesi istenen + karakter kümesine sahip deÄŸilse zincire yerleÅŸtirilir.</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">Süzgeçlerin Kullanımı</a></h2> + <p>Süzgeçler iki ÅŸekilde kullanılır: Basit ve Devingen. + Genelde ikisinden biri kullanılır; karışık kullanılırsa istenmeyen + sonuçlara yol açabilir (ise de, basit girdi süzme ile çıktı süzme iÅŸlemi + basit olsun olmasın karışık kullanılabilir).</p> + + <p>Basit yol, girdi süzgeçlerini yapılandırmanın tek yoludur ve bir + duraÄŸan süzgeç zincirinin gerektiÄŸi yerlerde çıktı süzgeçleri için + yeterlidir. Ä°lgili yönergeler: + <code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code>, + <code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code>, + <code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>, + <code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, + <code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code> ve + <code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code>.</p> + + <p>Devingen yol, <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> belgesinde açıklandığı gibi, + çıktı süzgeçlerinin hem duraÄŸan hem de esnek ve devingen olarak + yapılandırılabilmesini mümkün kılar. Ä°lgili yönergeler: + <code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code>, + <code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code> ve + <code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code>.</p> + + <p><code class="directive"><a href="./mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code> yönergesi + hala desteklenmekteyse de sorun çıkarabilmesi sebebiyle kullanımı artık + önerilmemektedir. Onun yerine devingen yapılandırma kullanınız.</p> + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/filter.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/glossary.html index a5048e28..1703ce12 100644 --- a/docs/manual/glossary.html +++ b/docs/manual/glossary.html @@ -16,6 +16,10 @@ URI: glossary.html.fr Content-Language: fr Content-type: text/html; charset=ISO-8859-1 +URI: glossary.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + URI: glossary.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/glossary.html.de b/docs/manual/glossary.html.de index 76d0e78f..399a1776 100644 --- a/docs/manual/glossary.html.de +++ b/docs/manual/glossary.html.de @@ -22,6 +22,7 @@ <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -548,6 +549,7 @@ <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> diff --git a/docs/manual/glossary.html.en b/docs/manual/glossary.html.en index a53658c7..98af50f4 100644 --- a/docs/manual/glossary.html.en +++ b/docs/manual/glossary.html.en @@ -22,12 +22,13 @@ <a href="./en/glossary.html" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This glossary defines some of the common terminology related to Apache in - particular, and web serving in general. More information on each concept + particular, and web serving in general. More information on each concept is provided in the links.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> @@ -42,7 +43,6 @@ </dd> <dt><a name="algorithm" id="algorithm">Algorithm</a></dt> - <dd>An unambiguous formula or set of rules for solving a problem in a finite number of steps. Algorithms for encryption are usually called <dfn>Ciphers</dfn>. @@ -217,9 +217,9 @@ </dd> <dt><a name="hash" id="hash">Hash</a></dt> - <dd>A mathematical one-way, irreversable algorithm generating a string with - fixed-length from another string of any length. Different input strings - will usually produce different hashes (depending on the hash function). + <dd>A mathematical one-way, irreversible algorithm generating a string with + fixed-length from another string of any length. Different input strings + will usually produce different hashes (depending on the hash function). </dd> <dt><a name="header" id="header">Header</a></dt> @@ -352,7 +352,7 @@ such keys constitutes a key pair. Also called Asymmetric Cryptography. <br /> See: <a href="ssl/">SSL/TLS Encryption</a> - </dd> + </dd> <dt><a name="regularexpresion" id="regularexpresion">Regular Expression</a> <a name="regex" id="regex">(Regex)</a></dt> @@ -364,93 +364,94 @@ - for example, all .gif and .jpg files under any "images" directory could be written as "<code>/images/.*(jpg|gif)$</code>". Apache uses Perl Compatible Regular Expressions provided by the <a href="http://www.pcre.org/">PCRE</a> library. - </dd> + </dd> - <dt><a name="reverseproxy" id="reverseproxy">Reverse Proxy</a></dt> - <dd>A <a class="glossarylink" href="./glossary.html#proxy" title="see glossary">proxy</a> server that appears to the client - as if it is an <em>origin server</em>. This is useful to hide the real - origin server from the client for security reasons, or to load balance. - </dd> - - <dt><a name="securesocketslayer" id="securesocketslayer">Secure Sockets - Layer</a> <a name="ssl" id="ssl">(SSL)</a></dt> - <dd>A protocol created by Netscape Communications Corporation for general - communication authentication and encryption over TCP/IP networks. The most - popular usage is <em>HTTPS</em>, i.e. the HyperText Transfer Protocol (HTTP) - over SSL.<br /> - See: <a href="ssl/">SSL/TLS Encryption</a> - </dd> - - <dt><a name="serversideincludes" id="serversideincludes">Server Side - Includes</a> <a name="ssi" id="ssi">(SSI)</a></dt> - <dd>A technique for embedding processing directives inside HTML files.<br /> - See: <a href="howto/ssi.html">Introduction to Server Side Includes</a> - </dd> + <dt><a name="reverseproxy" id="reverseproxy">Reverse Proxy</a></dt> + <dd>A <a class="glossarylink" href="./glossary.html#proxy" title="see glossary">proxy</a> server that appears to the client + as if it is an <em>origin server</em>. This is useful to hide the real + origin server from the client for security reasons, or to load balance. + </dd> - <dt><a name="session" id="session">Session</a></dt> - <dd>The context information of a communication in general.</dd> - - <dt><a name="ssleay" id="ssleay">SSLeay</a></dt> - <dd>The original SSL/TLS implementation library developed by Eric A. - Young - </dd> - - <dt><a name="symmetriccryptophraphy" id="symmetriccryptophraphy">Symmetric - Cryptography</a></dt> - <dd>The study and application of <em>Ciphers</em> that use a single secret key - for both encryption and decryption operations.<br /> - See: <a href="ssl/">SSL/TLS Encryption</a> - </dd> - - <dt><a name="tarball" id="tarball">Tarball</a></dt> - <dd>A package of files gathered together using the <code>tar</code> utility. - Apache distributions are stored in compressed tar archives or using - pkzip. - </dd> - - <dt><a name="transportlayersecurity" id="transportlayersecurity">Transport - Layer Security</a> <a name="tls" id="tls">(TLS)</a></dt> - <dd>The successor protocol to SSL, created by the Internet Engineering Task - Force (IETF) for general communication authentication and encryption over - TCP/IP networks. TLS version 1 is nearly identical with SSL version 3.<br /> - See: <a href="ssl/">SSL/TLS Encryption</a> - </dd> - - <dt><a name="uniformresourcelocator" id="uniformresourcelocator">Uniform - Resource Locator</a> <a name="url" id="url">(URL)</a></dt> - <dd>The name/address of a resource on the Internet. This is the common - informal term for what is formally called a <a class="glossarylink" href="./glossary.html#uniformresourceidentifier" title="see glossary">Uniform Resource Identifier</a>. - URLs are usually made up of a scheme, like <code>http</code> or - <code>https</code>, a hostname, and a path. A URL for this page might - be <code>http://httpd.apache.org/docs/2.2/glossary.html</code>. - </dd> - - <dt><a name="uniformresourceidentifier" id="uniformresourceidentifier">Uniform Resource Identifier</a> - <a name="URI" id="URI">(URI)</a></dt> - <dd>A compact string of characters for identifying an abstract or physical - resource. It is formally defined by <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>. URIs used on the - world-wide web are commonly referred to as <a class="glossarylink" href="./glossary.html#url" title="see glossary">URLs</a>. - </dd> - - <dt><a name="virtualhosting" id="virtualhosting">Virtual Hosting</a></dt> - <dd>Serving multiple websites using a single instance of Apache. <em>IP + <dt><a name="securesocketslayer" id="securesocketslayer">Secure Sockets + Layer</a> <a name="ssl" id="ssl">(SSL)</a></dt> + <dd>A protocol created by Netscape Communications Corporation for general + communication authentication and encryption over TCP/IP networks. The most + popular usage is <em>HTTPS</em>, i.e. the HyperText Transfer Protocol (HTTP) + over SSL.<br /> + See: <a href="ssl/">SSL/TLS Encryption</a> + </dd> + + <dt><a name="serversideincludes" id="serversideincludes">Server Side + Includes</a> <a name="ssi" id="ssi">(SSI)</a></dt> + <dd>A technique for embedding processing directives inside HTML files.<br /> + See: <a href="howto/ssi.html">Introduction to Server Side Includes</a> + </dd> + + <dt><a name="session" id="session">Session</a></dt> + <dd>The context information of a communication in general.</dd> + + <dt><a name="ssleay" id="ssleay">SSLeay</a></dt> + <dd>The original SSL/TLS implementation library developed by Eric A. + Young + </dd> + + <dt><a name="symmetriccryptophraphy" id="symmetriccryptophraphy">Symmetric + Cryptography</a></dt> + <dd>The study and application of <em>Ciphers</em> that use a single secret key + for both encryption and decryption operations.<br /> + See: <a href="ssl/">SSL/TLS Encryption</a> + </dd> + + <dt><a name="tarball" id="tarball">Tarball</a></dt> + <dd>A package of files gathered together using the <code>tar</code> utility. + Apache distributions are stored in compressed tar archives or using + pkzip. + </dd> + + <dt><a name="transportlayersecurity" id="transportlayersecurity">Transport + Layer Security</a> <a name="tls" id="tls">(TLS)</a></dt> + <dd>The successor protocol to SSL, created by the Internet Engineering Task + Force (IETF) for general communication authentication and encryption over + TCP/IP networks. TLS version 1 is nearly identical with SSL version 3.<br /> + See: <a href="ssl/">SSL/TLS Encryption</a> + </dd> + + <dt><a name="uniformresourcelocator" id="uniformresourcelocator">Uniform + Resource Locator</a> <a name="url" id="url">(URL)</a></dt> + <dd>The name/address of a resource on the Internet. This is the common + informal term for what is formally called a <a class="glossarylink" href="./glossary.html#uniformresourceidentifier" title="see glossary">Uniform Resource Identifier</a>. + URLs are usually made up of a scheme, like <code>http</code> or + <code>https</code>, a hostname, and a path. A URL for this page might + be <code>http://httpd.apache.org/docs/2.2/glossary.html</code>. + </dd> + + <dt><a name="uniformresourceidentifier" id="uniformresourceidentifier">Uniform Resource Identifier</a> + <a name="URI" id="URI">(URI)</a></dt> + <dd>A compact string of characters for identifying an abstract or physical + resource. It is formally defined by <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>. URIs used on the + world-wide web are commonly referred to as <a class="glossarylink" href="./glossary.html#url" title="see glossary">URLs</a>. + </dd> + + <dt><a name="virtualhosting" id="virtualhosting">Virtual Hosting</a></dt> + <dd>Serving multiple websites using a single instance of Apache. <em>IP virtual hosting</em> differentiates between websites based on their IP - address, while <em>name-based virtual hosting</em> uses only the name of the - host and can therefore host many sites on the same IP address.<br /> - See: <a href="vhosts/">Apache Virtual Host documentation</a> - </dd> - - <dt><a name="x.509" id="x.509">X.509</a></dt> - <dd>An authentication certificate scheme recommended by the International - Telecommunication Union (ITU-T) which is used for SSL/TLS authentication.<br /> See: <a href="ssl/">SSL/TLS Encryption</a> - </dd> -</dl> + address, while <em>name-based virtual hosting</em> uses only the name of the + host and can therefore host many sites on the same IP address.<br /> + See: <a href="vhosts/">Apache Virtual Host documentation</a> + </dd> + + <dt><a name="x.509" id="x.509">X.509</a></dt> + <dd>An authentication certificate scheme recommended by the International + Telecommunication Union (ITU-T) which is used for SSL/TLS authentication.<br /> See: <a href="ssl/">SSL/TLS Encryption</a> + </dd> + </dl> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./de/glossary.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="./en/glossary.html" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> diff --git a/docs/manual/glossary.html.es b/docs/manual/glossary.html.es index eb94cd1f..f5e63ea4 100644 --- a/docs/manual/glossary.html.es +++ b/docs/manual/glossary.html.es @@ -22,6 +22,7 @@ <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -391,6 +392,7 @@ SSL/TLS.<br /> Consulte: <a href="ssl/">Encriptado SSL/TLS</a></dd> <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> diff --git a/docs/manual/glossary.html.fr b/docs/manual/glossary.html.fr index a51eee96..495a3129 100644 --- a/docs/manual/glossary.html.fr +++ b/docs/manual/glossary.html.fr @@ -22,6 +22,7 @@ <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -545,6 +546,7 @@ Localisation de Ressource Uniformisée <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> diff --git a/docs/manual/glossary.html.ja.utf8 b/docs/manual/glossary.html.ja.utf8 new file mode 100644 index 00000000..2d56dd56 --- /dev/null +++ b/docs/manual/glossary.html.ja.utf8 @@ -0,0 +1,452 @@ +<?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="ja" xml:lang="ja"><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/">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="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーãƒ</a> > <a href="http://httpd.apache.org/docs/">ドã‚ュメンテーション</a> > <a href="./">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2</a></div><div id="page-content"><div id="preamble"><h1>用語</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="./de/glossary.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" title="Japanese"> ja </a> | +<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>ã“ã®ç”¨èªžé›†ã§ã¯ 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="definitions" id="definitions">定義</a></h2> + + <dl> + <dt><a name="accesscontrol" id="accesscontrol">アクセス制御</a></dt> + <dd>ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯èªå¯é ˜åŸŸã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã—ã¾ã™ã€‚Apache ã«ãŠã„ã¦ã¯ã€ + 普通ã¯ã‚¢ã‚¯ã‚»ã‚¹ã®åˆ¶é™ã¯ <em>URL</em> ã«å¯¾ã™ã‚‹ã‚‚ã®ã¨ãªã‚Šã¾ã™ã€‚<br /> + å‚ç…§: <a href="howto/auth.html">èªè¨¼ã€æ‰¿èªã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡</a> + </dd> + + <dt><a name="algorithm" id="algorithm">アルゴリズム</a></dt> + <dd>有é™å›žã®ã‚¹ãƒ†ãƒƒãƒ—ã§å•é¡Œã‚’解ããŸã‚ã®ã‚ã„ã¾ã„ã§ãªã„å¼ã‚‚ã—ãã¯è¦å‰‡ã® + 集åˆã€‚æš—å·ã®ãŸã‚ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯é€šå¸¸ <dfn>Cipher</dfn> ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ + </dd> + + <dt><a name="apacheextensiontool" id="apacheextensiontool">APache + eXtension Tool</a> <a name="apxs" id="apxs">(apxs)</a></dt> + <dd><a class="glossarylink" href="./glossary.html#module" title="用語集をå‚ç…§">モジュール</a> ソースを + 動的共有オブジェクト (<a class="glossarylink" href="./glossary.html#dso" title="用語集をå‚ç…§">DSO</a>) ã«ã‚³ãƒ³ãƒ‘イルã—〠+ Apache Web サーãƒã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹æ‰‹åŠ©ã‘ã‚’ã™ã‚‹ perl スクリプト。<br /> + å‚ç…§: マニュアルページ: <code class="program"><a href="./programs/apxs.html">apxs</a></code> + </dd> + + <dt><a name="apacheportableruntime" id="apacheportableruntime">Apache Portable Runtime</a> <a name="apr" id="apr">(APR)</a></dt> + <dd>サーãƒ<span class="transnote">(<em>訳注:</em> Apache HTTP Server)</span>㨠OS ã® + é–“ã®åŸºæœ¬çš„ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®å¤šãã‚’æä¾›ã™ã‚‹<span class="transnote">(<em>訳注:</em> + OS ã®å·®ã‚’å¸åŽã™ã‚‹)</span>ライブラリã®ã‚»ãƒƒãƒˆã€‚ APR 㯠独立ã—㟠+ プãƒã‚¸ã‚§ã‚¯ãƒˆã¨ã—㦠Apache HTTP Server ã¨å¹³è¡Œã—ã¦é–‹ç™ºãŒè¡Œã‚ã‚Œã¦ã„ã¾ã™ã€‚<br /> + å‚ç…§: <a href="http://apr.apache.org/">Apache Portable Runtime + プãƒã‚¸ã‚§ã‚¯ãƒˆ</a> + </dd> + + <dt><a name="authentication" id="authentication">èªè¨¼</a></dt> + <dd>サーãƒã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã€ãƒ¦ãƒ¼ã‚¶ã¨ã„ã£ãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã® + 身元ã®ç‰¹å®šã€‚<br /> + å‚ç…§: <a href="howto/auth.html">èªè¨¼ã€æ‰¿èªã€ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡</a> + </dd> + + <dt><a name="certificate" id="certificate">証明書</a></dt> + <dd>サーãƒã‚„クライアントã¨ã„ã£ãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’èªè¨¼ã™ã‚‹ã®ã« + 使用ã•ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ¬ã‚³ãƒ¼ãƒ‰ã€‚証明書ã«ã¯ (subject ã¨å‘¼ã°ã‚Œã‚‹) 所有者ã¨ã€ + (issuer ã¨å‘¼ã°ã‚Œã‚‹) <a class="glossarylink" href="./glossary.html#certificationauthority" title="用語集をå‚ç…§">èªè¨¼å±€</a> ã®ç½²åã€æ‰€æœ‰è€…ã® + <a class="glossarylink" href="./glossary.html#publickey" title="用語集をå‚ç…§">公開éµ</a> ã¨ã€CA ã«ã‚ˆã‚‹ç½²åã¨ã„ㆠ+ X.509 ã®æƒ…å ±ãŒå«ã¾ã‚Œã¾ã™ã€‚ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ãれらã®ç½²åã‚’ + CA 証明書を使ã£ã¦æ¤œè¨¼ã—ã¾ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="certificatsigningrequest" id="certificatsigningrequest">証明書署åリクエスト</a> + <span class="transnote">(<em>訳注:</em> Certificate Signing Request)</span> + <a name="csr" id="csr">(CSR)</a></dt> + <dd><a class="glossarylink" href="./glossary.html#certificationauthority" title="用語集をå‚ç…§">èªè¨¼å±€</a> ã«æ出 + ã™ã‚‹æœªç½²åã® <a class="glossarylink" href="./glossary.html#certificate" title="用語集をå‚ç…§">証明書</a>。 + èªè¨¼å±€ã¯ CA <em>証明書</em> ã® <a class="glossarylink" href="./glossary.html#privatekey" title="用語集をå‚ç…§">秘密éµ</a> ã§ç½²åã—ã¾ã™ã€‚ + 一旦 CSR ã«ç½²åãŒãªã•ã‚Œã‚‹ã¨ã€ãã‚Œã¯æœ¬ç‰©ã®è¨¼æ˜Žæ›¸ã«ãªã‚Šã¾ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="certificationauthority" id="certificationauthority">証明局</a> + <span class="transnote">(<em>訳注:</em> Certification Authority)</span> + <a name="ca" id="ca">(CA)</a></dt> + <dd>安全ãªæ–¹æ³•ã§èªè¨¼ã‚’è¡Œãªã£ãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®è¨¼æ˜Žæ›¸ã‚’ + ç½²åã™ã‚‹ãŸã‚ã®ä¿¡é ¼ã§ãる第三者機関。他ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ + 証明書ã®ä¿æŒè€…㌠CA ã«èªè¨¼ã•ã‚ŒãŸã‹ã‚’ç½²åを検証ã™ã‚‹ã“ã¨ã§èª¿ã¹ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="cipher" id="cipher">Cipher</a></dt> + <dd>データ暗å·åŒ–ã®ãŸã‚ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 。例ãˆã° DES, IDEA, RC4 ãªã©ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="ciphertext" id="ciphertext">æš—å·æ–‡</a></dt> + <dd><a class="glossarylink" href="./glossary.html#plaintext" title="用語集をå‚ç…§">平文</a> ㌠+ <a class="glossarylink" href="./glossary.html#cipher" title="用語集をå‚ç…§">Cipher</a> ã‚’ã‹ã‘られãŸçµæžœã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="commongatewayinterface" id="commongatewayinterface">Common + Gateway Interface</a> <a name="cgi" id="cgi">(CGI)</a></dt> + <dd>外部プãƒã‚°ãƒ©ãƒ ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ã“ã¨ãŒã§ãるよã†ã«ã™ã‚‹ãŸã‚ã® + ウェブサーãƒã¨å¤–部プãƒã‚°ãƒ©ãƒ é–“ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®æ¨™æº–仕様。 + インタフェースã¯å…ƒã€… <a href="http://hoohoo.ncsa.uiuc.edu/cgi/overview.html">NCSA</a> ã«ã‚ˆã‚Šå®šç¾© + ã•ã‚Œã¦ã„ã¾ã—ãŸãŒ + <a href="http://cgi-spec.golux.com/">RFC プãƒã‚¸ã‚§ã‚¯ãƒˆ</a> ã‚‚å˜åœ¨ã—ã¾ã™ã€‚<br /> + å‚ç…§: <a href="howto/cgi.html">CGI ã«ã‚ˆã‚‹å‹•çš„コンテンツ</a> + </dd> + + <dt><a name="configurationdirective" id="configurationdirective">è¨å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–</a></dt> + <dd>å‚ç…§: <a class="glossarylink" href="./glossary.html#directive" title="用語集をå‚ç…§">ディレクティブ</a></dd> + + <dt><a name="configurationfile" id="configurationfile">è¨å®šãƒ•ã‚¡ã‚¤ãƒ«</a></dt> + <dd>Apache ã®è¨å®šã‚’制御ã™ã‚‹ <a class="glossarylink" href="./glossary.html#directive" title="用語集をå‚ç…§">ディレクティブ</a> + ã®æ›¸ã‹ã‚ŒãŸãƒ†ã‚ストファイル。<br /> + å‚ç…§: <a href="configuring.html">è¨å®šãƒ•ã‚¡ã‚¤ãƒ«</a> + </dd> + + <dt><a name="connect" id="connect">CONNECT</a></dt> + <dd>データãƒãƒ£ãƒãƒ«ã‚’ãã®ã¾ã¾ HTTP 上ã§ãƒ—ãƒã‚ã‚·ã™ã‚‹ãŸã‚ã® HTTP + <a class="glossarylink" href="./glossary.html#method" title="用語集をå‚ç…§">メソッド</a>。SSL ã®ã‚ˆã†ãªä»–ã® + プãƒãƒˆã‚³ãƒ«ã‚’ãã‚‹ã‚€ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + </dd> + + <dt><a name="context" id="context">コンテã‚スト</a></dt> + <dd><a class="glossarylink" href="./glossary.html#configurationfile" title="用語集をå‚ç…§">è¨å®šãƒ•ã‚¡ã‚¤ãƒ«</a> ä¸ã§ã€ + 特定ã®ç¨®é¡žã® <a class="glossarylink" href="./glossary.html#directive" title="用語集をå‚ç…§">ディレクティブ</a> ãŒè¨±å¯ã•ã‚Œã¦ã„ã‚‹å ´æ‰€ã€‚<br /> + å‚ç…§: <a href="mod/directive-dict.html#Context">Apache ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã® + 説明ã«ä½¿ã‚ã‚Œã¦ã„る用語</a> + </dd> + + <dt><a name="digitalsignature" id="digitalsignature">デジタル署å</a></dt> + <dd>証明書や他ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’検証ã™ã‚‹ãŸã‚ã®æš—å·åŒ–ã•ã‚ŒãŸãƒ†ã‚ストブãƒãƒƒã‚¯ã€‚ + <a class="glossarylink" href="./glossary.html#certificationauthority" title="用語集をå‚ç…§">èªè¨¼å±€</a> 㯠+ <em>証明書</em> ã«åŸ‹ã‚è¾¼ã¾ã‚ŒãŸ <em>公開éµ</em> ã®ãƒãƒƒã‚·ãƒ¥ã‚’作æˆã—〠+ ãれを自身㮠<em>秘密éµ</em> ã§æš—å·åŒ–ã™ã‚‹ã“ã¨ã§ç½²åを作æˆã—ã¾ã™ã€‚ + CA ã®å…¬é–‹éµã§ã®ã¿ãã®ç½²åを復å·ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã®ã§ã€ãã‚Œã«ã‚ˆã‚Š + <em>証明書</em> ã‚’ä¿æœ‰ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’ CA ãŒèªè¨¼ã—㟠+ ã“ã¨ã‚’検証ã§ãã¾ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="directive" id="directive">ディレクティブ</a></dt> + <dd>Apache ã®ã„ã‚ã„ã‚ãªæŒ¯ã‚‹èˆžã„を制御ã™ã‚‹è¨å®šã‚³ãƒžãƒ³ãƒ‰ã€‚ディレクティブ㯠+ <a class="glossarylink" href="./glossary.html#configurationfile" title="用語集をå‚ç…§">è¨å®šãƒ•ã‚¡ã‚¤ãƒ«</a> ã« + 書ã‹ã‚Œã¾ã™ã€‚<br /> + å‚ç…§: <a href="mod/directives.html">ディレクティブ索引</a> + </dd> + + <dt><a name="dynamicsharedobject" id="dynamicsharedobject">å‹•çš„ + 共有オブジェクト</a> <span class="transnote">(<em>訳注:</em> Dynamic + Shared Object)</span> <a name="dso" id="dso">(DSO)</a></dt> + <dd>å¿…è¦ã«å¿œã˜ã¦èªã¿è¾¼ã‚€ã“ã¨ãŒå¯èƒ½ãªã€Apache <code class="program"><a href="./programs/httpd.html">httpd</a></code> ã¨ã¯ + 別ã«ã‚³ãƒ³ãƒ‘イルã•ã‚ŒãŸ <a class="glossarylink" href="./glossary.html#module" title="用語集をå‚ç…§">モジュール</a><br /> + å‚ç…§: <a href="dso.html">動的共有オブジェクトサãƒãƒ¼ãƒˆ</a> + </dd> + + <dt><a name="environmentvariable" id="environmentvariable">環境変数</a> + <a name="env-variable" id="env-variable">(env-variable)</a></dt> + <dd>æƒ…å ±ã‚’ä¿ç®¡ã—ãŸã‚Šã€ãƒ—ãƒã‚°ãƒ©ãƒ é–“ã®é€šä¿¡ã‚’ã™ã‚‹ãŸã‚ã«ä½¿ã‚れる〠+ オペレーティングシステムã®ã‚·ã‚§ãƒ«ã«ã‚ˆã‚Šç®¡ç†ã•ã‚Œã¦ã„ã‚‹åå‰ä»˜ãã®å¤‰æ•°ã€‚ + Apache も環境変数ã¨å‘¼ã°ã‚Œã‚‹å†…部変数をæŒã£ã¦ã„ã¾ã™ãŒã€ã“ã¡ã‚‰ã¯ + シェル環境ã§ã¯ãªãã€Apache ã®å†…éƒ¨æ§‹é€ ä½“ã«ä¿æŒã•ã‚Œã¦ã„ã¾ã™ã€‚<br /> + å‚ç…§: <a href="env.html">Apache ã®ç’°å¢ƒå¤‰æ•°</a> + </dd> + + <dt><a name="export-crippled" id="export-crippled">輸出強度削減</a> + <span class="transnote">(<em>訳注:</em> Export-Crippled)</span></dt> + <dd>アメリカ㮠Export Administration Regulations (EAR) + <span class="transnote">(<em>訳注:</em> 輸出管ç†è¦å‰‡)</span> ã«å¾“ã†ãŸã‚ã«æš—å·ã®å¼·åº¦ (ã¨ã‚»ã‚ュリティ) + を削減ã™ã‚‹ã“ã¨ã€‚輸出強度削減ã•ã‚ŒãŸæš—å·ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯å°ã•ã„ã‚ー㫠+ 制é™ã•ã‚Œã€é€šå¸¸ç·å½“ãŸã‚Šæ”»æ’ƒã§å¾©å·ã§ãã¦ã—ã¾ã† <em>æš—å·æ–‡</em> を生æˆã™ã‚‹ + ã“ã¨ã«ãªã‚Šã¾ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="filter" id="filter">フィルタ</a></dt> + <dd>サーãƒã‹ã‚‰é€ã‚‰ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ã¨ã‚µãƒ¼ãƒãŒå—ã‘å–るデータã«é©ç”¨ã•ã‚Œã‚‹å‡¦ç†ã€‚ + 入力フィルタã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã‚µãƒ¼ãƒã«é€ã‚‰ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã—〠+ 出力フィルタã¯ã‚µãƒ¼ãƒã«ã‚る文書をクライアントã«é€ã‚‹å‰ã«å‡¦ç†ã—ã¾ã™ã€‚ + 例ãˆã°ã€<code>INCLUDES</code> 出力フィルタ㯠+ <a class="glossarylink" href="./glossary.html#ssi" title="用語集をå‚ç…§">Server Side Includes</a> ã®æ–‡æ›¸ã‚’ + 処ç†ã—ã¾ã™ã€‚<br /> + å‚ç…§: <a href="filter.html">フィルタ</a> + </dd> + + <dt><a name="fully-qualifieddomain-name" id="fully-qualifieddomain-name">完全修飾ドメインå</a> + <span class="transnote">(<em>訳注:</em> Fully-Qualified Domain-Name)</span> + <a name="fqdn" id="fqdn">(FQDN)</a></dt> + <dd>IP アドレスã«è§£æ±ºã§ãるホストåã¨ã€ãƒ‰ãƒ¡ã‚¤ãƒ³åã‹ã‚‰ãªã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ + エンティティã®ä¸€æ„ãªåå‰ã€‚例ãˆã°ã€<code>www</code> ã¯ãƒ›ã‚¹ãƒˆåã§ã€ + <code>example.com</code> ã¯ãƒ‰ãƒ¡ã‚¤ãƒ³åãªã®ã§ã€ + <code>www.example.com</code> ã¯å®Œå…¨ä¿®é£¾ãƒ‰ãƒ¡ã‚¤ãƒ³åã«ãªã‚Šã¾ã™ã€‚</dd> + + <dt><a name="handler" id="handler">ãƒãƒ³ãƒ‰ãƒ©</a></dt> + <dd>ファイルãŒå‘¼ã°ã‚ŒãŸã¨ãã«è¡Œãªã‚れる動作㮠Apache ã®å†…部ã§ã®è¡¨ç¾ã€‚ + 一般ã«ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¨®é¡žã«å¿œã˜ã¦æš—é»™ã®ãƒãƒ³ãƒ‰ãƒ©ãŒè¨å®šã•ã‚Œã¦ + ã„ã¾ã™ã€‚普通ã¯ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚µãƒ¼ãƒã«ã‚ˆã‚Šé€ã‚‰ã‚Œã¾ã™ãŒã€åˆ¥ã« + 扱ã‚れる <span class="transnote">(<em>訳注:</em> handle)</span> ファイルã®ç¨®é¡žã‚‚å˜åœ¨ã—ã¾ã™ã€‚ + 例ãˆã° <code>cgi-script</code> ã¯ãƒ•ã‚¡ã‚¤ãƒ«ãŒ + <a class="glossarylink" href="./glossary.html#cgi" title="用語集をå‚ç…§">CGI</a> ã¨ã—ã¦å‡¦ç†ã•ã‚Œã‚‹ã‚ˆã†ã«æŒ‡å®šã—ã¾ã™ã€‚<br /> + å‚ç…§: <a href="handler.html">Apache ã®ãƒãƒ³ãƒ‰ãƒ©ã®ä½¿ç”¨</a> + </dd> + + <dt><a name="hash" id="hash">ãƒãƒƒã‚·ãƒ¥</a></dt> + <dd>ä»»æ„ã®æ–‡å—列ã‹ã‚‰å›ºå®šé•·ã®æ–‡å—列を生æˆã™ã‚‹ã€æ•°å¦çš„ãªä¸€æ–¹å‘ã§ä¸å¯é€†ãª + アルゴリズム。異ãªã£ãŸå…¥åŠ›æ–‡å—列ã‹ã‚‰ã¯æ™®é€šã¯é•ã†ãƒãƒƒã‚·ãƒ¥ãŒç”Ÿæˆã•ã‚Œã¾ã™ + (ãƒãƒƒã‚·ãƒ¥é–¢æ•°ã«ä¾å˜ã—ã¾ã™)。</dd> + + <dt><a name="header" id="header">ヘッダ</a></dt> + <dd>実際ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®å‰ã«é€ã‚‰ã‚Œã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を説明ã™ã‚‹ãƒ¡ã‚¿æƒ…å ±ã® + å…¥ã£ãŸ <a class="glossarylink" href="./glossary.html#http" title="用語集をå‚ç…§">HTTP</a> リクエストã¨å¿œç”ã®ä¸€éƒ¨åˆ†ã€‚</dd> + + <dt><a name="htaccess" id="htaccess">.htaccess</a></dt> + <dd>ウェブツリーã«ç½®ã‹ã‚Œã¦ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã‚µãƒ–ディレクトリ㫠+ <a class="glossarylink" href="./glossary.html#directive" title="用語集をå‚ç…§">ディレクティブ</a> ã‚’é©ç”¨ã™ã‚‹ + <a class="glossarylink" href="./glossary.html#configurationfile" title="用語集をå‚ç…§">è¨å®šãƒ•ã‚¡ã‚¤ãƒ«</a>。 + åå‰ã¨ã¯è£è…¹ã«ã€ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã ã‘ã§ãªã〠+ ã»ã¨ã‚“ã©ã©ã‚“ãªç¨®é¡žã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã‚‚書ãã“ã¨ãŒã§ãã¾ã™ã€‚<br /> + å‚ç…§: <a href="configuring.html">è¨å®šãƒ•ã‚¡ã‚¤ãƒ«</a> + </dd> + + <dt><a name="httpd.conf" id="httpd.conf">httpd.conf</a></dt> + <dd>メイン㮠Apache <a class="glossarylink" href="./glossary.html#configurationfile" title="用語集をå‚ç…§">è¨å®š + ファイル</a>。デフォルトã®å ´æ‰€ã¯ + <code>/usr/local/apache2/conf/httpd.conf</code> + ã§ã™ãŒã€å®Ÿè¡Œæ™‚やコンパイル時ã®è¨å®šã«ã‚ˆã‚Šé•ã†å ´æ‰€ã«ç§»å‹•ã•ã‚Œã¦ + ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。<br /> + å‚ç…§: <a href="configuring.html">è¨å®šãƒ•ã‚¡ã‚¤ãƒ«</a> + </dd> + + <dt><a name="hypertexttransferprotocol" id="hypertexttransferprotocol">HyperText Transfer Protocol</a> + <a name="http" id="hhtp">(HTTP)</a></dt> + <dd>World Wide Web ã§ä½¿ã‚れる標準ã®è»¢é€ãƒ—ãƒãƒˆã‚³ãƒ«ã€‚Apache + 㯠HTTP/1.1 ã¨å‘¼ã°ã‚Œã€<a href="http://ietf.org/rfc/rfc2616.txt">RFC 2616</a> + ã§å®šç¾©ã•ã‚Œã¦ã„るプãƒãƒˆã‚³ãƒ«ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.1 を実装ã—ã¦ã„ã¾ã™ã€‚</dd> + + <dt><a name="https" id="https">HTTPS</a></dt> + <dd>The HyperText Transfer Protocol (Secure), + World Wide Web ã§ã®æš—å·åŒ–ã•ã‚ŒãŸæ¨™æº–ã®é€šä¿¡æ©Ÿæ§‹ã€‚ã“ã‚Œã¯å®Ÿéš›ã¯ + å˜ã« <a class="glossarylink" href="./glossary.html#ssl" title="用語集をå‚ç…§">SSL</a> 上ã§ã® HTTP ã§ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="method" id="method">メソッド</a></dt> + <dd><a class="glossarylink" href="./glossary.html#http" title="用語集をå‚ç…§">HTTP</a> ã®æ–‡è„ˆã§ã¯ã€ + クライアントã‹ã‚‰æŒ‡å®šã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆè¡Œã«å¯¾å¿œã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ + ã«å¯¾ã—ã¦è¡Œãªã†å‹•ä½œã€‚HTTP ã§ã¯ <code>GET</code>, <code>POST</code>, + <code>PUT</code> ã¨ã„ã£ãŸã‚ˆã†ãªãƒ¡ã‚½ãƒƒãƒ‰ãŒã‚ã‚Šã¾ã™ã€‚</dd> + + <dt><a name="messagedigest" id="messagedigest">メッセージダイジェスト</a></dt> + <dd>メッセージã®ãƒãƒƒã‚·ãƒ¥ã§ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å†…容ãŒè»¢é€æ™‚ã«å¤‰æ›´ã•ã‚Œã¦ã„ãªã„ã“ã¨ã®æ¤œè¨¼ã« + 使ãˆã‚‹ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="mime-type" id="mime-type">MIME タイプ</a></dt> + <dd>é€ä¿¡ã•ã‚Œã¦ã„るドã‚ュメントã®ç¨®é¡žã‚’表ã™ãŸã‚ã®æ–¹æ³•ã€‚ + ã“ã®åå‰ã¯ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆãŒ Multipurpose Internet Mail Extensions ã‹ã‚‰ + 借りã¦ã“られãŸã“ã¨ã«ã‚ˆã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§åˆ†é›¢ã•ã‚ŒãŸã€ + 主タイプã¨å‰¯ã‚¿ã‚¤ãƒ—ã‹ã‚‰ãªã‚Šã¾ã™ã€‚例ãˆã°ã€<code>text/html</code>, + <code>image/gif</code>, <code>application/octet-stream</code> ãªã© + ãŒã‚ã‚Šã¾ã™ã€‚HTTP ã§ã¯ã€MIME タイプ㯠<code>Content-Type</code> + <a class="glossarylink" href="./glossary.html#header" title="用語集をå‚ç…§">ヘッダ</a> ã§é€ä¿¡ã•ã‚Œã¾ã™ã€‚<br /> + å‚ç…§: <a href="mod/mod_mime.html">mod_mime</a> + </dd> + + <dt><a name="module" id="module">モジュール</a></dt> + <dd>プãƒã‚°ãƒ©ãƒ ã®ç‹¬ç«‹ã—ãŸä¸€éƒ¨åˆ†ã€‚Apache ã®æ©Ÿèƒ½ã®å¤šãã¯ä½¿ç”¨ã™ã‚‹ã‹ã—ãªã„ã‹ã‚’ + é¸æŠžã§ãるモジュールã®ä¸ã«ã‚ã‚Šã¾ã™ã€‚Apache <code class="program"><a href="./programs/httpd.html">httpd</a></code> + ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„るモジュールã¯<dfn>é™çš„モジュール</dfn>ã¨å‘¼ã°ã‚Œã€ + 別ã«ä¿å˜ã•ã‚Œã€å®Ÿè¡Œæ™‚ã«èªã¿è¾¼ã‚€ã“ã¨ã®ã§ãるモジュール㯠+ <dfn>動的モジュール</dfn> ã‚‚ã—ã㯠<a class="glossarylink" href="./glossary.html#dso" title="用語集をå‚ç…§">DSO</a> 㨠+ 呼ã°ã‚Œã¾ã™ã€‚デフォルトã§å«ã¾ã‚Œã¦ã„るモジュールã¯<dfn>base モジュール</dfn> + ã¨å‘¼ã°ã‚Œã¾ã™ã€‚Apache HTTP サーãƒã® <a class="glossarylink" href="./glossary.html#tarball" title="用語集をå‚ç…§">tarball</a> + ã®ä¸€éƒ¨ã¨ã—ã¦ã¯é…られã¦ã„ãªã„ Apache 用ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã™ã€‚ + ãれら㯠<dfn>サードパーティモジュール</dfn> ã¨å‘¼ã°ã‚Œã¾ã™ã€‚<br /> + å‚ç…§: <a href="mod/">モジュール索引</a> + </dd> + + <dt><a name="modulemagicnumber" id="modulemagicnumber">Module Magic + Number</a> (<a name="mmn" id="mmn">MMN</a>)</dt> + <dd>Apache ソースコードã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒã‚¤ãƒŠãƒªäº’æ›æ€§ã« + é–¢ã™ã‚‹å®šæ•°ã€‚ãƒã‚¤ãƒŠãƒªäº’æ›æ€§ãŒä¿ã¦ãªããªã‚‹ã‚ˆã†ãª Apache 内部ã®æ§‹é€ 体や〠+ 関数呼ã³å‡ºã—ã€ãã®ä»–ã® API ã®é‡è¦ãªéƒ¨åˆ†ã®å¤‰æ›´ãŒã‚ã£ãŸã¨ãã«å¤‰æ›´ã•ã‚Œã¾ã™ã€‚ + MMN ãŒå¤‰ã‚ã‚‹ã¨ã€ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ‰ãƒ‘ーティモジュールã¯å°‘ãªãã¨ã‚‚å†ã‚³ãƒ³ãƒ‘イルを + ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã€å ´åˆã«ã‚ˆã£ã¦ã¯æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Apache ã§å‹•ä½œã™ã‚‹ãŸã‚ã« + å°‘ã—変更ã™ã‚‹å¿…è¦ã•ãˆã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。</dd> + + <dt><a name="openssl" id="openssl">OpenSSL</a></dt> + <dd>SSL/TLS 用ã®ã‚ªãƒ¼ãƒ—ンソースツールã‚ット<br /> + å‚ç…§ <a href="http://www.openssl.org/">http://www.openssl.org/</a># + </dd> + + <dt><a name="passphrase" id="passphrase">パスフレーズ</a></dt> + <dd>秘密éµã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä¿è·ã™ã‚‹ãŸã‚ã®èªžå¥ã€‚権é™ã®ç„¡ã„ユーザ㌠+ æš—å·åŒ–ã™ã‚‹ã®ã‚’防ãŽã¾ã™ã€‚通常ã¯å˜ã« <a class="glossarylink" href="./glossary.html#cipher" title="用語集をå‚ç…§">Cipher</a> ã®ç§˜å¯†ã®æš—å·ç”¨ã¨å¾©å·ç”¨ã®ã‚ーã§ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="plaintext" id="plaintext">平文</a></dt> + <dd>æš—å·åŒ–ã•ã‚Œã¦ã„ãªã„テã‚スト。</dd> + + <dt><a name="privatekey" id="privatekey">秘密éµ</a></dt> + <dd>å—ã‘å–るメッセージã®å¾©å·ã¨é€å‡ºã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ç½²åã«ä½¿ã‚れる〠+ <a class="glossarylink" href="./glossary.html#publickeycryptography" title="用語集をå‚ç…§">公開éµæš—å·</a> ã® + 秘密éµã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="proxy" id="proxy">プãƒã‚ã‚·</a></dt> + <dd>クライアント㨠<em>オリジンã®ã‚µãƒ¼ãƒ</em> ã®é–“ã«å˜åœ¨ã™ã‚‹ä¸é–“サーãƒã€‚ + クライアントã‹ã‚‰ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã‚Šã€ã‚ªãƒªã‚¸ãƒ³ã®ã‚µãƒ¼ãƒã«é€ä¿¡ã—ã¦ã€ã‚ªãƒªã‚¸ãƒ³ã® + サーãƒã‹ã‚‰ã®å¿œç”をクライアントã«è¿”ã—ã¾ã™ã€‚複数ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒåŒã˜ + コンテンツをè¦æ±‚ã™ã‚‹å ´åˆã¯ã€æ¯Žå›žå…ƒã®ã‚µãƒ¼ãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹ä»£ã‚ã‚Š + プãƒã‚ã‚·ã¯ã‚ャッシュã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’é€ã‚Šã€å¿œç”時間をçŸç¸®ã™ã‚‹ã“ã¨ãŒ + ã§ãã¾ã™ã€‚<br /> + å‚ç…§: <a href="mod/mod_proxy.html">mod_proxy</a> + </dd> + + <dt><a name="publickey" id="publickey">公開éµ</a></dt> + <dd>所有者ã«å‘ã‘られãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æš—å·åŒ–ã¨æ‰€æœ‰è€…ã«ã‚ˆã‚‹ç½²åã®å¾©å·ã«ä½¿ã‚れる〠+ <a class="glossarylink" href="./glossary.html#publickeycryptography" title="用語集をå‚ç…§">公開éµæš—å·</a>システム㫠+ ãŠã‘ã‚‹å…¬ã‘ã«ã•ã‚Œã¦ã„ã‚‹éµã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="publickeycryptography" id="publickeycryptography">公開éµæš—å·</a></dt> + <dd>ã‚ã‚‹éµã‚’æš—å·ã«ä½¿ã„ã€åˆ¥ã®éµã‚’復å·ã«ä½¿ã†éžå¯¾ç§°æš—å·ã‚·ã‚¹ãƒ†ãƒ ã«ã¤ã„ã¦ã®ç ”究や + ãã®å¿œç”¨ã‚’指ã™ã€‚対応ã™ã‚‹éµã¯ã‚ーペアã¨å‘¼ã°ã‚Œã¾ã™ã€‚éžå¯¾ç§°æš—å·ã¨ã‚‚呼ã°ã‚Œã¾ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="regularexpresion" id="regularexpresion">æ£è¦è¡¨ç¾</a> + <a name="regex" id="regex">(Regex)</a></dt> + <dd>テã‚ストã®ãƒ‘ターンを表ç¾ã™ã‚‹æ–¹å¼ã®ä¸€ã¤ã€‚例ãˆã°ã€ + 「A ã§å§‹ã¾ã‚‹ã™ã¹ã¦ã®å˜èªžã€ã‚„「ã™ã¹ã¦ã® 10 æ¡ã®é›»è©±ç•ªå·ã€ã‚„〠+ 「コンマãŒäºŒã¤ã‚ã‚Šã€å¤§æ–‡å—ã® Q ãŒãªã„ã™ã¹ã¦ã®æ–‡ã€ã¨ã„ã†ã®ã§ã•ãˆè¡¨ç¾ + ã§ãã¾ã™ã€‚ + æ£è¦è¡¨ç¾ã¯ Apache ã«ãŠã„ã¦ã‚‚便利ãªã‚‚ã®ã§ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚„リソースã®é›†ã¾ã‚Šã«å¯¾ã—㦠+ 何らã‹ã®å±žæ€§ã‚’é©ç”¨ã™ã‚‹ã“ã¨ãŒã¨ã¦ã‚‚柔軟ã«ã§ãã¾ã™ã€‚例ãˆã°ã€ + ã™ã¹ã¦ã® "images" ディレクトリã®ä¸‹ã®ã€ã™ã¹ã¦ã® .gif 㨠.jpg ファイル + 㯠<code>/images/.*(jpg|gif)$</code> ã¨æ›¸ãã“ã¨ãŒã§ãã¾ã™ã€‚ + Apache ã§ã¯ <a href="http://www.pcre.org/">PCRE</a> ライブラリãŒæä¾›ã™ã‚‹ + Perl 互æ›æ£è¦è¡¨ç¾ <span class="transnote">(<em>訳注:</em> Perl Compatible Regular Expressions)</span> + を使ã„ã¾ã™ã€‚</dd> + + <dt><a name="reverseproxy" id="reverseproxy">リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·</a></dt> + <dd>クライアントã«ã¯ <em>オリジンã®ã‚µãƒ¼ãƒ</em> ã®ã‚ˆã†ã«è¦‹ãˆã‚‹ + <a class="glossarylink" href="./glossary.html#proxy" title="用語集をå‚ç…§">プãƒã‚ã‚·</a> サーãƒã€‚ã‚»ã‚ュリティ㮠+ ãŸã‚ã‚„ã€è² è·åˆ†æ•£ã®ãŸã‚ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã‚ªãƒªã‚¸ãƒ³ã®ã‚µãƒ¼ãƒã‚’éš ã—ãŸã„ã¨ãã« + 便利ã§ã™ã€‚</dd> + + <dt><a name="securesocketslayer" id="securesocketslayer">Secure Sockets + Layer</a> <a name="ssl" id="ssl">(SSL)</a></dt> + <dd>Netscape Communications Corporation ã«ã‚ˆã‚Š + TCP/IP ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§ä¸€èˆ¬ã®é€šä¿¡ã®èªè¨¼ã¨æš—å·ç”¨ã«ä½œã‚‰ã‚ŒãŸãƒ—ãƒãƒˆã‚³ãƒ«ã€‚ + 最もよã使ã‚ã‚Œã¦ã„ã‚‹ã‚‚ã®ã¯ <em>HTTPS</em> ã¤ã¾ã‚Š SSL 上ã§ã® + HyperText Transfer Protocol (HTTP) ã§ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="serversideincludes" id="serversideincludes">Server Side + Includes</a> <a name="ssi" id="ssi">(SSI)</a></dt> + <dd>HTML ファイルä¸ã«å‡¦ç†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を埋ã‚込む技術ã®ä¸€ã¤ã€‚<br /> + å‚ç…§: <a href="howto/ssi.html">Server Side Includes 入門</a> + </dd> + + <dt><a name="session" id="session">セッション</a></dt> + <dd>一般的ãªé€šä¿¡ã«ãŠã‘ã‚‹æ–‡è„ˆæƒ…å ±ã€‚</dd> + + <dt><a name="ssleay" id="ssleay">SSLeay</a></dt> + <dd>Eric A. Young æ°ã«ã‚ˆã‚‹ SSL/TLS を実装ã—ãŸå…ƒã€…ã®ãƒ©ã‚¤ãƒ–ラリ。</dd> + + <dt><a name="symmetriccryptophraphy" id="symmetriccryptophraphy">対称暗å·</a> + </dt> + <dd>一ã¤ã®ç§˜å¯†éµã‚’æš—å·åŒ–ã¨å¾©å·ã®ä¸¡æ–¹ã«ä½¿ã† <em>Cipher</em> ã® + ç ”ç©¶ã‚„å¿œç”¨ã‚’æŒ‡ã™ã€‚</dd> + + <dt><a name="tarball" id="tarball">Tarball</a></dt> + <dd><code>tar</code> ユーティリティを使ã£ã¦ã¾ã¨ã‚られãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ッケージ。 + Apache é…布ã¯åœ§ç¸®ã•ã‚ŒãŸ tar アーカイブ㋠pkzip ã§ä¿ç®¡ã•ã‚Œã¦ã„ã¾ã™ã€‚</dd> + + <dt><a name="transportlayersecurity" id="transportlayersecurity">Transport + Layer Security</a> <a name="tls" id="tls">(TLS)</a></dt> + <dd>TCP/IP ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§ã®ä¸€èˆ¬é€šä¿¡ã®èªè¨¼ã¨æš—å·åŒ–用㫠+ Internet Engineering Task Force (IETF) ã«ã‚ˆã‚Šä½œæˆã•ã‚ŒãŸ SSL ã® + 後継プãƒãƒˆã‚³ãƒ«ã€‚TLS ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1 㯠SSL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 ã¨ã»ã¼åŒã˜ã§ã™ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + + <dt><a name="uniformresourcelocator" id="uniformresourcelocator">Uniform + Resource Locator</a> <a name="url" id="url">(URL)</a></dt> + <dd>Internet ã®ãƒªã‚½ãƒ¼ã‚¹ã®åå‰ã€ã‚‚ã—ãã¯ã‚¢ãƒ‰ãƒ¬ã‚¹ã€‚ã“ã‚Œã¯æ£å¼ã«ã¯ + <a class="glossarylink" href="./glossary.html#uniformresourceidentifier" title="用語集をå‚ç…§">Uniform Resource Identifier</a> + ã¨å‘¼ã°ã‚Œã‚‹ã‚‚ã®ã®ã‚ˆã使ã‚れるéžå…¬å¼ãªåå‰ã§ã™ã€‚URL ã¯æ™®é€šã¯ã€ + <code>http</code> ã‚„ <code>https</code> ã¨ã„ã£ãŸã‚¹ã‚ームã¨ãƒ›ã‚¹ãƒˆå〠+ パスã‹ã‚‰ãªã‚Šã¾ã™ã€‚ã“ã®ãƒšãƒ¼ã‚¸ã® URL ã¯ãŠãらã + <code>http://httpd.apache.org/docs/2.2/glossary.html</code> + ã¨æ€ã‚ã‚Œã¾ã™ã€‚ + </dd> + + <dt><a name="uniformresourceidentifier" id="uniformresourceidentifier">Uniform Resource Identifier</a> + <a name="URI" id="URI">(URI)</a></dt> + <dd>抽象的ãªãƒªã‚½ãƒ¼ã‚¹ã‚„物ç†ãƒªã‚½ãƒ¼ã‚¹ã‚’åŒå®šã™ã‚‹ãŸã‚ã®ã‚³ãƒ³ãƒ‘クトãªæ–‡å—列。 + æ£å¼ã«ã¯ <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a> 㧠+ 定義ã•ã‚Œã¦ã„ã¾ã™ã€‚WWW ã§ä½¿ã‚ã‚Œã¦ã„ã‚‹ URI ã¯é€šå¸¸ + <a class="glossarylink" href="./glossary.html#url" title="用語集をå‚ç…§">URL</a> ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ + </dd> + + <dt><a name="virtualhosting" id="virtualhosting">ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</a></dt> + <dd>一ã¤ã® Apache を使ã£ã¦è¤‡æ•°ã®ã‚¦ã‚§ãƒ–サイトを扱ã†ã“ã¨ã€‚ + <em>IP ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</em> 㯠IP アドレスを使ã£ã¦ã‚¦ã‚§ãƒ–サイトを + 区別ã—ã¾ã™ã€‚ã¾ãŸ <em>åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</em> 㯠+ ホストã®åå‰ã ã‘を使ã£ã¦åŒºåˆ¥ã™ã‚‹ã®ã§ã€åŒã˜ IP アドレス上ã§ã®å¤šãã®ã‚µã‚¤ãƒˆã‚’ + ホストã§ãã¾ã™ã€‚<br /> + å‚ç…§: <a href="vhosts/">Apache ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®æ–‡æ›¸</a> + </dd> + + <dt><a name="x.509" id="x.509">X.509</a></dt> + <dd>SSL/TLS èªè¨¼ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹ International + Telecommunication Union (ITU-T) ã«ã‚ˆã‚ŠæŽ¨å¥¨ã•ã‚Œã¦ã„ã‚‹èªè¨¼è¨¼æ˜Žæ›¸ã®å½¢å¼ã€‚<br /> + å‚ç…§: <a href="ssl/">SSL/TLS æš—å·åŒ–</a> + </dd> + </dl> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="./de/glossary.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" title="Japanese"> ja </a> | +<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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 2589ec3c..10951871 100644 --- a/docs/manual/glossary.html.ko.euc-kr +++ b/docs/manual/glossary.html.ko.euc-kr @@ -22,6 +22,7 @@ <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -360,6 +361,7 @@ ITU-T)ÀÌ ±ÇÀåÇÏ´Â ÀÎÁõ¼ ¾ç½Ä. SSL/TLS ÀÎÁõ¿¡¼ »ç¿ëÇÑ´Ù.<br /> <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" title="Korean"> ko </a> | <a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> diff --git a/docs/manual/glossary.html.tr.utf8 b/docs/manual/glossary.html.tr.utf8 index c3f56c15..08027076 100644 --- a/docs/manual/glossary.html.tr.utf8 +++ b/docs/manual/glossary.html.tr.utf8 @@ -22,6 +22,7 @@ <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" title="Türkçe"> tr </a></p> </div> @@ -463,6 +464,7 @@ <a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/glossary.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/glossary.html" title="Türkçe"> tr </a></p> </div><div id="footer"> diff --git a/docs/manual/handler.html b/docs/manual/handler.html index 5c373209..3109a133 100644 --- a/docs/manual/handler.html +++ b/docs/manual/handler.html @@ -23,3 +23,7 @@ Content-type: text/html; charset=EUC-KR URI: handler.html.ru.koi8-r Content-Language: ru Content-type: text/html; charset=KOI8-R + +URI: handler.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/handler.html.en b/docs/manual/handler.html.en index 3bc3a3cc..8fbedc54 100644 --- a/docs/manual/handler.html.en +++ b/docs/manual/handler.html.en @@ -23,7 +23,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This document describes the use of Apache's Handlers.</p> @@ -150,7 +151,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/handler.html.es b/docs/manual/handler.html.es index 6b3be64a..56ef08cc 100644 --- a/docs/manual/handler.html.es +++ b/docs/manual/handler.html.es @@ -23,7 +23,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">Esta traducción podría estar obsoleta. Consulte la versión en inglés de la @@ -163,7 +164,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> diff --git a/docs/manual/handler.html.fr b/docs/manual/handler.html.fr index 1478cb43..43eefe46 100644 --- a/docs/manual/handler.html.fr +++ b/docs/manual/handler.html.fr @@ -23,7 +23,8 @@ <a href="./fr/handler.html" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).</p> @@ -156,7 +157,8 @@ <a href="./fr/handler.html" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/handler.html.ja.utf8 b/docs/manual/handler.html.ja.utf8 index 4638ca0e..6a78a631 100644 --- a/docs/manual/handler.html.ja.utf8 +++ b/docs/manual/handler.html.ja.utf8 @@ -23,7 +23,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Apache ã®ãƒãƒ³ãƒ‰ãƒ©ã®ä½¿ç”¨ã«é–¢ã—ã¦è¨˜è¿°ã—ã¦ã„ã¾ã™ã€‚</p> @@ -153,7 +154,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/handler.html.ko.euc-kr b/docs/manual/handler.html.ko.euc-kr index fea3f23e..b94dcf4e 100644 --- a/docs/manual/handler.html.ko.euc-kr +++ b/docs/manual/handler.html.ko.euc-kr @@ -23,7 +23,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -146,7 +147,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" title="Korean"> ko </a> | -<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/handler.html.ru.koi8-r b/docs/manual/handler.html.ru.koi8-r index 2eb1f1bb..22962105 100644 --- a/docs/manual/handler.html.ru.koi8-r +++ b/docs/manual/handler.html.ru.koi8-r @@ -23,7 +23,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" title="Russian"> ru </a></p> +<a href="./ru/handler.html" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">üÔÏÔ ÐÅÒÅ×ÏÄ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÒÅ×ÛÉÍ. óÍÏÔÒÉÔÅ ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÌÑ ÏÚÎÁËÏÍÌÅÎÉÑ ÓÏ ×ÓÅÍÉ ÐÏÓÌÅÄÎÉÍÉ ÉÚÍÅÎÅÎÉÑÍÉ @@ -162,7 +163,8 @@ <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./ru/handler.html" title="Russian"> ru </a></p> +<a href="./ru/handler.html" title="Russian"> ru </a> | +<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/handler.html.tr.utf8 b/docs/manual/handler.html.tr.utf8 new file mode 100644 index 00000000..2b07cce2 --- /dev/null +++ b/docs/manual/handler.html.tr.utf8 @@ -0,0 +1,156 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache Eylemcilerinin Kullanımı - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache Eylemcilerinin Kullanımı</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belgede Apache Eylemcilerinin kullanımı açıklanmıştır.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">Eylemci Nedir?</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#examples">Örnekler</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#programmer">Yazılım GeliÅŸtirenler İçin</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">Eylemci Nedir?</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_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>Bir <em>eylemci</em> bir dosya çaÄŸrıldığında uygulanacak eylemin Apache + dahilindeki gösterimidir. Genellikle dosyaların kendi türüne baÄŸlı + olarak örtük eylemcileri vardır. Normalde tüm dosyalar basitçe sunucu + tarafından sunulurlar, fakat bazı dosya türleri normalden farklı ÅŸekilde + ele alınırlar.</p> + + <p>Eylemciler, dosya türünden bağımsız olarak dosyanın bulunduÄŸu yere veya + dosya ismi uzantısına göre de yapılandırılabilirler. Gerek, zarif bir + çözüm oluÅŸuyla gerekse, hem dosya türünü hem de bir dosya ile iliÅŸkili + bir eylemciyi mümkün kılması sebebiyle bunun getirisi daha yüksektir. + (Ayrıca, <a href="mod/mod_mime.html#multipleext">çok uzantılı + dosyalara</a> da bakınız.)</p> + + <p>Eylemciler sunucu içinde derlenebileceÄŸi gibi bir modül olarak ya da + <code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code> yönergesi ile de + sunucuya dahil edilebilirler. Standart dağıtımda bulunan yerleÅŸik + eylemciler ÅŸunlardır:</p> + + <ul> + <li><strong>default-handler</strong>: Dosyayı, öntanımlı olarak duraÄŸan + içeriÄŸi iÅŸlemekte kullanılan <code>default_handler()</code> iÅŸlevini + kullanarak gönderir. (<code class="module"><a href="./mod/core.html">core</a></code>)</li> + + <li><strong>send-as-is</strong>: Dosyayı HTTP baÅŸlıklarıyla olduÄŸu gibi + gönderir. (<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)</li> + + <li><strong>cgi-script</strong>: Dosyayı bir CGI betiÄŸi olarak ele alır. + (<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)</li> + + <li><strong>imap-file</strong>: Dosyayı bir resim eÅŸleme kuralları + dosyası olarak çözümler. (<code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code>)</li> + + <li><strong>server-info</strong>: Sunucunun yapılandırma bilgisini + döndürür. (<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)</li> + + <li><strong>server-status</strong>: Sunucunun durum raporunu döndürür. + (<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)</li> + + <li><strong>type-map</strong>: Dosyayı içerik uzlaşımı için bir tür + eÅŸlem dosyası olarak çözümler. (<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">Örnekler</a></h2> + + + <h3><a name="example1" id="example1">Bir CGI betiÄŸi kullanarak duraÄŸan içeriÄŸin deÄŸiÅŸtirilmesi</a></h3> + + + <p>AÅŸağıdaki yönergeler sayesinde, <code>html</code> uzantılı dosyalar + için yapılan istekler <code>footer.pl</code> CGI betiÄŸininin + çalıştırılmasına sebep olacaktır.</p> + + <div class="example"><p><code> + Action add-footer /cgi-bin/footer.pl<br /> + AddHandler add-footer .html + </code></p></div> + + <p>Bu yapılandırmayla, istenen belgenin özgün haliyle mi (yeri + <code>PATH_TRANSLATED</code> ortam deÄŸiÅŸkenindedir) yoksa istenen + deÄŸiÅŸiklikler veya eklemeler yapıldıktan sonra mı gönderileceÄŸinden + CGI betiÄŸi sorumlu olacaktır.</p> + + + <h3><a name="example2" id="example2">HTTP baÅŸlıklı dosyalar</a></h3> + + + <p>AÅŸağıdaki yönergeler kendi HTTP baÅŸlıklarını içeren dosyalar için + kullanılan <code>send-as-is</code> eylemcisini etkinleÅŸtirmek amacıyla + kullanılmıştır. <code>/siteler/htdocs/asis/</code> dizinindeki tüm + dosyalar dosya ismi uzantılarına bakılmaksızın <code>send-as-is</code> + eylemcisi tarafından iÅŸleme sokulacaktır.</p> + + <div class="example"><p><code> + <Directory /siteler/htdocs/asis><br /> + <span class="indent">SetHandler send-as-is</span> + </Directory> + </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">Yazılım GeliÅŸtirenler İçin</a></h2> + + + <p>Eylemci özellikleri gerçeklenirken kullanılmak üzere <a href="developer/API.html">Apache API</a>’ye bir ekleme yapılmıştır. + Özellikle de, <code>request_rec</code> yapısına yeni bir kayıt + eklenmiÅŸtir:</p> + + <div class="example"><p><code> + char *handler + </code></p></div> + + <p>Modülünüzün bir eylemciyi devreye sokmasını isterseniz, tek yapacağınız + isteÄŸin <code>invoke_handler</code> aÅŸamasının hemen öncesinde + <code>r->handler</code> alanına eylemcinin ismini atamak olacaktır. + Eylemciler daha önce de bahsedildiÄŸi gibi bir içerik türü yerine bir + eylemci ismi kullanılarak gerçeklenirler. Çok gerekli olmamakla + birlikte, eylemciler için kullanılan adlandırma uzlaşımları gereÄŸince, + ismi oluÅŸturan sözcükler, ortam türü isim alanını ihlal etmemek amacıyla + bölü imleri ile deÄŸil tire imleri ile ayrılırlar.</p> + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/handler.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/access.html.en b/docs/manual/howto/access.html.en index e7755ed8..010a40c1 100644 --- a/docs/manual/howto/access.html.en +++ b/docs/manual/howto/access.html.en @@ -138,6 +138,14 @@ discussed in this document include <code class="module"><a href="../mod/mod_sete this variable is set. This blocks that particular user agent from the site. </p> + + <p>An environment variable test can be negated using the <code>=!</code> + syntax:</p> + + <div class="example"><p> + Allow from env=!GoAway + </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="rewrite" id="rewrite">Access control with mod_rewrite</a></h2> diff --git a/docs/manual/images/caching_fig1.png b/docs/manual/images/caching_fig1.png Binary files differindex 9f824d65..14794a71 100644 --- a/docs/manual/images/caching_fig1.png +++ b/docs/manual/images/caching_fig1.png diff --git a/docs/manual/images/caching_fig1.tr.png b/docs/manual/images/caching_fig1.tr.png Binary files differnew file mode 100644 index 00000000..0ccf94e9 --- /dev/null +++ b/docs/manual/images/caching_fig1.tr.png diff --git a/docs/manual/images/custom_errordocs.png b/docs/manual/images/custom_errordocs.png Binary files differindex f2b94907..aeb5b5f8 100644 --- a/docs/manual/images/custom_errordocs.png +++ b/docs/manual/images/custom_errordocs.png diff --git a/docs/manual/images/feather.png b/docs/manual/images/feather.png Binary files differindex 5dd0dd10..96476269 100644 --- a/docs/manual/images/feather.png +++ b/docs/manual/images/feather.png diff --git a/docs/manual/images/filter_arch.png b/docs/manual/images/filter_arch.png Binary files differindex de021af5..fb4a8236 100644 --- a/docs/manual/images/filter_arch.png +++ b/docs/manual/images/filter_arch.png diff --git a/docs/manual/images/filter_arch.tr.png b/docs/manual/images/filter_arch.tr.png Binary files differnew file mode 100644 index 00000000..9696fccb --- /dev/null +++ b/docs/manual/images/filter_arch.tr.png diff --git a/docs/manual/images/mod_filter_new.png b/docs/manual/images/mod_filter_new.png Binary files differindex ad2cc735..1304e972 100644 --- a/docs/manual/images/mod_filter_new.png +++ b/docs/manual/images/mod_filter_new.png diff --git a/docs/manual/images/mod_filter_new.tr.png b/docs/manual/images/mod_filter_new.tr.png Binary files differnew file mode 100644 index 00000000..8ec1371a --- /dev/null +++ b/docs/manual/images/mod_filter_new.tr.png diff --git a/docs/manual/images/mod_rewrite_fig1.png b/docs/manual/images/mod_rewrite_fig1.png Binary files differindex f914f681..f012e81f 100644 --- a/docs/manual/images/mod_rewrite_fig1.png +++ b/docs/manual/images/mod_rewrite_fig1.png diff --git a/docs/manual/images/mod_rewrite_fig2.png b/docs/manual/images/mod_rewrite_fig2.png Binary files differindex 90dbf544..6ee23b00 100644 --- a/docs/manual/images/mod_rewrite_fig2.png +++ b/docs/manual/images/mod_rewrite_fig2.png diff --git a/docs/manual/images/ssl_intro_fig1.png b/docs/manual/images/ssl_intro_fig1.png Binary files differindex e599d239..7f7f5143 100644 --- a/docs/manual/images/ssl_intro_fig1.png +++ b/docs/manual/images/ssl_intro_fig1.png diff --git a/docs/manual/images/ssl_intro_fig2.png b/docs/manual/images/ssl_intro_fig2.png Binary files differindex c540f48a..873b1166 100644 --- a/docs/manual/images/ssl_intro_fig2.png +++ b/docs/manual/images/ssl_intro_fig2.png diff --git a/docs/manual/images/ssl_intro_fig3.png b/docs/manual/images/ssl_intro_fig3.png Binary files differindex d71a1cba..969dd4f3 100644 --- a/docs/manual/images/ssl_intro_fig3.png +++ b/docs/manual/images/ssl_intro_fig3.png diff --git a/docs/manual/logs.html b/docs/manual/logs.html index ec8ba23a..9824ca02 100644 --- a/docs/manual/logs.html +++ b/docs/manual/logs.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: logs.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: logs.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/logs.html.en b/docs/manual/logs.html.en index 7e8a11f4..53a72111 100644 --- a/docs/manual/logs.html.en +++ b/docs/manual/logs.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/logs.html" title="English"> en </a> | <a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>In order to effectively manage a web server, it is necessary @@ -595,7 +596,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/logs.html" title="English"> en </a> | <a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/logs.html.ja.utf8 b/docs/manual/logs.html.ja.utf8 index 66c9796e..dd0f2fe4 100644 --- a/docs/manual/logs.html.ja.utf8 +++ b/docs/manual/logs.html.ja.utf8 @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/logs.html" title="Japanese"> ja </a> | -<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -566,7 +567,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/logs.html" title="Japanese"> ja </a> | -<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/logs.html.ko.euc-kr b/docs/manual/logs.html.ko.euc-kr index 1e166575..90a4fa97 100644 --- a/docs/manual/logs.html.ko.euc-kr +++ b/docs/manual/logs.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/logs.html" title="Korean"> ko </a></p> +<a href="./ko/logs.html" title="Korean"> ko </a> | +<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -514,7 +515,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/logs.html" title="Korean"> ko </a></p> +<a href="./ko/logs.html" title="Korean"> ko </a> | +<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/logs.html.tr.utf8 b/docs/manual/logs.html.tr.utf8 new file mode 100644 index 00000000..a4ec8980 --- /dev/null +++ b/docs/manual/logs.html.tr.utf8 @@ -0,0 +1,574 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Günlük Dosyaları - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Günlük Dosyaları</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/logs.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bir HTTP sunucusunu verimli ÅŸekilde yönetebilmek için oluÅŸabilecek + sorunlardan baÅŸka sunucunun baÅŸarımı ve etkinliÄŸi hakkında da bazı geri + bildirimler almak gerekir. Apache HTTP Sunucusu çok kapsamlı ve esnek + bir günlükleme yeteneÄŸine sahiptir. Bu belgede sunucunun günlükleme + yeteneÄŸini nasıl yapılandıracağınızdan ve günlük kayıtlarını nasıl + yorumlayacağınızdan bahsedilecektir.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#security">Güvenlik Uyarısı</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#errorlog">Hata Günlüğü</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#accesslog">EriÅŸim Günlüğü</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#rotation">Günlük Çevrimi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#piped">Borulu Günlükler</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Sanal Konaklar</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#other">DiÄŸer Günlük Dosyaları</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="security" id="security">Güvenlik Uyarısı</a></h2> + + + <p>Apache’nin günlük dosyalarını yazdığı dizine yazabilen birinin sunucuyu + baÅŸlatan kullanıcı kimliÄŸine (bu genellikle root olur) eriÅŸim + kazanabileceÄŸine hemen hemen kesin gözüyle bakılabilir. Sonuçlarının + neler olacağını kestiremiyorsanız günlüklerin yazıldığı dizinde <em>hiç + kimseye</em> yazma eriÅŸimi vermeyin; ayrıntılı bilgi için <a href="misc/security_tips.html">güvenlik ipuçları</a> belgesine + bakınız.</p> + + <p>Buna ilaveten, günlük dosyaları istemci tarafından saÄŸlanmış bilgiler + de içerebilir. Bu nedenle, kötü niyetli istemcilerin günlük dosyalarına + denetim karakterleri girmeleri olasılığına karşı ham günlükler ele + alınırken dikkatli olunmalıdır.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="errorlog" id="errorlog">Hata Günlüğü</a></h2> + + <table class="related"><tr><th>Ä°lgili Modüller</th><th>Ä°lgili Yönergeler</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li></ul></td></tr></table> + + <p>Ä°smi ve yeri <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> yönergesi + ile belirtilen sunucu hata günlüğü, en önemli günlük dosyasıdır. Apache + httpd tarafından istekler iÅŸlenirken saptanan hatalar ve tanı bilgileri + bu dosyaya gönderilir. Sunucuyu baÅŸlatırken veya sunucu çalışırken bir + sorunla karşılaşıldığında, neyin yanlış gittiÄŸini öğrenmek için + bakılacak ilk yer burasıdır. Günlük kaydı çoÄŸunlukla sorunun nasıl + düzeltileceÄŸi ile ilgili ayrıntıları da içerir.</p> + + <p>Hata günlüğü normal olarak bir dosyaya yazılır (genellikle, dosyanın + ismi Unix sistemlerinde <code>error_log</code>, Windows ve OS/2’de ise + <code>error.log</code>’dur). Ayrıca, Unix sistemlerinde sunucunun + hataları <code>syslog</code>’a veya <a href="#piped">borulamak suretiyle + bir programa</a> aktarması da mümkündür.</p> + + <p>Hata günlüğünün biçemi anlaşılır olup içeriÄŸi kısmen serbestçe + belirlenir. ÇoÄŸu hata günlüğü girdisinde bulunan belli baÅŸlı bilgiler + vardır. Örnek tipik bir hata iletisi içermektedir:</p> + + <div class="example"><p><code> + [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] + client denied by server configuration: + /export/home/live/ap/htdocs/test + </code></p></div> + + <p>Günlük girdisinin ilk öğesi iletinin yazıldığı tarih ve saatten oluÅŸur. + Ä°kinci öğe raporlanan bilginin önem derecesini belirtir. Hata günlüğüne + gönderilecek hata türlerinin önem seviyesini belirlemek için <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> yönergesi kullanılır. Üçüncü öğe + hatanın üretilmesine sebep olan istemcinin IP adresini içerir. Kalanı + iletinin kendisidir (duruma bakılırsa sunucu istemci eriÅŸimini reddetmek + üzere yapılandırılmış). Sunucu istenen belgenin (belge yolunu deÄŸil) + dosya sistemindeki yolunu raporlamıştır.</p> + + <p>Hata günlüğünde görünebilecek ileti çeÅŸitliliÄŸi oldukça fazladır. ÇoÄŸu + yukarıdaki örneÄŸin benzeridir. Hata günlüğü ayrıca, CGI betiklerinin + hata ayıklama çıktılarını da içerir. Bir CGI betiÄŸi tarafından standart + hataya (<code>stderr</code>) yazılan her türlü bilgi doÄŸrudan hata + günlüğüne kopyalanır.</p> + + <p>Hata günlüğünü bilgi ekleyerek veya kaldırarak kiÅŸiselleÅŸtirmek + mümkündür. Bununla birlikte, hata günlüğü girdilerinin ilgili olduÄŸu + isteklerin <a href="#accesslog">eriÅŸim günlüğünde</a> de girdileri + vardır. ÖrneÄŸin, yukarıdaki girdi, eriÅŸim günlüğünde 403 durum kodlu bir + girdiyle ilgilidir. EriÅŸim günlüğünü de kiÅŸiselleÅŸtirmek mümkün + olduÄŸundan hata durumlarında bu günlük dosyasını da kullanarak daha + fazla bilgi saÄŸlayabilirsiniz.</p> + + <p>Sunucuyu denerken olası sorunlara karşı hata günlüğünü sürekli + izlemelisiniz. Unix sistemlerinde bunu şöyle bir komutla + saÄŸlayabilirsiniz:</p> + + <div class="example"><p><code> + tail -f error_log + </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="accesslog" id="accesslog">EriÅŸim Günlüğü</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_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li></ul></td></tr></table> + + <p>Sunucu eriÅŸim günlüğü sunucu tarafından iÅŸleme alınan tüm istekleri + kaydeder. EriÅŸim günlüğünün yeri ve içeriÄŸi <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi ile belirlenir. + <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesi ile + günlük içeriÄŸini kiÅŸiselleÅŸtirmek mümkündür. Bu bölümde sunucunun + bilgileri eriÅŸim günlüğüne kaydetmesi için nasıl yapılandırılacağından + bahsedilecektir.</p> + + <p>Şüphesiz, bilginin eriÅŸim günlüğünde saklanması günlük yönetiminde ilk + adımı oluÅŸturur. Sonraki adım yararlı istatistikleri üretmek için bu + bilgiyi incelemektir. Günlük incelemesi bu belgenin kapsamına dahil + deÄŸildir ve aslında bu iÅŸlem sunucunun yaptığı iÅŸlerden biri deÄŸildir. + Bu konu ve günlük incelemesi yapan uygulamalar hakkında daha ayrıntılı + bilgi edinmek için <a href="http://dmoz.org/Computers/Software/Internet/Site_Management/Log_analysis/">dmoz.org</a> veya <a href="http://dir.yahoo.com/Computers_and_Internet/Software/Internet/World_Wide_Web/Servers/Log_Analysis_Tools/">Yahoo</a>’ya bakınız.</p> + + <p>Apache httpd’nin çeÅŸitli sürümlerinde eriÅŸim günlüklerini denetlemek + için kullanılan diÄŸer modüller ve yönergeler arasında mod_log_referer, + mod_log_agent modülleri ve <code>TransferLog</code> yönergesi + sayılabilir. Artık, daha eski tüm diÄŸer yönergelerin iÅŸlevselliklerini + bir araya toplayan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi kullanılmaktadır.</p> + + <p>EriÅŸim günlüğünün girdi biçemi kolayca isteÄŸe göre + düzenlenebilmektedir. Biçemi belirtmekte kullanılan biçem dizgesi, C + tarzı printf(1) biçem dizgesini andırır. Sonraki bölümlerde bazı + örneklere yer verilmiÅŸtir. Biçem dizgesini oluÅŸturan belirteçlerin tam + listesi için <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code> belgesinin <a href="mod/mod_log_config.html#formats">Günlük Girdilerinin + KiÅŸiselleÅŸtirilmesi</a> bölümüne bakınız.</p> + + <h3><a name="common" id="common">Ortak Günlük Biçemi (OGB)</a></h3> + + + <p>EriÅŸim günlüğü için sıklıkla kullanılan bir yapılandırma:</p> + + <div class="example"><p><code> + LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> + CustomLog logs/access_log common + </code></p></div> + + <p>Ä°lk satırda belli bir biçem dizgesi için <code>common</code> diye bir + <em>takma ad</em> tanımlanmaktadır. Biçem dizgesi, sunucuya hangi + belli bir bilgi parçalarını günlükleyeceÄŸini söyleyen % imli biçem + belirteçlerinden oluÅŸur. Biçem dizgesine ayrıca dizgesel sabitler de + yerleÅŸtirilebilir ve bunlar eriÅŸim günlüğüne oldukları gibi + kopyalanırlar. Biçem dizgesi içinde çift tırnak karakteri (") biçem + dizgesini vaktinden önce sonlandırmaması için ters bölü çizgisi ile + öncelenmelidir. Biçem dizgesi ayrıca, satır sonlarını belirtmek için + "<code>\n</code>" ve sekmeleri belirtmek için "<code>\t</code>" + denetim karakterlerini de içerebilir.</p> + + <p><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi + evvelce tanımlanmış bir <em>takma adı</em> kullanarak yeni bir günlük + dosyası tanımlar. EriÅŸim günlüğünün dosya ismi bölü çizgisi ile + baÅŸlamadıkça dosya yolunun <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> deÄŸerine göreli olduÄŸu varsayılır.</p> + + <p>Yukarıdaki yapılandırma günlük dosyasına girdileri Ortak Günlük + Biçemi (Common Log Format) adı verilen standart biçemde yazar. + Bu standart biçem baÅŸka HTTP sunucuları tarafından da kullanılır ve + çoÄŸu günlük inceleme yazılımı tarafından tanınır. Ortak Günlük + Biçeminde üretilen günlük girdileri şöyle görünür:</p> + + <div class="example"><p><code> + 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + </code></p></div> + + <p>Bu günlük girdisini parça parça açıklayalım:</p> + + <dl> + <dt><code>127.0.0.1</code> (<code>%h</code>)</dt> + + <dd>Bu, sunucuya istek yapan istemcinin (uzak konağın) IP adresidir. + EÄŸer <code class="directive"><a href="./mod/core.html#hostnamelookups">HostnameLookups</a></code> + yönergesine <code>On</code> deÄŸeri atanmışsa sunucu bu IP adresi + için DNS sorgusu yapacak ve IP adresi yerine bulduÄŸu konak ismini + yazmaya çalışacaktır. Bununla birlikte, bu iÅŸlem sunucuyu epeyce + yavaÅŸlattığından önerilmemektedir. Konak isimlerini saptamak için en + iyisi günlük girdilerini <code class="program"><a href="./programs/logresolve.html">logresolve</a></code> gibi bir + günlük iÅŸlemcisinden geçirmektir. Burada raporlanan IP adresi + doÄŸrudan istemcinin IP adresi olmayabilir. EÄŸer sunucu ile istemci + arasında bir vekil sunucu varsa bu IP adresi, vekil sunucunun IP + adresi olacaktır.</dd> + + <dt><code>-</code> (<code>%l</code>)</dt> + + <dd>Çıktıdaki bir "tire" imi istenen bilgi parçasının mevcut olmadığı + anlamına gelir. Bu durumda, mevcut olmayan bilgi istemci makine + üzerinde <code>identd</code> tarafından belirlenen istemcinin RFC + 1413 kimliÄŸidir. Bu bilgi oldukça güvenilmezdir ve sıkıca denetlenen + iç aÄŸlar haricinde hemen hemen asla kullanılmamalıdır. Apache, + <code class="directive"><a href="./mod/core.html#identitycheck">IdentityCheck</a></code> yönergesine + <code>On</code> deÄŸeri atanmış olmadıkça bu bilgiyi saptamaya + uÄŸraÅŸmaz.</dd> + + <dt><code>frank</code> (<code>%u</code>)</dt> + + <dd>Bu, belge isteÄŸinde bulunan kiÅŸinin HTTP kimlik doÄŸrulamasıyla + saptanan kullanıcı kimliÄŸidir. Bu deÄŸer CGI betiklerine + <code>REMOTE_USER</code> ortam deÄŸiÅŸkeni ile saÄŸlanır. EÄŸer istek + için durum kodu 401 ise (aÅŸağıya bakınız) henüz kullanıcının kimliÄŸi + doÄŸrulanmamış olacağından bu deÄŸere güvenilmemelidir. EÄŸer belge + parola korumalı deÄŸilse günlüğün bu kısmı da yukarıdaki gibi + "<code>-</code>" olacaktır.</dd> + + <dt><code>[10/Oct/2000:13:55:36 -0700]</code> + (<code>%t</code>)</dt> + + <dd>Ä°steÄŸin alındığı tarih ve saat. Biçemi şöyledir: + + <p class="indent"> + <code>[gün/ay/yıl:saat:dakika:saniye dilim]<br /> + gün = 2 hane<br /> + ay = 3 harf<br /> + yıl = 4 hane<br /> + saat = 2 hane<br /> + dakika = 2 hane<br /> + saniye = 2 hane<br /> + dilim = (`+' | `-') 4 hane</code> + </p> + Günlük biçem dizgesinde zaman gösterim biçemini + <code>%{<em>biçem</em>}t</code> ÅŸeklinde belirtmek de mümkündür. + Buradaki <code><em>biçem</em></code> dizgesi, stardart C + kütüphanesindeki <code>strftime(3)</code> iÅŸlevi için tanımlanmış + biçem belirteçleriyle oluÅŸturulabilir. + </dd> + + <dt><code>"GET /apache_pb.gif HTTP/1.0"</code> + (<code>\"%r\"</code>)</dt> + + <dd>Ä°stemciden alınan istek satırının çift tırnaklar arasında + gösterilmesi istenmiÅŸtir. Ä°stek satırı en yararlı bilgi parçalarını + içerir. Birincisi, istemci tarafından kullanılan yöntem + <code>GET</code>’miÅŸ. Ä°kinci olarak istemci + <code>/apache_pb.gif</code> dosyasını istemiÅŸ ve üçüncü olarak + istemci <code>HTTP/1.0</code> protokolünü kullanmış. Ä°stek satırının + bazı parçalarını bağımsız olarak da günlüklemek mümkündür. ÖrneÄŸin, + "<code>%m %U%q %H</code>" dizgesi, yöntem, yol, sorgu dizgesi ve + protokolü kaydedecektir; bu dizge "<code>%r</code>" biçem + belirtecinin tek başına yaptığı iÅŸi yapar.</dd> + + <dt><code>200</code> (<code>%>s</code>)</dt> + + <dd>Bu, sunucunun istemciye gönderdiÄŸi durum kodudur. Ä°steÄŸin + baÅŸarıyla yerine getirilip getirilmediÄŸini gösterdiÄŸi için bu bilgi + çok deÄŸerlidir. Durum kodu 2 ile baÅŸlıyorsa istek baÅŸarıyla yerine + getirilmiÅŸtir, 3 ile baÅŸlıyorsa yönlendirilmiÅŸtir, 4 ile baÅŸlıyorsa + istemci tarafında bir hata oluÅŸmuÅŸtur, 5 ile baÅŸlıyorsa sunucuda bir + hata oluÅŸmuÅŸtur. Olası hata kodlarının tam listesi <a href="http://www.w3.org/Protocols/rfc2616/rfc2616.txt">RFC2616 Hiper + Metin Aktarım Protokolü</a>nün 10. bölümünde bulunabilir.</dd> + + <dt><code>2326</code> (<code>%b</code>)</dt> + + <dd>Son parça istemciye döndürülen nesnenin yanıt baÅŸlığı hariç + uzunluÄŸudur. EÄŸer istemciye bir içerik döndürülmemiÅŸse bu deÄŸer + "<code>-</code>" olacaktır. Bunun yerine günlüğe "<code>0</code>" + yazdırmak için <code>%B</code> belirtecini kullanınız.</dd> + </dl> + + + <h3><a name="combined" id="combined">BirleÅŸik Günlük Biçemi</a></h3> + + + <p>Sıklıkla kullanılan diÄŸer bir biçem dizgesi BirleÅŸik Günlük Biçemi + (Combined Log Format) olup şöyle kullanılabilir:</p> + + <div class="example"><p><code> + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\"" combined<br /> + CustomLog log/access_log combined + </code></p></div> + + <p>Bu biçem ilaveten 2 alan içermesi dışında Ortak Günlük Biçemi ile + aynıdır. Ä°lave alanların ikisi de <code>%{<em>baÅŸlık</em>}i</code> + biçeminde olup buradaki <code><em>baÅŸlık</em></code>, HTTP isteÄŸindeki + baÅŸlık alanlarından biridir. Bu biçemin kullanıldığı bir eriÅŸim + günlüğü girdisi şöyle olurdu:</p> + + <div class="example"><p><code> + 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + "http://www.example.com/start.html" "Mozilla/4.08 [en] + (Win98; I ;Nav)" + </code></p></div> + + <p>Ek alanlar:</p> + + <dl> + <dt><code>"http://www.example.com/start.html"</code> + (<code>\"%{Referer}i\"</code>)</dt> + + <dd>HTTP istek baÅŸlığı "Referer". Ä°stemcinin raporladığı isteÄŸin + kaynaklandığı URI. (Bu isteÄŸin yapılmasını saÄŸlayan baÄŸlantıyı + içeren URL veya istek bir sayfanın bileÅŸenleri ile ilgiliyse istenen + sayfanın URL’si olabilir.)</dd> + + <dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code> + (<code>\"%{User-agent}i\"</code>)</dt> + + <dd>Tarayıcı kimliÄŸini içeren HTTP istek baÅŸlığı. Bu istemcinin + tarayıcısının raporladığı kendi tanıtım bilgisidir.</dd> + </dl> + + + <h3><a name="multiple" id="multiple">Çok Sayıda EriÅŸim Günlüğü</a></h3> + + + <p>Yapılandırma dosyasında çok sayıda <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi kullanarak çok + sayıda eriÅŸim günlüğü kolayca oluÅŸturulabilir. ÖrneÄŸin aÅŸağıdaki + yönergelerle 3 tane eriÅŸim günlüğü oluÅŸturulacaktır. Ä°lki temel OGB + bilgisini içerirken diÄŸer ikisi isteÄŸin kaynaklandığı yeri ve tarayıcı + kimliÄŸini içerir. Son iki <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> satırı ayrıca, <code>ReferLog</code> ve + <code>AgentLog</code> yönergelerinin etkilerinin nasıl taklit + edileceÄŸini de göstermektedir.</p> + + <div class="example"><p><code> + LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> + CustomLog logs/access_log common<br /> + CustomLog logs/referer_log "%{Referer}i -> %U"<br /> + CustomLog logs/agent_log "%{User-agent}i" + </code></p></div> + + <p>Bu örnek ayrıca, <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesi ile bir takma ad tanımlamanın ÅŸart + olmadığını da göstermektedir. Günlük biçemi doÄŸrudan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinde + belirtilebilir.</p> + + + <h3><a name="conditional" id="conditional">Åžarta BaÄŸlı Günlükler</a></h3> + + + <p>Bazı durumlarda istemcinin yaptığı isteÄŸe baÄŸlı olarak eriÅŸim + günlüğünde belli girdilerin dışlanması gerekebilir. Bu, <a href="env.html">ortam deÄŸiÅŸkenleri</a> sayesinde kolayca yerine + getirilebilir. Önce isteÄŸin belli koÅŸulları saÄŸladığını belirten bir + ortam deÄŸiÅŸkeni ataması yapılır. Bu iÅŸlem <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile yapılır. + Sonra da, ortam deÄŸiÅŸkenine baÄŸlı olarak isteklerin günlüğe dahil + edilip edilmeyeceÄŸi <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinin + <code>env=</code> deyimi kullanılarak belirtilir. Bazı örnekler:</p> + + <div class="example"><p><code> + # yerel konaktan kaynaklanan istekleri imleyelim<br /> + SetEnvIf Remote_Addr "127\.0\.0\.1" kaydetme<br /> + # robots.txt dosyası isteklerini imleyelim<br /> + SetEnvIf Request_URI "^/robots\.txt$" kaydetme<br /> + # Kalanları günlüğe kaydedelim<br /> + CustomLog logs/access_log common env=!kaydetme + </code></p></div> + + <p>BaÅŸka bir örnek olarak, Türkçe belge isteklerini bir dosyaya diÄŸer + dillerdeki istekleri baÅŸka bir dosyaya kaydedelim.</p> + + <div class="example"><p><code> + SetEnvIf Accept-Language "tr" turkce<br /> + CustomLog logs/turkce_log common env=turkce<br /> + CustomLog logs/diger_diller_log common env=!turkce + </code></p></div> + + <p>Åžarta baÄŸlı günlük kaydının çok esnek ve güçlü olabileceÄŸini + göstermiÅŸ olsak da günlük içeriÄŸini denetlemenin tek yolu bu deÄŸildir. + Günlük dosyaları sunucu etkinliÄŸini eksiksiz olarak kaydedebildikleri + takdirde daha yararlı olurlar. Günlük dosyalarını sonradan iÅŸleme tabi + tutarak istenmeyen girdileri kaldırılmış bir kopya almak hem kolay hem + de daha yararlıdır.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="rotation" id="rotation">Günlük Çevrimi</a></h2> + + + <p>Yükü ağır sunucularda günlük dosyalarına kaydedilen bilginin miktarı + çok büyük boyutlara ulaÅŸabilir. 10.000 istek içeren bir eriÅŸim günlüğü + yaklaşık 1MB yer kaplar. Etkin günlük dosyasını belirli aralıklarla + deÄŸiÅŸtirmek veya silmek gerekebilir. Apache çalışırken dosyayı sürekli + açık tuttuÄŸu ve yazdığı için bu iÅŸlem sunucu çalışırken yapılamaz. Bu + bakımdan, günlük dosyası deÄŸiÅŸtirildikten veya silindikten sonra yeni + dosyanın açılması için <a href="stopping.html">sunucunun yeniden + baÅŸlatılması</a> gerekir.</p> + + <p><a href="stopping.html#graceful">Nazikçe yeniden baÅŸlatmak</a> + suretiyle sunucunun, mevcut ve bekleyen baÄŸlantıları kaybetmeden yeni + günlük dosyalarını açması saÄŸlanabilir. Bununla birlikte, bu iÅŸlem + sırasında sunucunun eski isteklere sunumu bitirene kadar eski günlük + dosyalarına yazmaya devam edebilmesi gerekir. Bu bakımdan, yeniden + baÅŸlatmanın ardından eski günlük dosyaları üzerinde bir iÅŸlem yapmadan + önce biraz beklemek gerekir. Günlük dosyalarını döndürürken kullanılan + senaryolarda genellikle eski günlük dosyaları yer kazanmak için + sıkıştırılırlar:</p> + + <div class="example"><p><code> + mv access_log access_log.old<br /> + mv error_log error_log.old<br /> + apachectl graceful<br /> + sleep 600<br /> + gzip access_log.old error_log.old + </code></p></div> + + <p>Günlük çevrimi yapmanın baÅŸka bir yolu da sonraki bölümde açıklandığı + gibi <a href="#piped">borulu günlükler</a> kullanmaktır.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="piped" id="piped">Borulu Günlükler</a></h2> + + + <p>Apache httpd hata ve eriÅŸim günlüklerini doÄŸrudan bir dosyaya yazmak + yerine bir boru üzerinden baÅŸka bir sürece yazabilir. Bu yetenek ana + sunucuya herhangi bir kod eklemeksizin günlükleme esnekliÄŸini ÅŸaşırtıcı + derecede arttırır. Günlükler boruya yazılmak istenirse dosya ismini boru + karakteriyle ("<code>|</code>") deÄŸiÅŸtirip ardına günlük girdilerini + standart girdisinden kabul edecek programın ismini eklemek yeterlidir. + Apache sunucusu baÅŸlatıldığı zaman borulu günlük iÅŸlemini de + baÅŸlatacaktır. EÄŸer sunucu çalışırken günlükleri kabul eden süreç + çökerse Apache bu programı yeniden baÅŸlatır. (Bu son özelliÄŸi sebebiyle + bu tekniÄŸe “güvenilir borulu günlükleme†adını veriyoruz.)</p> + + <p>Borulu günlük süreçleri ana Apache httpd süreci tarafından baÅŸlatılır + ve bu süreçler ana Apache httpd sürecinin kullanıcı kimliÄŸini miras + alırlar. Yani borulu günlükleme programları aslında root tarafından + çalıştırılmış gibi olur. Bu bakımdan, bu programları basit ve güvenilir + kılmak çok önemlidir.</p> + + <p>Borulu günlüklerin önemli kullanım alanlarından biri de sunucuyu + yeniden baÅŸlatmak gerekmeksizin günlük çevrimini mümkün kılmaktır. + Apache HTTP sunucusu bu amaçla kullanılmak üzere + <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code> diye bir program içerir. ÖrneÄŸin, + günlükleri 24 saatte bir döndürmek isterseniz bunu şöyle + yapabilirsiniz:</p> + + <div class="example"><p><code> + CustomLog "|/usr/local/apache/bin/rotatelogs + /var/log/access_log 86400" common + </code></p></div> + + <p>Borunun diÄŸer ucundaki süreci baÅŸlatacak komutun tırnak içine + alındığına dikkat ediniz. Bu örnekler eriÅŸim günlüğü için verilmiÅŸse de + aynı teknik hata günlüğü için de kullanılabilir.</p> + + <p>Hariçten bir uygulama olarak <a href="http://www.cronolog.org/">cronolog</a> isminde buna benzer ancak + çok daha esnek bir program daha vardır.</p> + + <p>Borulu günlükler de ÅŸarta baÄŸlı günlükleme kadar güçlü olmakla beraber + çevrimdışı ardıl iÅŸlemler gibi daha basit çözümler için + kullanılmamalıdır.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="virtualhost" id="virtualhost">Sanal Konaklar</a></h2> + + + <p>Bir sunucu çok sayıda <a href="vhosts/">sanal konak</a> ile hizmet + sunarken bunların günlük kayıtları için çeÅŸitli seçenekler mevcuttur. + Ä°lk seçenekte, sanki sunucu tek bir konakla hizmet sunuyormuÅŸ gibi + günlük kaydı yapılır. Günlükleme yönergelerini <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> bölümlerinin dışına, ana sunucu + baÄŸlamına yerleÅŸtirerek tüm isteklerin aynı eriÅŸim ve hata günlüğüne + yazılmasını saÄŸlamak olasıdır. Bu teknik, tek tek sanal konaklar için + kolayca istatistik toplamaya izin vermez.</p> + + <p>EÄŸer <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> + veya <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> yönergesi bir + <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> bölümüne + yerleÅŸtirilirse bu sanal konaÄŸa bütün eriÅŸimler veya hatalar belirtilen + dosyaya günlüklenecektir. Böyle günlükleme yönergeleri içermeyen sanal + konakların günlükleri hala ana sunucunun hata ve eriÅŸim günlüklerine + yazılmaya devam edecektir. Bu teknik az sayıda sanal konak barındıran + sunucular için çok kullanışlıdır. Fakat sanal konak sayısı çok fazlaysa + bu teknikle günlük dosyalarını yönetmek çok karmaşık bir hal alabilir. + Ayrıca, <a href="vhosts/fd-limits.html">yetersiz dosya tanıtıcısı</a> + sorunlarıyla çok sık karşılaşılabilir.</p> + + <p>EriÅŸim günlükleri için çok az bir fedakarlıkla çok iyi bir çözüm vardır. + Günlük biçemine sanal konaklarla ilgili bilgi eklemek suretiyle tüm + konakların aynı günlük dosyasını kullanmaları olasıdır. Böylece günlük + dosyası sonradan her sanal konak için ayrı bir dosya oluÅŸturmak üzere + ayrıştırılabilir. ÖrneÄŸin, bu iÅŸlem için ÅŸu yönergeler kullanılıyor + olsun:</p> + + <div class="example"><p><code> + LogFormat "%v %l %u %t \"%r\" %>s %b" + ortaksankon<br /> + CustomLog logs/access_log ortaksankon + </code></p></div> + + <p><code>%v</code> belirteci isteÄŸi sunan sanal konağın ismini günlüğe + yazmak için kullanılır. Daha sonra <a href="programs/other.html">split-logfile</a> gibi bir program + kullanarak, bu dosyadan her sanal konak için ayrı birer dosya elde + edilebilir.</p> + </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">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> + + <h3>Gönderilen ve alınan bayt sayısının günlüklenmesi</h3> + + + <p><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code> modülü <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesinde kullanılan + biçem belirteçlerine alınan ve gönderilen bayt sayıları için iki + belirteç (%I ve %O) ekler.</p> + + + <h3>Adli Günlük</h3> + + + <p><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code> modülü istemci isteklerinin kanıt + olarak kullanılmak amacıyla günlüklenmesini saÄŸlar. Günlükleme her + istek için isteÄŸe hizmet sunmadan önce ve sonra olmak üzere iki defa + yapılır. Böylece günlük dosyasında baÅŸarılı her istek için iki satır + bulunur. Adli günlükleme çok sıkı kurallara tabi olup + kiÅŸiselleÅŸtirilemez. Güvenlik ve hata ayıklama aracı olarak yararlı + deÄŸildir.</p> + + + <h3><a name="pidfile" id="pidfile">PID Dosyası</a></h3> + + + <p>Apache httpd baÅŸlatıldığında, ana httpd sürecinin kimliÄŸi (PID) + <code>logs/httpd.pid</code> dosyasına kaydedilir. Bu dosyanın ismi + <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> yönergesi ile + deÄŸiÅŸtirilebilir. Bu süreç kimliÄŸi sistem yöneticisi tarafından ana + sürece sinyal göndererek artalan sürecini sonlandırmak veya yeniden + baÅŸlatmak için kullanılır. Windows üzerinde bu iÅŸlem için + <code>-k</code> komut satırı seçeneÄŸi kullanılır. Bu konuda daha + ayrıntılı bilgi edinmek için <a href="stopping.html">Durdurma ve + Yeniden BaÅŸlatma</a> belgesine bakınız.</p> + + + <h3><a name="scriptlog" id="scriptlog">Betik Günlüğü</a></h3> + + + <p><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code> yönergesi CGI + betiklerinin girdi ve çıktılarını kaydetmenizi mümkün kılmak suretiyle + hata ayıklamaya yardımcı olur. Bu sadece deneysel amaçla kullanılmalı, + asıl sunucuya uygulanmamalıdır. <a href="mod/mod_cgi.html">mod_cgi</a> + belgesinde daha fazla bilgi bulunabilir.</p> + + + <h3><a name="rewritelog" id="rewritelog">Yeniden Yazım Günlüğü</a></h3> + + + <p>Güçlü ve karmaşık <a href="mod/mod_rewrite.html">mod_rewrite</a> + özellikleri kullanılırken, hata ayıklamaya yardımcı olmak için + <code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code> yönergesini + kullanmak gerekebilir. Yönerge, günlük dosyasında yeniden yazım + motorunun istekleri nasıl dönüştürdüğüyle ilgili ayrıntılı bir döküm + üretir. Ayrıntı seviyesi <code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code> yönergesi ile belirlenir.</p> + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/logs.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 df57cd0f..0f2f79ca 100644 --- a/docs/manual/misc/index.html +++ b/docs/manual/misc/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.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/misc/index.html.en b/docs/manual/misc/index.html.en index d6f92fff..b48b44de 100644 --- a/docs/manual/misc/index.html.en +++ b/docs/manual/misc/index.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache Miscellaneous Documentation</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/misc/" title="English"> en </a> | -<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -80,7 +81,8 @@ </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/misc/" title="English"> en </a> | -<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/misc/index.html.ko.euc-kr b/docs/manual/misc/index.html.ko.euc-kr index b55ffb41..b94db517 100644 --- a/docs/manual/misc/index.html.ko.euc-kr +++ b/docs/manual/misc/index.html.ko.euc-kr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <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/misc/" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/misc/" title="Korean"> ko </a></p> +<a href="../ko/misc/" title="Korean"> ko </a> | +<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -71,7 +72,8 @@ </div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/misc/" title="Korean"> ko </a></p> +<a href="../ko/misc/" title="Korean"> ko </a> | +<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/misc/index.html.tr.utf8 b/docs/manual/misc/index.html.tr.utf8 new file mode 100644 index 00000000..37a14927 --- /dev/null +++ b/docs/manual/misc/index.html.tr.utf8 @@ -0,0 +1,90 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ÇeÅŸitli Belgeler - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="../"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>ÇeÅŸitli Belgeler</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/" title="Türkçe"> tr </a></p> +</div> + + + <p>AÅŸağıda listelenen belgeler de Apache HTTP sunucusu geliÅŸtirme projesi + kapsamındadır.</p> + + <div class="warning"><h3>Uyarı</h3> + <p>AÅŸağıdaki belgeler, Apache HTTP Sunucusunun 2.1 sürümünde yapılmış + deÄŸiÅŸikliklere göre tam olarak güncellenmemiÅŸtir. Hala güncel kalmış + bazı bilgiler olabilir, fakat siz yine de bu belgeleri kullanırken + dikkatli olun.</p> + </div> + + <dl> + <dt><a href="perf-tuning.html">BaÅŸarım Arttırma Ä°puçları - Apache’ye + Ä°nce Ayar Çekilmesi</a></dt> + + <dd> + <p>Yüksek baÅŸarım elde etmek için Apache yapılandırmasında (çalışma + anında ve derleme sırasında) yapılacaklar ile ilgili bazı bilgiler + yanında Apache’de bazı ÅŸeylerin (bir ÅŸeyleri hızlandıran ve + yavaÅŸlatan ÅŸeylerin) yapılma ve yapılmama sebepleri + açıklanmıştır.</p> + </dd> + + <dt><a href="security_tips.html">Güvenlik Ä°puçları</a></dt> + + <dd> + <p>Apache HTTP sitenizi güvenli kılmak için yapılacaklar ve + yapılmayacaklar.</p> + </dd> + + <dt><a href="rewriteguide.html">URL Yeniden Yazma Rehberi</a></dt> + + <dd> + <p>Bu belge <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün <a href="../mod/mod_rewrite.html">baÅŸvuru belgesi</a> yerine geçer. + Site yöneticilerinin sıkça karşılaÅŸtıkları belli baÅŸlı URL temelli + sorunları çözümlemek için Apache’nin <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + modülünün nasıl kullanılacağını açıklar.</p> + </dd> + + <dt><a href="relevant_standards.html">Ä°lgili Standartlar</a></dt> + + <dd> + <p>Bu belge Apache’nin uyacağı standartların bir çoÄŸuna atıfta + bulunmak amacıyla hazırlanmıştır.</p> + </dd> + + <dt><a href="password_encryptions.html">Parola Åžifreleme Biçimleri</a> + </dt> + + <dd> + <p>Belgede, kimlik doÄŸrulama amacıyla Apache tarafından desteklenen + çeÅŸitli ÅŸifreleme tekniklerinden bahsedilmiÅŸtir.</p> + </dd> + </dl> + + </div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/password_encryptions.html.en b/docs/manual/misc/password_encryptions.html.en index 4f15b80d..e16b9494 100644 --- a/docs/manual/misc/password_encryptions.html.en +++ b/docs/manual/misc/password_encryptions.html.en @@ -181,9 +181,9 @@ <div class="example"><h3>Java</h3><p><code> byte b[] = java.security.MessageDigest.getInstance("MD5").digest( (user + ":" + realm + ":" + password ).getBytes());<br /> - java.math.BigInteger bi = new java.math.BigInteger(b);<br /> + java.math.BigInteger bi = new java.math.BigInteger(1, b);<br /> String s = bi.toString(16);<br /> - if (s.length() % 2 != 0)<br /> + while (s.length() < 32)<br /> <span class="indent"> s = "0" + s; </span> diff --git a/docs/manual/misc/rewriteguide.html.en b/docs/manual/misc/rewriteguide.html.en index 6c8fe59f..b8eeeaae 100644 --- a/docs/manual/misc/rewriteguide.html.en +++ b/docs/manual/misc/rewriteguide.html.en @@ -128,7 +128,7 @@ <div class="example"><pre> RewriteRule ^/<strong>~</strong>([^/]+)/?(.*) /<strong>u</strong>/$1/$2 [<strong>R</strong>] -RewriteRule ^/([uge])/(<strong>[^/]+</strong>)$ /$1/$2<strong>/</strong> [<strong>R</strong>] +RewriteRule ^/u/(<strong>[^/]+</strong>)$ /$1/$2<strong>/</strong> [<strong>R</strong>] </pre></div> </dd> </dl> diff --git a/docs/manual/misc/security_tips.html b/docs/manual/misc/security_tips.html index a5631f3e..893872b5 100644 --- a/docs/manual/misc/security_tips.html +++ b/docs/manual/misc/security_tips.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: security_tips.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: security_tips.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/misc/security_tips.html.en b/docs/manual/misc/security_tips.html.en index 589a6b8e..5be80b31 100644 --- a/docs/manual/misc/security_tips.html.en +++ b/docs/manual/misc/security_tips.html.en @@ -19,10 +19,11 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Miscellaneous Documentation</a></div><div id="page-content"><div id="preamble"><h1>Security Tips</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/misc/security_tips.html" title="English"> en </a> | -<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> - <p>Some hints and tips on security issues in setting up a web server. + <p>Some hints and tips on security issues in setting up a web server. Some of the suggestions will be general, others specific to Apache.</p> </div> <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#uptodate">Keep up to Date</a></li> @@ -60,18 +61,18 @@ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="serverroot" id="serverroot">Permissions on ServerRoot Directories</a></h2> - - - - <p>In typical operation, Apache is started by the root user, and it - switches to the user defined by the <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> directive to serve hits. As is the - case with any command that root executes, you must take care that it is - protected from modification by non-root users. Not only must the files - themselves be writeable only by root, but so must the directories, and - parents of all directories. For example, if you choose to place - ServerRoot in /usr/local/apache then it is suggested that you create - that directory as root, with commands like these:</p> + + + <p>In typical operation, Apache is started by the root user, and it + switches to the user defined by the <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> directive to serve hits. As is the + case with any command that root executes, you must take care that it is + protected from modification by non-root users. Not only must the files + themselves be writeable only by root, but so must the directories, and + parents of all directories. For example, if you choose to place + ServerRoot in <code>/usr/local/apache</code> then it is suggested that + you create that directory as root, with commands like these:</p> + <div class="example"><p><code> mkdir /usr/local/apache <br /> cd /usr/local/apache <br /> @@ -80,125 +81,127 @@ chgrp 0 . bin conf logs <br /> chmod 755 . bin conf logs </code></p></div> - - <p>It is assumed that /, /usr, and /usr/local are only modifiable by - root. When you install the <code class="program"><a href="../programs/httpd.html">httpd</a></code> executable, you - should ensure that it is similarly protected:</p> - + + <p>It is assumed that <code>/</code>, <code>/usr</code>, and + <code>/usr/local</code> are only modifiable by root. When you install the + <code class="program"><a href="../programs/httpd.html">httpd</a></code> executable, you should ensure that it is + similarly protected:</p> + <div class="example"><p><code> cp httpd /usr/local/apache/bin <br /> chown 0 /usr/local/apache/bin/httpd <br /> chgrp 0 /usr/local/apache/bin/httpd <br /> chmod 511 /usr/local/apache/bin/httpd </code></p></div> - - <p>You can create an htdocs subdirectory which is modifiable by other - users -- since root never executes any files out of there, and shouldn't + + <p>You can create an htdocs subdirectory which is modifiable by other + users -- since root never executes any files out of there, and shouldn't be creating files in there.</p> - - <p>If you allow non-root users to modify any files that root either - executes or writes on then you open your system to root compromises. + + <p>If you allow non-root users to modify any files that root either + executes or writes on then you open your system to root compromises. For example, someone could replace the <code class="program"><a href="../programs/httpd.html">httpd</a></code> binary so that the next time you start it, it will execute some arbitrary code. If the logs directory is writeable (by a non-root user), someone could replace - a log file with a symlink to some other system file, and then root - might overwrite that file with arbitrary data. If the log files - themselves are writeable (by a non-root user), then someone may be + a log file with a symlink to some other system file, and then root + might overwrite that file with arbitrary data. If the log files + themselves are writeable (by a non-root user), then someone may be able to overwrite the log itself with bogus data.</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">Server Side Includes</a></h2> - - + - <p>Server Side Includes (SSI) present a server administrator with + + <p>Server Side Includes (SSI) present a server administrator with several potential security risks.</p> - - <p>The first risk is the increased load on the server. All - SSI-enabled files have to be parsed by Apache, whether or not - there are any SSI directives included within the files. While this - load increase is minor, in a shared server environment it can become + + <p>The first risk is the increased load on the server. All + SSI-enabled files have to be parsed by Apache, whether or not + there are any SSI directives included within the files. While this + load increase is minor, in a shared server environment it can become significant.</p> - - <p>SSI files also pose the same risks that are associated with CGI - scripts in general. Using the "exec cmd" element, SSI-enabled files - can execute any CGI script or program under the permissions of the - user and group Apache runs as, as configured in httpd.conf.</p> - - <p>There are ways to enhance the security of SSI files while still + + <p>SSI files also pose the same risks that are associated with CGI + scripts in general. Using the <code>exec cmd</code> element, SSI-enabled + files can execute any CGI script or program under the permissions of the + user and group Apache runs as, as configured in <code>httpd.conf</code>. + </p> + + <p>There are ways to enhance the security of SSI files while still taking advantage of the benefits they provide.</p> - - <p>To isolate the damage a wayward SSI file can cause, a server - administrator can enable <a href="../suexec.html">suexec</a> as + + <p>To isolate the damage a wayward SSI file can cause, a server + administrator can enable <a href="../suexec.html">suexec</a> as described in the <a href="#cgi">CGI in General</a> section.</p> - - <p>Enabling SSI for files with .html or .htm extensions can be - dangerous. This is especially true in a shared, or high traffic, - server environment. SSI-enabled files should have a separate extension, - such as the conventional .shtml. This helps keep server load at a - minimum and allows for easier management of risk.</p> - - <p>Another solution is to disable the ability to run scripts and + + <p>Enabling SSI for files with <code>.html</code> or <code>.htm</code> + extensions can be dangerous. This is especially true in a shared, or high + traffic, server environment. SSI-enabled files should have a separate + extension, such as the conventional <code>.shtml.</code> This helps keep + server load at a minimum and allows for easier management of risk.</p> + + <p>Another solution is to disable the ability to run scripts and programs from SSI pages. To do this replace <code>Includes</code> - with <code>IncludesNOEXEC</code> in the <code class="directive"><a href="../mod/core.html#options">Options</a></code> directive. Note that users may - still use <--#include virtual="..." --> to execute CGI scripts if - these scripts are in directories designated by a <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> directive.</p> - + with <code>IncludesNOEXEC</code> in the <code class="directive"><a href="../mod/core.html#options">Options</a></code> directive. Note that users may + still use <code><--#include virtual="..." --></code> to execute CGI + scripts if these scripts are in directories designated by a <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</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="cgi" id="cgi">CGI in General</a></h2> - - + - <p>First of all, you always have to remember that you must trust the - writers of the CGI scripts/programs or your ability to spot potential - security holes in CGI, whether they were deliberate or accidental. CGI - scripts can run essentially arbitrary commands on your system with the - permissions of the web server user and can therefore be extremely + + <p>First of all, you always have to remember that you must trust the + writers of the CGI scripts/programs or your ability to spot potential + security holes in CGI, whether they were deliberate or accidental. CGI + scripts can run essentially arbitrary commands on your system with the + permissions of the web server user and can therefore be extremely dangerous if they are not carefully checked.</p> - - <p>All the CGI scripts will run as the same user, so they have potential - to conflict (accidentally or deliberately) with other scripts e.g. User - A hates User B, so he writes a script to trash User B's CGI database. One + + <p>All the CGI scripts will run as the same user, so they have potential + to conflict (accidentally or deliberately) with other scripts e.g. User + A hates User B, so he writes a script to trash User B's CGI database. One program which can be used to allow scripts to run as different users is - <a href="../suexec.html">suEXEC</a> which is included with Apache as of - 1.2 and is called from special hooks in the Apache server code. Another - popular way of doing this is with + <a href="../suexec.html">suEXEC</a> which is included with Apache as of + 1.2 and is called from special hooks in the Apache server code. Another + popular way of doing this is with <a href="http://cgiwrap.unixtools.org/">CGIWrap</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="nsaliasedcgi" id="nsaliasedcgi">Non Script Aliased CGI</a></h2> - - + - <p>Allowing users to execute CGI scripts in any directory should only be + + <p>Allowing users to execute CGI scripts in any directory should only be considered if:</p> - + <ul> - <li>You trust your users not to write scripts which will deliberately + <li>You trust your users not to write scripts which will deliberately or accidentally expose your system to an attack.</li> - <li>You consider security at your site to be so feeble in other areas, + <li>You consider security at your site to be so feeble in other areas, as to make one more potential hole irrelevant.</li> <li>You have no users, and nobody ever visits your server.</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="saliasedcgi" id="saliasedcgi">Script Aliased CGI</a></h2> - - + - <p>Limiting CGI to special directories gives the admin control over what - goes into those directories. This is inevitably more secure than non - script aliased CGI, but only if users with write access to the - directories are trusted or the admin is willing to test each + + <p>Limiting CGI to special directories gives the admin control over what + goes into those directories. This is inevitably more secure than non + script aliased CGI, but only if users with write access to the + directories are trusted or the admin is willing to test each new CGI script/program for potential security holes.</p> - - <p>Most sites choose this option over the non script aliased CGI + + <p>Most sites choose this option over the non script aliased CGI 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="dynamic" id="dynamic">Other sources of dynamic content</a></h2> @@ -207,66 +210,67 @@ <p> Embedded scripting options which run as part of the server itself, - such as mod_php, mod_perl, mod_tcl, and mod_python, run under the - identity of the server itself (see the <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> directive), and therefore - scripts executed by these engines potentially can access anything the - server user can. Some scripting engines may provide restrictions, but + such as <code>mod_php</code>, <code>mod_perl</code>, <code>mod_tcl</code>, + and <code>mod_python</code>, run under the identity of the server itself + (see the <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> directive), and + therefore scripts executed by these engines potentially can access anything + the server user can. Some scripting engines may provide restrictions, but it is better to be safe and assume not.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="systemsettings" id="systemsettings">Protecting System Settings</a></h2> - - + - <p>To run a really tight ship, you'll want to stop users from setting - up <code>.htaccess</code> files which can override security features + + <p>To run a really tight ship, you'll want to stop users from setting + up <code>.htaccess</code> files which can override security features you've configured. Here's one way to do it.</p> - + <p>In the server configuration file, put</p> - + <div class="example"><p><code> <Directory /> <br /> AllowOverride None <br /> </Directory> </code></p></div> - - <p>This prevents the use of <code>.htaccess</code> files in all + + <p>This prevents the use of <code>.htaccess</code> files in all directories apart from those specifically enabled.</p> - + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="protectserverfiles" id="protectserverfiles">Protect Server Files by Default</a></h2> - - + - <p>One aspect of Apache which is occasionally misunderstood is the - feature of default access. That is, unless you take steps to change it, - if the server can find its way to a file through normal URL mapping + + <p>One aspect of Apache which is occasionally misunderstood is the + feature of default access. That is, unless you take steps to change it, + if the server can find its way to a file through normal URL mapping rules, it can serve it to clients.</p> - + <p>For instance, consider the following example:</p> - + <div class="example"><p><code> # cd /; ln -s / public_html <br /> Accessing <code>http://localhost/~root/</code> </code></p></div> - - <p>This would allow clients to walk through the entire filesystem. To - work around this, add the following block to your server's + + <p>This would allow clients to walk through the entire filesystem. To + work around this, add the following block to your server's configuration:</p> - + <div class="example"><p><code> <Directory /> <br /> Order Deny,Allow <br /> Deny from all <br /> </Directory> </code></p></div> - - <p>This will forbid default access to filesystem locations. Add - appropriate <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> blocks to + + <p>This will forbid default access to filesystem locations. Add + appropriate <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> blocks to allow access only in those areas you wish. For example,</p> - + <div class="example"><p><code> <Directory /usr/users/*/public_html> <br /> Order Deny,Allow <br /> @@ -277,73 +281,74 @@ Allow from all <br /> </Directory> </code></p></div> - - <p>Pay particular attention to the interactions of <code class="directive"><a href="../mod/core.html#location">Location</a></code> and <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> directives; for instance, even + + <p>Pay particular attention to the interactions of <code class="directive"><a href="../mod/core.html#location">Location</a></code> and <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> directives; for instance, even if <code><Directory /></code> denies access, a <code> <Location /></code> directive might overturn it.</p> - - <p>Also be wary of playing games with the <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> directive; setting it to - something like "./" would have the same effect, for root, as the first - example above. If you are using Apache 1.3 or above, we strongly - recommend that you include the following line in your server + + <p>Also be wary of playing games with the <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> directive; setting it to + something like <code>./</code> would have the same effect, for root, as + the first example above. If you are using Apache 1.3 or above, we strongly + recommend that you include the following line in your server configuration files:</p> - + <div class="example"><p><code> UserDir disabled root </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="watchyourlogs" id="watchyourlogs">Watching Your Logs</a></h2> - - + - <p>To keep up-to-date with what is actually going on against your server - you have to check the <a href="../logs.html">Log Files</a>. Even though - the log files only reports what has already happened, they will give you - some understanding of what attacks is thrown against the server and + + <p>To keep up-to-date with what is actually going on against your server + you have to check the <a href="../logs.html">Log Files</a>. Even though + the log files only reports what has already happened, they will give you + some understanding of what attacks is thrown against the server and allow you to check if the necessary level of security is present.</p> - + <p>A couple of examples:</p> - + <div class="example"><p><code> grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log <br /> grep "client denied" error_log | tail -n 10 </code></p></div> - + <p>The first example will list the number of attacks trying to exploit the - <a href="http://online.securityfocus.com/bid/4876/info/">Apache Tomcat - Source.JSP Malformed Request Information Disclosure Vulnerability</a>, + <a href="http://online.securityfocus.com/bid/4876/info/">Apache Tomcat + Source.JSP Malformed Request Information Disclosure Vulnerability</a>, the second example will list the ten last denied clients, for example:</p> - + <div class="example"><p><code> - [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied + [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied by server configuration: /usr/local/apache/htdocs/.htpasswd </code></p></div> - - <p>As you can see, the log files only report what already has happened, so - if the client had been able to access the <code>.htpasswd</code> file you + + <p>As you can see, the log files only report what already has happened, so + if the client had been able to access the <code>.htpasswd</code> file you would have seen something similar to:</p> - + <div class="example"><p><code> foo.example.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1" </code></p></div> - - <p>in your <a href="../logs.html#accesslog">Access Log</a>. This means - you probably commented out the following in your server configuration + + <p>in your <a href="../logs.html#accesslog">Access Log</a>. This means + you probably commented out the following in your server configuration file:</p> - + <div class="example"><p><code> <Files ~ "^\.ht"> <br /> Order allow,deny <br /> Deny from all <br /> </Files> </code></p></div> - + </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/misc/security_tips.html" title="English"> en </a> | -<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/misc/security_tips.html.ko.euc-kr b/docs/manual/misc/security_tips.html.ko.euc-kr index a78d8191..ca144843 100644 --- a/docs/manual/misc/security_tips.html.ko.euc-kr +++ b/docs/manual/misc/security_tips.html.ko.euc-kr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Miscellaneous Documentation</a></div><div id="page-content"><div id="preamble"><h1>º¸¾È ÆÁ</h1> <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/misc/security_tips.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/misc/security_tips.html" title="Korean"> ko </a></p> +<a href="../ko/misc/security_tips.html" title="Korean"> ko </a> | +<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -336,7 +337,8 @@ </div></div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/misc/security_tips.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/misc/security_tips.html" title="Korean"> ko </a></p> +<a href="../ko/misc/security_tips.html" title="Korean"> ko </a> | +<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/misc/security_tips.html.tr.utf8 b/docs/manual/misc/security_tips.html.tr.utf8 new file mode 100644 index 00000000..3bbd548a --- /dev/null +++ b/docs/manual/misc/security_tips.html.tr.utf8 @@ -0,0 +1,344 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Güvenlik Ä°puçları - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">ÇeÅŸitli Belgeler</a></div><div id="page-content"><div id="preamble"><h1>Güvenlik Ä°puçları</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/misc/security_tips.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/security_tips.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bir HTTP Sunucusunu ayarlarken dikkat edilmesi gerekenler ve bazı + ipuçları. Öneriler kısmen Apache’ye özel kısmen de genel olacaktır.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#uptodate">Güncel Tutma</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot"><code>ServerRoot</code> Dizinlerinin Ä°zinleri</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Sunucu Taraflı İçerik YerleÅŸtirme</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi">CGI Genelinde</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#nsaliasedcgi"><code>ScriptAlias</code>’sız CGI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#saliasedcgi"><code>ScriptAlias</code>’lı CGI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dynamic">Devingen içerikli kaynaklar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#systemsettings">Sistem Ayarlarının Korunması</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protectserverfiles">Sunucu dosyalarının öntanımlı olarak korunması</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#watchyourlogs">Günlüklerin Ä°zlenmesi</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="uptodate" id="uptodate">Güncel Tutma</a></h2> + + <p>Apache HTTP Sunucusu iyi bir güvenlik sicilinin yanında güvenlik + konularıyla oldukça ilgili bir geliÅŸtirici topluluÄŸuna sahiptir. Fakat, + bir yazılımın dağıtılmasının ardından küçük ya da büyük bazı sorunların + keÅŸfedilmesi kaçınılmazdır. Bu sebeple, yazılım güncellemelerinden + haberdar olmak oldukça önem kazanır. HTTP sunucunuzu doÄŸrudan + Apache’den temin ediyorsanız yeni sürümler ve güvenlik güncellemeleri + ile ilgili bilgileri tam zamanında alabilmek için <a href="http://httpd.apache.org/lists.html#http-announce">Apache + HTTP Sunucusu Duyuru Listesi</a>ne mutlaka üye olmanızı öneririz. + Apache yazılımının üçüncü parti dağıtımlarını yapanların da buna benzer + hizmetleri vardır.</p> + + <p>Şüphesiz, bir HTTP sunucusu, sunucu kodunda bir sorun olmasa da + tehlike altındadır. Eklenti kodları, CGI betikleri hatta iÅŸletim + sisteminden kaynaklanan sorunlar nedeniyle bu ortaya çıkabilir. Bu + bakımdan, sisteminizdeki tüm yazılımların sorunları ve güncellemeleri + hakkında bilgi sahibi olmalısını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="serverroot" id="serverroot"><code>ServerRoot</code> Dizinlerinin Ä°zinleri</a></h2> + + + <p>Normalde, Apache root kullanıcı tarafından baÅŸlatılır ve hizmetleri + sunarken <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> yönergesi + tarafından tanımlanan kullanıcının aidiyetinde çalışır. Root tarafından + çalıştırılan komutlarda olduÄŸu gibi, root olmayan kullanıcıların + yapacakları deÄŸiÅŸikliklerden korunmak konusunda da dikkatli + olmalısınız. Dosyaların sadece root tarafından yazılabilir olmasını + saÄŸlamak yeterli deÄŸildir, bu dizinler ve üst dizinler için de + yapılmalıdır. ÖrneÄŸin, sunucu kök dizininin + <code>/usr/local/apache</code> olmasına karar verdiyseniz, bu dizini + root olarak şöyle oluÅŸturmanız önerilir:</p> + + <div class="example"><p><code> + mkdir /usr/local/apache <br /> + cd /usr/local/apache <br /> + mkdir bin conf logs <br /> + chown 0 . bin conf logs <br /> + chgrp 0 . bin conf logs <br /> + chmod 755 . bin conf logs + </code></p></div> + + <p><code>/</code>, <code>/usr</code>, <code>/usr/local</code> + dizinlerinde sadece root tarafından deÄŸiÅŸiklik yapılabileceÄŸi kabul + edilir. <code class="program"><a href="../programs/httpd.html">httpd</a></code> çalıştırılabilirini kurarken de benzer + bir önlemin alındığından emin olmalısınız:</p> + + <div class="example"><p><code> + cp httpd /usr/local/apache/bin <br /> + chown 0 /usr/local/apache/bin/httpd <br /> + chgrp 0 /usr/local/apache/bin/httpd <br /> + chmod 511 /usr/local/apache/bin/httpd + </code></p></div> + + <p>DiÄŸer kullanıcıların deÄŸiÅŸiklik yapabileceÄŸi bir dizin olarak bir + <code>htdocs</code> dizini oluÅŸturabilirsiniz. Bu dizine root + tarafından çalıştırılabilecek dosyalar konulmamalı ve burada root + tarafından hiçbir dosya oluÅŸturulmamalıdır.</p> + + <p>DiÄŸer kullanıcılara root tarafından yazılabilen ve çalıştırılabilen + dosyalarda deÄŸiÅŸiklik yapma hakkını tanırsanız, onlara root + kullanıcısını ele geçirilebilme hakkını da tanımış olursunuz. ÖrneÄŸin, + biri <code class="program"><a href="../programs/httpd.html">httpd</a></code> çalıştırılabilirini zararlı bir programla + deÄŸiÅŸtirebilir ve o programı tekrar çalıştırdığınız sırada program + yapacağını yapmış olur. Günlükleri kaydettiÄŸiniz dizin herkes + tarafından yazılabilen bir dizin olduÄŸu takdirde, birileri bir günlük + dosyasını bir sistem dosyasına sembolik baÄŸ haline getirerek root + kullanıcısının bu dosyaya ilgisiz ÅŸeyler yazmasına sebep olabilir. + Günlüklerin dosyaları herkes tarafından yazılabilir olduÄŸu takdirde ise + birileri dosyaya yanıltıcı veriler girebilir.</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">Sunucu Taraflı İçerik YerleÅŸtirme</a></h2> + + + <p>SSI sayfaları bir sunucu yöneticisi açısından çeÅŸitli olası risklere + kaynaklık edebilir.</p> + + <p>Ä°lk risk, sunucu yükündeki artış olasılığıdır. Tüm SSI sayfaları, SSI + kodu içersin içermesin Apache tarafından çözümlenir. Bu küçük bir artış + gibi görünürse de bir paylaşımlı sunucu ortamında önemli bir yük haline + gelebilir.</p> + + <p>SSI sayfaları, CGI betikleriyle ilgili riskleri de taşır. <code>exec + cmd</code> elemanı kullanılarak bir SSI sayfasından herhangi bir CGI + betiÄŸini veya bir sistem programını Apache’nin aidiyetinde olduÄŸu + kullanıcının yetkisiyle çalıştırmak mümkündür.</p> + + <p>SSI sayfalarının yararlı özelliklerinden yararlanırken güvenliÄŸini de + arttırmanın bazı yolları vardır.</p> + + <p>Sunucu yöneticisi, bir başıbozuk SSI sayfasının sebep olabileceÄŸi + zararları bertaraf etmek için <a href="#cgi">CGI Genelinde</a> + bölümünde açıklandığı gibi <a href="../suexec.html">suexec</a>’i etkin + kılabilir.</p> + + <p>SSI sayfalarını <code>.html</code> veya <code>.htm</code> + uzantılarıyla etkinleÅŸtirmek tehlikeli olabilir. Bu özellikle + paylaşımlı ve yüksek trafikli bir sunucu ortamında önemlidir. SSI + sayfalarını normal sayfalardan farklı olarak <code>.shtml</code> gibi + bildik bir uzantıyla etkinleÅŸtirmek gerekir. Bu, sunucu yükünü asgari + düzeyde tutmaya ve risk yönetimini kolaylaÅŸtırmaya yarar.</p> + + <p>DiÄŸer bir çözüm de SSI sayfalarından betik ve program çalıştırmayı + iptal etmektir. Bu, <code class="directive"><a href="../mod/core.html#options">Options</a></code> + yönergesine deÄŸer olarak <code>Includes</code> yerine + <code>IncludesNOEXEC</code> vererek saÄŸlanır. Ancak, eÄŸer betiklerin + bulunduÄŸu dizinde <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + yönergesiyle CGI betiklerinin çalışması mümkün kılınmışsa, + kullanıcıların <code><--#include virtual="..." --></code> ile bu + betikleri çalıştırabileceklerine dikkat ediniz.</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">CGI Genelinde</a></h2> + + + <p>HerÅŸeyden önce ya CGI betiÄŸini/programını yazanlara ya da kendinizin + CGI'deki güvenlik açıklarını (ister kasıtlı olsun ister tesadüfi) + yakalama becerinize güvenmek zorundasınız. CGI betikleri esasen + sisteminizdeki komutları site kullanıcılarının izinleriyle + çalıştırırlar. Bu bakımdan dikkatle denenmedikleri takdirde oldukça + tehlikeli olabilirler.</p> + + <p>CGI betiklerinin hepsi aynı kullanıcının aidiyetinde çalışırsa diÄŸer + betiklerle aralarında çeliÅŸkilerin ortaya çıkması ister istemez + kaçınılmazdır. ÖrneÄŸin A kullanıcısının B kullanıcısına garezi varsa + bir betik yazıp B’nin CGI veritabanını silebilir. Bu gibi durumların + ortaya çıkmaması için betiklerin farklı kullanıcıların aidiyetlerinde + çalışmasını saÄŸlayan ve 1.2 sürümünden beri Apache ile dağıtılan <a href="../suexec.html">suEXEC</a> diye bir program vardır. BaÅŸka bir yol + da <a href="http://cgiwrap.unixtools.org/">CGIWrap</a> kullanmaktır.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="nsaliasedcgi" id="nsaliasedcgi"><code>ScriptAlias</code>’sız CGI</a></h2> + + + <p>Kullanıcıların sitenin her yerinde CGI betiklerini çalıştırmalarına + izin vermek ancak ÅŸu koÅŸullarda mümkün olabilir:</p> + + <ul> + <li>Kullanıcılarınızın kasıtlı ya da kasıtsız sistemi saldırıya açık + hale getirecek betikler yazmayacaklarına tam güveniniz vardır.</li> + <li>Sitenizin güvenliÄŸi zaten o kadar kötüdür ki, bir delik daha + açılmasının mahzuru yoktur.</li> + <li>Sitenizin sizden baÅŸka kullanıcısı yoktur ve sunucunuzu sizden + baÅŸka hiç kimsenin ziyaret etmesi mümkün deÄŸildir.</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="saliasedcgi" id="saliasedcgi"><code>ScriptAlias</code>’lı CGI</a></h2> + + + <p>CGI’yi belli dizinlerle sınırlamak yöneticiye bu dizinlerde daha iyi + denetim imkanı saÄŸlar. Bu kaçınılmaz olarak <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>’sız CGI’den çok daha + güvenlidir, ancak bu dizinlere yazma hakkı olan kullanıcılarınız + güvenilir kiÅŸiler olması ve site yöneticisinin de olası güvenlik + açıklarına karşı CGI betiklerini ve programlarını denemeye istekli + olması ÅŸartıyla.</p> + + <p>ÇoÄŸu site yöneticisi <code>ScriptAlias</code>’sız CGI yerine bu + yaklaşımı seçer.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="dynamic" id="dynamic">Devingen içerikli kaynaklar</a></h2> + + + <p>Sunucunun bir parçası gibi çalışan, <code>mod_php</code>, + <code>mod_perl</code>, <code>mod_tcl</code> ve <code>mod_python</code> + gibi gömülü betik çalıştırma seçenekleri sunucuyu çalıştıran + kullanıcının aidiyetinde çalışırlar (<code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> yönergesine bakınız). Bu bakımdan bu betik + yorumlayıcılar tarafından çalıştırılan betikler, sunucu kullanıcısının + eriÅŸtiÄŸi herÅŸeye eriÅŸebilirler. Bazı betik yorumlayıcıların getirdiÄŸi + bazı sınırlamalar varsa da bunlara pek güvenmemek, gerekli sınamaları + yine de yapmak gerekir.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="systemsettings" id="systemsettings">Sistem Ayarlarının Korunması</a></h2> + + + <p>GüvenliÄŸi gerçekten sıkı tutmak istiyorsanız, kullanıcılarınızın + yapılandırmanızdaki güvenlik ayarlarını geçersiz kılmak için + <code>.htaccess</code> dosyalarını kullanabilmelerinin de önüne + geçmelisiniz. Bunu yapmanın tek bir yolu vardır.</p> + + <p>Sunucu yapılandırma dosyanıza ÅŸunu yerleÅŸtirin:</p> + + <div class="example"><p><code> + <Directory /> + <span class="indent"> + AllowOverride None + </span> + </Directory> + </code></p></div> + + <p>Böylece, belli dizinlerde özellikle etkinleÅŸtirilmedikçe bütün + dizinlerde <code>.htaccess</code> dosyalarının kullanımını engellemiÅŸ + olursunuz.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="protectserverfiles" id="protectserverfiles">Sunucu dosyalarının öntanımlı olarak korunması</a></h2> + + + <p>Apache’nin ister istemez yanlış anlaşılan yönlerinden biri öntanımlı eriÅŸim özelliÄŸidir. Yani siz aksine bir ÅŸeyler yapmadıkça, sunucu normal URL eÅŸleme kurallarını kullanarak bir dosyayı bulabildiÄŸi sürece onu istemciye sunacaktır.</p> + + <p>ÖrneÄŸin, aÅŸağıdaki durumu ele alalım:</p> + + <div class="example"><p><code> + # cd /; ln -s / public_html + </code></p></div> + + <p>Ve, tarayıcınıza <code>http://localhost/~root/</code> yazın.</p> + + <p>Böylece, istemcilerin tüm dosya sisteminizi gezmelerine izin vermiÅŸ olursunuz. Bu iÅŸlemin sonuçlarının önünü almak için sunucu yapılandırma dosyanıza ÅŸunları yazın:</p> + + <div class="example"><p><code> + <Directory /> + <span class="indent"> + Order Deny,Allow <br /> + Deny from all + </span> + </Directory> + </code></p></div> + + <p>Bu suretle, dosya sisteminize öntanımlı eriÅŸimi yasaklamış olursunuz. EriÅŸime izin vermek istediÄŸiniz dizinler için uygun <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> bölümleri eklemeniz yeterli olacaktır. Örnek:</p> + + <div class="example"><p><code> + <Directory /usr/users/*/public_html> + <span class="indent"> + Order Deny,Allow <br /> + Allow from all + </span> + </Directory> <br /> + <Directory /usr/local/httpd> + <span class="indent"> + Order Deny,Allow <br /> + Allow from all + </span> + </Directory> + </code></p></div> + + <p><code class="directive"><a href="../mod/core.html#location">Location</a></code> ve <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> yönergelerinin etkileÅŸimine de özellikle önem vermelisiniz; örneÄŸin <code><Directory /></code> eriÅŸimi yasaklarken bir <code><Location /></code> yönergesi bunu ortadan kaldırabilir.</p> + + <p><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi de size buna benzer bir oyun oynayabilir; yönergeye <code>./</code> atamasını yaparsanız, root kullanıcısı söz konusu olduÄŸunda yukarıda ilk örnekteki durumla karşılaşırız. Apache 1.3 veya üstünü kullanıyorsanız, sunucu yapılandırma dosyanızda aÅŸağıdaki satırın mutlaka bulunmasını öneririz:</p> + + <div class="example"><p><code> + UserDir disabled root + </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="watchyourlogs" id="watchyourlogs">Günlüklerin Ä°zlenmesi</a></h2> + + + <p>Sunucunuzda olup biteni günü gününe bilmek istiyorsanız <a href="../logs.html">günlük dosyalarına</a> bakmalısınız. Günlük dosyaları sadece olup biteni raporlamakla kalmaz, sunucunuza ne tür saldırılar yapıldığını ve güvenlik seviyenizin yeterli olup olmadığını anlamanızı da saÄŸlarlar.</p> + + <p>Bazı örnekler:</p> + + <div class="example"><p><code> + grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log <br /> + grep "client denied" error_log | tail -n 10 + </code></p></div> + + <p>Ä°lk örnek, <a href="http://online.securityfocus.com/bid/4876/info/">Apache Tomcat + Source.JSP Bozuk Ä°stek Bilgilerini Ä°fÅŸa Açığı</a>nı istismar etmeyi deneyen saldırıların sayısını verirken ikinci örnek, reddedilen son on istemciyi listeler; örnek:</p> + + <div class="example"><p><code> + [Thu Jul 11 17:18:39 2002] [error] [client falan.filan.dom] client denied + by server configuration: /usr/local/apache/htdocs/.htpasswd + </code></p></div> + + <p>Gördüğünüz gibi günlük dosyaları sadece ne olup bittiÄŸini raporlar, bu bakımdan eÄŸer istemci <code>.htpasswd</code> dosyasına eriÅŸebiliyorsa <a href="../logs.html#accesslog">eriÅŸim günlüğünüzde</a> ÅŸuna benzer bir kayıt görürsünüz:</p> + + <div class="example"><p><code> + falan.filan.dom - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1" + </code></p></div> + + <p>Bu, sunucu yapılandırma dosyanızda aÅŸağıdaki yapılandırmayı iptal ettiÄŸiniz anlamına gelir:</p> + + <div class="example"><p><code> + <Files ~ "^\.ht"> + <span class="indent"> + Order allow,deny <br /> + Deny from all + </span> + </Files> + </code></p></div> + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/misc/security_tips.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/misc/security_tips.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/core.html.en b/docs/manual/mod/core.html.en index 0127d1d9..494e392f 100644 --- a/docs/manual/mod/core.html.en +++ b/docs/manual/mod/core.html.en @@ -502,6 +502,14 @@ be passed through</td></tr> <code>AuthConfig</code> nor <code>Indexes</code> cause an internal 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> + in your <code><Directory /></code> block. Instead, find (or + create) the <code><Directory></code> block that refers to the + directory where you're actually planning to place a + <code>.htaccess</code> file.</p> + </div> + <h3>See also</h3> <ul> <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> @@ -642,6 +650,7 @@ server cannot determine a type in any other way</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>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>The argument <code>none</code> is available in Apache 2.2.7 and later</td></tr> </table> <p>There will be times when the server is asked to provide a document whose type cannot be determined by its <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME types</a> mappings.</p> @@ -665,7 +674,7 @@ server cannot determine a type in any other way</td></tr> <div class="example"><p><code> DefaultType None </code></p></div> - <p>DefaultType None is only available in httpd-2.2.7 and later.</p> + <p><code>DefaultType None</code> is only available in httpd-2.2.7 and later.</p> <p>Note that unlike <code class="directive"><a href="#forcetype">ForceType</a></code>, this directive only provides the default mime-type. All other mime-type definitions, @@ -2861,7 +2870,7 @@ itself</td></tr> <p>See the description of the <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> and - <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>directives for + <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> directives for settings which determine whether self-referential URLs (e.g., by the <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> module) will refer to the specified port, or to the port number given in the client's request. diff --git a/docs/manual/mod/core.html.tr.utf8 b/docs/manual/mod/core.html.tr.utf8 index cf5df323..227c4c77 100644 --- a/docs/manual/mod/core.html.tr.utf8 +++ b/docs/manual/mod/core.html.tr.utf8 @@ -531,6 +531,12 @@ kullanımı önerilmemektedir.</td></tr> <p>Bu örnekte <code>AuthConfig</code> ve <code>Indexes</code> grubundaki yönergeler bir dahili sunucu hatasına yol açmayacaktır.</p> + <div class="note"><p>Güvenlik ve baÅŸarımı arttırmak için <code><Directory /></code> + bloÄŸu içinde <code>AllowOverride</code> yönergesine <code>None</code> + dışında bir deÄŸer atamayın. Böyle yapmak yerine bir <code>.htaccess</code> + dosyası yerleÅŸtirmeyi düşündüğünüz dizine ait bir + <code><Directory></code> bloÄŸu olması daha iyidir.</p></div> + <h3>Ayrıca bakınız:</h3> <ul> <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> @@ -653,6 +659,8 @@ kullanımı önerilmemektedir.</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>Ç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><code>none</code> deÄŸeri Apache 2.2.7 ve sonrasında mevcuttur. +</td></tr> </table> <p>Sunucudan zaman zaman kendi <a class="glossarylink" href="../glossary.html#mime-type" title="sözlüğe bakınız">MIME türü</a> ile uyuÅŸmayan bir belge sunması istenir.</p> @@ -676,7 +684,7 @@ kullanımı önerilmemektedir.</td></tr> DefaultType None </code></p></div> <p><code>DefaultType None</code> sadece httpd-2.2.7 ve sonrasında - mevcuttur..</p> + mevcuttur.</p> <p>Bu yönergenin sadece öntanımlı MIME-türünü saÄŸlaması nedeniyle <code class="directive"><a href="#forcetype">ForceType</a></code> yönergesinden farklı @@ -2989,9 +2997,9 @@ belirler.</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><code class="directive">SetInputFilter</code> yönergesi, istemci isteklerini - ve sunucu tarafından alındığı takdirde POST girdisini iÅŸleyecek süzgeç - veya süzgeçleri belirler. Bu, diÄŸer <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> yönergeleri dahil evvelce tanımlanmış + <p><code class="directive">SetInputFilter</code> yönergesi, istemci isteklerini + ve sunucu tarafından alındığı takdirde POST girdisini iÅŸleyecek süzgeç + veya süzgeçleri belirler. Bu, diÄŸer <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> yönergeleri dahil evvelce tanımlanmış süzgeçlere eklenir.</p> <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı diff --git a/docs/manual/mod/directives.html.de b/docs/manual/mod/directives.html.de index a483cd37..96d60c18 100644 --- a/docs/manual/mod/directives.html.de +++ b/docs/manual/mod/directives.html.de @@ -215,6 +215,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> diff --git a/docs/manual/mod/directives.html.en b/docs/manual/mod/directives.html.en index 5b037a68..96f5195e 100644 --- a/docs/manual/mod/directives.html.en +++ b/docs/manual/mod/directives.html.en @@ -142,6 +142,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> @@ -218,6 +219,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> diff --git a/docs/manual/mod/directives.html.es b/docs/manual/mod/directives.html.es index 9ff3df35..9d9cebde 100644 --- a/docs/manual/mod/directives.html.es +++ b/docs/manual/mod/directives.html.es @@ -144,6 +144,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> @@ -220,6 +221,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> diff --git a/docs/manual/mod/directives.html.ja.utf8 b/docs/manual/mod/directives.html.ja.utf8 index a0f8a315..76b95aff 100644 --- a/docs/manual/mod/directives.html.ja.utf8 +++ b/docs/manual/mod/directives.html.ja.utf8 @@ -341,6 +341,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> diff --git a/docs/manual/mod/directives.html.ko.euc-kr b/docs/manual/mod/directives.html.ko.euc-kr index ea9822b1..4fbb967f 100644 --- a/docs/manual/mod/directives.html.ko.euc-kr +++ b/docs/manual/mod/directives.html.ko.euc-kr @@ -134,6 +134,7 @@ <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#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> diff --git a/docs/manual/mod/directives.html.ru.koi8-r b/docs/manual/mod/directives.html.ru.koi8-r index 929e30f0..ee44ce8d 100644 --- a/docs/manual/mod/directives.html.ru.koi8-r +++ b/docs/manual/mod/directives.html.ru.koi8-r @@ -141,6 +141,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> @@ -217,6 +218,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> diff --git a/docs/manual/mod/directives.html.tr.utf8 b/docs/manual/mod/directives.html.tr.utf8 index 5982f231..9a77b31b 100644 --- a/docs/manual/mod/directives.html.tr.utf8 +++ b/docs/manual/mod/directives.html.tr.utf8 @@ -138,6 +138,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> @@ -214,6 +215,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> diff --git a/docs/manual/mod/index.html.tr.utf8 b/docs/manual/mod/index.html.tr.utf8 index 3bfe7c8e..8aa5c106 100644 --- a/docs/manual/mod/index.html.tr.utf8 +++ b/docs/manual/mod/index.html.tr.utf8 @@ -52,19 +52,19 @@ 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="prefork.html">prefork</a></dt><dd>Evresiz ön çatallamalı HTTP sunucusu oluÅŸturur</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> +<dt><a href="worker.html">worker</a></dt><dd>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluÅŸturan çok +süreçlilik modülü.</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">DiÄŸer Modüller</a></h2> <p class="letters"><a href="#A"> A </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#U"> U </a> | <a href="#V"> V </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_alias.html">mod_alias</a></dt><dd>Belge aÄŸacının parçalarının dosya sisteminin parçalarıyla +eÅŸlenmesini saÄŸlar ve URL yönlendirmesi yapar.</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> @@ -87,9 +87,8 @@ for HTTP Basic authentication.</dd> 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_autoindex.html">mod_autoindex</a></dt><dd>Unix <code>ls</code> veya Win32 <code>dir</code> kabuk komutunun +yaptığı gibi dizin içeriÄŸini listeler.</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> @@ -103,14 +102,13 @@ address)</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_dir.html">mod_dir</a></dt><dd>Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriÄŸi dosyalarını sunar.</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_env.html">mod_env</a></dt><dd>CGI betiklerine ve SSI sayfalarına aktarılan deÄŸiÅŸkenlere +müdahale etmek için kullanılır.</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 @@ -129,9 +127,11 @@ 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_log_config.html">mod_log_config</a></dt><dd>Sunucuya yapılan isteklerin günlük kayıtlarının tutulması +</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Sunucuya yapılan isteklerin adli günlük kayıtlarının tutulması</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Her isteÄŸin girdi ve çıktı uzunluklarının günlüklenmesi. +</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) @@ -153,29 +153,27 @@ by other LDAP modules</dd> <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> <dt><a href="mod_rewrite.html" id="R" name="R">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_setenvif.html" id="S" name="S">mod_setenvif</a></dt><dd>Ortam deÄŸiÅŸkenlerinin isteÄŸin özelliklerine uygun olarak atanmasını saÄŸlar</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Modüllerin ve çalıştırılabilir kodun sunucunun baÅŸlatılması veya +yeniden baÅŸlatılması sırasında yüklenmesini saÄŸlar.</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_status.html">mod_status</a></dt><dd>Sunucu etkinliÄŸi ve baÅŸarımı hakkında bilgi saÄŸlar.</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_suexec.html">mod_suexec</a></dt><dd>CGI betiklerinin belli bir kullanıcı ve grubun aidiyetinde +çalışmasını mümkün kılar.</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_userdir.html">mod_userdir</a></dt><dd>Kullanıcılara özel dizinler</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> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Kitlesel sanal konakların devingen olarak yapılandırılmasını +saÄŸlar</dd> </dl></div></div> <div class="bottomlang"> <p><span>Mevcut Diller: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | diff --git a/docs/manual/mod/mod_alias.html b/docs/manual/mod/mod_alias.html index 16e7a5ed..4a13e8ae 100644 --- a/docs/manual/mod/mod_alias.html +++ b/docs/manual/mod/mod_alias.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_alias.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_alias.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_alias.html.en b/docs/manual/mod/mod_alias.html.en index 17933914..b2afe1cb 100644 --- a/docs/manual/mod/mod_alias.html.en +++ b/docs/manual/mod/mod_alias.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_alias.html" title="English"> en </a> | <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides for mapping different parts of the host filesystem in the document tree and for URL redirection</td></tr> @@ -75,32 +76,32 @@ <div class="section"> <h2><a name="order" id="order">Order of Processing</a></h2> -<p>Aliases and Redirects occuring in different contexts are processed -like other directives according to standard <a href="../sections.html#mergin">merging rules</a>. But when multiple -Aliases or Redirects occur in the same context (for example, in the -same <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> -section) they are processed in a particular order.</p> - -<p>First, all Redirects are processed before Aliases are processed, -and therefore a request that matches a <code class="directive"><a href="#redirect">Redirect</a></code> or <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> will never have Aliases -applied. Second, the Aliases and Redirects are processed in the order -they appear in the configuration files, with the first match taking -precedence.</p> - -<p>For this reason, when two or more of these directives apply to the -same sub-path, you must list the most specific path first in order for -all the directives to have an effect. For example, the following -configuration will work as expected:</p> - -<div class="example"><p><code> -Alias /foo/bar /baz<br /> -Alias /foo /gaq -</code></p></div> - -<p>But if the above two directives were reversed in order, the -<code>/foo</code> <code class="directive"><a href="#alias">Alias</a></code> -would always match before the <code>/foo/bar</code> <code class="directive"><a href="#alias">Alias</a></code>, so the latter directive would be -ignored.</p> + <p>Aliases and Redirects occuring in different contexts are processed + like other directives according to standard <a href="../sections.html#mergin">merging rules</a>. But when multiple + Aliases or Redirects occur in the same context (for example, in the + same <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + section) they are processed in a particular order.</p> + + <p>First, all Redirects are processed before Aliases are processed, + and therefore a request that matches a <code class="directive"><a href="#redirect">Redirect</a></code> or <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> will never have Aliases + applied. Second, the Aliases and Redirects are processed in the order + they appear in the configuration files, with the first match taking + precedence.</p> + + <p>For this reason, when two or more of these directives apply to the + same sub-path, you must list the most specific path first in order for + all the directives to have an effect. For example, the following + configuration will work as expected:</p> + + <div class="example"><p><code> + Alias /foo/bar /baz<br /> + Alias /foo /gaq + </code></p></div> + + <p>But if the above two directives were reversed in order, the + <code>/foo</code> <code class="directive"><a href="#alias">Alias</a></code> + would always match before the <code>/foo/bar</code> <code class="directive"><a href="#alias">Alias</a></code>, so the latter directive would be + ignored.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> @@ -115,28 +116,30 @@ ignored.</p> </table> <p>The <code class="directive">Alias</code> directive allows documents to - be stored in the local filesystem other than under the + be stored in the local filesystem other than under the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. URLs with a (%-decoded) path beginning with <var>url-path</var> will be mapped - to local files beginning with <var>directory-path</var>. The - <var>url-path</var> is case-sensitive, even on case-insensitive + to local files beginning with <var>directory-path</var>. The + <var>url-path</var> is case-sensitive, even on case-insensitive file systems.</p> <div class="example"><h3>Example:</h3><p><code> Alias /image /ftp/pub/image </code></p></div> - <p>A request for http://myserver/image/foo.gif would cause the - server to return the file /ftp/pub/image/foo.gif. Only complete - path segments are matched, so the above alias would not match a - request for http://myserver/imagefoo.gif. For more complex + <p>A request for <code>http://myserver/image/foo.gif</code> would cause + the server to return the file <code>/ftp/pub/image/foo.gif</code>. Only + complete path segments are matched, so the above alias would not match a + request for <code>http://myserver/imagefoo.gif</code>. For more complex matching using regular expressions, see the <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> directive.</p> <p>Note that if you include a trailing / on the <var>url-path</var> then the server will require a trailing / in - order to expand the alias. That is, if you use <code>Alias - /icons/ /usr/local/apache/icons/</code> then the url - <code>/icons</code> will not be aliased.</p> + order to expand the alias. That is, if you use</p> + + <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>Note that you may need to specify additional <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sections which cover the <em>destination</em> of aliases. Aliasing occurs before @@ -165,7 +168,7 @@ ignored.</p> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">Directive</a></h2> <table class="directive"> -<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps URLs to filesystem locations using regular +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps URLs to filesystem locations using regular expressions</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AliasMatch <var>regex</var> <var>file-path</var>|<var>directory-path</var></code></td></tr> @@ -173,8 +176,8 @@ expressions</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_alias</td></tr> </table> - <p>This directive is equivalent to <code class="directive"><a href="#alias">Alias</a></code>, but makes use of - <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, + <p>This directive is equivalent to <code class="directive"><a href="#alias">Alias</a></code>, but makes use of + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, instead of simple prefix matching. The supplied regular expression is matched against the URL-path, and if it matches, the server will substitute any parenthesized @@ -226,17 +229,19 @@ a different URL</td></tr> Redirect /service http://foo2.example.com/service </code></p></div> - <p>If the client requests http://example.com/service/foo.txt, it - will be told to access http://foo2.example.com/service/foo.txt + <p>If the client requests <code>http://example.com/service/foo.txt</code>, + it will be told to access + <code>http://foo2.example.com/service/foo.txt</code> instead. Only complete path segments are matched, so the above example would not match a request for - http://example.com/servicefoo.txt. For more complex matching + <code>http://example.com/servicefoo.txt</code>. For more complex matching using regular expressions, see the <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> directive.</p> -<div class="note"><h3>Note</h3> <p>Redirect directives take precedence over -Alias and ScriptAlias directives, irrespective of their ordering in -the configuration file.</p></div> + <div class="note"><h3>Note</h3> + <p>Redirect directives take precedence over + Alias and ScriptAlias directives, irrespective of their ordering in + the configuration file.</p></div> <p>If no <var>status</var> argument is given, the redirect will be "temporary" (HTTP status 302). This indicates to the client @@ -283,7 +288,7 @@ the configuration file.</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="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">Directive</a></h2> <table class="directive"> -<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sends an external redirect based on a regular expression match +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sends an external redirect based on a regular expression match of the current URL</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RedirectMatch [<var>status</var>] <var>regex</var> <var>URL</var></code></td></tr> @@ -292,8 +297,8 @@ of the current URL</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_alias</td></tr> </table> - <p>This directive is equivalent to <code class="directive"><a href="#redirect">Redirect</a></code>, but makes use of - <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, + <p>This directive is equivalent to <code class="directive"><a href="#redirect">Redirect</a></code>, but makes use of + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, instead of simple prefix matching. The supplied regular expression is matched against the URL-path, and if it matches, the server will substitute any parenthesized @@ -394,7 +399,7 @@ target as a CGI script</td></tr> This is necessary since multiple <var>URL-paths</var> can map to the same filesystem location, potentially bypassing the <code class="directive">ScriptAlias</code> and revealing the source code - of the CGI scripts if they are not restricted by a + of the CGI scripts if they are not restricted by a <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> section.</div> @@ -414,8 +419,8 @@ and designates the target as a CGI script</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_alias</td></tr> </table> - <p>This directive is equivalent to <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, but makes use of - <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, + <p>This directive is equivalent to <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, but makes use of + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, instead of simple prefix matching. The supplied regular expression is matched against the URL-path, and if it matches, the server will substitute any parenthesized @@ -432,7 +437,8 @@ and designates the target as a CGI script</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_alias.html" title="English"> en </a> | <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_alias.html.ja.utf8 b/docs/manual/mod/mod_alias.html.ja.utf8 index 7c3b9067..9ceb4c58 100644 --- a/docs/manual/mod/mod_alias.html.ja.utf8 +++ b/docs/manual/mod/mod_alias.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_alias.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -396,7 +397,8 @@ CGI スクリプトã«æŒ‡å®š</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_alias.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_alias.html.ko.euc-kr b/docs/manual/mod/mod_alias.html.ko.euc-kr index 2e651f50..b45b2b43 100644 --- a/docs/manual/mod/mod_alias.html.ko.euc-kr +++ b/docs/manual/mod/mod_alias.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_alias.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_alias.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -349,7 +350,8 @@ Alias /foo /gaq <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_alias.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_alias.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_alias.html.tr.utf8 b/docs/manual/mod/mod_alias.html.tr.utf8 new file mode 100644 index 00000000..449d6715 --- /dev/null +++ b/docs/manual/mod/mod_alias.html.tr.utf8 @@ -0,0 +1,441 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_alias - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_alias</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Belge aÄŸacının parçalarının dosya sisteminin parçalarıyla +eÅŸlenmesini saÄŸlar ve URL yönlendirmesi yapar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_alias.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin + denetlenmesini ve deÄŸiÅŸtirilmesini mümkün kılar. <code class="directive"><a href="#alias">Alias</a></code> ve <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> yönergeleri URL’lerin dosya sisteminin + dizinlerine eÅŸlenmesini saÄŸlar. Böylece, kök dizini <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> ile belirtilen site belge aÄŸacı + altında bulunmayan içeriÄŸe eriÅŸmek mümkün olur. <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> yönergesi buna ek olarak + hedef dizini sadece CGI betiklerini içeren dizin olarak imler.</p> + + <p><code class="directive"><a href="#redirect">Redirect</a></code> yönergesi, + farklı bir URL ile yeni bir istek yapmaları için istemcileri + yönlendirmekte kullanılır. ÇoÄŸunlukla özkaynak baÅŸka bir yere + taşındığında kullanılır.</p> + + <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> modülü basit URL deÄŸiÅŸtirme görevlerini + yerine getirmek için tasarlanmıştır. Sorgu dizgelerini iÅŸleme sokmak + gibi daha karmaşık görevler için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülü ile + saÄŸlanan araçlar kullanılır.</p> + + </div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li> +</ul> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Ä°ÅŸlem Sırası</a></li> +</ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li> +<li><a href="../urlmapping.html">URL’lerin Dosya sistemi ile EÅŸlenmesi</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="order" id="order">Ä°ÅŸlem Sırası</a></h2> + + <p>Farklı baÄŸlamlarda bulunan <code class="directive"><a href="#alias">Alias</a></code> ve <code class="directive"><a href="#redirect">Redirect</a></code> + yönergeleri standart <a href="../sections.html#mergin">katıştırma + kuralları</a> ile ilgili diÄŸer yönergeler gibi iÅŸleme sokulur. Fakat + aynı baÄŸlam dahilinde (örneÄŸin, aynı <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümünde) çok fazla <code class="directive"><a href="#alias">Alias</a></code> ve <code class="directive"><a href="#redirect">Redirect</a></code> varsa bunlar belli bir + sıraya göre iÅŸleme sokulurlar.</p> + + <p>Ä°lk adımda, <code class="directive"><a href="#alias">Alias</a></code>’lardan önce + bütün <code class="directive"><a href="#redirect">Redirect</a></code> yönergeleri + iÅŸleme sokulur. Bu bakımdan bir <code class="directive"><a href="#redirect">Redirect</a></code> veya <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> ile eÅŸleÅŸen bir istek için + hiçbir <code class="directive"><a href="#alias">Alias</a></code> + uygulanmayacaktır. Ä°kinci adımda yapılandırma dosyasında yer aldıkları + sıraya göre <code class="directive"><a href="#redirect">Redirect</a></code> ve + <code class="directive"><a href="#alias">Alias</a></code> yönergeleri iÅŸleme + sokulurlar, dolayısıyla ilk eÅŸleÅŸme öncelikli olmuÅŸ olur.</p> + + <p>Ä°lk eÅŸleÅŸmenin öncelikli olması sebebiyle, bu yönergelerin birden + fazlası aynı alt yola uygulandığı takdirde, tüm yönergelerin etkili + olabilmesi için en uzun yolu sıralamada en öne almalısınız. ÖrneÄŸin + aÅŸağıdaki yapılandırma beklendiÄŸi gibi çalışacaktır:</p> + + <div class="example"><p><code> + Alias /foo/bar /baz<br /> + Alias /foo /gaz + </code></p></div> + + <p>Ama yukarıdaki iki satır ters sırada yerleÅŸtirilmiÅŸ olsaydı, + <code>/foo</code> rumuzu daima <code>/foo/bar</code> rumuzundan önce + eÅŸleÅŸecek, dolayısıyla ikinci yönerge yok sayılacaktı.</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="Alias" id="Alias">Alias</a> <a name="alias" id="alias">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>URL’leri dosya sistemi konumlarıyla eÅŸler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Alias <var>URL-yolu</var> +<var>dosya-yolu</var>|<var>dizin-yolu</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + + <p><code class="directive">Alias</code> yönergesi, belgelerin <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> dizininden farklı bir yerde + saklanmasını mümkün kılar. <code><em>URL-yolu</em></code> ile baÅŸlayan + URL’ler (% imlemesi çözüldükten sonra) <code><em>dizin-yolu</em></code> + ile baÅŸlayan yerel dosyalarla eÅŸlenir. <code><em>URL-yolu</em></code>, + harf büyüklüğüne duyarsız sistemlerde bile harf büyüklüğüne + duyarlıdır.</p> + + <div class="example"><h3>Örnek:</h3><p><code> + Alias /image /ftp/pub/image + </code></p></div> + + <p><code>http://sunucum/image/foo.gif</code> ÅŸeklinde bir istek, sunucunun + <code>/ftp/pub/image/foo.gif</code> dosyasıyla yanıt vermesine sebep + olurdu. Sadece tam yol parçaları eÅŸleÅŸtirilir; bu bakımdan yukarıdaki + <code class="directive">Alias</code> yapılandırması + <code>http://sunucum/imagefoo.gif</code> ile eÅŸleÅŸmez. Düzenli + ifadelerin kullanıldığı daha karmaşık eÅŸleÅŸmeler için <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> yönergesine bakınız.</p> + + <p><code><em>URL-yolu</em></code>’nu bir <code>/</code> ile + sonlandırırsanız <code class="directive">Alias</code> yönergesini yorumlarken + sunucunun da sona bir <code>/</code> ekleyeceÄŸine dikkat ediniz. Yani, + eÄŸer</p> + + <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><code class="directive">Alias</code> <em>hedefleri</em> için ek <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümleri + belirtmeniz gerekebileceÄŸine dikkat ediniz. <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümlerinden önce yer alan + <code class="directive">Alias</code> yönergelerine özellikle bakılır, + dolayısıyla sadece <code class="directive">Alias</code> hedefleri etkilenir. + (Bununla birlikte, <code class="directive">Alias</code> yönergelerinden önce + iÅŸleme sokulan <code class="directive"><a href="../mod/core.html#location"><Location></a></code> bölümlerinin uygulanacağına dikkat + ediniz.)</p> + + <p>Özellikle, <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> dışında + bir dizine bir <code class="directive">Alias</code> oluÅŸturuyorsanız hedef + dizine doÄŸrudan eriÅŸim izni vermeniz gerekebilir.</p> + + <div class="example"><h3>Örnek:</h3><p><code> + Alias /image /ftp/pub/image<br /> + <Directory /ftp/pub/image><br /> + <span class="indent"> + Order allow,deny<br /> + Allow from all<br /> + </span> + </Directory> + </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="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak +eÅŸler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AliasMatch <var>düzenli-ifade</var> +<var>dosya-yolu</var>|<var>dizin-yolu</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Bu yönerge <code><em>URL-yolu</em></code> ile eÅŸleÅŸmek üzere bir + <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> kabul etmesi dışında + <code class="directive"><a href="#alias">Alias</a></code> yönergesine eÅŸdeÄŸerdir. + Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile eÅŸleÅŸiyorsa + sunucu parantezli eÅŸleÅŸmeleri belirtilen dizgede kullanarak dosya yolunu + elde eder. ÖrneÄŸin, <code>/icons</code> dizinini etkinleÅŸtirmek için ÅŸu + yazılabilir:</p> + + <div class="example"><p><code> + AliasMatch ^/icons(.*) /usr/local/apache/icons$1 + </code></p></div> + + <p>Ayrıca, <code><em>URL-yolu</em></code> ile harf büyüklüğüne duyarsız + eÅŸleÅŸmeler saÄŸlayacak düzenli ifadeler de kullanılabilir:</p> + + <div class="example"><p><code> + AliasMatch (?i)^/image(.*) /ftp/pub/image$1 + </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="Redirect" id="Redirect">Redirect</a> <a name="redirect" id="redirect">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ä°stemciyi, bir yönlendirme isteÄŸi döndürerek farklı bir URL’ye +yönlendirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Redirect [<var>durum</var>] <var>URL-yolu</var> +<var>URL</var></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>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_alias</td></tr> +</table> + <p><code class="directive">Redirect</code> yönergesi istemciye bir yönlendirme + isteÄŸi döndürerek eski URL’yi yenisiyle eÅŸler.</p> + + <p>Eski <code><em>URL-yolu</em></code> bir bölü çizgisi ile baÅŸlar ve harf + büyüklüğüne duyarlıdır (% imlemesi çözüldükten sonra). + <code><em>URL-yolu</em></code> olarak göreli yollara izin verilmez. + <code><em>URL</em></code> ise ya bir ÅŸema ve konak ismi ile baÅŸlayan bir + mutlak URL ya da bir bölü çizgisi ile baÅŸlayan bir URL yolu olmalıdır. + Ä°kinci durumda URL yolunun başına geçerli sunucu ismi ve ÅŸemayı sunucu + ekler.</p> + + <p><code><em>URL-yolu</em></code> ile baÅŸlayan istekler istemciye hedef + <code><em>URL</em></code> konumuna bir yönlendirme isteÄŸi olarak + dönecektir. <code><em>URL-yolu</em></code>’nun devamı niteliÄŸindeki ek + yol hedef URL’ye eklenir.</p> + + <div class="example"><h3>Örnek:</h3><p><code> + Redirect /hizmet http://iki.mesela.dom/hizmet + </code></p></div> + + <p>Ä°stemcinin yaptığı <code>http://mesela.dom/hizmet/fesmekan.txt</code> + isteÄŸine karşılık istemciye isteÄŸi + <code>http://iki.mesela.dom/hizmet/fesmekan.txt</code> olarak yapması + söylenecektir. Sadece tam yol parçaları eÅŸleÅŸtirilir, bu nedenle + <code>http://mesela.dom/hizmetfesmekan.txt</code> isteÄŸi yukarıdaki + yönlendirme ile eÅŸleÅŸmeyecektir. Düzenli ifadelerin kullanıldığı daha + karmaşık eÅŸleÅŸmeler için <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> yönergesine bakınız.</p> + + + <div class="note"><h3>Bilginize</h3> + <p>Yapılandırma dosyasında yer alış sırasına bakmaksızın + <code class="directive">Redirect</code> yönergeleri + <code class="directive">Alias</code> ve <code class="directive">ScriptAlias</code> + yönergelerinden önce ele alınır.</p></div> + + <p>Herhangi bir <code><em>durum</em></code> belirtilmemiÅŸse "geçici" + yönlendirme (HTTP durum kodu: 302) yapılır. Bu, istemciye özkaynağın + geçici olarak baÅŸka yere taşındığını belirtir. DiÄŸer HTTP durum + kodlarını döndürmek için kullanılabilecek <code><em>durum</em></code> + deÄŸerleri:</p> + + <dl> + <dt><code>permanent</code></dt> + <dd>Ä°stemciye özkaynağın kalıcı olarak taşındığını belirten kalıcı + yönlendirme durumu (301) döndürülür.</dd> + + <dt><code>temp</code></dt> + <dd>Ä°stemciye geçici yönlendirme durumu (302) döner. Bu öntanımlıdır. + </dd> + + <dt><code>seeother</code></dt> + <dd>Ä°stemciye özkaynağın yerine baÅŸka bir ÅŸey konduÄŸunu belirten + "diÄŸerine bak" durumu (303) döndürülür.</dd> + + <dt><code>gone</code></dt> + <dd>Ä°stemciye özkaynağın kalıcı olarak kaldırıldığını belirten "ölü + baÄŸlantı" durumu (410) döner. Bu durumda <code><em>URL</em></code> + belirtilmez.</dd> + </dl> + + <p>DiÄŸer durum kodları için <code><em>durum</em></code> olarak sayısal + durum kodu belirtilir. EÄŸer durum 300 ile 399 arasındaysa bir + <code><em>URL</em></code> belirtmek gereklidir, yoksa belirtilmez. + Belirtilecek durum kodunu Apache’nin bilmesi gerektiÄŸine dikkat ediniz + (<code>http_protocol.c</code> dosyasında bulunan + <code>send_error_response</code> iÅŸlevine bakınız).</p> + + <div class="example"><h3>Örnek:</h3><p><code> + Redirect permanent /bir http://mesela.dom/iki<br /> + Redirect 303 /yedi http://mesela.dom/baskabisey + </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="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Geçerli URL ile eÅŸleÅŸen bir düzenli ifadeye dayanarak bir harici +yönlendirme gönderir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RedirectMatch [<var>durum</var>] <var>düzenli-ifade</var> +<var>URL</var></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>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_alias</td></tr> +</table> + <p>Bu yönerge <code><em>URL-yolu</em></code> ile eÅŸleÅŸmek üzere bir + <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> kabul etmesi dışında + <code class="directive"><a href="#redirect">Redirect</a></code> yönergesine + eÅŸdeÄŸerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile + eÅŸleÅŸiyorsa sunucu parantezli eÅŸleÅŸmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. ÖrneÄŸin, tüm GIF dosyası isteklerini baÅŸka bir + sunucudaki aynı isimli JPEG dosyalarına yönlendirmek için ÅŸu + yazılabilir:</p> + + <div class="example"><p><code> + RedirectMatch (.*)\.gif$ http://baska.sunucu.dom$1.jpg + </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="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent" id="redirectpermanent">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ä°stemciyi, kalıcı bir yönlendirme isteÄŸi döndürerek farklı bir +URL’ye yönlendirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RedirectPermanent <var>URL-yolu</var> <var>URL</var></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>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_alias</td></tr> +</table> + <p>Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür. + Yani, <code>Redirect permanent</code> ile aynı iÅŸi yapar.</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="RedirectTemp" id="RedirectTemp">RedirectTemp</a> <a name="redirecttemp" id="redirecttemp">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ä°stemciyi, geçici bir yönlendirme isteÄŸi döndürerek farklı bir +URL’ye yönlendirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RedirectTemp <var>URL-yolu</var> <var>URL</var></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>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_alias</td></tr> +</table> + <p>Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür. + Yani, <code>Redirect temp</code> ile aynı iÅŸi yapar.</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="ScriptAlias" id="ScriptAlias">ScriptAlias</a> <a name="scriptalias" id="scriptalias">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir URL’yi dosya sistemindeki bir yere eÅŸler ve hedefi bir CGI betiÄŸi olarak çalıştırır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ScriptAlias <var>URL-yolu</var> +<var>dosya-yolu</var>|<var>dizin-yolu</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Hedef dizini, <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> modülünün CGI betiÄŸi + yorumlayıcısı tarafından çalıştırılacak betikleri içeren dizin olarak + imlemesi dışında <code class="directive"><a href="#alias">Alias</a></code> + yönergesinin yaptığı iÅŸi yapar. <code><em>URL-yolu</em></code> ile + baÅŸlayan harf büyüklüğüne duyarlı URL’ler (% imlemesi çözüldükten + sonra), dosya sistemindeki bir tam yol olarak belirtilmiÅŸ + <code><em>dizin-yolu</em></code> ile baÅŸlayan betiklerle eÅŸlenir.</p> + + <div class="example"><h3>Örnek:</h3><p><code> + ScriptAlias /cgi-bin/ /siteler/cgi-bin/ + </code></p></div> + + <p><code>http://sunucum/cgi-bin/foo</code> ÅŸeklindeki bir istek sunucunun + <code>/siteler/cgi-bin/foo</code> betiÄŸini çalıştırmasına sebep olur. Bu + yapılandırma aslında ÅŸuna eÅŸdeÄŸerdir:</p> + + <div class="example"><p><code> + Alias /cgi-bin/ /siteler/cgi-bin/<br /> + <Location /cgi-bin ><br /> + <span class="indent"> + SetHandler cgi-script<br /> + Options +ExecCGI<br /> + </span> + </Location> + </code></p></div> + + <div class="warning">Yapılandırma deÄŸiÅŸtiÄŸinde kaynak kodlarının ister + istemez açığa çıkmasını istemiyorsanız CGI betiklerinizi <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> altına koymayınız. + <code class="directive">ScriptAlias</code> yönergesi URL’yi doÄŸru yere + eÅŸlemekten baÅŸka orayı bir CGI betikleri dizini olarak imler. CGI + betiklerinizi <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> altına + koyarsanız çalıştırmak için <code class="directive">ScriptAlias</code> deÄŸil, + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ve <code class="directive"><a href="../mod/core.html#options">Options</a></code> yönergelerini örnekteki gibi kullanın: + + <div class="example"><p><code> + <Directory /usr/local/apache2/htdocs/cgi-bin ><br /> + <span class="indent"> + SetHandler cgi-script<br /> + Options ExecCGI<br /> + </span> + </Directory> + </code></p></div> + + Aynı dosya sistemi konumu ile çok sayıda <code><em>URL-yolu</em></code> + eÅŸleÅŸebileceÄŸinden, bir <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> + bölümü ile sınırlanmadığı takdirde CGI betiklerinin kaynak kodları açığa + çıkabilir; bu bakımdan <code class="directive">ScriptAlias</code> yönergesini yok + sayan URL yollarının belirtilebilme olasılığı gözardı + edilmemelidir.</div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../howto/cgi.html">CGI Öğreticisi</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="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch" id="scriptaliasmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak +eÅŸler ve hedefi bir CGI betiÄŸi olarak çalıştırır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ScriptAliasMatch <var>düzenli-ifade</var> +<var>dosya-yolu</var>|<var>dizin-yolu</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Bu yönerge <code><em>URL-yolu</em></code> ile eÅŸleÅŸmek üzere bir + <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> kabul etmesi dışında + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> yönergesine + eÅŸdeÄŸerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile + eÅŸleÅŸiyorsa sunucu parantezli eÅŸleÅŸmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. ÖrneÄŸin, standart <code>/cgi-bin</code> dizinini + etkin kılmak için ÅŸu yazılabilir:</p> + + <div class="example"><p><code> + ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_auth_digest.html.en b/docs/manual/mod/mod_auth_digest.html.en index 7b9ea450..f55576ad 100644 --- a/docs/manual/mod/mod_auth_digest.html.en +++ b/docs/manual/mod/mod_auth_digest.html.en @@ -26,14 +26,14 @@ </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using MD5 Digest Authentication.</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>auth_digest_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_auth_digest.c</td></tr></table> <h3>Summary</h3> - <p>This module implements HTTP Digest Authentication. However, it - has not been extensively tested and is therefore marked - experimental.</p> + <p>This module implements HTTP Digest Authentication + (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), and + provides a more secure alternative to <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>.</p> </div> <div id="quickview"><h3 class="directives">Directives</h3> <ul id="toc"> @@ -130,7 +130,7 @@ <p>See the <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> directive for more details on conditionally setting environment - variables</p> + variables.</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> @@ -141,7 +141,7 @@ response hashes in digest authentication</td></tr> <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestAlgorithm MD5</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>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#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_auth_digest</td></tr> </table> <p>The <code class="directive">AuthDigestAlgorithm</code> directive @@ -162,7 +162,7 @@ authentication</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>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#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_auth_digest</td></tr> </table> <p>The <code class="directive">AuthDigestDomain</code> directive allows @@ -194,7 +194,7 @@ server</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestNcCheck On|Off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestNcCheck Off</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>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_auth_digest</td></tr> </table> <div class="note"> @@ -210,7 +210,7 @@ server</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestNonceFormat <var>format</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>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#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_auth_digest</td></tr> </table> <div class="note">Not implemented yet.</div> @@ -225,7 +225,7 @@ server</td></tr> <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestNonceLifetime 300</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>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#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_auth_digest</td></tr> </table> <p>The <code class="directive">AuthDigestNonceLifetime</code> directive @@ -248,7 +248,7 @@ server</td></tr> <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestProvider file</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>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#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_auth_digest</td></tr> </table> <p>The <code class="directive">AuthDigestProvider</code> directive sets @@ -270,7 +270,7 @@ authentication</td></tr> <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestQop auth</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>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#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_auth_digest</td></tr> </table> <p>The <code class="directive">AuthDigestQop</code> directive determines @@ -297,7 +297,7 @@ of clients</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestShmemSize <var>size</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestShmemSize 1000</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>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_auth_digest</td></tr> </table> <p>The <code class="directive">AuthDigestShmemSize</code> directive defines diff --git a/docs/manual/mod/mod_authnz_ldap.html.en b/docs/manual/mod/mod_authnz_ldap.html.en index 2cd3b9d9..51065919 100644 --- a/docs/manual/mod/mod_authnz_ldap.html.en +++ b/docs/manual/mod/mod_authnz_ldap.html.en @@ -254,7 +254,11 @@ for HTTP Basic authentication.</td></tr> <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> is set to <code>off</code> to allow the authorization phase to fall back to the module providing the alternate - <code class="directive"><a href="../mod/core.html#require">Require</a></code> value.</p> + <code class="directive"><a href="../mod/core.html#require">Require</a></code> value. When no + LDAP-specific <code class="directive"><a href="../mod/core.html#require">Require</a></code> directives + are used, authorization is allowed to fall back to other modules + as if <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> + was set to <code>off</code>. </p> <ul> <li>Grant access if there is a <a href="#requser"><code>Require @@ -324,9 +328,7 @@ for HTTP Basic authentication.</td></tr> <p>If this directive exists, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> grants access to any user that has successfully authenticated during the search/bind phase. Requires that <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> be - loaded and that the - <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> - directive be set to off.</p> + loaded.</p> <h3><a name="requser" id="requser">Require ldap-user</a></h3> @@ -602,17 +604,10 @@ Require valid-user that gets created in the web</p> <div class="example"><pre> AuthLDAPURL "the url" -AuthzLDAPAuthoritative off AuthGroupFile <em>mygroupfile</em> Require group <em>mygroupfile</em> </pre></div> - <p><code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> - must be off to allow <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> to decline group - authentication so that Apache will fall back to file - authentication for checking group membership. This allows the - FrontPage-managed group file to be used.</p> - <h3><a name="howitworks" id="howitworks">How It Works</a></h3> <p>FrontPage restricts access to a web by adding the <code>Require @@ -958,6 +953,14 @@ environment variable</td></tr> <p>See above for examples of <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> URLs.</p> + <p> When <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> + is enabled in a particular context, but some other module has performed + authentication for the request, the server will try to map the username to a DN + during authorization regardless of whether or not LDAP-specific requirements + are present. To ignore the failures to map a username to a DN during + authorization, set <code class="directive"><a href="# authzldapautoritative"> + AuthzLDAPAutoritative</a></code> to "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> @@ -972,10 +975,14 @@ authenticating the user if this one fails</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> </table> <p>Set to <code>off</code> if this module should let other - authentication modules attempt to authenticate the user, should - authentication with this module fail. Control is only passed on + authorization modules attempt to authorize the user, should + authorization with this module fail. Control is only passed on to lower modules if there is no DN or rule that matches the supplied user name (as passed by the client).</p> + <p> When no LDAP-specific <code class="directive"><a href="../mod/core.html#require">Require</a></code> directives + are used, authorization is allowed to fall back to other modules + as if <code class="directive"><a href="#authzldapauthoritative">AuthzLDAPAuthoritative</a></code> + was set to <code>off</code>. </p> </div> </div> diff --git a/docs/manual/mod/mod_authz_host.html.en b/docs/manual/mod/mod_authz_host.html.en index 26764a34..cfb26cab 100644 --- a/docs/manual/mod/mod_authz_host.html.en +++ b/docs/manual/mod/mod_authz_host.html.en @@ -76,8 +76,8 @@ address)</td></tr> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts can access an area of the server</td></tr> -<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Allow from all|<var>host</var>|env=<var>env-variable</var> -[<var>host</var>|env=<var>env-variable</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> @@ -172,7 +172,10 @@ server</td></tr> to be controlled based on the existence of an <a href="../env.html">environment variable</a>. When <code>Allow from env=<var>env-variable</var></code> is specified, then the request is allowed access if the environment variable <var>env-variable</var> - exists. The server provides the ability to set environment + exists. When <code>Allow from env=!<var>env-variable</var></code> is + specified, then the request is allowed access if the environment + variable <var>env-variable</var> doesn't exist. + The server provides the ability to set environment variables in a flexible way based on characteristics of the client request using the directives provided by <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Therefore, this directive can be @@ -201,8 +204,8 @@ server</td></tr> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts are denied access to the server</td></tr> -<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Deny from all|<var>host</var>|env=<var>env-variable</var> -[<var>host</var>|env=<var>env-variable</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> diff --git a/docs/manual/mod/mod_autoindex.html b/docs/manual/mod/mod_autoindex.html index 1684061a..80687cd6 100644 --- a/docs/manual/mod/mod_autoindex.html +++ b/docs/manual/mod/mod_autoindex.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_autoindex.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_autoindex.html.tr.utf8 +Content-Language: tr +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 2eb7cc2d..1208e2e5 100644 --- a/docs/manual/mod/mod_autoindex.html.en +++ b/docs/manual/mod/mod_autoindex.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" title="English"> en </a> | <a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Generates directory indexes, automatically, similar to the Unix <code>ls</code> command or the @@ -32,7 +33,7 @@ <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>autoindex_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_autoindex.c</td></tr></table> <h3>Summary</h3> - + <p>The index of a directory can come from one of two sources:</p> @@ -52,10 +53,10 @@ </ul> <p>The two functions are separated so that you can completely remove (or replace) automatic index generation should you want - to.</p> + to.</p> <p>Automatic index generation is enabled with using - <code>Options +Indexes</code>. See the + <code>Options +Indexes</code>. See the <code class="directive"><a href="../mod/core.html#options">Options</a></code> directive for more details.</p> @@ -85,6 +86,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> @@ -339,7 +341,7 @@ icon selected by MIME content-type</td></tr> AddIcon /icons/dir.xbm ^^DIRECTORY^^<br /> AddIcon /icons/backup.xbm *~ </code></p></div> - + <p><code class="directive"><a href="#addiconbytype">AddIconByType</a></code> should be used in preference to <code class="directive">AddIcon</code>, when possible.</p> @@ -348,7 +350,7 @@ icon selected by MIME content-type</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="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>Icon to display next to files selected by MIME +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icon to display next to files selected by MIME content-encoding</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> [<var>MIME-encoding</var>] ...</code></td></tr> @@ -363,8 +365,8 @@ content-encoding</td></tr> where <var>alttext</var> is the text tag given for an icon for non-graphical browsers.</p> - <p><var>MIME-encoding</var> is a wildcard expression matching - required the content-encoding.</p> + <p><var>MIME-encoding</var> is a valid content-encoding, such as + <code>x-compress</code>.</p> <div class="example"><h3>Example</h3><p><code> AddIconByEncoding /icons/compress.xbm x-compress @@ -374,7 +376,7 @@ content-encoding</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="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>Icon to display next to files selected by MIME +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icon to display next to files selected by MIME content-type</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddIconByType <var>icon</var> <var>MIME-type</var> [<var>MIME-type</var>] ...</code></td></tr> @@ -446,7 +448,7 @@ of the index listing</td></tr> <div class="example"><h3>Example</h3><p><code> HeaderName /include/HEADER.html </code></p></div> - + <p><var>Filename</var> must resolve to a document with a major content type of <code>text/*</code> (<em>e.g.</em>, <code>text/html</code>, <code>text/plain</code>, etc.). This means @@ -476,9 +478,28 @@ of the index listing</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">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inserts text in the HEAD section of an index page.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexHeadInsert <var>"markup ..."</var></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> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">IndexHeadInsert</code> directive specifies a + string to insert in the <var><head></var> section of the HTML + generated for the index page.</p> + <div class="example"><h3>Example</h3><p><code> + + IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">" + </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>Adds to the list of files to hide when listing +<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#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> @@ -502,7 +523,7 @@ a directory</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="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>Various configuration settings for directory +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Various configuration settings for directory 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> @@ -529,7 +550,7 @@ indexing</td></tr> IndexOptions Charset=UTF-8 </code></p></div> </dd> - + <dt><a name="indexoptions.type" id="indexoptions.type">Type=<var>MIME content-type</var></a> (<em>Apache 2.0.61 and later</em>)</dt> @@ -541,7 +562,7 @@ indexing</td></tr> IndexOptions Type=text/plain </code></p></div> </dd> - + <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth">DescriptionWidth=[<var>n</var> | *]</a> (<em>Apache 2.0.23 and later</em>)</dt> @@ -584,8 +605,8 @@ indexing</td></tr> <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable">HTMLTable</a> (<em>Experimental, Apache 2.0.23 and later</em>)</dt> - <dd>This experimental option with FancyIndexing constructs a - simple table for the fancy directory listing. Note this will + <dd>This experimental option with <code>FancyIndexing</code> constructs + a simple table for the fancy directory listing. Note this will confuse older browsers. It is particularly necessary if file names or description text will alternate between left-to-right and right-to-left reading order, as can happen @@ -598,13 +619,13 @@ indexing</td></tr> <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight">IconHeight[=<var>pixels</var>]</a></dt> - <dd>Presence of this option, when used with IconWidth, will cause - the server to include <code>height</code> and <code>width</code> - attributes in the <code>img</code> tag for the file icon. This allows - browser to precalculate the page layout without having to wait until - all the images have been loaded. If no value is given for the option, - it defaults to the standard height of the icons supplied with the Apache - software.</dd> + <dd>Presence of this option, when used with <code>IconWidth</code>, + will cause the server to include <code>height</code> and + <code>width</code> attributes in the <code>img</code> tag for the file + icon. This allows browser to precalculate the page layout without having + to wait until all the images have been loaded. If no value is given for + the option, it defaults to the standard height of the icons supplied + with the Apache software.</dd> <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth">IconWidth[=<var>pixels</var>]</a></dt> @@ -619,10 +640,11 @@ indexing</td></tr> <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase">IgnoreCase</a></dt> - <dd>If this option is enabled, names are sorted in a case-insensitive - manner. For instance, if the sort order is ascending by name, and - IgnoreCase is enabled, file Zeta will be listed after file alfa - (Note: file GAMMA will always be listed before file gamma). </dd> + <dd>If this option is enabled, names are sorted in a case-insensitive + manner. For instance, if the sort order is ascending by name, and + <code>IgnoreCase</code> is enabled, file Zeta will be listed after + file alfa (Note: file GAMMA will always be listed before file gamma). + </dd> <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient">IgnoreClient</a></dt> @@ -655,7 +677,8 @@ indexing</td></tr> <dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden">ShowForbidden</a></dt> <dd>If specified, Apache will show files normally hidden because - the subrequest returned HTTP_UNAUTHORIZED or HTTP_FORBIDDEN</dd> + the subrequest returned <code>HTTP_UNAUTHORIZED</code> or + <code>HTTP_FORBIDDEN</code></dd> <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></dt> @@ -665,8 +688,8 @@ indexing</td></tr> column heading will sort the directory listing by the values in that column. <strong>Prior to Apache 2.0.23, this also disabled parsing the Query Arguments for the sort - string.</strong> That behavior is now controlled by <a href="#indexoptions.ignoreclient">IndexOptions - IgnoreClient</a> in Apache 2.0.23.</dd> + string.</strong> That behavior is now controlled by <a href="#indexoptions.ignoreclient"><code>IndexOptions + IgnoreClient</code></a> in Apache 2.0.23.</dd> <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription">SuppressDescription</a></dt> @@ -722,9 +745,9 @@ indexing</td></tr> <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified">TrackModified</a> (<em>Apache 2.0.23 and later</em>)</dt> - <dd>This returns the Last-Modified and ETag values for the listed - directory in the HTTP header. It is only valid if the - operating system and file system return appropriate stat() + <dd>This returns the <code>Last-Modified</code> and <code>ETag</code> + values for the listed directory in the HTTP header. It is only valid + if the operating system and file system return appropriate stat() results. Some Unix systems do so, as do OS2's JFS and Win32's NTFS volumes. OS2 and Win32 FAT volumes, for example, do not. Once this feature is enabled, the client or proxy can track @@ -733,8 +756,8 @@ indexing</td></tr> removed files, but do not track changes for sizes or dates of the files within the directory. <strong>Changes to the size or date stamp of an existing file will not update the - Last-Modified header on all Unix platforms.</strong> If this - is a concern, leave this option disabled.</dd> + <code>Last-Modified</code> header on all Unix platforms.</strong> + If this is a concern, leave this option disabled.</dd> <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort">VersionSort</a> (<em>Apache 2.0a3 and later</em>)</dt> @@ -912,7 +935,8 @@ of the index listing</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" title="English"> en </a> | <a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_autoindex.html.ja.utf8 b/docs/manual/mod/mod_autoindex.html.ja.utf8 index a852ea85..23461a3e 100644 --- a/docs/manual/mod/mod_autoindex.html.ja.utf8 +++ b/docs/manual/mod/mod_autoindex.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_autoindex.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -980,7 +981,8 @@ Name|Date|Size|Description</code></td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_autoindex.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_autoindex.html.ko.euc-kr b/docs/manual/mod/mod_autoindex.html.ko.euc-kr index 07405940..f8f677fd 100644 --- a/docs/manual/mod/mod_autoindex.html.ko.euc-kr +++ b/docs/manual/mod/mod_autoindex.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_autoindex.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_autoindex.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -828,7 +829,8 @@ Name|Date|Size|Description</code></td></tr> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_autoindex.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_autoindex.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_autoindex.html.tr.utf8 b/docs/manual/mod/mod_autoindex.html.tr.utf8 new file mode 100644 index 00000000..b8eda5d7 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.tr.utf8 @@ -0,0 +1,934 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_autoindex - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<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"> en </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Unix <code>ls</code> veya Win32 <code>dir</code> kabuk komutunun +yaptığı gibi dizin içeriÄŸini listeler.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>autoindex_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_autoindex.c</td></tr></table> +<h3>Özet</h3> + + <p>Bir dizin içerik dosyası iki kaynaktan gelebilir:</p> + + <ul> + <li>Kullanıcı tarafından yazılmış ve genellikle <code>index.html</code> + adında bir dosya olarak. Dosyanın ismi <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> yönergesi ile belirlenir ve + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> tarafından denetlenir.</li> + + <li>Kullanıcı tarafından böyle bir dosya saÄŸlanmadığı takdirde dizin + içerik listesini sunucu üretir. DiÄŸer yönergeler bu listenin biçemini + belirler. Listede gösterilen dosya türü simgeleri <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code> ve <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> yönergeleri ile + belirlenir. Bunlar <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> tarafından + denetlenir.</li> + </ul> + + <p>Ä°ki iÅŸlev birbirinden ayrı tutulmuÅŸtur, böylece kendiliÄŸinden içerik + listesi üretimi tamamen iptal edilebilir (veya deÄŸiÅŸtirilebilir).</p> + + <p>KendiliÄŸinden içerik listesi üretimi <code>Options +Indexes</code> ile + etkin kılınabilir. Daha fazla bilgi için <code class="directive"><a href="../mod/core.html#options">Options</a></code> yönergesinin açıklamasına bakınız.</p> + + <p><code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesi + <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + seçeneÄŸi ile kullanılmışsa sütun baÅŸlıkları listenin sıralamasını + sütundaki sıralamaya göre deÄŸiÅŸtirecek hiper baÄŸlar haline getirilir + (süslü liste). Aynı baÅŸlığa peÅŸpeÅŸe tıklamak suretiyle sıralamayı + büyükten küçüğe veya tersine deÄŸiÅŸtirebilirsiniz. Bu sütun baÅŸlığı + baÄŸlarının oluÅŸturulması <code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesi <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> seçeneÄŸi ile kullanılarak + engellenebilir.</p> + + <p>Boyuta göre sıralamada daima dosyanın asıl boyutuna bakılır. + Dolayısıyla ikisi de "1K" olarak gösterilen iki dosyadan 1010 baytlık + olanı küçükten büyüğe sıralamada 1011 baytlıktan önce + gösterilecektir.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</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>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#query">Sütun Sıralamada Sorgu Seçenekleri</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">Sütun Sıralamada Sorgu Seçenekleri</a></h2> + + + <p>Apache 2.0.23’te Sütun Sıralama için Sorgu Seçenekleri yeniden + düzenlenip tamamen yeni bir sorgu seçenekleri grubu oluÅŸturulmuÅŸtur. + Çıktı üzerinde kullanıcı denetimini tamamen ortadan kaldırmak için + <code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesinin + <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> + seçeneÄŸi kullanılabilir.</p> + + <p>Sütun sıralama baÅŸlıklarının her biri hedefi kendisi olan birer hiper + baÄŸ olup aÅŸağıda sıralanan sorgu seçeneklerini kullanırlar. Bu + seçeneklerin her biri her dizin içerik listesi isteÄŸine eklenebilir.</p> + + <ul> + <li><code>C=N</code> dizini dosya adına göre sıralar</li> + + <li><code>C=M</code> dizini son deÄŸiÅŸiklik zamanına ve ardından dosya + ismine göre sıralar.</li> + + <li><code>C=S</code> dizini boyuta ve ardından dosya adına göre + sıralar</li> + + <li class="separate"><code>C=D</code> dizini açıklamaya ve ardından + dosya adına göre sıralar.</li> + + <li><code>O=A</code> artan sıralama uygulanır.</li> + + <li class="separate"><code>O=D</code> azalan sıralama uygulanır.</li> + + <li><code>F=0</code> listeleme basit listeleme biçiminde yapılır + (<code>FancyIndexing</code> seçeneÄŸi ile etkinleÅŸtirilen biçimde + deÄŸil)</li> + + <li><code>F=1</code> listeleme <code>FancyIndexing</code> seçeneÄŸi ile + etkinleÅŸtirilen biçimde yapılır</li> + + <li class="separate"><code>F=2</code> listeleme <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> ve + <code><a href="#indexoptions.htmltable">HTMLTable</a></code> seçeneÄŸi + ile etkinleÅŸtirilen biçimde yapılır.</li> + + <li><code>V=0</code> sürüme göre sıralama iptal edilir.</li> + + <li class="separate"><code>V=1</code> sürüme göre sıralama etkin + kılınır.</li> + + <li><code>P=<var>kalıp</var></code> sadece belirtilen + <code><em>kalıp</em></code> ile eÅŸleÅŸen dosyalar istelenir.</li> + </ul> + + <p><code>P=<var>kalıp</var></code> sorgu seçeneÄŸinin normalde <code class="directive"><a href="#indexignore">IndexIgnore</a></code> yönergesi iÅŸleme + sokulduktan sonra deÄŸerlendirildiÄŸine ve dosya isimlerinin diÄŸer + kendiliÄŸinden içerik listeleme koÅŸullarının konusu olmaya devam ettiÄŸine + dikkat ediniz. <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> modülündeki Sorgu + Seçenekleri çözümleyicisi tanımadığı bir seçeneÄŸe rastlar rastlamaz + iÅŸlemi durdurur. Sorgu Seçenekleri yukarıda belirtilene uygun olarak iyi + biçimli olmak zorundadır.</p> + + <p>AÅŸağıdaki basit örnekte sorgu seçeneklerinin kullanımı gösterilmiÅŸtir. + Son satırda bulunan "submit" düğmesindeki tanınmayan "X" girdisine + dikkat ediniz. "X=Göster" girdisi tüm seçenekler iÅŸlendikten sonra + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> tarafından son argüman olarak ele + alınacak ve çözümleme iÅŸlemi o noktada duracaktır.</p> + + <div class="example"><pre> +<form action="" method="get"> + <input type="text" name="P" value="*" /> ile eÅŸleÅŸen + <select name="C"> + <option value="N" selected="selected">isme</option> + <option value="M"> deÄŸiÅŸiklik tarihine</option> + <option value="S"> boyuta</option> + <option value="D"> açıklamaya</option> + </select> göre + <select name="O"> + <option value="A" selected="selected"> artan</option> + <option value="D"> azalan</option> + </select> + <select name="V"> + <option value="0" selected="selected">normal</option> + <option value="1"> sürümlü</option> + </select> sıralamayla bir + <select name="F"> + <option value="0"> basit liste</option> + <option value="1" selected="selected"> süslü liste</option> + <option value="2"> tablolu liste</option> + </select> + <input type="submit" name="X" value="Göster" /> +</form></pre></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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosyaya göre seçilen simgenin yerinde gösterilecek metni belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddAlt <var>metin</var> <var>dosya</var> [<var>dosya</var>] ...</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAlt</code> yönergesi, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneÄŸiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. <code><em>dosya</em></code> olarak dosya türünü + betimleyecek bir dosya uzantısı, dosya isminin bir kısmı, bir dosya ismi + kalıbı veya tam yoluyla bir dosya ismi belirtilebilir. EÄŸer + <code><em>metin</em></code> boÅŸluk karakterleri içeriyorsa tırnak içine + (<code>"</code> veya <code>'</code>) alınmalıdır. Simge metni, simge + bulunamadığı veya istemci resim gösteremediÄŸi takdirde ya da kullanıcı + resim yüklememeyi tercih etmiÅŸse gösterilir.</p> + + <div class="example"><h3>Örnekler</h3><p><code> + AddAlt "PDF dosya" *.pdf<br /> + AddAlt Sıkıştırılmış *.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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosyanın MIME kodlamasına göre seçilen simgenin yerinde +gösterilecek metni belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddAltByEncoding <var>metin</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByEncoding</code> yönergesi, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneÄŸiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. <code><em>MIME-kodlaması</em></code> olarak + <code>x-compress</code> gibi geçerli bir içerik kodlaması + belirtilmelidir. EÄŸer <code><em>metin</em></code> boÅŸluk karakterleri + içeriyorsa tırnak içine (<code>"</code> veya <code>'</code>) + alınmalıdır. Simge metni simge bulunamadığı veya istemci resim + gösteremediÄŸi takdirde ya da kullanıcı resim yüklememeyi tercih etmiÅŸse + gösterilir.</p> + + <div class="example"><h3>Örnek</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosyanın MIME türüne göre seçilen simgenin yerinde gösterilecek +metni belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddAltByType <var>metin</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByType</code> yönergesi, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneÄŸiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. <code><em>MIME-türü</em></code> olarak + <code>text/html</code> gibi geçerli bir içerik türü belirtilmelidir. + EÄŸer <code><em>metin</em></code> boÅŸluk karakterleri içeriyorsa tırnak + içine (<code>"</code> veya <code>'</code>) alınmalıdır. Simge metni + simge bulunamadığı veya istemci resim gösteremediÄŸi takdirde ya da + kullanıcı resim yüklememeyi tercih etmiÅŸse gösterilir.</p> + + <div class="example"><h3>Örnek</h3><p><code> + AddAltByType 'salt metin' 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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek açıklama belirtilir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddDescription <var>metin dosya</var> [<var>dosya</var>] ...</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</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 açıklamayı belirler. <code><em>dosya</em></code> + olarak dosya türünü betimleyecek bir dosya uzantısı, dosya isminin bir + kısmı, bir dosya ismi kalıbı veya tam yoluyla bir dosya ismi + belirtilebilir. EÄŸer dosya açıklamasını içeren + <code><em>metin</em></code> boÅŸluk karakterleri içeriyorsa çift tırnak + (<code>"</code>) içine alınmalıdır.</p> + + <div class="example"><h3>Örnek</h3><p><code> + AddDescription "Mars Gezegeni" /resimler/mars.gif + </code></p></div> + + <p>Normalde öntanımlı açıklama alanının geniÅŸliÄŸi 23 bayttır. <code><a href="#indexoptions.suppressicon">IndexOptions SuppressIcon</a></code> + seçeneÄŸi buna 6 bayt daha ekler; <code><a href="#indexoptions.suppresssize">IndexOptions SuppressSize</a></code> + seçeneÄŸi 7 bayt, <code><a href="#indexoptions.suppresslastmodified">IndexOptions SuppressLastModified</a></code> seçeneÄŸi ise 19 bayt + ekler. Böylece en fazla 55 karakterlik öntanımlı sütun geniÅŸliÄŸine + ulaşılabilir.</p> + + <p>Açıklama sütununun öntanımlı geniÅŸliÄŸi geçersiz kılınabilir hatta + sınırsız açıklama uzunluÄŸu atanabilir. Bu konu için <code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesinin <a href="#indexoptions.descriptionwidth"><code>DescriptionWidth</code></a> + seçeneÄŸinin açıklamasına bakınız.</p> + + <div class="note"><h3>Önemli</h3> + <p><code class="directive">AddDescription</code> ile tanımlanan açıklama metni + HTML etiketleri ve karakter öğeleri içerebilir. EÄŸer açıklama + sütununun geniÅŸlik sınırlamasından dolayı bir HTML etiketinin içeriÄŸi + kırpılırsa bu durum dizin listesinin kalanını etkileyebilir (örneÄŸin, + kalın gösterim listenin kalanına yayılabilir).</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek simgeyi dosya adına göre belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddIcon <var>simge</var> <var>isim</var> [<var>isim</var>] +...</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <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> + 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> + + <p><code><em>isim</em></code> olarak ya (listeyi düzgün biçemlemek + amacıyla) dizinler için <code>^^DIRECTORY^^</code>, boÅŸ satırlar için + <code>^^BLANKICON^^</code> ya da dosya türünü betimleyecek bir dosya + uzantısı, dosya isminin bir kısmı, bir dosya ismi kalıbı veya tam + yoluyla bir dosya ismi belirtilebilir.</p> + + <div class="example"><h3>Örnekler</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>Mümkünse <code class="directive">AddIcon</code> yerine <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> yönergesi tercih + edilmelidir.</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek simgeyi dosyanın MIME kodlamasına +göre belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddIconByEncoding <var>simge</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</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 + <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> + + <p><code><em>MIME-kodlaması</em></code> olarak <code>x-compress</code> + gibi geçerli bir içerik kodlaması belirtilmelidir.</p> + + <div class="example"><h3>Örnek</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek simgeyi dosyanın MIME türüne göre +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddIconByType <var>simge</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <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 + <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> + + <p><var>MIME-türü</var> MIME türleri ile eÅŸleÅŸen bir dosya kalıbı ifadesi + olabilir.</p> + + <div class="example"><h3>Örnek</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Özel bir simge atanmamış dosyalar için gösterilecek simgeyi +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DefaultIcon <var>URL-yolu</var></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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <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> + + <div class="example"><h3>Örnek</h3><p><code> + DefaultIcon /icon/unknown.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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin listesinin tepesine yerleÅŸtirilecek dosyanın ismini +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>HeaderName <var>dosya-ismi</var></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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">HeaderName</code> yönergesi, dizin listesinin tepesine + yerleÅŸtirilecek dosyanın ismini belirler. Dosyanın ismi + <code><em>dosya-ismi</em></code> ile belirtilir.</p> + + <div class="example"><h3>Örnek</h3><p><code> + HeaderName HEADER.html + </code></p></div> + + <div class="note"> + <p><code>HeaderName</code> and <code class="directive"><a href="#readmename">ReadmeName</a></code> yönergelerinde + <code><em>dosya-ismi</em></code> artık içeriÄŸi listelenecek dizine + eriÅŸmek için kullanılan bir göreli URL yolu olarak ele alınmaktadır. + EÄŸer <code><em>dosya-ismi</em></code> bir bölü çizgisi ("/") ile + baÅŸlıyorsa <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + yönergesinde belirtilen dizine göre belirtildiÄŸi varsayılır.</p> + + <div class="example"><h3>Örnek</h3><p><code> + HeaderName /include/HEADER.html + </code></p></div> + + <p><code><em>dosya-ismi</em></code>, içerik türü <code>text/*</code> + (<code>text/html</code>, <code>text/plain</code> gibi) olan bir belge + olarak çözümlenmelidir. Yani, aÅŸağıdaki örnekteki gibi betiÄŸin asıl + dosya türü <code>text/html</code> olarak imlenmiÅŸse + <code><em>dosya-ismi</em></code> bir CGI betiÄŸinin ismi bile + olabilir:</p> + + <div class="example"><p><code> + AddType text/html .cgi + </code></p></div> + + <p><code class="directive"><a href="../mod/core.html#options">Options</a></code> ile + <code>MultiViews</code> etkin kılınmışsa dosyaya <a href="../content-negotiation.html">içerik dili uzlaşımı</a> da + uygulanabilir. <code><em>dosya-ismi</em></code> ile belirtilen dosya + <code>text/html</code> türünde duraÄŸan bir belge (bir CGI betiÄŸi + deÄŸil) ise ve <code class="directive"><a href="../mod/core.html#options">options</a></code> ile + <code>Includes</code> ve <code>IncludesNOEXEC</code> seçeneklerinden + biri belirtilmiÅŸse dosya bir SSI sayfası olarak ele alınır + (<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> belgesine bakınız).</p> + </div> + + <p>EÄŸer yönergede belirtilen dosya bir HTML belge gibi baÅŸlıyorsa + (<html>, <head>, vs.) ve bu etiketlerin yinelenmemesini + istiyorsanız <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions +SuppressHTMLPreamble</code></a> ataması yapmanız + gerekecektir.</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dizin sayfasının HEAD bölümüne metin yerleÅŸtirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexHeadInsert <var>"imlenim ..."</var></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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexHeadInsert</code> yönergesi, dizin listesi için + üretilen HTML’nin <var><head></var> bölümüne yerleÅŸtirilecek bir + dizge tanımlar.</p> + <div class="example"><h3>Example</h3><p><code> + + IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">" + </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">Yönergesi</a></h2> +<table class="directive"> +<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#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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexIgnore</code> yönergesi, dizin içerik listesinden + gizlenecek dosyaların listesini belirtmek için kullanılır. + <code><em>dosya</em></code> olarak kabuk tarzı bir dosya ismi kalıbı + veya tam yoluyla bir dosya ismi belirtilebilir. Evvelce yapılmış bir + atamada deÄŸiÅŸiklik yapmak yerine birden fazla + <code class="directive">IndexIgnore</code> ataması yapabilirsiniz. Liste + öntanımlı olarak içinde bulunulan dizini (<code>./</code>) içerir.</p> + + <div class="example"><p><code> + IndexIgnore README .htaccess *.bak *~ + </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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin içerik listesini yapılandıracak seçenekler belirtilir. +</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#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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOptions</code> yönergesi dizin içerik listesinin + davranışını belirler. <code><em>seçenek</em></code> olarak ÅŸunlar + belirtilebilir:</p> + + <dl> + <dt><a name="indexoptions.charset" id="indexoptions.charset"><code>Charset=<em>karakter-kümesi</em></code></a> (<em>Apache 2.0.61 + ve sonrası</em>)</dt> + + <dd><code>Charset</code> seçeneÄŸi üretilen sayfa için bir karakter + kümesi belirtebilmenizi saÄŸlar. Dizinin bulunduÄŸu dosya sisteminin + karakter kodlamasına baÄŸlı olarak öntanımlı deÄŸeri ya + <var>ISO-8859-1</var> ya da <var>UTF-8</var>’dir. + + <div class="example"><h3>Örnek</h3><p><code> + IndexOptions Charset=UTF-8 + </code></p></div> + </dd> + + <dt><a name="indexoptions.type" id="indexoptions.type"><code>Type=<em>MIME-türü</em></code></a> (<em>Apache 2.0.61 ve + sonrası</em>)</dt> + + <dd><code>Type</code> seçeneÄŸi üretilen sayfa için bir MIME türü + belirtebilmenizi saÄŸlar. Öntanımlı deÄŸer <var>text/html</var>’dir. + + <div class="example"><h3>Örnek</h3><p><code> + IndexOptions Type=text/plain + </code></p></div> + </dd> + + <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth"><code>DescriptionWidth=[<em>n</em> | *]</code></a> + (<em>Apache 2.0.23 ve sonrası</em>)</dt> + + <dd><p><code>DescriptionWidth</code> seçeneÄŸi üretilen sayfada açıklama + sütununun geniÅŸliÄŸini sizin belirleyebilmenizi saÄŸlar. Bu seçenek + kullanılmadığında veya <code>-DescriptionWidth</code> olarak + belirtildiÄŸinde uygun geniÅŸliÄŸi <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + hesaplar.</p> + + <p><code>DescriptionWidth=<em>n</em></code> ile açıklama sütununun + geniÅŸliÄŸi <code><em>n</em></code> baytla sınırlanır.</p> + + <p><code>DescriptionWidth=*</code> ile açıklama sütununun geniÅŸliÄŸi en + uzun açıklama metni sığacak ÅŸekilde arttırılır.</p> + + <p><strong>Sütun geniÅŸliÄŸinin sabitliÄŸi nedeniyle metnin + kırpılmasından kaynaklanan sorunlar için <code class="directive"><a href="#adddescription">AddDescription</a></code> yönergesinin + açıklamasına bakınız.</strong></p></dd> + + <dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing"><code>FancyIndexing</code></a></dt> + + <dd>Dizin içerik listesi süslü olur.</dd> + + <dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst"><code>FoldersFirst</code></a> + (<em>Apache 2.0.23 ve sonrası</em>)</dt> + + <dd>Bu seçenek etkin kılındığında dizin içerik listesinde alt dizinler + dosyalardan önce listelenir. Listelemede genel olarak iki bileÅŸen + vardır: Alt dizinler ve dosyalar. Her biri kendi arasında sıraya + dizilir ve alt dizinlerin tamamı dosyalardan önce gösterilir. ÖrneÄŸin + sıralama isme göre azalan sırada yapılıyorsa ve + <code>FoldersFirst</code> etkinse <code>Zed</code> dizini listede + <code>Beta</code> dizininden ve <code>Gamma</code> ve + <code>Alpha</code> dosyalarından önce yer alacaktır. <strong>Bu + seçenek sadece <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> seçeneÄŸi etkinse etkili + olacaktır.</strong></dd> + + <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable"><code>HTMLTable</code></a> + (<em>Deneysel, Apache 2.0.23 ve sonrası</em>)</dt> + + <dd>Bu deneysel seçenek <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> seçeneÄŸi ile birlikte süslü listeleme + için basit bir tablo oluÅŸturur. Fakat bu eski tarayıcıları yanıltır. + Bununla birlikte, Linux, WinNT gibi saÄŸdan sola veya soldan saÄŸa yazım + yönünün UTF-8 karakter koduna göre deÄŸiÅŸtiÄŸi platformlarda dosya + isimleri ve açıklamalar için bu özellikle gerekli olabilir.</dd> + + <dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks"><code>IconsAreLinks</code></a></dt> + + <dd>Bu seçenek <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> seçeneÄŸi ile birlikte süslü + listelemede dosya simgesini dosyaya bir hiper baÄŸ haline getirir.</dd> + + <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight"><code>IconHeight[=<em>benek-sayısı</em>]</code></a></dt> + + <dd>Bu seçeneÄŸin varlığı <code>IconWidth</code> seçeneÄŸi ile + kullanıldığında dosya simgesinin <code>img</code> etiketinin + <code>height</code> ve <code>width</code> özniteliklerini içermesine + sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden + sayfa yerleÅŸimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek + bir deÄŸer belirtilmeksizin kullanıldığında Apache tarafından atanmış + standart simge yüksekliÄŸi öntanımlıdır.</dd> + + <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth"><code>IconWidth[=<em>benek-sayısı</em>]</code></a></dt> + + <dd>Bu seçeneÄŸin varlığı <code>IconHeight</code> seçeneÄŸi ile + kullanıldığında dosya simgesinin <code>img</code> etiketinin + <code>height</code> ve <code>width</code> özniteliklerini içermesine + sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden + sayfa yerleÅŸimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek + bir deÄŸer belirtilmeksizin kullanıldığında Apache tarafından atanmış + standart simge geniÅŸliÄŸi öntanımlıdır.</dd> + + <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase"><code>IgnoreCase</code></a></dt> + + <dd>Bu seçenek etkin kılındığında isimler harf büyüklüğüne duyarsız + sıralanır. ÖrneÄŸin, isme göre artan sıralamada <code>IgnoreCase</code> + etkinse Zeta dosyası alfa dosyasından sonra listelenir (Dikkat: GAMMA + daima gamma’dan önce listelenir.)</dd> + + <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient"><code>IgnoreClient</code></a></dt> + + <dd>Bu seçenek <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>’in listenin sıralanmasına + etki edenler dahil tüm sorgu deÄŸiÅŸkenlerini yoksaymasına sebep olur + (örtük olarak <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> uygulanır).</dd> + + <dt><a name="indexoptions.namewidth" id="indexoptions.namewidth"><code>NameWidth=[<em>n</em> | *]</code></a></dt> + + <dd><p><code>NameWidth</code> seçeneÄŸi dosya ismi sütunu için bir + geniÅŸlik belirtebilmenizi mümkün kılar.</p> + + <p>Hiç belirtilmediÄŸinde veya <code>-NameWidth</code> biçeminde + belirtildiÄŸinde <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> uygun geniÅŸliÄŸi kendisi + hesaplayacaktır.</p> + + <p><code>NameWidth=<em>n</em></code> ile sütun geniÅŸliÄŸi + <code><em>n</em></code> bayt geniÅŸlikte sabitlenir.</p> + + <p><code>NameWidth=*</code> olduÄŸunda ise sütun geniÅŸliÄŸi en geniÅŸ + satırın sığacağı kadar arttırılır.</p></dd> + + <dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles"><code>ScanHTMLTitles</code></a></dt> + + <dd>Bu seçenek süslü listeleme için HTML belgelerden sayfa baÅŸlığının + okunmasını saÄŸlar. Dosya için <code class="directive"><a href="#adddescription">AddDescription</a></code> ile bir açıklama tanımlanmımışsa httpd + belgenin <code>title</code> etiketinin içeriÄŸini okuyacaktır. Bu + seçenek iÅŸlemciyi ve diski fazla meÅŸgul eder.</dd> + + <dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden"><code>ShowForbidden</code></a></dt> + + <dd>Alt istek <code>HTTP_UNAUTHORIZED</code> veya + <code>HTTP_FORBIDDEN</code> döndürdüğünden dolayı normalde gizli olan + dosyalar bu seçenek belirtilmiÅŸse listede gösterilir.</dd> + + <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting"><code>SuppressColumnSorting</code></a></dt> + + <dd>Bu seçenek belirtilmiÅŸse Apache, süslü dizin listesinde sütun + baÅŸlıklarını sıralama için hiper baÄŸ haline getirmeyecektir. Sütun + baÅŸlıkları için öntanımlı davranış hiper baÄŸ olmak olup bunlar + seçilerek dizin listesinin o sütundaki deÄŸerlere göre sıralanması + saÄŸlanır. <strong>Apache 2.0.23 öncesinde, bu seçenek ayrıca, sıralama + dizgesi için sorgu sözcüklerinin çözümlenmesini de iptal + ederdi.</strong> Bu davranış Apache 2.0.23’ten beri <a href="#indexoptions.ignoreclient"><code>IndexOptions + IgnoreClient</code></a> ile saÄŸlanmaktadır.</dd> + + <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription"><code>SuppressDescription</code></a></dt> + + <dd>Süslü listelemede dosya açıklamalarının gösterilmesini engeller. + Öntanımlı olarak hiçbir dosya açıklaması tanımlı deÄŸildir, dolayısıyla + bu seçenek kullanılarak ekran geniÅŸliÄŸinden 23 karakterlik yer + kazanılabilir. Dosya açıklamalarının nasıl belirlendiÄŸini öğrenmek + için <code class="directive"><a href="#adddescription">AddDescription</a></code> + yönergesinin açıklamasına bakınız. Ayrıca, açıklama sütununun + geniÅŸliÄŸini ayarlayan <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code> dizin listeleme seçeneÄŸine de + bakınız.</dd> + + <dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble"><code>SuppressHTMLPreamble</code></a></dt> + + <dd>EÄŸer dizin aslında <code class="directive"><a href="#headername">HeaderName</a></code> yönergesi ile belirtilmiÅŸ bir dosya içeriyorsa + modül normal olarak bu dosyanın içeriÄŸinin öncesine HTML baÅŸlangıç + etiketlerini (<code><html></code>, <code><head></code>, + vs.) yerleÅŸtirir. Bu seçenek bu davranışı iptal ederek modülün dosya + içeriÄŸinin baÅŸlangıcına bir ÅŸey eklememesini saÄŸlar. Bu durumda baÅŸlık + dosyasının uygun HTML etiketlerini içermesi gerekir. Böyle bir baÅŸlık + dosyası yoksa normal olarak HTML baÅŸlangıç etiketleri üretilir.</dd> + + <dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon"><code>SuppressIcon</code></a> + (<em>Apache 2.0.23 ve sonrası</em>)</dt> + + <dd>Süslü dizin listesinde dosya simgelerinin gösterilmesini engeller. + Son belirtim, süslü dizin listelemede kullanılan <code>pre</code> + etiketinin içeriÄŸinde <code>img</code> ve <code>hr</code> + etiketlerinin bulunmasına izin vermediÄŸinden <code>SuppressIcon</code> + ve <code>SuppressRules</code> seçenekleri birlikte kullanılarak HTML + 3.2 belirtimine uyum saÄŸlanır.</dd> + + <dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified"><code>SuppressLastModified</code></a></dt> + + <dd>Süslü dizin listelemede son deÄŸiÅŸiklik tarihinin gösterilmesi + engellenir.</dd> + + <dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules"><code>SuppressRules</code></a> + (<em>Apache 2.0.23 ve sonrası</em>)</dt> + + <dd>Dizin listelemede <code>hr</code> etiketinin kullanımını engeller. + Son belirtim, süslü dizin listelemede kullanılan <code>pre</code> + etiketinin içeriÄŸinde <code>img</code> ve <code>hr</code> + etiketlerinin bulunmasına izin vermediÄŸinden <code>SuppressIcon</code> + ve <code>SuppressRules</code> seçenekleri birlikte kullanılarak HTML + 3.2 belirtimine uyum saÄŸlanır.</dd> + + <dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize"><code>SuppressSize</code></a></dt> + + <dd>Süslü dizin listelemede dosya boyutunun gösterilmesi engellenir.</dd> + + <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified"><code>TrackModified</code></a> + (<em>Apache 2.0.23 ve sonrası</em>)</dt> + + <dd>Bu seçenek listelenen dizin için HTTP baÅŸlığında + <code>Last-Modified</code> ve <code>ETag</code> alanlarının dönmesini + saÄŸlar. Sadece iÅŸletim sistemi veya dosya sistemi uygun stat() + sonuçlarını döndürüyorsa bu geçerlidir. Bazı Unix sistemleri, OS2’nin + JFS’si ve Win32’nin NTFS’i böyledir. Ancak OS2 ve Win32 FAT dosya + sistemleri böyle deÄŸildir. Bu özellik etkin kılındığında istemci veya + vekil <code>HEAD</code> istekleriyle dosya listesindeki deÄŸiÅŸiklikleri + izleyebilirler. Yalnız, bazı iÅŸletim sistemlerinin yeni ve silinmiÅŸ + dosyaların izini iyi sürdüğü halde dizin içindeki dosyaların boyut ve + tarih deÄŸiÅŸikliklerini izlemediklerine dikkat ediniz. <strong>Mevcut + bir dosyanın boyut ve zaman damgasındaki deÄŸiÅŸiklikler + <code>Last-Modified</code> baÅŸlığının güncellenmesini tüm Unix + sistemlerinde saÄŸlamaz</strong>. Bu gibi durumlarda bu seçeneÄŸin + kapalı kalması daha iyidir.</dd> + + <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort"><code>VersionSort</code></a> + (<em>Apache 2.0a3 ve sonrası</em>)</dt> + + <dd><code>VersionSort</code> seçeneÄŸi isimlerinde sürüm numarası bulunan + dosyaların sayısal sıralamaya uygun olarak sıralanmalarını saÄŸlar. + Normalde sıralama karakter sıralamasına göre yapılır, ardından sürüm + numaralı dosyalar veya açıklamalar kendi aralarında sayısal sıralamaya + tabi tutulur. + + <div class="example"><h3>Örnek:</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>Sıfır ile baÅŸlalan numaralara ondalık sayı muamelesi yapılır:</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"><code>XHTML</code></a> + (<em>Apache 2.0.49 ve sonrası</em>)</dt> + + <dd><code>XHTML</code> seçeneÄŸi <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>’in kodu + HTML 3.2’ye deÄŸil XHTML 1.0’a uygun üretmesini saÄŸlar.</dd> + </dl> + + + <dl><dt><code>+</code> veya <code>-</code> Önekli Seçenekler</dt> + <dd> + <p>Apache 1.3.3’te <code class="directive">IndexOptions</code> yönergelerinin ele + alınışıyla ilgili önemil deÄŸiÅŸiklikler yapılmıştır. Bunlar:</p> + + <ul> + <li>Tek bir dizin için çok sayıda <code class="directive">IndexOptions</code> + yönergesi belirtilmiÅŸse bunlar ayrı ayrı deÄŸil birlikte ele alınır. + Yani, + + <div class="example"><p><code> + <Directory /foo> + <span class="indent"> + IndexOptions HTMLTable<br /> + IndexOptions SuppressColumnsorting + </span> + </Directory> + </code></p></div> + + <p>yapılandırmasındaki <code class="directive">IndexOptions</code> + yönergeleri</p> + + <div class="example"><p><code> + IndexOptions HTMLTable SuppressColumnsorting + </code></p></div> + + <p>yönergesine eÅŸdeÄŸerdir.</p> + </li> + + <li>Seçeneklerde <code>+</code> veya <code>-</code> önekleri + kullanılabilmektedir.</li> + </ul> + + <p><code>+</code> veya <code>-</code> önekli seçeneklere rastlandığında + bunlar mevcut (üst dizinden miras alınanlar ve/veya önceki atamalar) + <code class="directive">IndexOptions</code> yönergelerine uygulanır. Ancak, + önek kullanılmamış bir seçeneÄŸe raslandığında, o noktada önceki ve + miras alınmış bu tür seçenekler iptal edilir. Åžu örneÄŸi ele alalım:</p> + + <div class="example"><p><code> + IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing<br /> + IndexOptions +SuppressSize + </code></p></div> + + <p>Bunun net etkisi <code>IndexOptions FancyIndexing +SuppressSize</code> + atamasına eÅŸdeÄŸerdir, çünkü öneksiz <code>FancyIndexing</code> seçeneÄŸi + kendinden önceki önekli seçenekleri iptal etmiÅŸ fakat hemen ardından + eklenmelerine izin vermiÅŸtir.</p> + + <p>Belli bir dizine önceki seçenekleri temizleyerek koÅŸulsuz olarak + tamamen yeni seçenekler atamak istiyorsanız + <code class="directive">IndexOptions</code> yönergesinde seçenekleri + <code>+</code> veya <code>-</code> öneklerini kullanmadan + belirtiniz.</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin içerik listesinin öntanımlı sıralamasını belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>IndexOrderDefault Ascending Name</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOrderDefault</code> yönergesi <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneÄŸinin + etkin olduÄŸu durumda iÅŸe yarar. Öntanımlı olarak süslü listelemede dizin + içeriÄŸi dosya ismine göre artan sıralamayla listelenir. + <code class="directive">IndexOrderDefault</code> yönergesi bu öntanımlı + sıralamanın deÄŸiÅŸtirilmesini mümkün kılar.</p> + + <p><code class="directive">IndexOrderDefault</code> yönergesi iki deÄŸer alır. Ä°lki + sıralama yönünü belirtmek üzere <code>Ascending</code> (küçükten büyüğe) + veya <code>Descending</code> (büyükten küçüğe) olmak zorundadır. Ä°kinci + deÄŸer ise birincil sıralama anahtarını belirtmek üzere <code>Name</code>, + <code>Date</code>, <code>Size</code> ve <code>Description</code> + sözcüklerinden biri olmalıdır (anlamları sırayla: Ä°sim, Tarih, Boyut, + 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 + isteÄŸini engellemiÅŸ olursunuz.</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin listesine bir biçembent ekler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexStyleSheet <var>url-yolu</var></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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexStyleSheet</code> yönergesi dizin listelemesi için + kullanılacak biçembent dosyasının ismini belirtmek için kullanılır.</p> + + <div class="example"><h3>Örnek</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin listesinin sonuna yerleÅŸtirilecek dosyanın ismini +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ReadmeName <var>dosya-ismi</var></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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">ReadmeName</code> yönergesi dizin listesinin sonuna + eklenecek dosyanın ismini belirler. <code><em>dosya-ismi</em></code> ile + listeye dahil edilecek dosyanın ismi listelenen dizine göreli olarak + belirtilir. EÄŸer dosya ismi bir bölü çizgisi ile baÅŸlıyorsa <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>’a göreli belirtildiÄŸi + varsayılır.</p> + + <div class="example"><h3>1. Örnek</h3><p><code> + ReadmeName FOOTER.html + </code></p></div> + + <div class="example"><h3>2. Örnek</h3><p><code> + ReadmeName /include/FOOTER.html + </code></p></div> + + <p>Ayrıca bu davranışın daha ayrıntılı ele alındığı <code class="directive"><a href="#headername">HeaderName</a></code> yönergesine de + bakınız.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_dir.html b/docs/manual/mod/mod_dir.html index 50c36c88..3daf13e1 100644 --- a/docs/manual/mod/mod_dir.html +++ b/docs/manual/mod/mod_dir.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_dir.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_dir.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dir.html.en b/docs/manual/mod/mod_dir.html.en index 581fa17a..b4f3590c 100644 --- a/docs/manual/mod/mod_dir.html.en +++ b/docs/manual/mod/mod_dir.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" title="English"> en </a> | <a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides for "trailing slash" redirects and serving directory index files</td></tr> @@ -162,7 +163,8 @@ a directory</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" title="English"> en </a> | <a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_dir.html.ja.utf8 b/docs/manual/mod/mod_dir.html.ja.utf8 index 0916746a..a909a7c4 100644 --- a/docs/manual/mod/mod_dir.html.ja.utf8 +++ b/docs/manual/mod/mod_dir.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_dir.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>「最後ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã€ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¨ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® インデックスファイルを扱ã†æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹</td></tr> @@ -173,7 +174,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_dir.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_dir.html.ko.euc-kr b/docs/manual/mod/mod_dir.html.ko.euc-kr index 8eb829cb..fb5cbabb 100644 --- a/docs/manual/mod/mod_dir.html.ko.euc-kr +++ b/docs/manual/mod/mod_dir.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_dir.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_dir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -162,7 +163,8 @@ index ÆÄÀÏÀ» ¼ºñ½ºÇÑ´Ù</td></tr> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_dir.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_dir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_dir.html.tr.utf8 b/docs/manual/mod/mod_dir.html.tr.utf8 new file mode 100644 index 00000000..738af13b --- /dev/null +++ b/docs/manual/mod/mod_dir.html.tr.utf8 @@ -0,0 +1,170 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dir - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_dir</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriÄŸi dosyalarını sunar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>dir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_dir.c</td></tr></table> +<h3>Özet</h3> + + <p>Bir dizin içerik dosyası ÅŸu iki kaynaktan birinden gelebilir:</p> + + <ul> + <li>Kullanıcı tarafından yazılmış ve ismi genellikle + <code>index.html</code> olan bir dosya. Dosya ismi <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> yönergesi ile belirlenir. + Bu, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> modülü tarafından denetlenir.</li> + + <li>Aksi takdirde içerik listesi sunucu tarafından üretilir. Bu, + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> modülü tarafından saÄŸlanır.</li> + </ul> + <p>Bu iki iÅŸlev tamamen birbirinden ayrıdır, dolayısıyla eÄŸer isterseniz + kendiliÄŸinden dizin içerik listesi üretimini tamamen iptal + edebilirsiniz.</p> + + <p>Sunucu <code>http://sunucum/filanca/birdizin</code> ÅŸeklinde bir istek + aldığında <code>birdizin</code> bir dizinin ismiyse ‘bölü çizgisiyle + biten’ bir yönlendirme söz konusudur. Dizinler URL sonuna bir bölü + çizgisi eklenmesini gerektirir, bu bakımdan <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + modülü isteÄŸi <code>http://sunucum/filanca/birdizin/</code> ÅŸeklinde + yönlendirir.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<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> +</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="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex" id="directoryindex">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ä°stemci bir dizin istediÄŸinde dizin içeriÄŸini listeler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DirectoryIndex + <var>yerel-url</var> [<var>yerel-url</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DirectoryIndex index.html</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> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_dir</td></tr> +</table> + <p><code class="directive">DirectoryIndex</code> yönergesi, istemci, dizinin + sonuna bir bölü çizgisi ekleyerek dizin içeriÄŸinin listelenmesini + istediÄŸinde bakılmak üzere özkaynakları listeler. + <code><em>yerel-url</em></code>, sunucu üstünde istenen dizine göreli + bir belgenin URL’sidir; normal olarak dizin içindeki bir dosyanın + ismidir. ÇeÅŸitli URL’ler verilebilirse de sunucu daima ilk bulduÄŸuyla + dönecektir. EÄŸer özkaynakların hiçbiri yoksa ve <code>Indexes</code> + seçeneÄŸi atanmışsa sunucu dizin içeriÄŸinden bir liste üretecektir.</p> + + <div class="example"><h3>Örnek:</h3><p><code> + DirectoryIndex index.html + </code></p></div> + + <p>Bu yapılandırmadan sonra yapılan bir + <code>http://sunucum/belgeler/</code> isteÄŸine karşılık, sunucu, + mevcutsa <code>http://sunucum/belgeler/index.html</code> dosyasını + döndürecek, deÄŸilse ürettiÄŸi dizin içerik listesini gönderecektir.</p> + + <p>Belgelerin dizine göreli olmasının gerekmediÄŸine dikkat ediniz.</p> + + <div class="example"><p><code> + DirectoryIndex index.html index.txt /cgi-bin/index.pl + </code></p></div> + + <p>Bu örnekte ise dizin içinde ne <code>index.html</code> ne de + <code>index.txt</code> mevcut olduÄŸunda <code>/cgi-bin/index.pl</code> + CGI betiÄŸi çalıştırılacaktı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="DirectorySlash" id="DirectorySlash">DirectorySlash</a> <a name="directoryslash" id="directoryslash">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bölü çizgisi ile biten yönlendirmeleri açar/kapar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DirectorySlash On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DirectorySlash On</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> +<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 2.0.51 ve sonrasında mevcuttur.</td></tr> +</table> + <p><code class="directive">DirectorySlash</code> yönergesi, bir dizin isteÄŸinde + bulunan URL’lerin sonuna <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> modülü tarafından bir + bölü çizgisi eklenip eklenmeyeceÄŸini belirler.</p> + + <p>Normalde, bir kullanıcı sona bir bölü çizgisi eklemeden bir dizin için + istekte bulunursa <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> zaten onu aynı özkaynaÄŸa + yönlendirir, fakat isteÄŸin sonuna bir bölü çizgisi eklenmesinin bazı iyi + sebepleri vardır:</p> + + <ul> + <li>Kullanıcı bunun sonucunda meÅŸru bir URL ile istekte bulunmuÅŸ olur.</li> + <li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> gerektiÄŸi gibi çalışır. Yoksa + baÄŸlantıdaki yolu sunamayacağından yanlış yolu gösterirdi.</li> + <li><code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> yönergesi + sadece bölü çizgisi ile biten dizin istekleri için deÄŸerlendirilir.</li> + <li>HTML sayfa içindeki göreli URL baÅŸvuruları gerektiÄŸi gibi + çalışacaktır.</li> + </ul> + + <p>Siz yine de bu etkiyi istemezseniz ve yukarıdaki sebepler de size uygun + deÄŸilse yönlendirmeyi şöyle kapatabilirsiniz:</p> + + <div class="example"><p><code> + # AÅŸağıdaki güvenlik uyarısına bakınız!<br /> + <Location /bir/yol><br /> + <span class="indent"> + DirectorySlash Off<br /> + SetHandler bir-eylemci<br /> + </span> + </Location> + </code></p></div> + + <div class="warning"><h3>Güvenlik Uyarı</h3> + <p>Bölü çizgisi ile biten yönlendirmelerin kapatılması bir bilginin + istemeyek açığa çıkmasına sebep olabilir. <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + modülünün etkin olduÄŸunu (<code>Options +Indexes</code>) ve <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> ile geçerli bir özkaynağın + (<code>index.html</code> olsun) atandığını ama bu URL için baÅŸka hiçbir + özel eylemci tanımlanmadığını varsayalım. Bu durumda bölü çizgisi ile + biten bir istek olduÄŸunda <code>index.html</code> dosyası sunulurdu. + <strong>Fakat bölü çizgisi ile bitmeyen bir istek dizin içeriÄŸinin + listelenmesi ile sonuçlanırdı.</strong></p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_env.html b/docs/manual/mod/mod_env.html index 83a77f74..df910311 100644 --- a/docs/manual/mod/mod_env.html +++ b/docs/manual/mod/mod_env.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_env.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_env.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_env.html.en b/docs/manual/mod/mod_env.html.en index beeff5b9..b0b69961 100644 --- a/docs/manual/mod/mod_env.html.en +++ b/docs/manual/mod/mod_env.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_env.html" title="English"> en </a> | <a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Modifies the environment which is passed to CGI scripts and SSI pages</td></tr> @@ -110,7 +111,8 @@ SSI pages</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_env.html" title="English"> en </a> | <a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_env.html.ja.utf8 b/docs/manual/mod/mod_env.html.ja.utf8 index 5f1f14f2..3d9e675a 100644 --- a/docs/manual/mod/mod_env.html.ja.utf8 +++ b/docs/manual/mod/mod_env.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_env.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>CGI スクリプトåŠã³ SSI ページã«æ¸¡ã•ã‚Œã‚‹ç’°å¢ƒå¤‰æ•°ã‚’変更ã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹</td></tr> @@ -110,7 +111,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_env.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_env.html.ko.euc-kr b/docs/manual/mod/mod_env.html.ko.euc-kr index 82b1037e..bcb4aec6 100644 --- a/docs/manual/mod/mod_env.html.ko.euc-kr +++ b/docs/manual/mod/mod_env.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_env.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_env.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -107,7 +108,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_env.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_env.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_env.html.tr.utf8 b/docs/manual/mod/mod_env.html.tr.utf8 new file mode 100644 index 00000000..5c8cb3f3 --- /dev/null +++ b/docs/manual/mod/mod_env.html.tr.utf8 @@ -0,0 +1,117 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_env - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_env</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>CGI betiklerine ve SSI sayfalarına aktarılan deÄŸiÅŸkenlere +müdahale etmek için kullanılır.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>env_module</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 + sürecinde tanımlı veya tanımsız yapılabilirler.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#passenv">PassEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenv">SetEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#unsetenv">UnsetEnv</a></li> +</ul> +<h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<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="PassEnv" id="PassEnv">PassEnv</a> <a name="passenv" id="passenv">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam deÄŸiÅŸkenlerini kabuktan aktarır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>PassEnv <var>ortam-deÄŸiÅŸkeni</var> [<var>ortam-deÄŸiÅŸkeni</var>] +...</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>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_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> + + <div class="example"><h3>Örnek</h3><p><code> + PassEnv LD_LIBRARY_PATH + </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="SetEnv" id="SetEnv">SetEnv</a> <a name="setenv" id="setenv">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam deÄŸiÅŸkenlerini tanımlar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetEnv <var>ortam-deÄŸiÅŸkeni</var> <var>deÄŸer</var></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>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_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> + + <div class="example"><h3>Örnek</h3><p><code> + SetEnv SPECIAL_PATH /foo/bin + </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="UnsetEnv" id="UnsetEnv">UnsetEnv</a> <a name="unsetenv" id="unsetenv">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortamdaki deÄŸiÅŸkenleri tanımsız hale getirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>UnsetEnv <var>ortam-deÄŸiÅŸkeni</var> [<var>ortam-deÄŸiÅŸkeni</var>] +...</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>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_env</td></tr> +</table> + <p>CGI betiklerine ve SSI sayfalarına bir daha aktarılmamak üzere bir ortam + deÄŸiÅŸkenini ortamdan siler.</p> + + <div class="example"><h3>Örnek</h3><p><code> + UnsetEnv LD_LIBRARY_PATH + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_config.html b/docs/manual/mod/mod_log_config.html index 8161b0c4..1e9233c9 100644 --- a/docs/manual/mod/mod_log_config.html +++ b/docs/manual/mod/mod_log_config.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_log_config.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_log_config.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_config.html.en b/docs/manual/mod/mod_log_config.html.en index 9fac05c2..46b877ad 100644 --- a/docs/manual/mod/mod_log_config.html.en +++ b/docs/manual/mod/mod_log_config.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_config.html" title="English"> en </a> | <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Logging of the requests made to the server</td></tr> <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> @@ -105,62 +106,70 @@ <td>The request protocol</td></tr> <tr class="odd"><td><code>%{<var>Foobar</var>}i</code></td> <td>The contents of <code><var>Foobar</var>:</code> header line(s) - in the request sent to the server.</td></tr> -<tr><td><code>%l</code></td> + in the request sent to the server. Changes made by other + modules (e.g. <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>) affect this. + </td></tr> +<tr><td><code>%k</code></td> + <td>Number of keepalive requests handled on this connection. Interesting if + <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> is being used, so that, + for example, a '1' means the first keepalive request after the initial + one, '2' the second, etc...; + otherwise this is always 0 (indicating the initial request).</td></tr> +<tr class="odd"><td><code>%l</code></td> <td>Remote logname (from identd, if supplied). This will return a dash unless <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> is present and <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> is set <code>On</code>.</td></tr> -<tr class="odd"><td><code>%m</code></td> +<tr><td><code>%m</code></td> <td>The request method</td></tr> -<tr><td><code>%{<var>Foobar</var>}n</code></td> +<tr class="odd"><td><code>%{<var>Foobar</var>}n</code></td> <td>The contents of note <var>Foobar</var> from another module.</td></tr> -<tr class="odd"><td><code>%{<var>Foobar</var>}o</code></td> +<tr><td><code>%{<var>Foobar</var>}o</code></td> <td>The contents of <code><var>Foobar</var>:</code> header line(s) in the reply.</td></tr> -<tr><td><code>%p</code></td> +<tr class="odd"><td><code>%p</code></td> <td>The canonical port of the server serving the request</td></tr> -<tr class="odd"><td><code>%{<var>format</var>}p</code></td> +<tr><td><code>%{<var>format</var>}p</code></td> <td>The canonical port of the server serving the request or the server's actual port or the client's actual port. Valid formats are <code>canonical</code>, <code>local</code>, or <code>remote</code>. </td></tr> -<tr><td><code>%P</code></td> +<tr class="odd"><td><code>%P</code></td> <td>The process ID of the child that serviced the request.</td></tr> -<tr class="odd"><td><code>%{<var>format</var>}P</code></td> +<tr><td><code>%{<var>format</var>}P</code></td> <td>The process ID or thread id of the child that serviced the request. Valid formats are <code>pid</code>, <code>tid</code>, and <code>hextid</code>. <code>hextid</code> requires APR 1.2.0 or higher. </td></tr> -<tr><td><code>%q</code></td> +<tr class="odd"><td><code>%q</code></td> <td>The query string (prepended with a <code>?</code> if a query string exists, otherwise an empty string)</td></tr> -<tr class="odd"><td><code>%r</code></td> +<tr><td><code>%r</code></td> <td>First line of request</td></tr> -<tr><td><code>%s</code></td> +<tr class="odd"><td><code>%s</code></td> <td>Status. For requests that got internally redirected, this is the status of the *original* request --- <code>%>s</code> for the last.</td></tr> -<tr class="odd"><td><code>%t</code></td> +<tr><td><code>%t</code></td> <td>Time the request was received (standard english format)</td></tr> -<tr><td><code>%{<var>format</var>}t</code></td> +<tr class="odd"><td><code>%{<var>format</var>}t</code></td> <td>The time, in the form given by format, which should be in <code>strftime(3)</code> format. (potentially localized)</td></tr> -<tr class="odd"><td><code>%T</code></td> +<tr><td><code>%T</code></td> <td>The time taken to serve the request, in seconds.</td></tr> -<tr><td><code>%u</code></td> +<tr class="odd"><td><code>%u</code></td> <td>Remote user (from auth; may be bogus if return status (<code>%s</code>) is 401)</td></tr> -<tr class="odd"><td><code>%U</code></td> +<tr><td><code>%U</code></td> <td>The URL path requested, not including any query string.</td></tr> -<tr><td><code>%v</code></td> +<tr class="odd"><td><code>%v</code></td> <td>The canonical <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> of the server serving the request.</td></tr> -<tr class="odd"><td><code>%V</code></td> +<tr><td><code>%V</code></td> <td>The server name according to the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> setting.</td></tr> -<tr><td><code>%X</code></td> +<tr class="odd"><td><code>%X</code></td> <td>Connection status when response is completed: <table> @@ -178,10 +187,10 @@ <p>(This directive was <code>%c</code> in late versions of Apache 1.3, but this conflicted with the historical ssl <code>%{<var>var</var>}c</code> syntax.)</p></td></tr> -<tr class="odd"><td><code>%I</code></td> +<tr><td><code>%I</code></td> <td>Bytes received, including request and headers, cannot be zero. You need to enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr> -<tr><td><code>%O</code></td> +<tr class="odd"><td><code>%O</code></td> <td>Bytes sent, including headers, cannot be zero. You need to enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr> </table> @@ -470,7 +479,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_config.html" title="English"> en </a> | <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_log_config.html.ja.utf8 b/docs/manual/mod/mod_log_config.html.ja.utf8 index 26971a5d..e8a15a3c 100644 --- a/docs/manual/mod/mod_log_config.html.ja.utf8 +++ b/docs/manual/mod/mod_log_config.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_log_config.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -466,7 +467,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_log_config.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> 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 5252e944..68fb3815 100644 --- a/docs/manual/mod/mod_log_config.html.ko.euc-kr +++ b/docs/manual/mod/mod_log_config.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_log_config.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_log_config.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -394,7 +395,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_log_config.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_log_config.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_log_config.html.tr.utf8 b/docs/manual/mod/mod_log_config.html.tr.utf8 new file mode 100644 index 00000000..9879931e --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.tr.utf8 @@ -0,0 +1,472 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_config - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_log_config</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Sunucuya yapılan isteklerin günlük kayıtlarının tutulması +</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>log_config_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_log_config.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül istemci isteklerinin esnek ÅŸekilde günlüklenmesi ile + ilgilidir. Günlükler kiÅŸiselleÅŸtirilebilir biçemdedir ve doÄŸrudan bir + dosyaya yazılabileceÄŸi gibi boru üzerinden harici bir sürece de + yazılabilir. Ä°steÄŸin özelliklerine baÄŸlı olarak bazı isteklerin + günlüklere kaydedilmesi veya kaydedilmemesi mümkün kılınmıştır.</p> + + <p>Bu modül üç yönerge içermektedir: Bir günlük dosyası oluÅŸturmak için + <code class="directive"><a href="#transferlog">TransferLog</a></code>, günlük + biçemini kiÅŸiselleÅŸtirmek için <code class="directive"><a href="#logformat">LogFormat</a></code> ve tek başına bir günlük + dosyasını hem tanımlayıp hem de biçemleyen <code class="directive"><a href="#customlog">CustomLog</a></code> yönergesi. Her isteÄŸin + çok sayıda dosyaya günlüklenmesini saÄŸlamak için yapılandırma dosyasında + her sunucu için birden fazla <code class="directive">TransferLog</code> ve + <code class="directive">CustomLog</code> yönergesi belirtilebilir.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</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> +<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> +</ul> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Günlük Girdilerinin KiÅŸiselleÅŸtirilmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Güvenlik Kaygıları</a></li> +</ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache Günlük Dosyaları</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="formats" id="formats">Günlük Girdilerinin KiÅŸiselleÅŸtirilmesi</a></h2> + + <p><code class="directive"><a href="#logformat">LogFormat</a></code> ve <code class="directive"><a href="#customlog">CustomLog</a></code> yönergelerinin biçem + argümanı bir dizgedir. Bu dizge her isteÄŸi günlük dosyasına günlüklemek + için kullanılır. DoÄŸrudan günlük dosyalarına kopyalanmak üzere dizgesel + sabitler içerebileceÄŸi gibi satırsonu ve sekme karakterleri olarak C + tarzı "\n" ve "\t" denetim karakterlerini de içerebilir. Dizgesel sabit + olarak kullanılan tırnak ve tersbölü imlerinin tersbölü ile öncelenmesi + gerekir.</p> + + <p>Ä°stek özellikleri biçem dizgesine “<code>%</code>†imli belirteçler + yerleÅŸtirilerek günlüklenir. Bu belirteçler ve anlamları:</p> + + <table class="bordered"><tr class="header"><th>Belirteç</th> + <th>Açıklama</th></tr> +<tr><td><code>%%</code></td> + <td>Yüzde imi</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>Uzak IP adresi</td></tr> +<tr><td><code>%A</code></td> + <td>Yerel IP adresi</td></tr> +<tr class="odd"><td><code>%B</code></td> + <td>HTTP baÅŸlıkları hariç, yanıtın bayt cinsinden uzunluÄŸu.</td></tr> +<tr><td><code>%b</code></td> + <td>HTTP baÅŸlıkları hariç, yanıtın bayt cinsinden uzunluÄŸu. OGB + biçeminde hiç bayt gönderilmemiÅŸse günlüğe '<code>-</code>' yerine + '<code>0</code>' çıktılanır.</td></tr> +<tr class="odd"><td><code>%{<var>Fesmekan</var>}C</code></td> + <td>Ä°stek içinde sunucuya gönderilen <var>Fesmekan</var> çerezinin + içeriÄŸi.</td></tr> +<tr><td><code>%D</code></td> + <td>Mikrosaniye cinsinden isteÄŸi sunmak için harcanan zaman.</td></tr> +<tr class="odd"><td><code>%{<var>FALANCA</var>}e</code></td> + <td><var>FALANCA</var> ortam deÄŸiÅŸkeninin içeriÄŸi.</td></tr> +<tr><td><code>%f</code></td> + <td>Dosya ismi</td></tr> +<tr class="odd"><td><code>%h</code></td> + <td>Uzak konak</td></tr> +<tr><td><code>%H</code></td> + <td>Ä°stek Protokolü</td></tr> +<tr class="odd"><td><code>%{<var>Filanca</var>}i</code></td> + <td>Ä°stekle birlikte sunucuya gönderilen + <code><var>Filanca</var>:</code> baÅŸlık satır(lar)ının + içeriÄŸi. DiÄŸer modüllerde (örn. <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>) + yapılan deÄŸiÅŸikliklerden etkilenir.</td></tr> +<tr><td><code>%k</code></td> + <td>Bu baÄŸlantıda iÅŸlenen isteklerin sayısı; yani örneÄŸin, + '1' deÄŸeri baÄŸlantı kurulduktan sonraki ilk kalıcı baÄŸlantıyı, + '2', ikinci baÄŸlantıyı, ..., vb. gösterir; + <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> kullanılmışsa + deÄŸer anlamlıdır; aksi takdirde deÄŸer daima (ilk isteÄŸi + belirten) 0’dır.</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>Uzak kullanıcı kimliÄŸi (saÄŸlanmışsa, identd üzerinden). + <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> modülü mevcut ve <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> yönergesine deÄŸer + olarak <code>On</code> atanmış olmadıkça bu belirteç için günlüğe + tire imi yazılır.</td></tr> +<tr><td><code>%m</code></td> + <td>Ä°stek yöntemi</td></tr> +<tr class="odd"><td><code>%{<var>Filanca</var>}n</code></td> + <td>DiÄŸer modüldeki <var>Filanca</var> bilgisinin içeriÄŸi.</td></tr> +<tr><td><code>%{<var>Filanca</var>}o</code></td> + <td>Yanıttaki <code><var>Filanca</var>:</code> baÅŸlık satır(lar)ının + içeriÄŸi.</td></tr> +<tr class="odd"><td><code>%p</code></td> + <td>Sunucunun isteÄŸi sunduÄŸu meÅŸru port</td></tr> +<tr><td><code>%{<var>biçem</var>}p</code></td> + <td>Sunucunun veya istemcinin gerçek portu veya sunucunun isteÄŸi + sunduÄŸu meÅŸru port. Geçerli biçemler: <code>canonical</code>, + <code>local</code> ve <code>remote</code> (anlamları sırasıyla: + meÅŸru, yerel ve uzak).</td></tr> +<tr class="odd"><td><code>%P</code></td> + <td>Ä°steÄŸi sunan çocuk sürecin süreç kimliÄŸi.</td></tr> +<tr><td><code>%{<var>biçem</var>}P</code></td> + <td>Ä°steÄŸi sunan çocuk sürecin süreç kimliÄŸi (<code>pid</code>) veya + evre kimliÄŸi (<code>tid</code>). Geçerli biçemler: <code>pid</code>, + <code>tid</code>, <code>hextid</code>. <code>hextid</code> için APR + 1.2.0 veya üstü gerekir.</td></tr> +<tr class="odd"><td><code>%q</code></td> + <td>Sorgu dizgesi (bir sorgu dizgesi mevcutsa önüne bir <code>?</code> + eklenir yoksa hiçbir ÅŸey eklenmez).</td></tr> +<tr><td><code>%r</code></td> + <td>Ä°steÄŸin ilk satırı.</td></tr> +<tr class="odd"><td><code>%s</code></td> + <td>Durum. Dahili olarak yönlendirilen istekler için isteÄŸin *özgün* + durumudur --- isteÄŸin son durumu için <code>%>s</code> + kullanınız.</td></tr> +<tr><td><code>%t</code></td> + <td>Ä°steÄŸin alındığı tarih ve saat (standart ingiliz biçemi).</td></tr> +<tr class="odd"><td><code>%{<var>biçem</var>}t</code></td> + <td>Ä°steÄŸin alındığı tarih ve saat; <var>biçem</var> + <code>strftime(3)</code> biçeminde belirtilmelidir (genelde + yerelleÅŸtirme amaçlı).</td></tr> +<tr><td><code>%T</code></td> + <td>Saniye cinsinden, isteÄŸi sunmak için harcanan zaman.</td></tr> +<tr class="odd"><td><code>%u</code></td> + <td>Uzak kullanıcı (kimlik doÄŸrulaması istenmiÅŸse vardır; durum kodu + (<code>%s</code>) 401 ise yanlış olabilir).</td></tr> +<tr><td><code>%U</code></td> + <td>Herhangi bir sorgu dizgesi içermeksizin istenen URL yolu.</td></tr> +<tr class="odd"><td><code>%v</code></td> + <td>Ä°steÄŸi sunan sunucunun meÅŸru sunucu ismi (<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>).</td></tr> +<tr><td><code>%V</code></td> + <td><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> ayarı ile + ilgili sunucu ismi.</td></tr> +<tr class="odd"><td><code>%X</code></td> + <td>Yanıt tamamlandığında baÄŸlantı durumu: + + <table> + + <tr><td><code>X</code> =</td> + <td>Yanıt tamamlanmadan baÄŸlantı koptu.</td></tr> + <tr><td><code>+</code> =</td> + <td>Yanıt gönderildikten sonra baÄŸlantı canlı kalabilir.</td></tr> + <tr><td><code>-</code> = </td> + <td>Yanıt gönderildikten sonra baÄŸlantı kapatılacak.</td></tr> + </table> + + <p>(Apache 1.3’ün son sürümlerinde bu belirteç <code>%c</code> idi + fakat geçmiÅŸe yönelik olarak <code>%{<var>isim</var>}c</code> ssl + sözdizimi ile çeliÅŸiyordu.)</p></td></tr> +<tr><td><code>%I</code></td> + <td>Ä°stek ve baÅŸlıklar dahil alınan bayt sayısı; sıfır olamaz. Bunu + kullanmak için <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> etkin olmalıdır.</td></tr> +<tr class="odd"><td><code>%O</code></td> + <td>BaÅŸlıklar dahil gönderilen bayt sayısı; sıfır olamaz.Bunu + kullanmak için <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> etkin olmalıdır.</td></tr> +</table> + + <h3><a name="modifiers" id="modifiers">DeÄŸiÅŸtiriciler</a></h3> + + <p>Belli öğelerin sadece belli durum kodlarıyla ilgili yanıtlarla + basılabilmesi için bu durum kodları % iminden hemen sonra virgüllerle + ayrılmış olarak yazılabilir. ÖrneÄŸin, + <code>"%400,501{User-agent}i"</code> belirteci, + <code>User-agent</code> baÅŸlığını sadece 400 ve 501 hatalarında + günlüğe kaydeder. DiÄŸer durum kodları için günlüğe <code>"-"</code> + yazılır. Durum kodlarını olumsuzlamak için baÅŸa bir "<code>!</code>" + konabilir. ÖrneÄŸin, <code>"%!200,304,302{Referer}i"</code> belirteci, + 200,304,302 durum kodlarından biriyle dönmeyen tüm istekler için + <code>Referer</code> baÅŸlığını durum koduyla birlikte günlüğe + kaydedecektir.</p> + + <p>Ä°steÄŸin dahili olarak yönlendirilmesinde özgün durumunun mu yoksa son + durumunun mu hesaba katılacağı "<" ve ">" deÄŸiÅŸtiricileri ile + belirtilebilir. Öntanımlı olarak <code>%s, %U, %T, %D,</code> ve + <code>%r</code> belirteçleri isteÄŸin özgün durumuna bakarken diÄŸerleri + son durumuna bakarlar. Bu bakımdan örneÄŸin, <code>%>s</code> + belirteci, özgün istekteki kimliÄŸi doÄŸrulanmış kullanıcının, dahili + olarak kimlik doÄŸrulaması gerekmeyen bir özkaynaÄŸa yönlendirilmesi + halinde isteÄŸin son durumunu kaydetmekte kullanılabilir.</p> + + + + <h3><a name="format-notes" id="format-notes">Bazı Bilgiler</a></h3> + + <p>Güvenlik nedeniyle, 2.0.46 sürümünden itibaren <code>%r</code>, + <code>%i</code> ve <code>%o</code> belirteçlerinde basılamayan + karakterler ve diÄŸer özel karakterler <code>\x<var>hh</var></code> + dizilimleri biçeminde öncelenmektedir. Burada <var>hh</var> yerine + karakter numarasının onaltılık gösterimi yazılır. Bir tersbölü ile + öncelenmesi gereken <code>"</code> ve <code>\</code> ile + <code>\n</code>, <code>\t</code> gibi C tarzı gösterimler bu kuralın + dışındadır. 2.0.46 sürümünün öncesinde bu dizgeler öncelenmezdi ve ham + günlük dosyalarıyla çalışırken dikkatli olmak gerekirdi.</p> + + <p>2.0 sürümünde 1.3 sürümünün aksine <code>%b</code> ve + <code>%B</code> biçem belirteçleri, istemciye gönderilen bayt sayısını + deÄŸil, HTTP yanıtının bayt sayısını ifade ederdi (bu yanıt, örneÄŸin, + SSL kullanıldığında veya baÄŸlantı koptuÄŸunda farklı uzunlukta olur). + Artık, aÄŸa gönderilen gerçek bayt sayısını günlüğe kaydetmek için + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> modülü tarafından saÄŸlanan <code>%O</code> + biçem belirteci kullanılmaktadır.</p> + + + + <h3><a name="examples" id="examples">Örnekler</a></h3> + + <p>Genelde herkesçe kullanılan günlük kaydı biçemleme dizgelerinden + bazıları:</p> + + <dl> + <dt>Ortak Günlük Biçemi (OGB)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Sanal Konaklı Ortak Günlük Biçemi</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA uzun/birleÅŸik günlük biçemi</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer baÅŸlığını içeren günlük biçemi</dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>User-agent baÅŸlığını içeren günlük biçemi</dt> + <dd><code>"%{User-agent}i"</code></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="security" id="security">Güvenlik Kaygıları</a></h2> + <p>Günlük dosyarının kaydedildiÄŸi dizine sunucuyu baÅŸlatan kullanıcı + dışında diÄŸer kullanıcılar tarafından yazılabiliyor olması halinde + güvenliÄŸinizden nasıl feragat etmiÅŸ olacağınız <a href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a> + belgesinde açıklanmıştı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="BufferedLogs" id="BufferedLogs">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Günlük girdilerini diske yazmadan önce bellekte tamponlar +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>BufferedLogs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>BufferedLogs Off</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.0.41 ve sonrasında mevcuttur.</td></tr> +</table> + <p><code class="directive">BufferedLogs</code> yönergesi, + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> modülünün çeÅŸitli günlük girdilerini her + isteÄŸin hemen ardından tek tek deÄŸil, bir bütün halinde diske yazılmak + üzere bellekte saklanmasını saÄŸlar. Bu, bazı sistemlerde daha verimli + disk eriÅŸimi, dolayısıyla daha yüksek baÅŸarım saÄŸlayabilir. Sadece + sunucu geneli için belirtilebilir, sanal konaklar için ayrı ayrı + yapılandırılamaz.</p> + + <div class="note">Bu yönerge deneyseldir ve dikkatli kullanılmalıdır.</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="CookieLog" id="CookieLog">CookieLog</a> <a name="cookielog" id="cookielog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Çerezleri günlüğe kaydetmek için dosya ismi belirtmekte +kullanılır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CookieLog <var>dosya-adı</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Bu yönergenin kullanımı önerilmemektedir.</td></tr> +</table> + <p><code class="directive">CookieLog</code> yönergesi çerezleri günlüğe kaydetmek + için dosya ismi belirtir. Dosya isminin <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> deÄŸerine göre belirtildiÄŸi + varsayılır. Yönerge <code>mod_cookies</code> ile uyumluluk için vardır + ve kullanımı önerilmemektedir.</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="CustomLog" id="CustomLog">CustomLog</a> <a name="customlog" id="customlog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Günlük dosyasın ismini ve girdi biçemini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CustomLog <var>dosya</var>|<var>borulu-süreç</var> +<var>biçem</var>|<var>takma-ad</var> +[env=[!]<var>ortam-deÄŸiÅŸkeni</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +</table> + <p><code class="directive">CustomLog</code> yönergesi istekleri günlüğe kaydetmek + için kullanılır. Yönerge ile bir günlük biçemi belirtilebilir ve günlük + kaydı isteÄŸin özelliklerine baÄŸlı olarak ortam deÄŸiÅŸkenleri vasıtasıyla + ÅŸarta baÄŸlı kılınabilir.</p> + + <p>Ä°lk argümanda günlüğün yazılacağı yer belirtilir. Ä°ki tür yer + belirtilebilir:</p> + + <dl> + <dt><var>dosya</var></dt> + <dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesinin + deÄŸerine göreli bir dosya ismi.</dd> + + <dt><var>borulu-süreç</var></dt> + <dd>"<code>|</code>" boru karakteri ile öncelenmiÅŸ olarak günlük + bilgisini standart girdisinden kabul edecek sürecin ismi (veya komut + satırı). + + <div class="warning"><h3>Güvenlik:</h3> + <p>Bir borulu süreç kullanılmışsa, süreç <code class="program"><a href="../programs/httpd.html">httpd</a></code>’yi + baÅŸlatan kullanıcı tarafından baÅŸlatılacaktır. Sunucu root tarafından + baÅŸlatılıyorsa bu root olacaktır; bu bakımdan günlük kaydını alacak + programın güvenilir olması önemlidir.</p> + </div> + <div class="warning"><h3>Bilginize</h3> + <p>Dosya yolunu belirtirken tersbölü çizgisi kullanılan Unix dışı + platformlarda bile yapılandırma dosyasında bu amaçla normal bölü + çizgilerini kullanmaya özen gösterilmelidir.</p> + </div></dd> + </dl> + + <p>Ä°kinci argümanda günlüğe ne yazılacağı belirtilir. Ya evvelce + <code class="directive"><a href="#logformat">LogFormat</a></code> yönergesi ile + tanımlanmış bir <var>takma-ad</var> ya da içeriÄŸi <a href="#formats">Günlük Girdilerinin KiÅŸiselleÅŸtirilmesi</a> bölümünde + açıklanmış bir <var>biçem</var> dizgesi olabilir.</p> + + <p>ÖrneÄŸin, aÅŸağıdaki iki yönerge kümesi aynı etkiye sahiptir:</p> + + <div class="example"><p><code> + # Biçem dizgesi yerine takma ad içeren CustomLog<br /> + LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> + CustomLog logs/access_log common<br /> + <br /> + # Biçem dizgesinin kendisini içeren CustomLog<br /> + CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" + </code></p></div> + + <p>Üçüncü argüman isteÄŸe baÄŸlı olup, sunucu ortamında belli bir deÄŸiÅŸkenin + varlığına baÄŸlı olarak belli bir isteÄŸin günlüğe kaydedilip + kaydedilmeyeceÄŸini belirler. EÄŸer istek için belirtilen <a href="../env.html">ortam deÄŸiÅŸkeni</a> mevcutsa (veya + '<code>env=!<var>deÄŸiÅŸken</var></code>' durumunda mevcut deÄŸilse) istek + günlüğe kaydedilir.</p> + + <p>Ortam deÄŸiÅŸkenleri <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> + ve/veya <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülleri kullanılarak her istek + için ayrı ayrı atanabilir. ÖrneÄŸin, GIF biçemli resimler için yapılan + istekleri ana günlük dosyasına deÄŸil de baÅŸka bir dosyaya kaydetmek + isterseniz:</p> + + <div class="example"><p><code> + SetEnvIf Request_URI \.gif$ gif-image<br /> + CustomLog gif-requests.log common env=gif-image<br /> + CustomLog nongif-requests.log common env=!gif-image + </code></p></div> + + <p>Veya eski <code>RefererIgnore</code> yönergesinin davranışını taklit + etmek isterseniz:</p> + + <div class="example"><p><code> + SetEnvIf Referer example\.com yerel-atif<br /> + CustomLog referer.log referer env=!yerel-atif + </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="LogFormat" id="LogFormat">LogFormat</a> <a name="logformat" id="logformat">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir günlük dosyasında kullanılmak üzere girdi biçemi tanımlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LogFormat <var>biçem</var>|<var>takma-ad</var> +[<var>takma-ad</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +</table> + <p>Bu yönerge eriÅŸim günlüğü dosyasının girdi biçemini belirler.</p> + + <p><code class="directive">LogFormat</code> yönergesi iki ÅŸekilde kullanılabilir. + Tek argüman belirtilebilen ilkinde daha sonra + <code class="directive">TransferLog</code> yönergelerinde belirtilen günlüklerde + kullanılmak üzere günlük biçemini belirler. Bu günlük biçemi yukarıda + açıklanan <a href="#formats"><var>biçem</var></a> belirteçlerinden + oluÅŸur. Bu tek argüman yerine aÅŸağıda açıklandığı gibi önceki bir + <code class="directive">LogFormat</code> yönergesinde tanımlanmış bir günlük + biçemine atıf yapan bir <var>takma-ad</var> da belirtilebilir.</p> + + <p><code class="directive">LogFormat</code> yönergesinin ikinci kullanım ÅŸeklinde + <var>biçem</var> bir <var>takma-ad</var> için tanımlanır. Bu takma ad + daha sonraki <code class="directive">LogFormat</code> veya <code class="directive"><a href="#customlog">CustomLog</a></code> yönergelerinde aynı biçem + dizgesini uzun uzadıya yazmamak için <var>takma-ad</var> olarak + kullanılır. Bir <code class="directive">LogFormat</code> yönergesi bir takma ad + tanımlamaktan <strong>baÅŸka bir ÅŸey yapmaz</strong>; yani, yaptığı iÅŸ + sadece bir takma ad tanımlamaktan ibarettir, biçemi uygulamaz veya + biçemi öntanımlı hale getirmez. Bu bakımdan sonraki <code class="directive"><a href="#transferlog">TransferLog</a></code> yönergelerini de + etkilemeyecektir. Ayrıca, <code class="directive">LogFormat</code> yönergesi bir + takma ada baÅŸka bir takma ad tanımlamakta da kullanılamaz. Bir takma + adın yüzde imi (<code>%</code>) içeremeyeceÄŸine de dikkat ediniz.</p> + + <div class="example"><h3>Örnek</h3><p><code> + LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common + </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="TransferLog" id="TransferLog">TransferLog</a> <a name="transferlog" id="transferlog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir günlük dosyasının yerini belirtir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>TransferLog <var>dosya</var>|<var>borulu-süreç</var> +[<var>takma-ad</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +</table> + <p>Bir günlük biçemi tanımlanmasını ve ÅŸarta baÄŸlı günlük kaydını mümkün + kılmaması haricinde <code class="directive"><a href="#customlog">CustomLog</a></code> yönergesi gibidir. Günlük biçemi yerine kendinden + önce yer alan bir <code class="directive"><a href="#logformat">LogFormat</a></code> yönergesinde tanımlanan + bir takma ad kullanılır. Açıkça bir günlük biçemi takma adı + belirtilmedikçe Ortak Günlük Biçemi öntanımlıdır.</p> + + <div class="example"><h3>Örnek</h3><p><code> + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""<br /> + TransferLog logs/access_log + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/mod/mod_log_forensic.html index 6b27250e..8022c6cb 100644 --- a/docs/manual/mod/mod_log_forensic.html +++ b/docs/manual/mod/mod_log_forensic.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: mod_log_forensic.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 + +URI: mod_log_forensic.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_forensic.html.en b/docs/manual/mod/mod_log_forensic.html.en index b88dabc8..d8d2d4ed 100644 --- a/docs/manual/mod/mod_log_forensic.html.en +++ b/docs/manual/mod/mod_log_forensic.html.en @@ -22,7 +22,8 @@ <div id="preamble"><h1>Apache Module mod_log_forensic</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_forensic.html" title="English"> en </a> | -<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Forensic Logging of the requests made to the server</td></tr> <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> @@ -155,7 +156,8 @@ version 2.1</td></tr></table> </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_forensic.html" title="English"> en </a> | -<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_log_forensic.html.ja.utf8 b/docs/manual/mod/mod_log_forensic.html.ja.utf8 index 5701f095..abf3a76a 100644 --- a/docs/manual/mod/mod_log_forensic.html.ja.utf8 +++ b/docs/manual/mod/mod_log_forensic.html.ja.utf8 @@ -22,7 +22,8 @@ <div id="preamble"><h1>Apache モジュール mod_log_forensic</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/mod_log_forensic.html" title="Japanese"> ja </a></p> +<a href="../ja/mod/mod_log_forensic.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーãƒã«é€ã‚‰ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® forensic ãƒã‚®ãƒ³ã‚°</td></tr> <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> @@ -156,7 +157,8 @@ </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/mod_log_forensic.html" title="Japanese"> ja </a></p> +<a href="../ja/mod/mod_log_forensic.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_log_forensic.html.tr.utf8 b/docs/manual/mod/mod_log_forensic.html.tr.utf8 new file mode 100644 index 00000000..067ea12d --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.tr.utf8 @@ -0,0 +1,163 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_forensic - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_log_forensic</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Sunucuya yapılan isteklerin adli günlük kayıtlarının tutulması</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>log_forensic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_log_forensic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Uyumluluk:</a></th><td>2.1 sürümünden beri <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> gerekmemektedir.</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül istemci isteklerinin adli günlük kayıtlarının tutulmasını + saÄŸlar. Günlük kaydı bir istek iÅŸlenmeden önce ve sonra olmak üzere iki + kere yapılır, böylece günlükte her istek için iki girdi bulunur. Adli + günlükleyici çok sıkı kurallara tabidir, yani:</p> + + <ul> + <li>Biçem sabittir. Günlük kayıt biçemi çalışma anında deÄŸiÅŸtirilemez.</li> + <li>Veriyi yazamadığı takdirde çocuk süreç beklemeksizin çıkar ve + (<code class="directive"><a href="../mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code> + yapılandırmasına baÄŸlı olarak) bir core dosyası dökümler.</li> + </ul> + + <p>Dağıtımın <code>support</code> dizininde bulunan + <code>check_forensic</code> betiÄŸi adli günlük dosyalarının + deÄŸerlendirilmesinde yardımcı olabilir.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#forensiclog">ForensicLog</a></li> +</ul> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Adli Günlük Biçemi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Güvenlik Kaygıları</a></li> +</ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache Günlük Dosyaları</a></li> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</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="formats" id="formats">Adli Günlük Biçemi</a></h2> + <p>Her istek günlüğe iki defa kaydedilir. Ä°lki, iÅŸlemin baÅŸlangıcında + (yani, baÅŸlıklar alındıktan hemen sonra), ikincisi ise istek iÅŸlem + gördükten sonra normal günlüklemenin yapıldığı sırada yapılır.</p> + + <p>Her isteÄŸi betimlemek için eÅŸsiz bir istek kimliÄŸi atanır. Bu adli + kimliÄŸin normal günlüğe de yazılması istenirse bu + <code>%{forensic-id}n</code> biçem dizgesi ile yapılabilir. + <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> kullanılıyorsa, onun ürettiÄŸi kimlik + kullanılır.</p> + + <p>Ä°lk satır günlüğe, adli kimliÄŸi, istek satırını ve alınan tüm + baÅŸlıkları boru karakterleri (<code>|</code>) ile ayrılmış olarak + kaydeder. AÅŸağıda bir örneÄŸe yer verilmiÅŸtir (hepsi bir satırdadır):</p> + + <div class="example"><p><code> + +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, <var>etc...</var> + </code></p></div> + + <p>BaÅŸlangıçtaki artı imi bu günlük satırının istekle ilgili ilk günlük + kaydı olduÄŸunu belirtir. Ä°kinci satırda bunun yerini bir eksi imi + alır:</p> + + <div class="example"><p><code> + -yQtJf8CoAB4AAFNXBIEAAAAA + </code></p></div> + + <p><code>check_forensic</code> betiÄŸi komut satırı argümanı olarak günlük + dosyasının ismini alır. Bu <code>+</code>/<code>-</code> kimlik + çiftlerine bakarak tamamlanmamış istekler varsa bunlar hakkında + uyarır.</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 Kaygıları</a></h2> + <p>Günlük dosyarının kaydedildiÄŸi dizine sunucuyu baÅŸlatan kullanıcı + dışında diÄŸer kullanıcılar tarafından yazılabiliyor olması halinde + güvenliÄŸinizden nasıl feragat etmiÅŸ olacağınız <a href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a> + belgesinde açıklanmıştı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="ForensicLog" id="ForensicLog">ForensicLog</a> <a name="forensiclog" id="forensiclog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Adli günlük için dosya ismini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ForensicLog <var>dosya-adı</var>|<var>borulu-süreç</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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_forensic</td></tr> +</table> + <p><code class="directive">ForensicLog</code> yönergesi adli inceleme için + sunucuya yapılan istekleri günlüğe kaydetmekte kullanılır. Her günlük + girdisine, normal <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinde kullanılarak istekle + iliÅŸkilendirilebilen eÅŸsiz bir kimlik atanır. + <code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code> modülü, aktarım günlüğünün biçem + dizgesinde <code>%{forensic-id}n</code> ÅŸeklinde kullanılmak üzere + <code>forensic-id</code> adı verilen bir dizgecik oluÅŸturur.</p> + + <p>Günlüğün yazılacağı yeri belirleyen argüman ÅŸu iki deÄŸerden birini + alabilir:</p> + + <dl> + <dt><var>dosya-adı</var></dt> + <dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesinin + deÄŸerine göreli bir dosya ismi.</dd> + + <dt><var>borulu-süreç</var></dt> + <dd>"<code>|</code>" boru karakteri ile öncelenmiÅŸ olarak günlük + bilgisini standart girdisinden kabul edecek sürecin ismi (veya komut + satırı). Program adının <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesinin deÄŸerine göre belirtildiÄŸi + varsayılır. + + <div class="warning"><h3>Güvenlik:</h3> + <p>Bir borulu süreç kullanılmışsa, süreç <code class="program"><a href="../programs/httpd.html">httpd</a></code>’yi + baÅŸlatan kullanıcı tarafından baÅŸlatılacaktır. Sunucu root tarafından + baÅŸlatılıyorsa bu root olacaktır; bu bakımdan günlük kaydını alacak + programın güvenilir olması veya daha az yetkili bir kullanıcıya geçiÅŸ + yapması önemlidir.</p> + </div> + + <div class="warning"><h3>Bilginize</h3> + <p>Dosya yolunu belirtirken tersbölü çizgisi kullanılan Unix dışı + platformlarda bile yapılandırma dosyasında bu amaçla normal bölü + çizgilerini kullanmaya özen gösterilmelidir.</p> + </div></dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/mod/mod_logio.html index c37fd7b3..0eb2b070 100644 --- a/docs/manual/mod/mod_logio.html +++ b/docs/manual/mod/mod_logio.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_logio.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_logio.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_logio.html.en b/docs/manual/mod/mod_logio.html.en index 8b18b52a..a68f9d46 100644 --- a/docs/manual/mod/mod_logio.html.en +++ b/docs/manual/mod/mod_logio.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_logio.html" title="English"> en </a> | <a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Logging of input and output bytes per request</td></tr> <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> @@ -89,7 +90,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_logio.html" title="English"> en </a> | <a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_logio.html.ja.utf8 b/docs/manual/mod/mod_logio.html.ja.utf8 index 7b5534ea..0985a66f 100644 --- a/docs/manual/mod/mod_logio.html.ja.utf8 +++ b/docs/manual/mod/mod_logio.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_logio.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -86,7 +87,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_logio.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_logio.html.ko.euc-kr b/docs/manual/mod/mod_logio.html.ko.euc-kr index c1095d34..53fcafc6 100644 --- a/docs/manual/mod/mod_logio.html.ko.euc-kr +++ b/docs/manual/mod/mod_logio.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_logio.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_logio.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -87,7 +88,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_logio.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_logio.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_logio.html.tr.utf8 b/docs/manual/mod/mod_logio.html.tr.utf8 new file mode 100644 index 00000000..2e40e0bc --- /dev/null +++ b/docs/manual/mod/mod_logio.html.tr.utf8 @@ -0,0 +1,97 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_logio - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_logio</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Her isteÄŸin girdi ve çıktı uzunluklarının günlüklenmesi. +</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>logio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_logio.c</td></tr></table> +<h3>Özet</h3> + + + <p>Bu modül her istekte alınan ve gönderilen bayt sayısının günlüklenmesini + saÄŸlar. Sayılar, istekte ve yanıtta yer alan baÅŸlıklar ve gövdeleri + hesaba dahil ederek aÄŸ üzerinde gerçekte gidip gelen bayt sayısını + gösterir. Bayt sayımı, girdide SSL/TLS öncesinde ve çıktıda SSL/TLS + sonrasında yapılır, böylece sayıların, ÅŸifrelemeyle herhangi bir + deÄŸiÅŸikliÄŸi doÄŸru olarak yansıtması saÄŸlanmış olur.</p> + + <p>Bu modül <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> modülünü gerektirir.</p> + + <div class="note">SSL ile <code>KeepAlive</code> baÄŸlantılar kullanıldığında, SSL + uzlaşımının ek yükü, baÄŸlantı üzerinden yapılan ilk isteÄŸin bayt sayısını + yansıtır. Her dizin için yeniden uzlaşım gerektiÄŸi takdirde bayt sayısı + yeniden uzlaşımı tetikleyen istekle iliÅŸkilendirilir.</div> + +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<p>Bu modül yönerge içermez.</p> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Özel Günlük Biçemleri</a></li> +</ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="../logs.html">Apache Günlük Dosyaları</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="formats" id="formats">Özel Günlük Biçemleri</a></h2> + + + <p>Ä°steÄŸin belirgin özellikleri için, biçem dizgesinde yer alan % imli + biçem belirteçlerinin yerine günlük dosyasında deÄŸerleri yazılır. Bu + modül iki yeni biçem belirteci ekler:</p> + + <table class="bordered"><tr class="header"><th>Biçem Belirteci</th> + <th>Açıklama</th></tr> +<tr><td><code>%...I</code></td> + <td>Ä°stek gövdesi ve baÅŸlıklar dahil alınan bayt sayısı; sıfır + olamaz.</td></tr> +<tr class="odd"><td><code>%...O</code></td> + <td>BaÅŸlıklar dahil gönderilen bayt sayısı; sıfır olamaz.</td></tr> +</table> + + <p>Genel olarak, iÅŸlevsellik şöyle kullanılır:</p> + + <dl> + <dt>BirleÅŸik G/Ç günlükleme biçemi:</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</code></dd> + </dl> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_proxy.html.en b/docs/manual/mod/mod_proxy.html.en index 2e560b8c..58c21c09 100644 --- a/docs/manual/mod/mod_proxy.html.en +++ b/docs/manual/mod/mod_proxy.html.en @@ -834,6 +834,13 @@ through</td></tr> connections in the pool the Apache will return <code>SERVER_BUSY</code> status to the client. </td></tr> + <tr><td>connectiontimeout</td> + <td>timeout</td> + <td>Connect timeout in seconds. + The number of seconds Apache waits for the creation of a connection to + the backend to complete. By adding a postfix of ms the timeout can be + also set in milliseconds. + </td></tr> <tr><td>disablereuse</td> <td>Off</td> <td>This parameter should be used when you want to force mod_proxy @@ -887,6 +894,8 @@ through</td></tr> which could be an issue, but it will lower the traffic in case some of the cluster nodes are down or busy. Currently this has an effect only for AJP. + By adding a postfix of ms the delay can be also set in + milliseconds. </td></tr> <tr><td>loadfactor</td> <td>1</td> @@ -927,12 +936,9 @@ through</td></tr> clears the in-error flag. </td></tr> <tr><td>timeout</td> - <td><code class="directive">Timeout</code></td> + <td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td> <td>Connection timeout in seconds. - If not set the Apache will wait until the free connection - is available. This directive is used for limiting the number - of connections to the backend server together with <code>max</code> - parameter. + The number of seconds Apache waits for data sent by / to the backend. </td></tr> <tr><td>ttl</td> <td>-</td> @@ -958,8 +964,9 @@ through</td></tr> <td>byrequests</td> <td>Balancer load-balance method. Select the load-balancing scheduler method to use. Either <code>byrequests</code>, to perform weighted - request counting or <code>bytraffic</code>, to perform weighted - traffic byte count balancing. Default is <code>byrequests</code>. + 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>. </td></tr> <tr><td>maxattempts</td> <td>1</td> @@ -980,6 +987,13 @@ through</td></tr> and url encoded id (like servlet containers) use | to to separate them. The first part is for the cookie the second for the path. </td></tr> + <tr><td>scolonpathdelim</td> + <td>Off</td> + <td>If set to <code>On</code> the semi-colon character ';' will be + used as an additional sticky session path deliminator/separator. This + is mainly used to emulate mod_jk's behavior when dealing with paths such + as <code>JSESSIONID=6736bcf34;foo=aabfa</code> + </td></tr> <tr><td>timeout</td> <td>0</td> <td>Balancer timeout in seconds. If set this will be the maximum time @@ -1094,7 +1108,7 @@ through</td></tr> </code></p></div> <p>will cause a local request for - <code>http://example.com/mirror/foo/bar.gif</code> to be internally converted + <code>http://example.com/foo/bar.gif</code> to be internally converted into a proxy request to <code>http://backend.example.com/foo/bar.gif</code>.</p> <p>The <code>!</code> directive is useful in situations where you don't want @@ -1412,7 +1426,7 @@ expressions</td></tr> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Network timeout for proxied requests</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyTimeout <var>seconds</var></code></td></tr> -<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyTimeout 300</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Value of <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></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>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> diff --git a/docs/manual/mod/mod_proxy_ajp.html.en b/docs/manual/mod/mod_proxy_ajp.html.en index 87886d45..7725cfef 100644 --- a/docs/manual/mod/mod_proxy_ajp.html.en +++ b/docs/manual/mod/mod_proxy_ajp.html.en @@ -28,7 +28,7 @@ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_ajp_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>proxy_ajp.c</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_ajp.c</td></tr> <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.1 and later</td></tr></table> <h3>Summary</h3> diff --git a/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 index ac09a45a..727e462c 100644 --- a/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 +++ b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 @@ -30,7 +30,7 @@ をサãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«</td></tr> <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">モジュールè˜åˆ¥å:</a></th><td>proxy_ajp_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>proxy_ajp.c</td></tr></table> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy_ajp.c</td></tr></table> <h3>概è¦</h3> <p>本モジュールã«ã¯ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ãŒ<em>å¿…è¦ã§ã™</em>。 diff --git a/docs/manual/mod/mod_proxy_balancer.html.en b/docs/manual/mod/mod_proxy_balancer.html.en index 2d7e43f4..72147473 100644 --- a/docs/manual/mod/mod_proxy_balancer.html.en +++ b/docs/manual/mod/mod_proxy_balancer.html.en @@ -27,7 +27,7 @@ <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </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>proxy_balancer_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>proxy_balancer.c</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_balancer.c</td></tr> <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.1 and later</td></tr></table> <h3>Summary</h3> @@ -54,6 +54,7 @@ <li><img alt="" src="../images/down.gif" /> <a href="#example">Example of a balancer configuration</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#requests">Request Counting Algorithm</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#traffic">Weighted Traffic Counting Algorithm</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#busyness">Pending Request Counting Algorithm</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#environment">Exported Environment Variables</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Balancer Manager Support</a></li> </ul><h3>See also</h3> @@ -64,11 +65,11 @@ <div class="section"> <h2><a name="scheduler" id="scheduler">Load balancer scheduler algorithm</a></h2> - <p>At present, there are 2 load balancer scheduler algorithms available - for use: Request Counting and Weighted Traffic Counting. These are controlled - via the <code>lbmethod</code> value of the Balancer definition. See - the <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive for - more information.</p> + <p>At present, there are 3 load balancer scheduler algorithms available + for use: Request Counting, Weighted Traffic Counting and Pending Request + Counting. These are controlled via the <code>lbmethod</code> value of + the Balancer definition. See the <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> + directive for more information.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> @@ -293,6 +294,25 @@ candidate lbstatus -= total factor</code></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="busyness" id="busyness">Pending Request Counting Algorithm</a></h2> + + + + <p>Enabled via <code>lbmethod=bybusyness</code>, this scheduler keeps + track of how many requests each worker is assigned at present. A new + request is automatically assigned to the worker with the lowest + number of active requests. This is useful in the case of workers + that queue incoming requests independently of Apache, to ensure that + queue length stays even and a request is always given to the worker + most likely to service it fastest.</p> + + <p>In the case of multiple least-busy workers, the statistics (and + weightings) used by the Request Counting method are used to break the + tie. Over time, the distribution of work will come to resemble that + characteristic of <code>byrequests</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="environment" id="environment">Exported Environment Variables</a></h2> <p>At present there are 6 environment variables exported:</p> diff --git a/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 index 6da9fa09..fbe7fb0a 100644 --- a/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 +++ b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 @@ -29,7 +29,7 @@ <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>è² è·åˆ†æ•£ã®ãŸã‚ã® <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> æ‹¡å¼µ</td></tr> <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">モジュールè˜åˆ¥å:</a></th><td>proxy_balancer_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>proxy_balancer.c</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy_balancer.c</td></tr> <tr><th><a href="module-dict.html#Compatibility">互æ›æ€§:</a></th><td>2.1 以é™</td></tr></table> <h3>概è¦</h3> diff --git a/docs/manual/mod/mod_proxy_connect.html.en b/docs/manual/mod/mod_proxy_connect.html.en index f75e41e9..380774f1 100644 --- a/docs/manual/mod/mod_proxy_connect.html.en +++ b/docs/manual/mod/mod_proxy_connect.html.en @@ -28,7 +28,7 @@ <code>CONNECT</code> request handling</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>proxy_connect_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>proxy_connect.c</td></tr></table> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_connect.c</td></tr></table> <h3>Summary</h3> <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the <code>CONNECT</code> diff --git a/docs/manual/mod/mod_proxy_connect.html.ja.utf8 b/docs/manual/mod/mod_proxy_connect.html.ja.utf8 index 24fc60c5..ba0a0797 100644 --- a/docs/manual/mod/mod_proxy_connect.html.ja.utf8 +++ b/docs/manual/mod/mod_proxy_connect.html.ja.utf8 @@ -28,7 +28,7 @@ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 用ã®æ‹¡å¼µ</td></tr> <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">モジュールè˜åˆ¥å:</a></th><td>proxy_connect_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>proxy_connect.c</td></tr></table> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy_connect.c</td></tr></table> <h3>概è¦</h3> <p>本モジュールã«ã¯ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ãŒ<em>å¿…è¦ã§ã™</em>。 diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en index fb802202..891ebf41 100644 --- a/docs/manual/mod/mod_proxy_ftp.html.en +++ b/docs/manual/mod/mod_proxy_ftp.html.en @@ -27,7 +27,7 @@ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_ftp_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>proxy_ftp.c</td></tr></table> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_ftp.c</td></tr></table> <h3>Summary</h3> <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the proxying diff --git a/docs/manual/mod/mod_proxy_http.html.en b/docs/manual/mod/mod_proxy_http.html.en index 1f3d4d9d..218bafa2 100644 --- a/docs/manual/mod/mod_proxy_http.html.en +++ b/docs/manual/mod/mod_proxy_http.html.en @@ -27,7 +27,7 @@ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_http_module</td></tr> -<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>proxy_http.c</td></tr></table> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_http.c</td></tr></table> <h3>Summary</h3> <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides the features used for @@ -75,10 +75,10 @@ <dt>proxy-nokeepalive</dt> <dd>Forces the proxy to close the backend connection after each request.</dd> - <dt>Proxy-Chain-Auth</dt> + <dt>proxy-chain-auth</dt> <dd>If the proxy requires authentication, it will read and consume the proxy authentication credentials sent by the client. - With <var>Proxy-Chain-Auth</var> it will <em>also</em> forward + With <var>proxy-chain-auth</var> it will <em>also</em> forward the credentials to the next proxy in the chain. This may be necessary if you have a chain of proxies that share authentication information. <strong>Security Warning:</strong> @@ -109,6 +109,16 @@ <code>proxy-interim-response RFC</code> to be fully protocol compliant, or <code>proxy-interim-response Suppress</code> to suppress interim responses.</dd> + <dt>proxy-initial-not-pooled</dt> + <dd>If this variable is set no pooled connection will be reused + if the client connection is an initial connection. This avoids + the "proxy: error reading status line from remote server" error message + caused by the race condition that the backend server closed the + pooled connection after the connection check by the proxy and + before data send by the proxy reached the backend. It has to be + kept in mind that setting this variable downgrades performance, + especially with HTTP/1.0 clients. + </dd> </dl> </div> </div> diff --git a/docs/manual/mod/mod_rewrite.html.en b/docs/manual/mod/mod_rewrite.html.en index 3ebfb8e0..6a72c1bc 100644 --- a/docs/manual/mod/mod_rewrite.html.en +++ b/docs/manual/mod/mod_rewrite.html.en @@ -215,7 +215,9 @@ Result: correct Apache internal processing. Because the per-directory rewriting comes late in the process, the rewritten request - has to be re-injected into the Apache kernel. + 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 + details</a>.) This is not the serious overhead it may seem to be - this re-injection is completely internal to the Apache server (and the same procedure is used by @@ -674,6 +676,11 @@ RewriteRule ^/$ /homepage.std.html [L] <code>RewriteEngine on</code> directive for each virtual host in which you wish to use rewrite rules.</p> + <p><code class="directive">RewriteMap</code> directives of the type <code>prg</code> + are not started during server initialization if they're defined in a + context that does not have <code class="directive">RewriteEngine</code> set to + <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> @@ -960,6 +967,10 @@ $ httxt2dbm -i mapfile.txt -o mapfile.map program which will implement a 1:1 map (<em>i.e.</em>, key == value) could be:</p> + <p>External rewriting programs are not started if they're defined in a + context that does not have <code class="directive">RewriteEngine</code> set to + <code>on</code></p>. + <div class="example"><pre> #!/usr/bin/perl $| = 1; @@ -1216,14 +1227,18 @@ cannot use <code>$N</code> in the substitution string! 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>]]' + <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</dd> + 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>env|E=</code><em>VAR</em>:<em>VAL</em>' diff --git a/docs/manual/mod/mod_setenvif.html b/docs/manual/mod/mod_setenvif.html index 40e3e111..4e52a025 100644 --- a/docs/manual/mod/mod_setenvif.html +++ b/docs/manual/mod/mod_setenvif.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_setenvif.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_setenvif.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_setenvif.html.en b/docs/manual/mod/mod_setenvif.html.en index 0df35c38..5c2ec5f2 100644 --- a/docs/manual/mod/mod_setenvif.html.en +++ b/docs/manual/mod/mod_setenvif.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" title="English"> en </a> | <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows the setting of environment variables based on characteristics of the request</td></tr> @@ -281,7 +282,8 @@ without respect to case</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" title="English"> en </a> | <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_setenvif.html.ja.utf8 b/docs/manual/mod/mod_setenvif.html.ja.utf8 index 296b8710..d10a16e5 100644 --- a/docs/manual/mod/mod_setenvif.html.ja.utf8 +++ b/docs/manual/mod/mod_setenvif.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_setenvif.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -275,7 +276,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_setenvif.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_setenvif.html.ko.euc-kr b/docs/manual/mod/mod_setenvif.html.ko.euc-kr index c1ad761b..e051feaf 100644 --- a/docs/manual/mod/mod_setenvif.html.ko.euc-kr +++ b/docs/manual/mod/mod_setenvif.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -252,7 +253,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_setenvif.html.tr.utf8 b/docs/manual/mod/mod_setenvif.html.tr.utf8 new file mode 100644 index 00000000..8bc4d0e3 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.tr.utf8 @@ -0,0 +1,276 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_setenvif - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_setenvif</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Ortam deÄŸiÅŸkenlerinin isteÄŸin özelliklerine uygun olarak atanmasını saÄŸlar</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>setenvif_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_setenvif.c</td></tr></table> +<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>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 + tarayıcı Mozilla ise <code>netscape</code> ortam deÄŸiÅŸkeni atanmakta, + MSIE ise atanmamaktadır.</p> + + <div class="example"><p><code> + BrowserMatch ^Mozilla netscape<br /> + BrowserMatch MSIE !netscape<br /> + </code></p></div> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> +</ul> +<h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../env.html">Apache’de 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="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam deÄŸiÅŸkenlerini HTTP kullanıcı arayüzüne göre belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>BrowserMatch <em>düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] +[[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</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>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> +</table> + <p><code class="directive">BrowserMatch</code> yönergesi <code class="directive"><a href="#setenvif">SetEnvIf</a></code> yönergesinin özel bir halidir + ve ortam deÄŸiÅŸkenlerine <code>User-Agent</code> HTTP istek baÅŸlığının + deÄŸerine göre atama yapar. AÅŸağıdaki iki satır aynı etkiye sahiptir:</p> + + <div class="example"><p><code> + BrowserMatchNoCase Robot is_a_robot<br /> + SetEnvIfNoCase User-Agent Robot is_a_robot<br /> + </code></p></div> + + <p>BaÅŸka örnekler:</p> + + <div class="example"><p><code> + BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br /> + BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br /> + BrowserMatch MSIE !javascript<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="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam deÄŸiÅŸkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne +duyarsız eÅŸleÅŸmelerine baÄŸlı olarak belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>BrowserMatchNoCase <em>düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] +[[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</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>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 + anlamsal olarak <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> yönergesinin eÅŸdeÄŸeridir. + Ancak, eÅŸleÅŸmelerde harf büyüklüğüne duyarsızdır. Örnek:</p> + + <div class="example"><p><code> + BrowserMatchNoCase mac platform=macintosh<br /> + BrowserMatchNoCase win platform=windows<br /> + </code></p></div> + + <p><code class="directive">BrowserMatch</code> ve + <code class="directive">BrowserMatchNoCase</code> yönergeleri <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ve <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code> yönergelerinin özel + halleridir. Bu bakımda aÅŸağıdaki iki satır aynı etkiye sahiptir:</p> + + <div class="example"><p><code> + BrowserMatchNoCase Robot is_a_robot<br /> + SetEnvIfNoCase User-Agent Robot is_a_robot<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="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam deÄŸiÅŸkenlerini isteÄŸin özniteliklerine göre atar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetEnvIf <em>öznitelik + düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] + [[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</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>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> +</table> + <p><code class="directive">SetEnvIf</code> yönergesi ortam deÄŸiÅŸkenlerini isteÄŸin + özniteliklerine göre tanımlar. Ä°lk bileÅŸen olarak belirtilen + <code><em>öznitelik</em></code> ÅŸu üç ÅŸeyden biri olabilir:</p> + + <ol> + <li>Bir HTTP istek baÅŸlığı alanı (ayrıntılı bilgi için bak: <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>); + örneÄŸin: <code>Host</code>, <code>User-Agent</code>, + <code>Referer</code> ve <code>Accept-Language</code>. Bir düzenli + ifade kullanılarak birden fazla istek baÅŸlığı belirtilebilir.</li> + + <li>Ä°steÄŸin aÅŸağıdaki bileÅŸenlerinden biri: + <ul> + <li><code>Remote_Host</code> - isteÄŸi yapan istemcinin konak ismi + (varsa)</li> + + <li><code>Remote_Addr</code> -isteÄŸi yapan istemcinin IP adresi</li> + + <li><code>Server_Addr</code> - isteÄŸi alan sunucunun IP adresi + (sadece 2.0.43 sonrası sürümler için)</li> + + <li><code>Request_Method</code> - kullanılan yöntemin ismi + (<code>GET</code>, <code>POST</code>, vs.)</li> + + <li><code>Request_Protocol</code> - Ä°steÄŸin yapıldığı protokolün + ismi ve numarası ("HTTP/0.9", "HTTP/1.1" gibi)</li> + + <li><code>Request_URI</code> - HTTP istek satırında belirtilen + özkaynak; genellikle sorgu dizgesi olmaksızın ÅŸema ve konak ismini + içeren bir URL parçasıdır. Sorgu dizgeleriyle eÅŸleÅŸmeler hakkında + ayrıntılı bilgi edinmek için <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#rewritecond">RewriteCond</a></code> + yönergesinin açıklamasına bakınız.</li> + </ul> + </li> + + <li>Ä°stek ile evvelce iliÅŸkilendirilmiÅŸ bir ortam deÄŸiÅŸkeninin ismi. Bu + sayede önceki bir eÅŸleÅŸmenin sonucuna karşı yeni bir sınama yapma + imkanı ortaya çıkar. Böyle bir sınama için sadece evvelce + <code>SetEnvIf[NoCase]</code> yönergeleri ile yapılmış atamalardaki + ortam deÄŸiÅŸkenleri kullanılabilir. ‘Evvelce’ derken, sunucu genelinde + veya bölüm içinde bu yönergeden önce yer alan + <code>SetEnvIf[NoCase]</code> yönerge satırları kastedilmektedir. + Ortam deÄŸiÅŸkenlerinin dikkate alınabilmesi için istek öznitelikleri + arasında hiçbir eÅŸleÅŸme olmaması ve <code><em>öznitelik</em></code> + olarak bir düzenli ifade belirtilmemiÅŸ olması gerekir.</li> + </ol> + + <p>Ä°kinci bileÅŸen (<code><em>düzifd</em></code>) bir <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a>dir. <code><em>düzifd</em></code> + ile <code><em>öznitelik</em></code> eÅŸleÅŸtiÄŸi takdirde yönergenin kalan + bileÅŸenleri deÄŸerlendirmeye alınır.</p> + + <p>Kalan bileÅŸenler atanacak ortam deÄŸiÅŸkenlerinin isimleri ve isteÄŸe + baÄŸlı olarak bunlara atanacak deÄŸerlerden oluÅŸur. Bunlar şöyle + belirtilebilir:</p> + + <ol> + <li><code><em>deÄŸiÅŸken-adı</em></code> veya</li> + + <li><code>!<em>deÄŸiÅŸken-adı</em></code> ya da </li> + + <li><code><em>deÄŸiÅŸken-adı</em>=<em>deÄŸer</em></code></li> + </ol> + + <p>Ä°lk biçemde deÄŸiÅŸkene "1" deÄŸeri atanır. Ä°kincisinde atanmış bir + deÄŸiÅŸken atanmamış yapılır. Üçüncüsünde ise deÄŸiÅŸkene belirtilen + <code><em>deÄŸer</em></code> bire bir atanır. 2.0.52 sürümünden itibaren + parantezli düzenli ifadelerin sonuçları ile deÄŸiÅŸtirilmek üzere + <code><em>value</em></code> içinde <code>$1</code>..<code>$9</code> + gösterimleri tanınmaktadır.</p> + + <div class="example"><h3>Örnek:</h3><p><code> + SetEnvIf Request_URI "\.gif$" nesne_bir_resim=gif<br /> + SetEnvIf Request_URI "\.jpg$" nesne_bir_resim=jpg<br /> + SetEnvIf Request_URI "\.xbm$" nesne_bir_resim=xbm<br /> + :<br /> + SetEnvIf Referer belgeler\.alanismi\.mesela\.dom dahili_site_istendi<br /> + :<br /> + SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br /> + :<br /> + SetEnvIf ^TS* ^[a-z].* TS_VAR<br /> + </code></p></div> + + <p>Ä°lk üçünde istek bir resim dosyası için yapılmışsa + <code>nesne_bir_resim</code> ortam deÄŸiÅŸkeni atanmakta, dördüncüsünde + istenen sayfa <code>belgeler.alanismi.mesela.dom</code> adlı sitede + bulunuyorsa <code>dahili_site_istendi</code> ortam deÄŸiÅŸkeni + atanmaktadır.</p> + + <p>Son örnekte ise istekte "TS" ile baÅŸlayıp [a-z] arasındaki + karakterlerle devam eden bir baÅŸlık alanı varsa <code>TS_VAR</code> + ortam deÄŸiÅŸkeni atanmaktadır.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../env.html">Apache’de Ortam DeÄŸiÅŸkenleri</a> belgesinde +daha fazla örnek bulunabilir.</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="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam deÄŸiÅŸkenlerini isteÄŸin özniteliklerinde harf büyüklüğüne +baÄŸlı olmaksızın yapılmış tanımlara göre atar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetEnvIfNoCase <em>öznitelik + düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] + [[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</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>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> + yönergesinin eÅŸdeÄŸeridir. Ancak, eÅŸleÅŸmelerde harf büyüklüğüne + duyarsızdır. Örnek:</p> + + <div class="example"><p><code> + SetEnvIfNoCase Host Apache\.Org site=apache + </code></p></div> + + <p>Burada, <code>Host:</code> HTTP istek baÅŸlığında + <code>Apache.Org</code>, <code>apache.org</code> veya harf büyüklüğünce + farklı benzerleri belirtilmiÅŸse <code>site</code> ortam deÄŸiÅŸkenine + "<code>apache</code>" deÄŸeri atanmaktadır.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/mod/mod_so.html index 2d5267bd..451b67ee 100644 --- a/docs/manual/mod/mod_so.html +++ b/docs/manual/mod/mod_so.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_so.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_so.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_so.html.en b/docs/manual/mod/mod_so.html.en index 882105df..ceeb32eb 100644 --- a/docs/manual/mod/mod_so.html.en +++ b/docs/manual/mod/mod_so.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_so.html" title="English"> en </a> | <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Loading of executable code and modules into the server at start-up or restart time</td></tr> @@ -183,7 +184,8 @@ of active modules</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_so.html" title="English"> en </a> | <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_so.html.ja.utf8 b/docs/manual/mod/mod_so.html.ja.utf8 index 194a4bad..3dbcd5a8 100644 --- a/docs/manual/mod/mod_so.html.ja.utf8 +++ b/docs/manual/mod/mod_so.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_so.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>起動時やå†èµ·å‹•æ™‚ã«å®Ÿè¡Œã‚³ãƒ¼ãƒ‰ã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’サーãƒã«ãƒãƒ¼ãƒ‰ã™ã‚‹ </td></tr> @@ -183,7 +184,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_so.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_so.html.ko.euc-kr b/docs/manual/mod/mod_so.html.ko.euc-kr index 74af0e06..c5ea09c1 100644 --- a/docs/manual/mod/mod_so.html.ko.euc-kr +++ b/docs/manual/mod/mod_so.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_so.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_so.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">¼³¸í:</a></th><td>½ÃÀÛÇÒ¶§ ȤÀº Àç½ÃÀÛÇÒ¶§ ½ÇÇà°¡´ÉÇÑ ÄÚµå¿Í ¸ðµâÀ» ¼¹ö·Î ÀоîµéÀδÙ</td></tr> @@ -167,7 +168,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_so.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_so.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_so.html.tr.utf8 b/docs/manual/mod/mod_so.html.tr.utf8 new file mode 100644 index 00000000..f84f0e63 --- /dev/null +++ b/docs/manual/mod/mod_so.html.tr.utf8 @@ -0,0 +1,196 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_so - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_so</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Modüllerin ve çalıştırılabilir kodun sunucunun baÅŸlatılması veya +yeniden baÅŸlatılması sırasında yüklenmesini saÄŸlar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>so_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_so.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Uyumluluk:</a></th><td>Windows için bu bir temel modüldür (sunucu bunu daima içerir).</td></tr></table> +<h3>Özet</h3> + + + <p>Seçilen iÅŸletim sistemleri üzerinde bu modül Apache’nin yeniden + derlenmesini gerektirmeden modüllerin <a href="../dso.html">Devingen + Paylaşımlı Nesne</a> (DSO) mekanizması üzerinden kullanılabilmesini + saÄŸlar.</p> + + <p>Unix’te yüklenen kod genellikle paylaşımlı nesne dosyalarından + (<code>.so</code> uzantılı dosyalar), Windows’ta ise ya <code>.so</code> + ya da <code>.dll</code> uzantılı dosyalardan gelir.</p> + + <div class="warning"><h3>Uyarı</h3> + <p>Apache 1.3 modülleri Apache 2.0’da doÄŸrudan kullanılamazlar - modül ya + devingen olarak yüklenecek hale getirilmeli ya da Apache 2.0’ın içinde + derlenmelidir.</p> + </div> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li> +</ul> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#windows">Yüklenebilir Modüllerin Windows için OluÅŸturulması</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="windows" id="windows">Yüklenebilir Modüllerin Windows için OluÅŸturulması</a></h2> + + + <div class="note"><h3>Bilginize</h3> + <p>Windows için modül isimlendirme biçemi Apache 1.3.15 ve 2.0 + sürümlerinde deÄŸiÅŸmiÅŸtir; modüllere artık mod_filanca.so biçeminde isim + verilmektedir.</p> + + <p><code>mod_so</code> modülü ApacheModuleFoo.dll biçeminde + isimlendirilmiÅŸ modülleri hala yüklemekteyse de yeni adlandırma uzlaşımı + tercih edilmelidir. Yüklenebilir modülleri 2.0’a dönüştürüyorsanız, + lütfen isimlerini de 2.0 uzlaşımına uygun hale getiriniz.</p></div> + + <p>Apache modül programlama arayüzü Unix ve Windows sürümleri arasında + deÄŸiÅŸiklik göstermez. Unix için kullanılan çoÄŸu modül hiç deÄŸiÅŸiklik + yapmadan ya da çok küçük bir deÄŸiÅŸiklikle Windows’ta da çalışmaktadır. + Çalışmayanlar Unix platformunun sahip olduÄŸu ancak Windows platformunun + sahip olmadığı nitelikleri kullanan modüllerdir.</p> + + <p>Bir modül Windows’ta çalıştığı zaman, sunucuya iki ÅŸekilde + yüklenebilir. Unix’te olduÄŸu gibi, doÄŸrudan sunucunun içinde + derlenebilir. Windows için hazırlanan Apache paketi, Unix için geçerli + olan <code>Configure</code> betiÄŸini içermediÄŸinden modülün kaynak + dosyası ApacheCore proje dosyasına, sembolleri de + <code>os\win32\modules.c</code> dosyasına eklenmelidir.</p> + + <p>Ä°kinci yol ise modülü bir paylaşımlı kütüphane olarak çalışma anında + <code class="directive"><a href="#loadmodule">LoadModule</a></code> yönergesi ile yüklemek + için bir DLL olarak derlemektir. Bu DLL modüller dağıtılabilir ve + sunucuyu yeniden derlemek gerekmeksizin her Windows için Apache + kurulumunda çalışabilir.</p> + + <p>Bir modül DLL’i oluÅŸturmak için modülün kaynak dosyasında küçük bir + deÄŸiÅŸiklik yapmak gerekir: Modül kaydının daha sonra oluÅŸturulacak olan + DLL’den ihraç edilebilmesi gerekir (aÅŸağıya bakınız). Bunu yapmak için + modülün modül kaydı tanımına (Apache baÅŸlık dosyalarında tanımlanmış + olan) <code>AP_MODULE_DECLARE_DATA</code> eklenmelidir. ÖrneÄŸin, + modülünüz</p> + + <div class="example"><p><code> + module foo_module; + </code></p></div> + + <p>diye bir satır içeriyorsa bunu,</p> + + <div class="example"><p><code> + module AP_MODULE_DECLARE_DATA foo_module; + </code></p></div> + + <p>olarak deÄŸiÅŸtirmelisiniz. Bunun yalnız Windows üzerinde etkili olduÄŸunu + ve Unix için modül kodunda bir deÄŸiÅŸiklik gerekmediÄŸini unutmayınız. + Ayrıca, <code>.DEF</code> dosyaları hakkında bilgi sahibi iseniz modül + kodunda deÄŸiÅŸiklik yapmak yerine modül kaydını bu yöntemle de ihraç + edebilirsiniz.</p> + + <p>Artık modülü içeren bir DLL oluÅŸturmaya hazırsınız. Bunu, libhttpd.dll + paylaşımlı kütüphanesi derlenirken oluÅŸturulan libhttpd.lib ihraç + kütüphanesi ile ilintilemeniz gerekecektir. Ayrıca, Apache baÅŸlık + dosyalarının doÄŸru konumlandığından emin olmak için derleyici + seçeneklerinde deÄŸiÅŸiklik yapmanız gerekebilir. Bu kütüphaneyi + sunucunuzun kök dizini altındaki <code>modules</code> dizininde + bulabilirsiniz. En iyisi derleme ortamının doÄŸru yapılandırıldığından + emin olmak için ya aÄŸaçta mevcut modüllerden birinin <code>.dsp</code> + dosyasını gaspedersiniz ya da kendi <code>.dsp</code> dosyanızın + ilintileme seçenekleriyle derleyicininkileri karşılaÅŸtırırsınız.</p> + + <p>Artık modülünüzün DLL sürümünü oluÅŸturmalısınız. DLL’i sunucunuzun kök + dizininin altında bulunan <code>modules</code> dizinine yerleÅŸtirdikten + sonra <code class="directive">LoadModule</code> yönergesi ile sunucunuza + yükleyebilirsiniz.</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="LoadFile" id="LoadFile">LoadFile</a> <a name="loadfile" id="loadfile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_so</td></tr> +</table> + + <p><code class="directive">LoadFile</code> yönergesi ismi belirtilen kütüphaneleri + veya nesne dosyalarını sunucu baÅŸlatılırken veya yeniden baÅŸlatılırken + sunucu ile ilintiler. Yönerge, bazı modüllerin çalışması sırasında + gereken ek kodların yüklenmesi için kullanılır. + <code><em>dosya-ismi</em></code> olarak mutlak bir dosya yolu + belirtilebileceÄŸi gibi <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>’a + göreli bir dosya yolu da belirtilebilir.</p> + + <p>Örnek:</p> + + <div class="example"><p><code>LoadFile libexec/libxmlparse.so</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="LoadModule" id="LoadModule">LoadModule</a> <a name="loadmodule" id="loadmodule">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler +ve etkin modül listesine ekler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LoadModule <em>modül dosya-ismi</em></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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_so</td></tr> +</table> + <p><code class="directive">LoadModule</code> yönergesi + <code><em>dosya-ismi</em></code> ile belirtilen nesne dosyasını veya + kütüphaneyi sunucu ile ilintiler ve etkin modül listesine belirtilen + <code><em>modül</em></code> ismiyle ekler. <code><em>modül</em></code>, + modülün kaynak dosyasında <code>module</code> türündeki tek harici + deÄŸiÅŸkenin ismi olup modül belgelerinde <a href="module-dict.html#ModuleIdentifier">Modül Betimleyici</a> olarak + geçer. ÖrneÄŸin,</p> + + <div class="example"><p><code> + LoadModule status_module modules/mod_status.so + </code></p></div> + + <p>satırı ile ismi belirtilen dosya <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> dizini altındaki + <code>modules</code> alt dizininden yüklenir.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_ssl.html.en b/docs/manual/mod/mod_ssl.html.en index 1d18664e..aad6f29c 100644 --- a/docs/manual/mod/mod_ssl.html.en +++ b/docs/manual/mod/mod_ssl.html.en @@ -358,10 +358,10 @@ authentication. Because although placing a CA certificate of the server certificate chain into <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> has the same effect for the certificate chain construction, it has the side-effect that client certificates issued by this same CA certificate are also -accepted on client authentication. That's usually not one expect.</p> +accepted on client authentication.</p> <p> But be careful: Providing the certificate chain works only if you are using a -<em>single</em> (either RSA <em>or</em> DSA) based server certificate. If you are +<em>single</em> RSA <em>or</em> DSA based server certificate. If you are using a coupled RSA+DSA certificate pair, this will work only if actually both certificates use the <em>same</em> certificate chain. Else the browsers will be confused in this situation.</p> diff --git a/docs/manual/mod/mod_status.html b/docs/manual/mod/mod_status.html index c607c829..065e8e12 100644 --- a/docs/manual/mod/mod_status.html +++ b/docs/manual/mod/mod_status.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_status.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_status.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_status.html.en b/docs/manual/mod/mod_status.html.en index c8c1bac9..18a16336 100644 --- a/docs/manual/mod/mod_status.html.en +++ b/docs/manual/mod/mod_status.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_status.html" title="English"> en </a> | <a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides information on server activity and performance</td></tr> @@ -163,23 +164,39 @@ of a request or the last 63, assuming the request itself is greater than <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>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_status</td></tr> -<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>SeeRequestTail is only available in Apache 2.2.7 and -later.</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.2.7 and later.</td></tr> </table> - <p>mod_status with ExtendedStatus On displays the actual request being - handled. For historical purposes, only 63 characters of the request + <p>mod_status with <code>ExtendedStatus On</code> + displays the actual request being handled. + For historical purposes, only 63 characters of the request are actually stored for display purposes. This directive controls whether the 1st 63 characters are stored (the previous behavior and the default) or if the last 63 characters are. This is only applicable, of course, if the length of the request is 64 characters or greater.</p> + <p>If Apache is handling <code>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</code> mod_status displays as follows: + </p> + + <table class="bordered"> + <tr> + <th>Off (default)</th> + <td>GET /disk1/storage/apache/htdocs/images/imagestore1/food/fruits</td> + </tr> + <tr> + <th>On</th> + <td>orage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</td> + </tr> + </table> + + </div> </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_status.html" title="English"> en </a> | <a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_status.html.ja.utf8 b/docs/manual/mod/mod_status.html.ja.utf8 index 9507e1f0..7c168fab 100644 --- a/docs/manual/mod/mod_status.html.ja.utf8 +++ b/docs/manual/mod/mod_status.html.ja.utf8 @@ -23,10 +23,9 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_status.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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>サーãƒã®æ´»å‹•çŠ¶æ³ã¨æ€§èƒ½ã«é–¢ã™ã‚‹æƒ…å ±ã‚’æä¾›ã™ã‚‹</td></tr> <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">モジュールè˜åˆ¥å:</a></th><td>status_module</td></tr> @@ -46,7 +45,7 @@ <ul> <li>リクエストを扱ã£ã¦ã„るワーカーã®æ•°</li> - <li>アイドル (訳注: リクエストを扱ã£ã¦ã„ãªã„) ワーカーã®æ•°</li> + <li>アイドル <span class="transnote">(<em>訳注:</em> リクエストを扱ã£ã¦ã„ãªã„)</span> ワーカーã®æ•°</li> <li>å„ワーカーã®çŠ¶æ…‹ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒæ‰±ã£ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°ã€ ワーカーãŒé€ã£ãŸç·ãƒã‚¤ãƒˆæ•° (*)</li> @@ -63,13 +62,14 @@ <li>ç¾æ™‚点ã®ãƒ›ã‚¹ãƒˆã¨å‡¦ç†ã•ã‚Œã¦ã„るリクエスト (*)</li> </ul> - <p>"(*)" ã®ä»˜ã„ã¦ã„ã‚‹æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãŸã‚ã«ã¯ã‚³ãƒ³ãƒ‘イル時ã®ã‚ªãƒ—ション - を使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã“れらã®çµ±è¨ˆæƒ…å ±ã‚’å¾—ã‚‹ãŸã‚ã«å¿…è¦ãª - コードã¯æ¨™æº–ã® Apache ã«ã¯å«ã¾ã‚Œã¦ã„ã¾ã›ã‚“。</p> + <p>"(*)" ã®ä»˜ã„ã¦ã„ã‚‹æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ã«ã¯ + <code class="directive"><a href="#extendedstatus">ExtendedStatus</a></code> + ㌠<code>On</code> ã«ãªã£ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p> </div> <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"> @@ -82,7 +82,7 @@ <h2><a name="enable" id="enable">Status を使用å¯èƒ½ã«ã™ã‚‹</a></h2> - <p>foo.com ドメインã‹ã‚‰ã®ãƒ–ラウザã®ã¿ã«å¯¾ã—㦠+ <p>example.com ドメインã‹ã‚‰ã®ãƒ–ラウザã®ã¿ã«å¯¾ã—㦠ステータスã®å ±å‘Šã‚’使用å¯èƒ½ã«ã™ã‚‹ã«ã¯ 以下ã®ã‚³ãƒ¼ãƒ‰ã‚’ <code>httpd.conf</code> è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã«è¿½åŠ ã—ã¾ã™</p> <div class="example"><p><code> @@ -91,7 +91,7 @@ <br /> Order Deny,Allow<br /> Deny from all<br /> - Allow from .foo.com<br /> + Allow from .example.com<br /> </Location> </code></p></div> @@ -145,11 +145,48 @@ 動作をé…ãã™ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚</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>リクエストã®æœ€åˆã® 63 æ–‡å—ã‹æœ€å¾Œã® 63 æ–‡å— +ã®ã©ã¡ã‚‰ã‚’ mod_status ãŒè¡¨ç¤ºã™ã‚‹ã‹ã‚’決ã‚ã‚‹</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>Apache 2.2.7 以é™</td></tr> +</table> + <p><code>ExtendedStatus On</code> ã«è¨å®šã™ã‚‹ã¨ mod_status + ã¯å‡¦ç†ä¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆ<span class="transnote">(<em>訳注:</em> ã®æ–‡å—列)</span>を表示ã—ã¾ã™ã€‚ + æ´å²çš„ãªç†ç”±ã§ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã†ã¡ã®63æ–‡å—ã ã‘ãŒè¡¨ç¤ºç”¨ã«è¨˜éŒ²ã•ã‚Œã¾ã™ã€‚ + ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ã€æœ€åˆã®63æ–‡å—を記録ã™ã‚‹(従æ¥ã‹ã‚‰ã®å‹•ä½œã€ + ãã—ã¦ç¾åœ¨ã‚‚デフォルト)ã‹ã€æœ€å¾Œã®63æ–‡å—を記録ã™ã‚‹ã‹ã‚’決ã‚ã¾ã™ã€‚ + ã‚‚ã¡ã‚ã‚“ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®é•·ã•ãŒ64æ–‡å—以上ã®ã¨ãã«åŠ¹æžœãŒã‚ã‚Šã¾ã™ + <span class="transnote">(<em>訳注:</em> 63æ–‡å—以下ã ã¨çµæžœçš„ã«åŒã˜å‹•ä½œ)</span>。</p> + + <p>Apache ㌠<code>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</code> ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã£ã¦ã„ã‚‹ã¨ã〠mod_status ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«è¡¨ç¤ºã—ã¾ã™: + </p> + + <table class="bordered"> + <tr> + <th>Off (デフォルト)</th> + <td>GET /disk1/storage/apache/htdocs/images/imagestore1/food/fruits</td> + </tr> + <tr> + <th>On</th> + <td>orage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</td> + </tr> + </table> + + +</div> </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_status.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_status.html.ko.euc-kr b/docs/manual/mod/mod_status.html.ko.euc-kr index cefe364d..3255e201 100644 --- a/docs/manual/mod/mod_status.html.ko.euc-kr +++ b/docs/manual/mod/mod_status.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_status.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_status.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -143,7 +144,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_status.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_status.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_status.html.tr.utf8 b/docs/manual/mod/mod_status.html.tr.utf8 new file mode 100644 index 00000000..47491e8a --- /dev/null +++ b/docs/manual/mod/mod_status.html.tr.utf8 @@ -0,0 +1,199 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_status - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_status</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Sunucu etkinliÄŸi ve baÅŸarımı hakkında bilgi saÄŸlar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>status_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_status.c</td></tr></table> +<h3>Özet</h3> + + <p><code>mod_status</code> modülü, sunucu yöneticisinin, HTTP sunucusunun + ne kadar baÅŸarılı olduÄŸu hakkında bilgi edinmesini saÄŸlar. Bilgiler, + kolayca okunabilen bir HTML sayfası olarak sunulur ve o anki sunucu + istatistiklerinden oluÅŸur. Gerekirse sayfa kendiliÄŸinden tazelenebilir + (uyumlu bir tarayıcı gerekir). DiÄŸer sayfa o anki sunucu durumunu makine + tarafından okunabilen biçimde listeler.</p> + + <p>Sunulan bilgiler ÅŸunlardır:</p> + + <ul> + <li>Ä°stekleri sunan çocuk süreç sayısı</li> + + <li>BoÅŸtaki çocuk süreçlerin sayısı</li> + + <li>Her çocuk sürecin durumu, çocuk sürecin iÅŸleme tabi tuttuÄŸu istek + sayısı ve sunduÄŸu bayt sayısı (*)</li> + + <li>Toplam eriÅŸim sayısı ve sunulan toplam bayt sayısı (*)</li> + + <li>Sunucunun kaç kere baÅŸlatıldığı/yeniden baÅŸlatıldığı ve ne kadar + zamandır çalışmakta olduÄŸu</li> + + <li>Saniyedeki ortalama istek sayısı, saniyedeki bayt sayısı ve istek + başına ortalama bayt sayısı (*)</li> + + <li>Apache tarafınan toplamda ve her çocuk süreç tarafından ayrı ayrı + kullanılan o anki iÅŸlemci zamanı yüzdesi (*)</li> + + <li>O an iÅŸlem görmekte olan konakların ve isteklerin sayısı (*)</li> + </ul> + + <p>"(*)" imli bilgiler sadece <code class="directive"><a href="#extendedstatus">ExtendedStatus</a></code> yönergesinin deÄŸeri <code>On</code> olduÄŸu + takdirde mevcuttur.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</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>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Durum Bilgisi DesteÄŸinin EtkinleÅŸtirilmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">Sayfanın Tazelenmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">Makine Tarafından Okunabilen Durum Dosyası</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="enable" id="enable">Durum Bilgisi DesteÄŸinin EtkinleÅŸtirilmesi</a></h2> + + + <p>Durum raporları, sadece mesela.dom alanından ve sadece tarayıcılar için + etkin kılınmak istenirse <code>httpd.conf</code> dosyasına ÅŸu satırlar + eklenebilir:</p> + + <div class="example"><p><code> + <Location /server-status><br /> + <span class="indent"> + SetHandler server-status<br /> + <br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .mesela.dom<br /> + </span> + </Location> + </code></p></div> + + <p>Sunucu istatistiklerine tarayıcınızla eriÅŸmek isterseniz, + <code>http://sunucunuzun.ismi.buraya/server-status</code> + ÅŸeklinde bir istek yapabilirsiniz.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="autoupdate" id="autoupdate">Sayfanın Tazelenmesi</a></h2> + + + <p>Tarayıcınız “tazeleme†yeteneÄŸine sahipse durum sayfası düzenli + aralıklarla güncellenecektir. Sayfanın N saniyede bir güncellenmesini + isterseniz isteÄŸi şöyle yapabilirsiniz:<br /> + <code>http://sunucunuzun.ismi.buraya/server-status?refresh=N</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="machinereadable" id="machinereadable">Makine Tarafından Okunabilen Durum Dosyası</a></h2> + + + <p>Durum dosyasının makine tarafından okunabilen sürümüne + <code>http://sunucunuzun.ismi.buraya/server-status?auto</code> + ÅŸeklinde bir istek yaparak eriÅŸebilirsiniz. Bu, kendiliÄŸinden çalıştığı + takdirde yararlıdır; Apache dağıtımının <code>/support</code> dizininde + bulunan <code>log_server_status</code> isimli perl betiÄŸine bakınız.</p> + + <div class="note"><h3>Güvenlik</h3> + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> sunucu içinde derlendiÄŸi takdirde + istatistikleri raporlama yeteneÄŸi dizin içi yapılandırma dosyaları + (<code>.htaccess</code> gibi) dahil <em>tüm</em> yapılandırma dosyaları + için kullanılabilir olacaktır. Bu durum güvenlik ile ilgili olarak + siteniz için içinden çıkılması güç durumlara yol açabilir (çapanoÄŸlu + durumu).</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="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a> <a name="extendedstatus" id="extendedstatus">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Her istekte ek durum bilgisinin toplanmasını saÄŸlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ExtendedStatus On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ExtendedStatus Off</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_status</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 1.3.2 ve sonrasında mevcuttur.</td></tr> +</table> + <p>Bu ayarlama sunucunun tamamını etkiler ve sanal konaklar için ayrı ayrı + etkin kılınamaz veya iptal edilemez. Ek durum bilgisinin toplanması + sunucuyu yavaÅŸlatabilir.</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ä°steÄŸin kendisi 63 karakterden uzun olduÄŸunda, isteÄŸin ilk 63 +karakterinin mi yoksa son 63 karakterinin mi gösterileceÄŸini belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SeeRequestTail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>SeeRequestTail Off</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_status</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.2.7 ve sonrasında mevcuttur.</td></tr> +</table> + <p><code>mod_status</code>, <code>ExtendedStatus On</code> olduÄŸunda + isteÄŸin kendisini de gösterir. Tarihsel nedenlerle, göstermek için + isteÄŸin sadece 63 karakteri saklanır. Bu yönerge ilk 63 karakterin mi + yoksa son 63 karakterin mi saklanacağını belirtmek için kullanılır. Bu, + elbette, istek 64 karakterlik veya daha uzunsa uygulanır.</p> + + <p>Apache şöyle bir istek alsaydı:<br /><code>GET + /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg + HTTP/1.1</code><br /><code>mod_status</code> bu isteÄŸi şöyle gösterirdi: + </p> + + <table class="bordered"> + <tr> + <th>Off (öntanımlı)</th> + <td>GET + /disk1/storage/apache/htdocs/images/imagestore1/food/fruits</td> + </tr> + <tr> + <th>On</th> + <td>orage/apache/htdocs/images/imagestore1/food/apples.jpg + HTTP/1.1</td> + </tr> + </table> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_suexec.html b/docs/manual/mod/mod_suexec.html index 744f1f18..f5d06c29 100644 --- a/docs/manual/mod/mod_suexec.html +++ b/docs/manual/mod/mod_suexec.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_suexec.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_suexec.html.tr.utf8 +Content-Language: tr +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 2a49dc58..8d656aa2 100644 --- a/docs/manual/mod/mod_suexec.html.en +++ b/docs/manual/mod/mod_suexec.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" title="English"> en </a> | <a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows CGI scripts to run as a specified user and Group</td></tr> @@ -48,7 +49,7 @@ and Group</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="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>User and group permissions for CGI programs</td></tr> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>User and group for CGI programs to run as</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SuexecUserGroup <em>User Group</em></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>Extension</td></tr> @@ -58,9 +59,9 @@ later.</td></tr> </table> <p>The <code class="directive">SuexecUserGroup</code> directive allows you to specify a user and group for CGI programs to run as. Non-CGI - requests are still processes with the user specified in the User - directive. This directive replaces the Apache 1.3 configuration of - using the User and Group directives inside of VirtualHosts.</p> + requests are still processes with the user specified in the <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> directive. This directive replaces + the Apache 1.3 configuration of using the <code>User</code> and + <code>Group</code> directives inside of VirtualHosts.</p> <div class="example"><h3>Example</h3><p><code> @@ -73,7 +74,8 @@ later.</td></tr> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" title="English"> en </a> | <a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_suexec.html.ja.utf8 b/docs/manual/mod/mod_suexec.html.ja.utf8 index c2b293ca..a7d42bfa 100644 --- a/docs/manual/mod/mod_suexec.html.ja.utf8 +++ b/docs/manual/mod/mod_suexec.html.ja.utf8 @@ -23,8 +23,11 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_suexec.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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>指定ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—㧠CGI スクリプトを実行ã™ã‚‹</td></tr> <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">モジュールè˜åˆ¥å:</a></th><td>suexec_module</td></tr> @@ -72,7 +75,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_suexec.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_suexec.html.ko.euc-kr b/docs/manual/mod/mod_suexec.html.ko.euc-kr index 8cdd836f..d6ff535c 100644 --- a/docs/manual/mod/mod_suexec.html.ko.euc-kr +++ b/docs/manual/mod/mod_suexec.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_suexec.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_suexec.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -74,7 +75,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_suexec.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_suexec.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_suexec.html.tr.utf8 b/docs/manual/mod/mod_suexec.html.tr.utf8 new file mode 100644 index 00000000..8c6b6015 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.tr.utf8 @@ -0,0 +1,84 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_suexec - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<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"> en </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>CGI betiklerinin belli bir kullanıcı ve grubun aidiyetinde +çalışmasını mümkün kılar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>suexec_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_suexec.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.0 ve sonrasında mevcuttur.</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül <code class="program"><a href="../programs/suexec.html">suexec</a></code> programı ile birlikte CGI + betiklerinin belli bir kullanıcı ve grubun aidiyetinde çalışmasını + mümkün kılar.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li> +</ul> +<h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../suexec.html">SuEXEC DesteÄŸi</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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>CGI betiklerini çalıştıracak kullanıcı ve grup belirtilir. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SuexecUserGroup <em>Kullanıcı Grup</em></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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_suexec</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.0 ve sonrasında mevcuttur.</td></tr> +</table> + <p><code class="directive">SuexecUserGroup</code> yönergesi CGI programlarını + çalıştıracak kullanıcı ve grubu belirtmeye yarar. CGI harici istekler + hala <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> yönergesinde + belirtilen kullanıcı tarafından yerine getirilir. Bu yönerge, Apache + 1.3 yapılandırmasında sanal konak bölümlerindeki <code>User</code> ve + <code>Group</code> yönergelerinin yerini almak üzere tasarlanmıştır.</p> + + <div class="example"><h3>Örnek</h3><p><code> + + SuexecUserGroup nobody nogroup + </code></p></div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_userdir.html b/docs/manual/mod/mod_userdir.html index adf37aa2..b6960e7b 100644 --- a/docs/manual/mod/mod_userdir.html +++ b/docs/manual/mod/mod_userdir.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: mod_userdir.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mod_userdir.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_userdir.html.en b/docs/manual/mod/mod_userdir.html.en index d8107437..afedef1d 100644 --- a/docs/manual/mod/mod_userdir.html.en +++ b/docs/manual/mod/mod_userdir.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_userdir.html" title="English"> en </a> | <a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User-specific directories</td></tr> <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> @@ -92,84 +93,94 @@ tutorial</a></li> <code>http://www.example.com/~bob/one/two.html</code> will be translated to:</p> -<table> -<tr><th>UserDir directive used</th> -<th>Translated path</th></tr> -<tr><td>UserDir public_html</td><td>~bob/public_html/one/two.html</td></tr> -<tr><td>UserDir /usr/web</td><td>/usr/web/bob/one/two.html</td></tr> -<tr><td>UserDir /home/*/www</td><td>/home/bob/www/one/two.html</td></tr> -</table> - - <p>The following directives will send redirects to the client:</p> - -<table> -<tr><th>UserDir directive used</th> -<th>Translated path</th></tr> -<tr><td>UserDir http://www.example.com/users</td><td>http://www.example.com/users/bob/one/two.html</td></tr> -<tr><td>UserDir -http://www.example.com/*/usr</td><td>http://www.example.com/bob/usr/one/two.html</td></tr> -<tr><td>UserDir -http://www.example.com/~*/</td><td>http://www.example.com/~bob/one/two.html</td></tr> -</table> - -<div class="note"> + <table> + <tr><th>UserDir directive used</th> + <th>Translated path</th></tr> + <tr><td>UserDir public_html</td> + <td>~bob/public_html/one/two.html</td></tr> + <tr><td>UserDir /usr/web</td> + <td>/usr/web/bob/one/two.html</td></tr> + <tr><td>UserDir /home/*/www</td> + <td>/home/bob/www/one/two.html</td></tr> + </table> + + <p>The following directives will send redirects to the client:</p> + + <table> + <tr><th>UserDir directive used</th> + <th>Translated path</th></tr> + <tr><td>UserDir http://www.example.com/users</td> + <td>http://www.example.com/users/bob/one/two.html</td></tr> + <tr><td>UserDir http://www.example.com/*/usr</td> + <td>http://www.example.com/bob/usr/one/two.html</td></tr> + <tr><td>UserDir http://www.example.com/~*/</td> + <td>http://www.example.com/~bob/one/two.html</td></tr> + </table> + + <div class="note"> <strong>Be careful when using this directive; for instance, <code>"UserDir ./"</code> would map <code>"/~root"</code> to <code>"/"</code> - which is probably undesirable. It is strongly recommended that your configuration include a "<code>UserDir disabled root</code>" declaration. See also the <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> directive and the <a href="../misc/security_tips.html">Security Tips</a> page for more information.</strong> -</div> + </div> -<p>Additional examples:</p> + <p>Additional examples:</p> -<p>To allow a few users to have <code>UserDir</code> directories, but -not anyone else, use the following:</p> + <p>To allow a few users to have <code>UserDir</code> directories, but + not anyone else, use the following:</p> -<div class="example"><p><code> -UserDir disabled<br /> -UserDir enabled user1 user2 user3 -</code></p></div> + <div class="example"><p><code> + UserDir disabled<br /> + UserDir enabled user1 user2 user3 + </code></p></div> -<p>To allow most users to have <code>UserDir</code> directories, but -deny this to a few, use the following:</p> + <p>To allow most users to have <code>UserDir</code> directories, but + deny this to a few, use the following:</p> -<div class="example"><p><code> -UserDir enabled<br /> -UserDir disabled user4 user5 user6 -</code></p></div> + <div class="example"><p><code> + UserDir enabled<br /> + UserDir disabled user4 user5 user6 + </code></p></div> -<p>It is also possible to specify alternative user directories. -If you use a command like:</p> -<div class="example"><p><code> -Userdir public_html /usr/web http://www.example.com/ -</code></p></div> -<p>With a request for http://www.example.com/~bob/one/two.html, will try to -find the page at ~bob/public_html/one/two.html first, then -/usr/web/bob/one/two.html, and finally it will send a redirect -to http://www.example.com/bob/one/two.html.</p> -<p>If you add a redirect, it must be the last alternative in the list. -Apache cannot determine if the redirect succeeded or not, so if you have -the redirect earlier in the list, that will always be the alternative -that is used.</p> + <p>It is also possible to specify alternative user directories. + If you use a command like:</p> -<p>User directory substitution is not active by default in versions -2.1.4 and later. In earlier versions, <code>UserDir public_html</code> -was assumed if no <code class="directive"><a href="#userdir">UserDir</a></code> -directive was present.</p> + <div class="example"><p><code> + Userdir public_html /usr/web http://www.example.com/ + </code></p></div> + + <p>With a request for + <code>http://www.example.com/~bob/one/two.html</code>, will try to + find the page at <code>~bob/public_html/one/two.html</code> first, then + <code>/usr/web/bob/one/two.html</code>, and finally it will send a + redirect to <code>http://www.example.com/bob/one/two.html</code>.</p> + + <p>If you add a redirect, it must be the last alternative in the list. + Apache cannot determine if the redirect succeeded or not, so if you have + the redirect earlier in the list, that will always be the alternative + that is used.</p> + + <p>User directory substitution is not active by default in versions + 2.1.4 and later. In earlier versions, <code>UserDir public_html</code> + was assumed if no <code class="directive"><a href="#userdir">UserDir</a></code> + directive was present.</p> <h3>See also</h3> <ul> -<li><a href="../howto/public_html.html">public_html -tutorial</a></li> +<li> + <a href="../howto/public_html.html">public_html tutorial</a> +</li> </ul> </div> </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_userdir.html" title="English"> en </a> | <a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_userdir.html.ja.utf8 b/docs/manual/mod/mod_userdir.html.ja.utf8 index daeaeadd..7ec5c9cf 100644 --- a/docs/manual/mod/mod_userdir.html.ja.utf8 +++ b/docs/manual/mod/mod_userdir.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_userdir.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -180,7 +181,8 @@ Apache ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãŒæˆåŠŸã™ã‚‹ã‹ã©ã†ã‹ã‚’決ã‚ã‚‹ã“ã¨ã¯ã§ã <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_userdir.html" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_userdir.html.ko.euc-kr b/docs/manual/mod/mod_userdir.html.ko.euc-kr index 8ff2ceda..9aebcb71 100644 --- a/docs/manual/mod/mod_userdir.html.ko.euc-kr +++ b/docs/manual/mod/mod_userdir.html.ko.euc-kr @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_userdir.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_userdir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -154,7 +155,8 @@ http://www.foo.com/bob/one/two.htmlÀ¸·Î ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù.</p> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/mod/mod_userdir.html" title="Korean"> ko </a></p> +<a href="../ko/mod/mod_userdir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_userdir.html.tr.utf8 b/docs/manual/mod/mod_userdir.html.tr.utf8 new file mode 100644 index 00000000..2b62e613 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.tr.utf8 @@ -0,0 +1,183 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_userdir - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_userdir</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Kullanıcılara özel dizinler</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>userdir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_userdir.c</td></tr></table> +<h3>Özet</h3> + +<p>Bu modül kullanıcılara özel dizinlere + <code>http://mesela.dom/~kullanıcı/</code> sözdizimi kullanılarak + eriÅŸilebilmesini mümkün kılar.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li> +</ul> +<h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li> + <a href="../urlmapping.html">URL’lerin Dosya Sistemi ile EÅŸleÅŸtirilmesi</a> +</li> +<li> + <a href="../howto/public_html.html">public_html eÄŸitmeni</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="UserDir" id="UserDir">UserDir</a> <a name="userdir" id="userdir">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Kullanıcıya özel dizinlerin yeri</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>UserDir <em>dizin</em> [<em>dizin</em>] ...</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>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_userdir</td></tr> +</table> + + <p><code class="directive">UserDir</code> yönergesi, bir kullanıcıya ait bir + belge için bir istek yapıldığında, isteÄŸin kullanıcının ev dizininde + bulunan belli bir dizinden karşılanmasını saÄŸlar. + <code><em>dizin</em></code> olarak ÅŸunlar belirtilebilir:</p> + + <ul> + <li>Dizinin ismi veya aÅŸağıdakiler gibi bir kalıp.</li> + + <li><code>disabled</code> anahtar sözcüğü. <code>enabled</code> anahtar + sözcüğü ile sonradan etkin kılınmadıkça <em>tüm</em> kullanıcı-dizin + dönüşümlerini iptal eder (aÅŸağıya bakınız).</li> + + <li><code>disabled</code> anahtar sözcüğünü takibeden boÅŸluk ayraçlı + kullanıcı isimleri listesi. Bu listede yer alan kullanıcı isimlerine, + sonradan bir <code>enabled</code> listesinde görünse bile, dizin + dönüşümleri <em>asla</em> uygulanmaz.</li> + + <li><code>enabled</code> anahtar sözcüğünü takibeden boÅŸluk ayraçlı + kullanıcı isimleri listesi. Genel bir iptal sözkonusu olsa bile, + kullanıcı ismi bir <code>disabled</code> listesinde yer almadıkça, bu + listede yer alan dizinlere dönüşüm uygulanır.</li> + </ul> + + <p><code>Userdir</code> yönergesinde ne <code>enabled</code> ne de + <code>disabled</code> varsa, argüman bir dosya ismi kalıbı olarak ele + alınır ve kullanıcı belge kök dizininin yolunu oluÅŸturmakta kullanılır. + <code>http://mesela.dom/~ali/bir/iki.html</code> şöyle dönüştürülür:</p> + + <table> + <tr><th>Kullanılan UserDir yönergesi </th> + <th>Elde edilen yol</th></tr> + <tr><td>UserDir public_html</td> + <td>~ali/public_html/bir/iki.html</td></tr> + <tr><td>UserDir /usr/siteler</td> + <td>/usr/siteler/ali/bir/iki.html</td></tr> + <tr><td>UserDir /home/*/htdocs</td> + <td>/home/ali/htdocs/bir/iki.html</td></tr> + </table> + + <p>AÅŸağıdaki yönergelerle istemciye gönderilecek yönlendirmeler:</p> + + <table> + <tr><th>Kullanılan UserDir yönergesi </th> + <th>Elde edilen yönlendirme</th></tr> + <tr><td>UserDir http://mesela.dom/users</td> + <td>http://mesela.dom/users/ali/bir/iki.html</td></tr> + <tr><td>UserDir http://mesela.dom/*/usr</td> + <td>http://mesela.dom/ali/usr/bir/iki.html</td></tr> + <tr><td>UserDir http://mesela.dom/~*/</td> + <td>http://mesela.dom/~ali/bir/iki.html</td></tr> + </table> + + <div class="note"> + <strong>Bu yönergeyi kullanırken dikkatli olun; örneÄŸin, <code>"UserDir + ./"</code> ÅŸeklinde bir atama <code>"/~root"</code> isteklerini + <code>"/"</code> dizinine yönlendirir ki bu elbette istenmez. Bu + bakımdan yapılandırmanızda mutlaka bir "<code>UserDir disabled + root</code>" satırının yer almasını tavsiye ederiz. Daha fazla bilgi + için <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> yönergesine ve <a href="../misc/security_tips.html">Güvenlik Ä°puçları</a> sayfasına + bakınız.</strong> + </div> + + <p>DiÄŸer örnekler:</p> + + <p>Bir kaç kullanıcı hariç kalan herkesin <code>UserDir</code> + dizinlerini iptal etmek için ÅŸunu yapabilirsiniz:</p> + + <div class="example"><p><code> + UserDir disabled<br /> + UserDir enabled birey1 birey2 birey3 + </code></p></div> + + <p>Bir kaç kullanıcı hariç kalan herkesin <code>UserDir</code> + dizinlerini etkin kılmak için ÅŸunu yapabilirsiniz:</p> + + <div class="example"><p><code> + UserDir enabled<br /> + UserDir disabled birey4 birey5 birey6 + </code></p></div> + + <p>Birden fazla dizin belirtmek de mümkündür:</p> + + <div class="example"><p><code> + Userdir public_html /usr/siteler http://mesela.dom/ + </code></p></div> + + <p>Bu örneÄŸe göre, <code>http://mesela.dom/~ali/bir/iki.html</code> + ÅŸeklinde bir istek alındığında sunucu önce + <code>http://mesela.dom/~ali/bir/iki.html</code> yönlendirmesini + deneyecektir. Onu bulamazsa isteÄŸi + <code>/usr/siteler/ali/bir/iki.html</code> dosyasını arayacak onu da + bulamazsa istemciyi <code>http://mesela.dom/ali/bir/iki.html</code> + adresine yönlendirecektir.</p> + + <p>Argüman listesine bir yönlendirme ekleyecekseniz, bu, listenin son + elemanı olmalıdır. Apache yönlendirmenin baÅŸarılı sonuç verip + vermediÄŸini bilemeyecektir. Bu bakımdan, listede bu yönlendirmeden + sonra bir yönlendirme daha bulunması daha iyi olacaktır.</p> + + <p>Kullanıcı dizini dönüşümü Apache 2.1.4 sürümü ve sonrasında öntanımlı + olarak etkin deÄŸildir. Daha önceki sürümlerde bir <code class="directive"><a href="#userdir">UserDir</a></code> yönergesinin yokluÄŸunda + <code>UserDir public_html</code> öntanımlıydı.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li> + <a href="../howto/public_html.html">public_html eÄŸitmeni</a> +</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_vhost_alias.html b/docs/manual/mod/mod_vhost_alias.html index e61daa47..62ad4bdf 100644 --- a/docs/manual/mod/mod_vhost_alias.html +++ b/docs/manual/mod/mod_vhost_alias.html @@ -3,3 +3,7 @@ URI: mod_vhost_alias.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_vhost_alias.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_vhost_alias.html.en b/docs/manual/mod/mod_vhost_alias.html.en index f2658f9c..5ebcc380 100644 --- a/docs/manual/mod/mod_vhost_alias.html.en +++ b/docs/manual/mod/mod_vhost_alias.html.en @@ -21,7 +21,8 @@ <div id="page-content"> <div id="preamble"><h1>Apache Module mod_vhost_alias</h1> <div class="toplang"> -<p><span>Available Languages: </span><a href="../en/mod/mod_vhost_alias.html" title="English"> en </a></p> +<p><span>Available Languages: </span><a href="../en/mod/mod_vhost_alias.html" title="English"> en </a> | +<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides for dynamically configured mass virtual hosting</td></tr> @@ -305,7 +306,8 @@ a given virtual host</td></tr> </div> </div> <div class="bottomlang"> -<p><span>Available Languages: </span><a href="../en/mod/mod_vhost_alias.html" title="English"> en </a></p> +<p><span>Available Languages: </span><a href="../en/mod/mod_vhost_alias.html" title="English"> en </a> | +<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/mod_vhost_alias.html.tr.utf8 b/docs/manual/mod/mod_vhost_alias.html.tr.utf8 new file mode 100644 index 00000000..689e31c0 --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.tr.utf8 @@ -0,0 +1,306 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_vhost_alias - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_vhost_alias</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../tr/mod/mod_vhost_alias.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Kitlesel sanal konakların devingen olarak yapılandırılmasını +saÄŸlar</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>vhost_alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_vhost_alias.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül, hangi dosyaların sunulacağını saptamak için dosya yolunun + parçası olarak HTTP isteÄŸinin <code>Host:</code> baÅŸlığının ve/veya IP + adresinin kullanılmasını mümkün kılarak devingen yapılandırmalı sanal + konaklar oluÅŸturur. Böylece benzer yapılandırmaya sahip çok büyük sayıda + sanal konak kullanımı kolaÅŸlaşır.</p> + + <div class="note"><h3>Bilginize</h3> + <p>URI’leri dosya isimlerine dönüştürmek için <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> + veya <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> kullanılmışsa bunlar + <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> yönergeleri tarafından aÅŸağıda + açıklandığı gibi geçersiz kılınırlar. ÖrneÄŸin, aÅŸağıdaki yapılandırma + her durumda <code>/cgi-bin/script.pl</code> betiÄŸini <code> + /usr/local/apache2/cgi-bin/script.pl</code> betiÄŸine eÅŸleyecektir:</p> + + <div class="example"><p><code> + ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/<br /> + VirtualScriptAlias /nerede/bilinmiyor/%0/cgi-bin/ + </code></p></div> + </div> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptalias">VirtualScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +</ul> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#interpol">Dizin Ä°simlerinin Elde Edilmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Örnekler</a></li> +</ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/mass.html">Devingen olarak Yapılandırılan Kitlesel +Sanal Barındırma</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="interpol" id="interpol">Dizin Ä°simlerinin Elde Edilmesi</a></h2> + + + <p>Bu modüldeki tüm yönergeler bir dizgeyi bir dosya yoluna dönüştürerek + çalışırlar. Dönüşüm dizgesi (bundan sonra “isim†diyeceÄŸiz) ya sunucu + ismi olur (bunun nasıl belirlendiÄŸini öğrenmek için <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> yönergesine bakınız) ya da + sunucu üzerindeki sanal konağın IP adresi olur. Dönüşümü, + <code>printf</code>’inkilerin benzeri birkaç biçem belirteci + denetler:</p> + +<table> + +<tr><td><code>%%</code></td> +<td>Bir <code>%</code> imi yerleÅŸtirir.</td></tr> + +<tr><td><code>%p</code></td> +<td>Sanal konağın IP adresini yerleÅŸtirir.</td></tr> + +<tr><td><code>%N.M</code></td> +<td>Ä°smin parçalarını yerleÅŸtirir.</td></tr> + +</table> + + <p><code>N</code> ve <code>M</code> ismin alt dizgelerini belirtmek için + kullanılır. <code>N</code>, ismin noktalarla ayrılmış bileÅŸenlerinden + seçim yaparken <code>M</code>, <code>N</code> ile seçilen parçadan + karakter seçmekte kullanılır. <code>M</code> isteÄŸe baÄŸlı olup mevcut + olmaması halinde öntanımlı olarak sıfırdır. Noktanın varlığı + <code>M</code>’nin varlığına baÄŸlıdır. Dönüşüm şöyle uygulanır:</p> + + <table> + + <tr><td><code>0</code></td> + <td>ismin tamamı</td></tr> + + <tr><td><code>1</code></td> + <td>ilk parça</td></tr> + + <tr><td><code>2</code></td> + <td>ikinci parça</td></tr> + + <tr><td><code>-1</code></td> + <td>son parça</td></tr> + + <tr><td><code>-2</code></td> + <td>sondan bir önceki parça</td></tr> + + <tr><td><code>2+</code></td> + <td>ikinci parça ve sonraki parçaların hepsi</td></tr> + + <tr><td><code>-2+</code></td> + <td>sondan bir önceki parça ve daha önceki parçaların hepsi</td></tr> + + <tr><td><code>1+</code> ve <code>-1+</code></td> + <td><code>0</code> ile aynı</td></tr> + </table> + + <p><code>N</code> veya <code>M</code> parça sayısından büyükse dönüşüm + dizgesi sadece alt çizgi karakterini içerir.</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">Örnekler</a></h2> + + + <p>Sunucu yapılandırma dosyanızda isme dayalı sanal konaklar için + aÅŸağıdaki yönergeler kullanılıyor olsun:</p> + + <div class="example"><p><code> + UseCanonicalName Off<br /> + VirtualDocumentRoot /usr/local/apache/sankonlar/%0 + </code></p></div> + + <p><code>http://mesela.dom/dizin/dosya.html</code> için yapılan bir istek + <code>/usr/local/apache/sankonlar/mesela.dom/dizin/dosya.html</code> + dosyası ile yerine getirilecektir.</p> + + <p>Çok büyük sayıda sanal konak için <code>sankonlar</code> dizininin + boyutlarını küçük tutmak amacıyla dosyalar düzenlenebilir. Bunu + yapılandırma dosyanızda şöyle yapabilirsiniz:</p> + + <div class="example"><p><code> + UseCanonicalName Off<br /> + VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2 + </code></p></div> + + <p><code>http://falan.filan.mesela.dom/dizin/dosya.html</code> için + yapılan bir istek + <code>/usr/local/apache/sankonlar/mesela.dom/f/i/l/filan/dizin/dosya.html + </code> ile yerine getirilecektir.</p> + + <p>Bu sefer de parçaları ismin sonundan toplayalım: </p> + +<div class="example"><p><code> + VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.-1/%2.-2/%2.-3/%2 +</code></p></div> + + <p>Bu durumda istek + <code>/usr/local/apache/sankonlar/mesela.dom/n/a/l/filan/dizin/dosya.html + </code> ile karşılanırdı.</p> + + <p>Şöyle bir ÅŸey de yapabilirsiniz:</p> + +<div class="example"><p><code> + VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2.4+ +</code></p></div> + + <p>Bu örnek için istek + <code>/usr/local/apache/sankonlar/mesela.dom/f/i/l/an/dizin/dosya.html + </code> dosyasından karşılanırdı.</p> + + <p>IP’ye dayalı sanal konaklar için yapılandırma dosyanızda ÅŸu satırlar + olabilirdi:</p> + + <div class="example"><p><code> + UseCanonicalName DNS<br /> + VirtualDocumentRootIP + /usr/local/apache/sankonlar/%1/%2/%3/%4/belgeler<br /> + VirtualScriptAliasIP /usr/local/apache/sankonlar/%1/%2/%3/%4/cgi-bin + </code></p></div> + + <p><code>http://falan.filan.mesela.dom/dizin/dosya.html</code> için + yapılan bir istek eÄŸer <code>falan.filan.mesela.dom</code>’un IP adresi + 10.20.30.40 olsaydı, + <code>/usr/local/apache/sankonlar/10/20/30/40/belgeler/dizin/dosya.html + </code> dosyası ile karşılanırdı. + <code>http://falan.filan.mesela.dom/cgi-bin/betik.pl</code> için yapılan + bir istek ise + <code>/usr/local/apache/sankonlar/10/20/30/40/cgi-bin/betik.pl</code> + betiÄŸinin çalıştırılması ile saÄŸlanırdı.</p> + + <p>Bir <code>VirtualDocumentRoot</code> yönergesinin <code>.</code> + karakterini içermesini isterseniz, bir biçem belirteci ile karışıklığa + sebep olmaksızın bunu şöyle saÄŸlayabilirsiniz:</p> + +<div class="example"><p><code> + VirtualDocumentRoot /usr/local/apache/sankonlar/%2.0.%3.0 +</code></p></div> + + <p>Bu durumda <code>http://falan.filan.mesela.dom/dizin/dosya.html</code> + için yapılan bir istek + <code>/usr/local/apache/sankonlar/filan.mesela/dizin/dosya.html</code> + dosyası ile karşılanacaktır.</p> + + <p><code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesinin + <code>%V</code> ve <code>%A</code> <a href="mod_log_config.html#formats">biçem belirteçleri</a> bu modülle + birlikte kullanıldığında çok yararlı olurlar.</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="VirtualDocumentRoot" id="VirtualDocumentRoot">VirtualDocumentRoot</a> <a name="virtualdocumentroot" id="virtualdocumentroot">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualDocumentRoot <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualDocumentRoot none</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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualDocumentRoot</code> yönergesi sunucu ismine göre + belgelerin bulunacağı yeri Apache’nin saptamasını saÄŸlar. + <code><em>hesaplanan-dizin</em></code>’in dönüşüm sonucu <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> yönergesinin deÄŸeriymiÅŸ gibi + belge aÄŸacının kök dizini olarak kullanılır. + <code><em>hesaplanan-dizin</em></code> yerine <code>none</code> + belirtilmiÅŸse <code class="directive">VirtualDocumentRoot</code> iptal edilmiÅŸ + olur. Bu yönerge <code class="directive"><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></code> yönergesinin kullanıldığı baÄŸlamda + yer alamaz.</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="VirtualDocumentRootIP" id="VirtualDocumentRootIP">VirtualDocumentRootIP</a> <a name="virtualdocumentrootip" id="virtualdocumentrootip">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualDocumentRootIP <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualDocumentRootIP none</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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualDocumentRootIP</code> yönergesi, dizinin + saptanmasında sunucu ismi yerine baÄŸlantının sonlandığı sunucunun IP + adresini kullanması dışında <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> gibidir.</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="VirtualScriptAlias" id="VirtualScriptAlias">VirtualScriptAlias</a> <a name="virtualscriptalias" id="virtualscriptalias">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualScriptAlias <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualScriptAlias none</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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualScriptAlias</code> yönergesi, CGI betiklerinin + bulunacağı yeri Apache’nin saptamasını saÄŸlamak bakımından <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> yönergesinin + yaptığını yapar. <code>/cgi-bin/</code> ile baÅŸlayan istekler için ise + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> yönergesinin + yaptığını yapar.</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="VirtualScriptAliasIP" id="VirtualScriptAliasIP">VirtualScriptAliasIP</a> <a name="virtualscriptaliasip" id="virtualscriptaliasip">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualScriptAliasIP <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualScriptAliasIP none</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>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualScriptAliasIP</code> yönergesi, dizinin + saptanmasında sunucu ismi yerine baÄŸlantının sonlandığı sunucunun IP + adresini kullanması dışında <code class="directive"><a href="#virtualscriptalias">VirtualScriptAlias</a></code> gibidir.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../tr/mod/mod_vhost_alias.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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.en b/docs/manual/mod/mpm_common.html.en index 916c53e2..728e5722 100644 --- a/docs/manual/mod/mpm_common.html.en +++ b/docs/manual/mod/mpm_common.html.en @@ -33,6 +33,7 @@ more than one multi-processing module (MPM)</td></tr> <div id="quickview"><h3 class="directives">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> @@ -126,6 +127,26 @@ accepting requests on network sockets</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="ChrootDir" id="ChrootDir">ChrootDir</a> <a name="chrootdir" id="chrootdir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</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">Default:</a></th><td><code>none</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>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">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">Compatibility:</a></th><td>Available in Apache 2.2.10 and later</td></tr> +</table> + <p>This directive tells the server to <var>chroot(8)</var> to the + specified directory after startup, but before accepting requests.</p> + + <p>Note that running the server under chroot is not + simple, and requires additional setup, particularly if you are running + scripts such as CGI or PHP. Please make sure you are properly familiar + with the operation of chroot before attempting to use this feature.</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">Directive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory where Apache attempts to @@ -386,8 +407,8 @@ The <var>protocol</var> argument was added in 2.1.5</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="MaxClients" id="MaxClients">MaxClients</a> <a name="maxclients" id="maxclients">Directive</a></h2> <table class="directive"> -<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of child processes that will be created -to serve requests</td></tr> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of connections that will be processed +simultaneously</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxClients <var>number</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> diff --git a/docs/manual/mod/mpm_common.html.tr.utf8 b/docs/manual/mod/mpm_common.html.tr.utf8 index 8036ae81..093e50e0 100644 --- a/docs/manual/mod/mpm_common.html.tr.utf8 +++ b/docs/manual/mod/mpm_common.html.tr.utf8 @@ -33,6 +33,7 @@ <div id="quickview"><h3 class="directives">Yönergeler</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> @@ -127,6 +128,30 @@ </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">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>BaÅŸlatıldıktan sonra Apache’nin chroot(8) yapacağı dizin +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ChrootDir <var>/dizin/yolu/</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>none</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/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">Uyumluluk:</a></th><td>Apache 2.2.10 ve sonrasında mevcuttur. +</td></tr> +</table> + <p>Bu yönerge sunucu baÅŸlatıldıktan sonra istekleri kabul etmeye + baÅŸlamadan önce sunucunun belirtilen dizine <code>chroot</code>(8) + yapmasını söyler.</p> + + <p>Sunucuyu chroot altında çalıştırmanın basit bir iÅŸlem olmadığını ve + özellikle CGI veya PHP gibi betikler çalıştırıyorsanız bazı ek + ayarlamaların yapılması gerektiÄŸini unutmayınız. Bu özelliÄŸi kullanmaya + çalışmadan önce chroot iÅŸlemi hakkında yeterli bilgiye sahip + olduÄŸunuzdan emin olmalısınız.</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">Yönergesi</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>core</code> dosyasını dökümlemek üzere Apache’nin geçmeye @@ -394,22 +419,19 @@ <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="MaxClients" id="MaxClients">MaxClients</a> <a name="maxclients" id="maxclients">Yönergesi</a></h2> <table class="directive"> -<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ä°stekleri sunarken oluÅŸturulacak çocuk süreçlerin azami sayısını - belirler.</td></tr> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Aynı anda iÅŸleme sokulacak azami baÄŸlantı sayısı</td></tr> <tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxClients <var>sayı</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aÅŸağıdaki açıklamaya bakınız.</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/beos.html">beos</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><code class="directive">MaxClients</code> yönergesi aynı anda sunulacak istek - sayısını sınırlamak için kullanılır. <code class="directive">MaxClients</code> - istekten fazlası geldiÄŸi takdirde bu istekler normal olarak kuyruÄŸa - alınıp bekletilir. Kuyrukta bekletilecek isteklerin azami sayısı ise - <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code> yönergesi ile - belirlenir. Ä°stek sunmakta olan çocuk süreçlerden biri serbest - kaldığında bekletilen baÄŸlantılardan birine hizmet sunulmaya - baÅŸlanır.</p> + <p><code class="directive">MaxClients</code> yönergesi aynı anda iÅŸleme sokulacak + baÄŸlantı sayısını sınırlamak için kullanılır. <code class="directive">MaxClients</code> baÄŸlantı isteÄŸinden fazlası geldiÄŸi takdirde bu + istekler normal olarak kuyruÄŸa alınıp bekletilir. Kuyrukta bekletilecek + isteklerin azami sayısı ise <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code> yönergesi ile belirlenir. Ä°stek sunmakta olan + çocuk süreçlerden biri serbest kaldığında bekletilen baÄŸlantılardan + birine hizmet sunulmaya baÅŸlanır.</p> <p>Evreli olmayan sunucularda (<code class="module"><a href="../mod/prefork.html">prefork</a></code> gibi) <code class="directive">MaxClients</code> yönergesi istekleri sunmak için @@ -531,7 +553,7 @@ <table class="directive"> <tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ä°steklerin ani artışında devreye girecek boÅŸtaki evrelerin asgari sayısını belirler.</td></tr> -<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MinSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MinSpareThreads <var>sayı</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aÅŸağıdaki açıklamaya bakınız.</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> diff --git a/docs/manual/mod/prefork.html b/docs/manual/mod/prefork.html index 76d4d3d9..c21f42f3 100644 --- a/docs/manual/mod/prefork.html +++ b/docs/manual/mod/prefork.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: prefork.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 + +URI: prefork.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/prefork.html.de b/docs/manual/mod/prefork.html.de index 56548f56..47e6b871 100644 --- a/docs/manual/mod/prefork.html.de +++ b/docs/manual/mod/prefork.html.de @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Verfügbare Sprachen: </span><a href="../de/mod/prefork.html" title="Deutsch"> de </a> | <a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Implementiert einen im Voraus forkenden Webserver ohne Thread-Unterstützung</td></tr> @@ -184,7 +185,8 @@ <div class="bottomlang"> <p><span>Verfügbare Sprachen: </span><a href="../de/mod/prefork.html" title="Deutsch"> de </a> | <a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> diff --git a/docs/manual/mod/prefork.html.en b/docs/manual/mod/prefork.html.en index 0f19987a..76fb6bf2 100644 --- a/docs/manual/mod/prefork.html.en +++ b/docs/manual/mod/prefork.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/prefork.html" title="English"> en </a> | -<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implements a non-threaded, pre-forking web server</td></tr> <tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> @@ -169,7 +170,8 @@ uses</a></li> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/prefork.html" title="English"> en </a> | -<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/prefork.html.ja.utf8 b/docs/manual/mod/prefork.html.ja.utf8 index 6e997f10..20f863d3 100644 --- a/docs/manual/mod/prefork.html.ja.utf8 +++ b/docs/manual/mod/prefork.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/prefork.html" title="Japanese"> ja </a></p> +<a href="../ja/mod/prefork.html" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>スレッドを使ã‚ãšã€å…ˆè¡Œã—㦠fork ã‚’è¡Œãªã†ã‚¦ã‚§ãƒ–サーãƒã‚’実装 </td></tr> @@ -181,7 +182,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/prefork.html" title="Japanese"> ja </a></p> +<a href="../ja/mod/prefork.html" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/prefork.html.tr.utf8 b/docs/manual/mod/prefork.html.tr.utf8 new file mode 100644 index 00000000..9cd77b5e --- /dev/null +++ b/docs/manual/mod/prefork.html.tr.utf8 @@ -0,0 +1,177 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>prefork - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM prefork</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Evresiz ön çatallamalı HTTP sunucusu oluÅŸturur</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>mpm_prefork_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>prefork.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu çok süreçlilik modülü (MPM) Apache 1.3’ün yaptığı gibi evresiz ve + çocuk süreçlerin önceden çatallandığı bir HTTP sunucusu oluÅŸturur. + Evresiz kütüphanelerle uyumluluk için evrelemeden kaçınma ihtiyacında + olan siteler için uygundur. Ayrıca istekleri birbirlerinden yalıtmak + için en iyi MPM’dir, dolayısıyla herhangi bir istekle ilgili bir sorun + diÄŸerlerini etkilemez.</p> + + <p>Bu MPM kendi kendine her duruma çok iyi uyum saÄŸladığından + yapılandırma yönergeleri ile yapılandırılmaya nadiren ihtiyaç gösterir. + Yönergelerin en önemlisi <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> olup, deÄŸeri aynı anda almayı umduÄŸunuz istek + sayısını iÅŸleyebilecek kadar büyük, fiziksel belleÄŸin tüm süreçlerin + ihtiyaçlarını karşılamasına yetecek kadar da küçük olması gerekir.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#acceptmutex">AcceptMutex</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#lockfile">LockFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</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#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li> +</ul> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Nasıl çalışır?</a></li> +</ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../bind.html">Apache’nin kullandığı adres ve portların +ayarlanması</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="how-it-works" id="how-it-works">Nasıl çalışır?</a></h2> + <p>BaÄŸlantıları dinleyip gerektiÄŸinde onlara hizmet sunan çocuk süreçleri + devreye almak tek bir denetim sürecinin sorumluluÄŸundadır. Apache + daima, gelen isteklere hizmet vermeye hazır bekleyen en fazla sayıda + sunucu sürecini <dfn>yedekte tutmaya</dfn> veya boÅŸta bekletmeye + çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk + süreçlerin çatallanmasını beklemek gerekmez.</p> + + <p>Ana sürecin istekleri sunacak çocuk süreçleri oluÅŸturma iÅŸlemini nasıl + gerçekleÅŸtireceÄŸi <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code> ve <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergeleri ile düzenlenir. Apache + kendiliÄŸinden her duruma çok iyi uyum saÄŸladığından, genelde, çoÄŸu + sitenin bu yönergelerin öntanımlı deÄŸerlerini deÄŸiÅŸtirmesi gerekmez. + Aynı anda 256’dan fazla isteÄŸe hizmet sunacak sitelerin <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> deÄŸerini arttırmaları + gerekebilir. Ancak, fiziksel belleÄŸi yeterli olmayan sitelerin de + sunucunun belleÄŸi diske takaslamasını önlemek için bu deÄŸeri + azaltmaları gerekebilir. Süreç oluÅŸturmanın ayarlanması ile ilgili daha + fazla bilgi edinmek için <a href="../misc/perf-tuning.html">baÅŸarım + arttırma ipuçları</a> belgesine bakınız.</p> + + <p>Unix altında 80. portu dinleyebilmek için ana sürecin + <code>root</code> tarafından çalıştırılmış olması gerekirse de çocuk + süreçler Apache tarafından daha az yetkili bir kullanıcının aidiyetinde + çalıştırılırlar. Apache’nin çocuk süreçlerinin kullanıcı ve gruplarını + ayarlamak için <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> ve + <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> yönergeleri + kullanılır. Çocuk süreçlerin sunacakları içeriÄŸi okumaya yetkili + olmaları gerekir, fakat bu yetkinin mümkün olduÄŸunca kısıtlı + tutulmasına çalışılmalıdır.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> + yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluÅŸturmayı + ne kadar sıklıkla yapacağını denetler.</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="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers" id="maxspareservers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>BoÅŸtaki çocuk süreçlerin azami sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxSpareServers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxSpareServers 10</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>prefork</td></tr> +</table> + <p><code class="directive">MaxSpareServers</code> yönergesi <em>boÅŸtaki</em> + çocuk sunucu süreçlerinin azami sayısını belirler. BoÅŸtaki süreç, o an + bir isteÄŸe hizmet sunmayan süreçtir. EÄŸer + <code class="directive">MaxSpareServers</code> sayıda süreçten daha fazla boÅŸta + süreç varsa ana süreç bu fazlalıkları öldürecektir.</p> + + <p>Bu parametrenin ayarlanması sadece çok meÅŸgul siteler için gerekli + olabilir. Bu parametreye çok büyük bir deÄŸerin atanması oldukça kötü + bir fikirdir. EÄŸer bu deÄŸeri <code class="directive"><a href="#minspareservers">MinSpareServers</a></code> deÄŸerine eÅŸit veya daha küçük bir deÄŸere + ayarlarsanız, Apache bu deÄŸeri kendiliÄŸinden <code class="directive">MinSpareServers</code><code> + 1</code> olarak + deÄŸiÅŸtirecektir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</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="MinSpareServers" id="MinSpareServers">MinSpareServers</a> <a name="minspareservers" id="minspareservers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>BoÅŸtaki çocuk süreçlerin asgari sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MinSpareServers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MinSpareServers 5</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>prefork</td></tr> +</table> + <p><code class="directive">MinSpareServers</code> yönergesi <em>boÅŸtaki</em> + çocuk sunucu süreçlerinin asgari sayısını belirler. BoÅŸtaki süreç, o an + bir isteÄŸe hizmet sunmayan süreçtir. EÄŸer + <code class="directive">MinSpareServers</code> sayıda süreçten daha az boÅŸta + süreç varsa ana süreç sayıyı tamamlamak için saniyede en fazla 1 süreç + olmak üzere yeni çocuk süreçler oluÅŸturacaktır.</p> + + <p>Bu parametrenin ayarlanması sadece çok meÅŸgul siteler için gerekli + olabilir. Bu parametreye çok büyük bir deÄŸerin atanması oldukça kötü + bir fikirdir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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.de b/docs/manual/mod/quickreference.html.de index e1cbef1f..10a82eac 100644 --- a/docs/manual/mod/quickreference.html.de +++ b/docs/manual/mod/quickreference.html.de @@ -92,10 +92,10 @@ 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 +[<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 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 +[<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 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 @@ -117,10 +117,10 @@ 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 +<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 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 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 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 proxy</td></tr> @@ -152,19 +152,19 @@ store passwords</td></tr> 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 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>X</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and +<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 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>X</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest +<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 authentication</td></tr> -<tr><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Enables or disables checking of the nonce-count sent by the +<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 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>X</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>X</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#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>X</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>X</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +[<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 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>X</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track +<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 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 of user groups for authorization</td></tr> @@ -287,8 +287,8 @@ nicht auf andere Weise ermitteln kann.</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">Places the compression ratio in a note for logging</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">How much memory should be used by zlib for compression</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 compression 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">Controls which hosts are denied access to the +<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">Controls which hosts are denied access to the server</td></tr> <tr class="odd"><td><a href="core.html#directory"><Directory <var>Verzeichnispfad</var>> ... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Umschließt eine Gruppe von Direktiven, die nur auf @@ -373,404 +373,405 @@ that are not explicitly mapped</td></tr> 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#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">Aktiviert persistente HTTP-Verbindungen</td></tr> -<tr><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>Sekunden</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Zeitspanne, die der Server während persistenter Verbindungen +<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">Aktiviert persistente HTTP-Verbindungen</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>Sekunden</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Zeitspanne, die der Server während persistenter Verbindungen auf nachfolgende Anfragen wartet</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> 102400 </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> 102400 </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"><Limit <var>Methode</var> [<var>Methode</var>] ... > ... - </Limit></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Beschränkt die eingeschlossenen Zugriffskontrollen auf +<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"><Limit <var>Methode</var> [<var>Methode</var>] ... > ... + </Limit></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Beschränkt die eingeschlossenen Zugriffskontrollen auf bestimmte HTTP-Methoden</td></tr> -<tr><td><a href="core.html#limitexcept"><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ... - </LimitExcept></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Beschränkt Zugriffskontrollen auf alle HTTP-Methoden +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ... + </LimitExcept></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Beschränkt Zugriffskontrollen auf alle HTTP-Methoden außer den genannten</td></tr> -<tr class="odd"><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Bestimmt die maximale Anzahl interner Umleitungen und +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Bestimmt die maximale Anzahl interner Umleitungen und verschachtelter Unteranfragen</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">Begrenzt die Gesamtgröße des vom Client gesendeten +<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">Begrenzt die Gesamtgröße des vom Client gesendeten HTTP-Request-Body</td></tr> -<tr class="odd"><td><a href="core.html#limitrequestfields">LimitRequestFields <var>Anzahl</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt die Anzahl der HTTP-Request-Header, die vom Client +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>Anzahl</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt die Anzahl der HTTP-Request-Header, die vom Client entgegengenommen werden</td></tr> -<tr><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldsize <var>Bytes</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt die Länge des vom Client gesendeten +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldsize <var>Bytes</var></a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt die Länge des vom Client gesendeten HTTP-Request-Headers</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">Begrenzt die Länge der vom Client entgegengenommenen +<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">Begrenzt die Länge der vom Client entgegengenommenen HTTP-Anfragezeile</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">Begrenzt die Größe eines XML-basierten +<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">Begrenzt die Größe eines XML-basierten Request-Bodys</td></tr> -<tr class="odd"><td><a href="mpm_common.html#listen">Listen [<var>IP-Addresse</var>:]<var>Port</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">IP-Adressen und Ports, an denen der Server lauscht</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">Maximale Länge der Warteschlange schwebender +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-Addresse</var>:]<var>Port</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP-Adressen und Ports, an denen der Server lauscht</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">Maximale Länge der Warteschlange schwebender Verbindungen</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><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"><Location - <var>URL-Pfad</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Wendet die enthaltenen Direktiven nur auf die entsprechenden +<tr><td><a href="core.html#location"><Location + <var>URL-Pfad</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Wendet die enthaltenen Direktiven nur auf die entsprechenden URLs an</td></tr> -<tr><td><a href="core.html#locationmatch"><LocationMatch - <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Wendet die enthaltenen Direktiven nur auf URLs an, die auf +<tr class="odd"><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Wendet die enthaltenen Direktiven nur auf URLs an, die auf reguläre Ausdrücke passen</td></tr> -<tr class="odd"><td><a href="mpm_common.html#lockfile">LockFile <var>Dateiname</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Ablageort der Lock-Datei für die Serialisierung von +<tr><td><a href="mpm_common.html#lockfile">LockFile <var>Dateiname</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ablageort der Lock-Datei für die Serialisierung von entgegengenommenen Anfragen</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">Steuert die Ausführlichkeit des Fehlerprotokolls</td></tr> -<tr><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximale Anzahl der Kindprozesse, die zur Bedienung von Anfragen +<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">Steuert die Ausführlichkeit des Fehlerprotokolls</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximale Anzahl der Kindprozesse, die zur Bedienung von Anfragen gestartet wird</td></tr> -<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>Anzahl</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Anzahl der Anfragen, die bei einer persistenten Verbindung +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>Anzahl</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Anzahl der Anfragen, die bei einer persistenten Verbindung zulässig sind</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">Maximale Menge des Arbeitsspeichers, den die +<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">Maximale Menge des Arbeitsspeichers, den die Haupt-Zuteilungsroutine verwalten darf, ohne <code>free()</code> aufzurufen</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">Obergrenze für die Anzahl von Anfragen, die ein einzelner +<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">Obergrenze für die Anzahl von Anfragen, die ein einzelner Kindprozess während seines Lebens bearbeitet</td></tr> -<tr><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>Anzahl</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Die maximale Anzahl von Anfragen, die ein einzelner Thread +<tr class="odd"><td><a href="beos.html#maxrequestsperthread">MaxRequestsPerThread <var>Anzahl</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Die maximale Anzahl von Anfragen, die ein einzelner Thread während seiner Lebensdauer bedient.</td></tr> -<tr class="odd"><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>Anzahl</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximale Anzahl der unbeschäftigten Kindprozesse des +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>Anzahl</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximale Anzahl der unbeschäftigten Kindprozesse des Servers</td></tr> -<tr><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximale Anzahl unbeschäftigter 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 class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximale Anzahl unbeschäftigter 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>Anzahl</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimale Anzahl der unbeschäftigten Kindprozesse des +<tr class="odd"><td><a href="prefork.html#minspareservers">MinSpareServers <var>Anzahl</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimale Anzahl der unbeschäftigten Kindprozesse des Servers</td></tr> -<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimale Anzahl unbeschäftigter Threads, die zur +<tr><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimale Anzahl unbeschäftigter Threads, die zur Bedienung von Anfragespitzen zur Verfügung stehen</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>Adresse</var>[:<var>Port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Bestimmt eine IP-Adresse für den Betrieb namensbasierter +<tr><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Bestimmt eine IP-Adresse für den Betrieb namensbasierter virtueller Hosts</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">Definiert, welche Eigenschaften oder Funktionen in einem +<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">Definiert, welche Eigenschaften oder Funktionen in einem bestimmten Verzeichnis verfügbar sind</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>Dateiname</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Datei, in welcher der Server die Prozess-ID des Daemons +<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>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 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"><Proxy <var>wildcard-url</var>> ...</Proxy></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 +<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"><Proxy <var>wildcard-url</var>> ...</Proxy></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 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 +<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 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"><ProxyMatch <var>regex</var>> ...</ProxyMatch></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 +<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"><ProxyMatch <var>regex</var>> ...</ProxyMatch></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 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 +<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 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 +<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 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- +<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- 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- +<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- 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 +<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 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 +<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 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 +<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 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.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">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 +<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.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 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 +<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 of the index listing</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">Sends an external redirect asking the client to fetch +<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><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">Sends an external redirect based on a regular expression match +<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 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">Sends an external permanent redirect asking the client to fetch +<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><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">Sends an external temporary redirect asking the client to fetch +<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 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|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><td class="descr" colspan="4">Configure HTTP request headers</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 +<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="core.html#require">Require <var>Name</var> [<var>Name</var>] ...</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Wählt die authentisierten Benutzer aus, die auf eine Ressource zugreifen können</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 +<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 </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> +<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> 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 +<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 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 +<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 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>Sekunden</var>|max [<var>Sekunden</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt den CPU-Verbrauch von Prozessen, die von +<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>Sekunden</var>|max [<var>Sekunden</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt den CPU-Verbrauch von Prozessen, die von Apache-Kindprozessen gestartet wurden</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">Begrenzt den Speicherverbrauch von Prozessen, die von +<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">Begrenzt den Speicherverbrauch von Prozessen, die von Apache-Kindprozessen gestartet wurden</td></tr> -<tr class="odd"><td><a href="core.html#rlimitnproc">RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet werden können, der ihrerseits von Apache-Kinprozessen gestartet wurden</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">Zusammenspiel von rechnerbasierter Zugriffskontrolle und +<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">Zusammenspiel von rechnerbasierter Zugriffskontrolle und Benutzerauthentisierung</td></tr> -<tr class="odd"><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>Dateipfad</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Ablageort der Datei, die zur Speicherung von Daten zur +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>Dateipfad</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ablageort der Datei, die zur Speicherung von Daten zur Koordinierung der Kindprozesse verwendet wird</td></tr> -<tr><td><a href="mod_actions.html#script">Script <var>Methode</var> <var>CGI-Skript</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Aktiviert ein CGI-Skript für eine bestimmte +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>Methode</var> <var>CGI-Skript</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Aktiviert ein CGI-Skript für eine bestimmte Anfragemethode.</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 +<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">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 +<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">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">Methode zur Ermittlung des Interpreters von +<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">Methode zur Ermittlung des Interpreters von CGI-Skripten</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 +<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">Location of the CGI script error logfile</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">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 +<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">Size limit of the CGI script logfile</td></tr> +<tr><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><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 +<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_status.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><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">Größe des TCP-Puffers</td></tr> -<tr class="odd"><td><a href="core.html#serveradmin">ServerAdmin <var>E-Mail-Adresse</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">E-Mail-Adresse, die der Server in Fehlermeldungen einfügt, +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>Bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Größe des TCP-Puffers</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>E-Mail-Adresse</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">E-Mail-Adresse, die der Server in Fehlermeldungen einfügt, welche an den Client gesendet werden</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">Alternativer Name für einen Host, der verwendet wird, wenn +<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Alternativer Name für einen Host, der verwendet wird, wenn Anfragen einem namensbasierten virtuellen Host zugeordnet werden</td></tr> -<tr class="odd"><td><a href="mpm_common.html#serverlimit">ServerLimit <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Obergrenze für die konfigurierbare Anzahl von +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Obergrenze für die konfigurierbare Anzahl von Prozessen</td></tr> -<tr><td><a href="core.html#servername">ServerName -<var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Rechnername und Port, die der Server dazu verwendet, sich +<tr class="odd"><td><a href="core.html#servername">ServerName +<var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Rechnername und Port, die der Server dazu verwendet, sich selbst zu identifizieren</td></tr> -<tr class="odd"><td><a href="core.html#serverpath">ServerPath <var>URL-Pfad</var></a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Veralteter URL-Pfad für einen namensbasierten +<tr><td><a href="core.html#serverpath">ServerPath <var>URL-Pfad</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Veralteter URL-Pfad für einen namensbasierten virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen wird</td></tr> -<tr><td><a href="core.html#serverroot">ServerRoot <var>Verzeichnis</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Basisverzeichnis der Serverinstallation</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">Konfiguriert die Fußzeile von servergenerierten +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>Verzeichnis</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Basisverzeichnis der Serverinstallation</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Konfiguriert die Fußzeile von servergenerierten Dokumenten</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">Konfiguriert den HTTP-Response-Header +<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Konfiguriert den HTTP-Response-Header <code>Server</code></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 +<tr><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><td class="descr" colspan="4">Sets environment variables</td></tr> +<tr class="odd"><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 + [[!]<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 </td></tr> -<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex +<tr><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 + [[!]<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 without respect to case</td></tr> -<tr><td><a href="core.html#sethandler">SetHandler <var>Handlername</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Erzwingt die Verarbeitung aller passenden Dateien durch +<tr class="odd"><td><a href="core.html#sethandler">SetHandler <var>Handlername</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Erzwingt die Verarbeitung aller passenden Dateien durch einen 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">Bestimmt die Filter, die Client-Anfragen und POST-Eingaben +<tr><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><td class="descr" colspan="4">Bestimmt die Filter, die Client-Anfragen und POST-Eingaben verarbeiten</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">Bestimmt die Filter, die Antworten des Servers verarbeiten</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> "-->" </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 +<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Bestimmt die Filter, die Antworten des Servers verarbeiten</td></tr> +<tr><td><a href="mod_include.html#ssienableaccess">SSIEnableAccess on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable the -A flag during conditional flow control processing.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</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">Error message displayed when there is an SSI error</td></tr> -<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </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 +<tr class="odd"><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that starts an include element</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">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 +<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">String displayed when an unset variable is echoed</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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 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#sslhonorcipherorder">SSLHonorCiperOrder <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#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 +<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#sslhonorcipherorder">SSLHonorCiperOrder <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#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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 Remote Server Auth</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 +<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 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>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><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 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 +<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 source</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 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#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 +<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 Certificate verification</td></tr> -<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Anzahl der Kindprozesse des Servers, die beim Start erstellt +<tr><td><a href="mpm_common.html#startservers">StartServers <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Anzahl der Kindprozesse des Servers, die beim Start erstellt 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 permissions for CGI programs</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 class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <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 beim Start erstellt werden</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="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 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 +<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">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><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"><VirtualHost +<tr><td><a href="core.html#virtualhost"><VirtualHost <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]] - ...> ... </VirtualHost></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 + ...> ... </VirtualHost></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"> diff --git a/docs/manual/mod/quickreference.html.en b/docs/manual/mod/quickreference.html.en index 7de47013..b00ca8dd 100644 --- a/docs/manual/mod/quickreference.html.en +++ b/docs/manual/mod/quickreference.html.en @@ -87,10 +87,10 @@ 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 +[<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 +[<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 @@ -111,10 +111,10 @@ 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 +<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 +<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> @@ -146,19 +146,19 @@ store passwords</td></tr> 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>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>X</td></tr><tr><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 class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>X</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>X</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#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>X</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +[<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>X</td></tr><tr><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 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> @@ -241,134 +241,136 @@ scripts</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 module</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 +<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 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 +<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">Sets filename for the logging of cookies</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 switch before dumping core</td></tr> -<tr class="odd"><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<tr><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 +[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</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">Enable WebDAV HTTP methods</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">Allow PROPFIND, Depth: Infinity requests</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">Location of the DAV lock database</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">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 +<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">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 +<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 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 +<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 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 +<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">Fragment size to be compressed at one time by 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">How much compression do we apply to the output</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">Places the compression ratio in a note for logging</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">How much memory should be used by zlib for compression</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 compression 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">Controls which hosts are denied access to the server</td></tr> -<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> -... </Directory></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 +<tr class="odd"><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></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 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 +<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">List of resources to look for when the client requests a directory</td></tr> -<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> -... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to +<tr class="odd"><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><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 +<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">Toggle trailing slash redirects on or off</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 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 +<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 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 +<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 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 +<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">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> +<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">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><code>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 +<tr><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><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><code>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 +<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default algorithm for calculating expiration time</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">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="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><td class="descr" colspan="4">File attributes used to create the ETag +<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">Define an external filter</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">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</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 HTTP response header</td></tr> -<tr class="odd"><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to matched +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></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><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to regular-expression matched +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></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 class="odd"><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 class="odd"><td class="descr" colspan="4">Configure the filter chain</td></tr> -<tr><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><td class="descr" colspan="4">Declare a smart filter</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> -<tr><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><td class="descr" colspan="4">Register a content filter</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Get debug/diagnostic information from +<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><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><td class="descr" colspan="4">Action to take if a single acceptable document is not +<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 class="odd"><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Forces all matching files to be served with the specified +<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><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><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +<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 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 +<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 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 +<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 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 +<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 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"><IfDefine [!]<var>parameter-name</var>> ... - </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +<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"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></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 if a test is true at startup</td></tr> -<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... - </IfModule></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 +<tr><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></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 presence or absence of a specific module</td></tr> -<tr><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... -</IfVersion></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 +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></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 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 +<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 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 +<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 the server configuration files</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><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 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 +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><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> @@ -439,8 +441,8 @@ matching URLs</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 child processes that will be created -to serve requests</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 +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 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 @@ -535,7 +537,7 @@ 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.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">Network timeout for proxied requests</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 @@ -545,7 +547,7 @@ of the index listing</td></tr> <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 +<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> @@ -721,7 +723,7 @@ 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">Number of child server processes created at startup</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">Number of threads created on startup</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="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 permissions for CGI programs</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> diff --git a/docs/manual/mod/quickreference.html.es b/docs/manual/mod/quickreference.html.es index 89a75a1a..dc337cac 100644 --- a/docs/manual/mod/quickreference.html.es +++ b/docs/manual/mod/quickreference.html.es @@ -94,10 +94,10 @@ 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 +[<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 +[<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 @@ -118,10 +118,10 @@ 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 +<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 +<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> @@ -153,19 +153,19 @@ store passwords</td></tr> 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>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>X</td></tr><tr><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 class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>X</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>X</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#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>X</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +[<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>X</td></tr><tr><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 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> @@ -248,134 +248,136 @@ scripts</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 module</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 +<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 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 +<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">Sets filename for the logging of cookies</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 switch before dumping core</td></tr> -<tr class="odd"><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<tr><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 +[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</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">Enable WebDAV HTTP methods</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">Allow PROPFIND, Depth: Infinity requests</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">Location of the DAV lock database</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">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 +<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">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 +<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 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 +<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 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 +<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">Fragment size to be compressed at one time by 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">How much compression do we apply to the output</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">Places the compression ratio in a note for logging</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">How much memory should be used by zlib for compression</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 compression 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">Controls which hosts are denied access to the server</td></tr> -<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> -... </Directory></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 +<tr class="odd"><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></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 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 +<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">List of resources to look for when the client requests a directory</td></tr> -<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> -... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to +<tr class="odd"><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><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 +<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">Toggle trailing slash redirects on or off</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 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 +<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 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 +<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 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 +<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">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> +<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">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><code>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 +<tr><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><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><code>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 +<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default algorithm for calculating expiration time</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">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="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><td class="descr" colspan="4">File attributes used to create the ETag +<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">Define an external filter</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">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</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 HTTP response header</td></tr> -<tr class="odd"><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to matched +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></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><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to regular-expression matched +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></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 class="odd"><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 class="odd"><td class="descr" colspan="4">Configure the filter chain</td></tr> -<tr><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><td class="descr" colspan="4">Declare a smart filter</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> -<tr><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><td class="descr" colspan="4">Register a content filter</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Get debug/diagnostic information from +<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><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><td class="descr" colspan="4">Action to take if a single acceptable document is not +<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 class="odd"><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Forces all matching files to be served with the specified +<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><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><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +<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 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 +<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 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 +<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 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 +<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 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"><IfDefine [!]<var>parameter-name</var>> ... - </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +<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"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></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 if a test is true at startup</td></tr> -<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... - </IfModule></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 +<tr><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></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 presence or absence of a specific module</td></tr> -<tr><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... -</IfVersion></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 +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></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 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 +<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 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 +<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 the server configuration files</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><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 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 +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><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> @@ -446,8 +448,8 @@ matching URLs</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 child processes that will be created -to serve requests</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 +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 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 @@ -542,7 +544,7 @@ 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.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">Network timeout for proxied requests</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 @@ -552,7 +554,7 @@ of the index listing</td></tr> <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 +<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> @@ -728,7 +730,7 @@ 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">Number of child server processes created at startup</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">Number of threads created on startup</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="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 permissions for CGI programs</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> diff --git a/docs/manual/mod/quickreference.html.ja.utf8 b/docs/manual/mod/quickreference.html.ja.utf8 index f811b111..f9ef248a 100644 --- a/docs/manual/mod/quickreference.html.ja.utf8 +++ b/docs/manual/mod/quickreference.html.ja.utf8 @@ -144,19 +144,19 @@ of user groups for authorization</td></tr> データベースファイルåã‚’è¨å®šã™ã‚‹</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">次ã®ä½Žæ¬¡ãƒ¬ãƒ™ãƒ«ã®èªè¨¼ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«åˆ¶å¾¡ã‚’渡ã™ã‹ã©ã†ã‹ã‚’ è¨å®šã—ã¾ã™</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>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>X</td></tr><tr><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 class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>X</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>X</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#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>X</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +[<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>X</td></tr><tr><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 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">証èªã«ä½¿ç”¨ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸€è¦§ãŒæ ¼ç´ã•ã‚Œã¦ã„る〠テã‚ストファイルã®åå‰ã‚’è¨å®šã™ã‚‹</td></tr> @@ -552,127 +552,129 @@ 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>s</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="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º</td></tr> -<tr><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><td class="descr" colspan="4">サーãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«å«ã‚ã‚‹é›»åメール㮠+<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">リクエストã®æœ€åˆã® 63 æ–‡å—ã‹æœ€å¾Œã® 63 æ–‡å— +ã®ã©ã¡ã‚‰ã‚’ mod_status ãŒè¡¨ç¤ºã™ã‚‹ã‹ã‚’決ã‚ã‚‹</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 ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º</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">サーãƒãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«å«ã‚ã‚‹é›»åメール㮠アドレス</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">リクエストをåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãƒžãƒƒãƒã•ã›ã¦ã„ã‚‹ã¨ãã« +<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">リクエストをåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãƒžãƒƒãƒã•ã›ã¦ã„ã‚‹ã¨ã㫠使用ã•ã‚Œã‚‹ãƒ›ã‚¹ãƒˆã®åˆ¥å</td></tr> -<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <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="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 class="odd"><td class="descr" colspan="4">サーãƒãŒè‡ªåˆ†è‡ªèº«ã‚’示ã™ã¨ãã«ä½¿ã†ãƒ›ã‚¹ãƒˆåã¨ãƒãƒ¼ãƒˆ</td></tr> -<tr><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">éžäº’æ›ã®ãƒ–ラウザãŒåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã® +<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">è¨å®šå¯èƒ½ãªã‚µãƒ¼ãƒãƒ—ãƒã‚»ã‚¹æ•°ã®ä¸Šé™</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">サーãƒãŒè‡ªåˆ†è‡ªèº«ã‚’示ã™ã¨ãã«ä½¿ã†ãƒ›ã‚¹ãƒˆåã¨ãƒãƒ¼ãƒˆ</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">éžäº’æ›ã®ãƒ–ラウザãŒåå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã® ãŸã‚ã®äº’æ›ç”¨ URL パスå</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">インストールã•ã‚ŒãŸã‚µãƒ¼ãƒã®ãƒ™ãƒ¼ã‚¹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª</td></tr> -<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">サーãƒãŒç”Ÿæˆã™ã‚‹ãƒ‰ã‚ュメントã®ãƒ•ãƒƒã‚¿ã‚’è¨å®š</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4"><code>Server</code> HTTP å¿œç”ヘッダをè¨å®šã™ã‚‹</td></tr> -<tr><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><td class="descr" colspan="4">環境変数をè¨å®šã™ã‚‹</td></tr> -<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute +<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">インストールã•ã‚ŒãŸã‚µãƒ¼ãƒã®ãƒ™ãƒ¼ã‚¹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª</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">サーãƒãŒç”Ÿæˆã™ã‚‹ãƒ‰ã‚ュメントã®ãƒ•ãƒƒã‚¿ã‚’è¨å®š</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"><code>Server</code> HTTP å¿œç”ヘッダをè¨å®šã™ã‚‹</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">環境変数をè¨å®šã™ã‚‹</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 class="odd"><td class="descr" colspan="4">リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹ + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹ </td></tr> -<tr><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex +<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><td class="descr" colspan="4">リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦å¤§æ–‡å—å°æ–‡å—を区別ã›ãšã«ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹</td></tr> -<tr class="odd"><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|None</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#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">クライアントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„ POST ã®å…¥åŠ›ã‚’処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’è¨å®šã™ã‚‹</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">サーãƒã®å¿œç”を処ç†ã™ã‚‹ãƒ•ã‚£ãƒ«ã‚¿ã‚’è¨å®šã™ã‚‹</td></tr> -<tr><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </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#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </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 + [[!]<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">リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦å¤§æ–‡å—å°æ–‡å—を区別ã›ãšã«ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹</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> "-->" </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> "<!--#" </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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 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#sslhonorcipherorder">SSLHonorCiperOrder <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#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 +<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#sslhonorcipherorder">SSLHonorCiperOrder <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#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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 Remote Server Auth</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 +<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 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>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><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 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 +<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 source</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 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#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 +<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 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">起動時ã«ç”Ÿæˆã•ã‚Œã‚‹åサーãƒãƒ—ãƒã‚»ã‚¹ã®æ•°</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="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">è¨å®šå¯èƒ½ãªåプãƒã‚»ã‚¹æ¯Žã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã®ä¸Šé™ã‚’ +<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="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> -<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">åプãƒã‚»ã‚¹ãã‚Œãžã‚Œã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°</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">クライアントã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å—ã‘æŒã¤ã‚¹ãƒ¬ãƒƒãƒ‰ãŒä½¿ç”¨ã™ã‚‹ +<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">åプãƒã‚»ã‚¹ãã‚Œãžã‚Œã«ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°</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">クライアントã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å—ã‘æŒã¤ã‚¹ãƒ¬ãƒƒãƒ‰ãŒä½¿ç”¨ã™ã‚‹ スタックã®ãƒã‚¤ãƒˆæ•°</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">å„イベントã«ã¤ã„ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’失敗ã•ã›ã‚‹ã¾ã§ã«ã‚µãƒ¼ãƒãŒ +<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">å„イベントã«ã¤ã„ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’失敗ã•ã›ã‚‹ã¾ã§ã«ã‚µãƒ¼ãƒãŒ å¾…ã¤æ™‚é–“ã‚’è¨å®š</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"><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"><code>TRACE</code> メソッドã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹å¿œç”方法を決ã‚ã‚‹ </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"><code>mime.types</code> ファイルã®ä½ç½®</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">サーãƒãŒè‡ªåˆ†è‡ªèº«ã®åå‰ã¨ãƒãƒ¼ãƒˆã‚’決定ã™ã‚‹æ–¹æ³•ã‚’è¨å®šã™ã‚‹</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">サーãƒã®åå‰ã¨ãƒãƒ¼ãƒˆã®è§£æ±ºæ–¹æ³•ã‚’è¨å®šã™ã‚‹</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">リクエストã«å¿œç”ã™ã‚‹éš›ã«ç”¨ã„るユーザ ID</td></tr> -<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></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_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_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"><code>mime.types</code> ファイルã®ä½ç½®</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">サーãƒãŒè‡ªåˆ†è‡ªèº«ã®åå‰ã¨ãƒãƒ¼ãƒˆã‚’決定ã™ã‚‹æ–¹æ³•ã‚’è¨å®šã™ã‚‹</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">サーãƒã®åå‰ã¨ãƒãƒ¼ãƒˆã®è§£æ±ºæ–¹æ³•ã‚’è¨å®šã™ã‚‹</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">リクエストã«å¿œç”ã™ã‚‹éš›ã«ç”¨ã„るユーザ ID</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></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_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"><VirtualHost +<tr><td><a href="core.html#virtualhost"><VirtualHost <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] - ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">特定ã®ãƒ›ã‚¹ãƒˆåã‚„ IP アドレスã®ã¿ã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">特定ã®ãƒ›ã‚¹ãƒˆåã‚„ IP アドレスã®ã¿ã«é©ç”¨ã•ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ 囲む</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">ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æŽ¥ç¶šã®å—ã‘付ã‘ã« accept() ã‚’AcceptEx ã®ä»£ã‚ã‚Šã«ä½¿ã†</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">実行ビットãŒè¨å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã® SSI ディレクティブを +<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">ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æŽ¥ç¶šã®å—ã‘付ã‘ã« accept() ã‚’AcceptEx ã®ä»£ã‚ã‚Šã«ä½¿ã†</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">実行ビットãŒè¨å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã® SSI ディレクティブを 解æžã™ã‚‹</td></tr> </table></div> <div class="bottomlang"> diff --git a/docs/manual/mod/quickreference.html.ko.euc-kr b/docs/manual/mod/quickreference.html.ko.euc-kr index 187eeb30..4a8090cf 100644 --- a/docs/manual/mod/quickreference.html.ko.euc-kr +++ b/docs/manual/mod/quickreference.html.ko.euc-kr @@ -212,493 +212,494 @@ scripts</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">¹®ÀÚÁýÇÕ º¯È¯ ±â´ÉÀ» ¼³Á¤</td></tr> <tr><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">ÆÄÀÏ ¿øº»ÀÇ ¹®ÀÚÁýÇÕ</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="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="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"><Directory <var>directory-path</var>> -... </Directory></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 +<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"><Directory <var>directory-path</var>> +... </Directory></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> -<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"><DirectoryMatch <var>regex</var>> -... </DirectoryMatch></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 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"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></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><code>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><code>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><code>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><code>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="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><td class="descr" colspan="4">File attributes used to create the ETag HTTP response header</td></tr> -<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to matched +<tr class="odd"><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to matched filenames</td></tr> -<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></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 +<tr><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr><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 +<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr><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><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr><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><td class="descr" colspan="4">Register a content filter</td></tr> +<tr class="odd"><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 class="odd"><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 +<tr><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><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 +<tr class="odd"><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><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="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> +<tr class="odd"><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 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"><IfDefine [!]<var>parameter-name</var>> ... - </IfDefine></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"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></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"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... - </IfModule></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"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></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"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... -</IfVersion></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"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></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><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> -<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">µð·ºÅ丮 ¸ñ·ÏÀÇ ±âº» ¼ø¼¸¦ ¼³Á¤ÇÑ´Ù</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">µð·ºÅ丮 ¸ñ·Ï¿¡ CSS ½ºÅ¸ÀϽ¬Æ®¸¦ Ãß°¡ÇÑ´Ù</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">ISAPI exntensionÀÇ <code>HSE_APPEND_LOG_PARAMETER</code> +<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">µð·ºÅ丮 ¸ñ·Ï¿¡¼ ¼û±æ ÆÄÀϸñ·ÏÀ» Ãß°¡ÇÑ´Ù</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">µð·ºÅ丮 ¸ñ·ÏÀÇ ¿©·¯ ¼³Á¤µé</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">µð·ºÅ丮 ¸ñ·ÏÀÇ ±âº» ¼ø¼¸¦ ¼³Á¤ÇÑ´Ù</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">µð·ºÅ丮 ¸ñ·Ï¿¡ CSS ½ºÅ¸ÀϽ¬Æ®¸¦ Ãß°¡ÇÑ´Ù</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">ISAPI exntensionÀÇ <code>HSE_APPEND_LOG_PARAMETER</code> ¿äûÀ» ¿À·ù ·Î±×¿¡ ±â·ÏÇÑ´Ù</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">ISAPI exntensionÀÇ <code>HSE_APPEND_LOG_PARAMETER</code> +<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">ISAPI exntensionÀÇ <code>HSE_APPEND_LOG_PARAMETER</code> ¿äûÀ» ÁúÀǹ®ÀÚ¿¿¡ ±â·ÏÇÑ´Ù</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 ÆÄÀϵé</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">ºñµ¿±â ISAPI ÄݹéÀ» Áö¿øÇϴ ôÇÑ´Ù</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">ISAPI extensionÀÌ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀ» ¿äûÇϸé +<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 ÆÄÀϵé</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">ºñµ¿±â ISAPI ÄݹéÀ» Áö¿øÇϴ ôÇÑ´Ù</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">ISAPI extensionÀÌ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀ» ¿äûÇÏ¸é ·Î±×¿¡ ±â·ÏÇÑ´Ù</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">ISAPI extensionÀÇ ¹Ì¸®Àбâ¹öÆÛ(read ahead buffer) +<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">ISAPI extensionÀÇ ¹Ì¸®Àбâ¹öÆÛ(read ahead buffer) Å©±â</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 +<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 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 +<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 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 +<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 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 +<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 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> 102400 </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 +<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> 102400 </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 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 +<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 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"><Limit <var>method</var> [<var>method</var>] ... > ... - </Limit></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 +<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"><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></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 methods</td></tr> -<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>method</var> [<var>method</var>] ... > ... - </LimitExcept></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 +<tr><td><a href="core.html#limitexcept"><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></a></td><td></td><td>svdh</td><td>C</td></tr><tr><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 +<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 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 +<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 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 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 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><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 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 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 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 +<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 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">ÁöÁ¤ÇÑ ¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀδÙ</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">¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀÌ°í, »ç¿ë°¡´ÉÇÑ +<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">ÁöÁ¤ÇÑ ¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀδÙ</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">¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀÌ°í, »ç¿ë°¡´ÉÇÑ ¸ðµâ ¸ñ·Ï¿¡ Ãß°¡ÇÑ´Ù</td></tr> -<tr><td><a href="core.html#location"><Location - <var>URL-path</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to matching +<tr class="odd"><td><a href="core.html#location"><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></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 URLs</td></tr> -<tr class="odd"><td><a href="core.html#locationmatch"><LocationMatch - <var>regex</var>> ... </LocationMatch></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 +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></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 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">·Î±×ÆÄÀÏ¿¡ »ç¿ëÇÒ Çü½ÄÀ» ±â¼úÇÑ´Ù</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 child processes that will be created -to serve requests</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 +<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">·Î±×ÆÄÀÏ¿¡ »ç¿ëÇÒ Çü½ÄÀ» ±â¼úÇÑ´Ù</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 +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 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 +<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 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 +<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 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">ÇÑ ¾²·¹µå°¡ ½ÇÇàÇÏ´Â µ¿¾È ó¸®ÇÒ ¿äû°³¼ö ÇÑ°è</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â ÃÖ´ë °´Ã¼°³¼ö</td></tr> -<tr><td><a href="mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize <var>bytes</var></a></td><td> 10000 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¹®¼ÀÇ ÃÖ´ë Å©±â (¹ÙÀÌÆ® ´ÜÀ§)</td></tr> -<tr class="odd"><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> 100000°ú MCacheMaxOb +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ÀÀ´äÀ» ij½¬¾ÈÇÑ´Ù°í °áÁ¤Çϱâ Àü±îÁö ¸Þ¸ð¸® ¹öÆÛ¿¡ +<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">ÇÑ ¾²·¹µå°¡ ½ÇÇàÇÏ´Â µ¿¾È ó¸®ÇÒ ¿äû°³¼ö ÇÑ°è</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>X</td></tr><tr><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â ÃÖ´ë °´Ã¼°³¼ö</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¹®¼ÀÇ ÃÖ´ë Å©±â (¹ÙÀÌÆ® ´ÜÀ§)</td></tr> +<tr><td><a href="mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> 100000°ú MCacheMaxOb +</td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">ÀÀ´äÀ» ij½¬¾ÈÇÑ´Ù°í °áÁ¤Çϱâ Àü±îÁö ¸Þ¸ð¸® ¹öÆÛ¿¡ ÀúÀåÇÒ ½ºÆ®¸² ÀÀ´äÀÇ ÃÖ´ë Å©±â</td></tr> -<tr><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¹®¼ÀÇ ÃÖ¼Ò Å©±â (¹ÙÀÌÆ® ´ÜÀ§)</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬¿¡¼ Á¦°ÅÇÒ ¹®¼¸¦ ã´Â ¾Ë°í¸®Áò</td></tr> -<tr><td><a href="mod_mem_cache.html#mcachesize">MCacheSize <var>KBytes</var></a></td><td> 100 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">ij½¬¿¡ »ç¿ëÇÒ ÃÖ´ë ¸Þ¸ð¸®·® (KByte ´ÜÀ§)</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">CERN ¸ÞŸÁ¤º¸¸¦ ãÀ» µð·ºÅ丮 À̸§</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">CERN ¸ÞŸÆÄÀÏÀ» ó¸®ÇÑ´Ù</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">CERN ¸ÞŸÁ¤º¸¸¦ ÀúÀåÇÏ´Â ÆÄÀÏÀÇ Á¢¹Ì»ç</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 +<tr class="odd"><td><a href="mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬¿¡ ÀúÀåÇÒ ¹®¼ÀÇ ÃÖ¼Ò Å©±â (¹ÙÀÌÆ® ´ÜÀ§)</td></tr> +<tr><td><a href="mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm LRU|GDSF</a></td><td> GDSF </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">ij½¬¿¡¼ Á¦°ÅÇÒ ¹®¼¸¦ ã´Â ¾Ë°í¸®Áò</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij½¬¿¡ »ç¿ëÇÒ ÃÖ´ë ¸Þ¸ð¸®·® (KByte ´ÜÀ§)</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">CERN ¸ÞŸÁ¤º¸¸¦ ãÀ» µð·ºÅ丮 À̸§</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">CERN ¸ÞŸÆÄÀÏÀ» ó¸®ÇÑ´Ù</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">CERN ¸ÞŸÁ¤º¸¸¦ ÀúÀåÇÏ´Â ÆÄÀÏÀÇ Á¢¹Ì»ç</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 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 +<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 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">½ÃÀ۽à ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù</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> +<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">½ÃÀ۽à ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù</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> 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 +<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 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 +<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 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 +<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 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 +<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 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">±âº»ÀûÀ¸·Î Á¢±ÙÀ» Çã¿ëÇÒÁö °ÅºÎÇÒÁö ¿©ºÎ¿Í +<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">±âº»ÀûÀ¸·Î Á¢±ÙÀ» Çã¿ëÇÒÁö °ÅºÎÇÒÁö ¿©ºÎ¿Í <code class="directive">Allow</code>¿Í <code class="directive">Deny</code> 󸮼ø¼¸¦ Á¤ÇÑ´Ù.</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">½©¿¡¼ ȯ°æº¯¼ö¸¦ °¡Á®¿Â´Ù</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 +<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">½©¿¡¼ ȯ°æº¯¼ö¸¦ °¡Á®¿Â´Ù</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 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"><Proxy <var>wildcard-url</var>> ...</Proxy></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 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"><Proxy <var>wildcard-url</var>> ...</Proxy></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"><ProxyMatch <var>regex</var>> ...</ProxyMatch></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"><ProxyMatch <var>regex</var>> ...</ProxyMatch></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.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> 300 </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 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.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="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 +<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="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 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 +<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 </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> +<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> 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 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 +<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 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">ƯÁ¤ ¿äû¸Þ¼µå¿¡ ´ëÇØ CGI ½ºÅ©¸³Æ®¸¦ +<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 ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù.</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">URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÏ°í ´ë»óÀÌ CGI +<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 ½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù</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">Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© URLÀ» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î +<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À» ƯÁ¤ ÆÄÀϽýºÅÛ Àå¼Ò·Î ´ëÀÀÇÏ°í ´ë»óÀÌ CGI ½ºÅ©¸³Æ®¶ó°í ¾Ë¸°´Ù</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 +<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 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">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="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP buffer size</td></tr> -<tr><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><td class="descr" colspan="4">Email address that the server includes in error +<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="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 class="odd"><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 class="odd"><td class="descr" colspan="4">Alternate names for a host used when matching requests +<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><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Hostname and port that the server uses to identify +<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><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Legacy URL pathname for a name-based virtual host that +<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 class="odd"><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 class="odd"><td class="descr" colspan="4">Base directory for the server installation</td></tr> -<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures the footer on server-generated documents</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Configures the <code>Server</code> HTTP response +<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><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><td class="descr" colspan="4">ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù</td></tr> -<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute +<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">ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù</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 class="odd"><td class="descr" colspan="4">¿äûÀÇ ¼ºÁú¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù</td></tr> -<tr><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex + [[!]<em>env-variable</em>[=<em>value</em>]] ...</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_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><td class="descr" colspan="4">´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í ¿äûÀÇ ¼ºÁú¿¡ µû¶ó ȯ°æº¯¼ö¸¦ + [[!]<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">´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í ¿äûÀÇ ¼ºÁú¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù</td></tr> -<tr class="odd"><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Forces all matching files to be processed by a +<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><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><td class="descr" colspan="4">Sets the filters that will process client requests and POST +<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 class="odd"><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 class="odd"><td class="descr" colspan="4">Sets the filters that will process responses from the +<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><td><a href="mod_include.html#ssienableaccess">SSIEnableAccess on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable the -A flag during conditional flow control processing.</td></tr> -<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</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">Error message displayed when there is an SSI +<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> "-->" </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 class="odd"><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that starts an include element</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">Configures the format in which date strings are +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </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 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">String displayed when an unset variable is echoed</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><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 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#sslhonorcipherorder">SSLHonorCiperOrder <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#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#sslhonorcipherorder">SSLHonorCiperOrder <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#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#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>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 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#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 +<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 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 +<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 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 +<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 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 +<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 in the Session Cache</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">Number of child server processes created at startup</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">Number of threads created on startup</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="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 +<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 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 +<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 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 +<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 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> +<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> 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">·Î±×ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù</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 +<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 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 +<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 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 +<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 requests</td></tr> -<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 +<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 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 +<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 for a given virtual host</td></tr> -<tr><td><a href="core.html#virtualhost"><VirtualHost +<tr class="odd"><td><a href="core.html#virtualhost"><VirtualHost <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] - ...> ... </VirtualHost></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 + ...> ... </VirtualHost></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 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 +<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 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 +<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 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 +<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 set</td></tr> </table></div> <div class="bottomlang"> diff --git a/docs/manual/mod/quickreference.html.ru.koi8-r b/docs/manual/mod/quickreference.html.ru.koi8-r index 7e2b2ffd..2d315c52 100644 --- a/docs/manual/mod/quickreference.html.ru.koi8-r +++ b/docs/manual/mod/quickreference.html.ru.koi8-r @@ -92,10 +92,10 @@ 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 +[<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 +[<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 @@ -116,10 +116,10 @@ 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 +<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 +<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> @@ -151,19 +151,19 @@ store passwords</td></tr> 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>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>X</td></tr><tr><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 class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>X</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>X</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#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>X</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>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +[<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>X</td></tr><tr><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 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> @@ -246,134 +246,136 @@ scripts</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 module</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 +<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 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 +<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">Sets filename for the logging of cookies</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 switch before dumping core</td></tr> -<tr class="odd"><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<tr><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 +[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</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">Enable WebDAV HTTP methods</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">Allow PROPFIND, Depth: Infinity requests</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">Location of the DAV lock database</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">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 +<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">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 +<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 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 +<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 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 +<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">Fragment size to be compressed at one time by 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">How much compression do we apply to the output</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">Places the compression ratio in a note for logging</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">How much memory should be used by zlib for compression</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 compression 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">Controls which hosts are denied access to the server</td></tr> -<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> -... </Directory></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 +<tr class="odd"><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></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 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 +<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">List of resources to look for when the client requests a directory</td></tr> -<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> -... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to +<tr class="odd"><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><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 +<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">Toggle trailing slash redirects on or off</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 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 +<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 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 +<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 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 +<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">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> +<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">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><code>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 +<tr><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><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><code>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 +<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default algorithm for calculating expiration time</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">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="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><td class="descr" colspan="4">File attributes used to create the ETag +<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">Define an external filter</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">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</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 HTTP response header</td></tr> -<tr class="odd"><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to matched +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></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><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to regular-expression matched +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></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 class="odd"><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 class="odd"><td class="descr" colspan="4">Configure the filter chain</td></tr> -<tr><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><td class="descr" colspan="4">Declare a smart filter</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> -<tr><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><td class="descr" colspan="4">Register a content filter</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Get debug/diagnostic information from +<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><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><td class="descr" colspan="4">Action to take if a single acceptable document is not +<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 class="odd"><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Forces all matching files to be served with the specified +<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><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><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +<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 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 +<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 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 +<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 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 +<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 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"><IfDefine [!]<var>parameter-name</var>> ... - </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +<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"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></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 if a test is true at startup</td></tr> -<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... - </IfModule></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 +<tr><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></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 presence or absence of a specific module</td></tr> -<tr><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... -</IfVersion></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 +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></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 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 +<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 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 +<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 the server configuration files</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><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 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 +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><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> @@ -444,8 +446,8 @@ matching URLs</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 child processes that will be created -to serve requests</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 +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 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 @@ -540,7 +542,7 @@ 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.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">Network timeout for proxied requests</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 @@ -550,7 +552,7 @@ of the index listing</td></tr> <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 +<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> @@ -726,7 +728,7 @@ 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">Number of child server processes created at startup</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">Number of threads created on startup</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="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 permissions for CGI programs</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> diff --git a/docs/manual/mod/quickreference.html.tr.utf8 b/docs/manual/mod/quickreference.html.tr.utf8 index 5145e7ab..9697f0b1 100644 --- a/docs/manual/mod/quickreference.html.tr.utf8 +++ b/docs/manual/mod/quickreference.html.tr.utf8 @@ -60,35 +60,36 @@ <tr class="odd"><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Dağıtık yapılandırma dosyasının ismi belirtilir.</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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_autoindex.html#addalt">AddAlt <var>metin</var> <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">Dosyaya göre seçilen simgenin yerinde gösterilecek metni belirler. +</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>metin</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dosyanın MIME kodlamasına göre seçilen simgenin yerinde +gösterilecek metni belirler.</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>metin</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dosyanın MIME türüne göre seçilen simgenin yerinde gösterilecek +metni belirler.</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>skdh</td><td>T</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>karküm</var></a></td><td> Off </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir yanıtın içerik türü <code>text/plain</code> veya <code>text/html</code> olduÄŸunda eklenecek öntanımlı karakter kümesi parametresini belirler.</td></tr> -<tr><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Description to display for a file</td></tr> +<tr><td><a href="mod_autoindex.html#adddescription">AddDescription <var>metin dosya</var> [<var>dosya</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir dosya için gösterilecek açıklama belirtilir.</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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_autoindex.html#addicon">AddIcon <var>simge</var> <var>isim</var> [<var>isim</var>] +...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir dosya için gösterilecek simgeyi dosya adına göre belirler. +</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>simge</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir dosya için gösterilecek simgeyi dosyanın MIME kodlamasına +göre belirler.</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>simge</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir dosya için gösterilecek simgeyi dosyanın MIME türüne göre +belirler.</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>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process client requests</td></tr> @@ -105,13 +106,13 @@ responses from the server</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>skdh</td><td>T</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>sk</td><td>T</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>sk</td><td>T</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>T</td></tr><tr><td class="descr" colspan="4">Controls which hosts can access an area of the +<tr><td><a href="mod_alias.html#alias">Alias <var>URL-yolu</var> +<var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">URL’leri dosya sistemi konumlarıyla eÅŸler.</td></tr> +<tr class="odd"><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>düzenli-ifade</var> +<var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak +eÅŸler.</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>T</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>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> @@ -143,19 +144,19 @@ store passwords</td></tr> 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>T</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>D</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>D</td></tr><tr><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 class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>D</td></tr><tr class="odd"><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><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>D</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>D</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#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>D</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>D</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +[<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>D</td></tr><tr><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 class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>T</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> @@ -195,13 +196,14 @@ modules</td></tr> <tr><td><a href="mod_authz_user.html#authzuserauthoritative">AuthzUserAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>T</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_proxy.html#balancermember" id="B" name="B">BalancerMember <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>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] +[[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortam deÄŸiÅŸkenlerini HTTP kullanıcı arayüzüne göre belirler. +</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] +[[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ortam deÄŸiÅŸkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne +duyarsız eÅŸleÅŸmelerine baÄŸlı olarak belirler.</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Günlük girdilerini diske yazmadan önce bellekte tamponlar </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>skdh</td><td>T</td></tr><tr class="odd"><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>T</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>sk</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>sk</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>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of levels of subdirectories in the @@ -237,138 +239,143 @@ stored</td></tr> <tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>skdh</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>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling module</td></tr> -<tr class="odd"><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>Content-MD5</code> HTTP yanıt baÅŸlıklarının üretimini +<tr class="odd"><td><a href="mpm_common.html#chrootdir">ChrootDir <var>/dizin/yolu/</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">BaÅŸlatıldıktan sonra Apache’nin chroot(8) yapacağı dizin +</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4"><code>Content-MD5</code> HTTP yanıt baÅŸlıklarının üretimini etkin kılar.</td></tr> -<tr><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>skdh</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>skdh</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>sk</td><td>T</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>skdh</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>skdh</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>skdh</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>dizin</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4"><code>core</code> dosyasını dökümlemek üzere Apache’nin geçmeye +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>skdh</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>skdh</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>dosya-adı</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Çerezleri günlüğe kaydetmek için dosya ismi belirtmekte +kullanılır.</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>skdh</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>skdh</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>skdh</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>dizin</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4"><code>core</code> dosyasını dökümlemek üzere Apache’nin geçmeye çalışacağı dizin.</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>sk</td><td>T</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>skd</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>skd</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>sk</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>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum amount of time the server holds a lock on +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>dosya</var>|<var>borulu-süreç</var> +<var>biçem</var>|<var>takma-ad</var> +[env=[!]<var>ortam-deÄŸiÅŸkeni</var>]</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Günlük dosyasın ismini ve girdi biçemini belirler.</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">Enable WebDAV HTTP methods</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow PROPFIND, Depth: Infinity requests</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>skd</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>sk</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.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>skd</td><td>E</td></tr><tr class="odd"><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>sk</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>sk</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>sk</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>sk</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>sk</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>sk</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>sk</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>sk</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>skdh</td><td>T</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>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Sets all files in the given scope to the specified +<tr><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sk</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>sk</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>sk</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>sk</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>sk</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>sk</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>sk</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>sk</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-yolu</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Özel bir simge atanmamış dosyalar için gösterilecek simgeyi +belirler.</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>MIME-lang</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><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-türü</var>|none</a></td><td> text/plain </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun MIME türünü saptayamadığı durumda göndereceÄŸi MIME +<tr><td><a href="core.html#defaulttype">DefaultType <var>MIME-türü</var>|none</a></td><td> text/plain </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun MIME türünü saptayamadığı durumda göndereceÄŸi MIME içerik türünü belirler.</td></tr> -<tr><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sk</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>sk</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>sk</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>sk</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>sk</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>T</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fragment size to be compressed at one time by zlib</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">How much compression do we apply to the output</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Zlib compression 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>T</td></tr><tr><td class="descr" colspan="4">Controls which hosts are denied access to the server</td></tr> -<tr><td><a href="core.html#directory"><Directory <var>dizin-yolu</var>> -... </Directory></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sadece ismi belirtilen dosya sistemi dizininde ve bunun +<tr class="odd"><td><a href="core.html#directory"><Directory <var>dizin-yolu</var>> +... </Directory></a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sadece ismi belirtilen dosya sistemi dizininde ve bunun altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</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>skdh</td><td>T</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"><DirectoryMatch <var>düzifd</var>> -... </DirectoryMatch></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir düzenli ifade ile eÅŸleÅŸen dosya sistemi dizininde ve bunun +<tr><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><td class="descr" colspan="4">Ä°stemci bir dizin istediÄŸinde dizin içeriÄŸini listeler. +</td></tr> +<tr class="odd"><td><a href="core.html#directorymatch"><DirectoryMatch <var>düzifd</var>> +... </DirectoryMatch></a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir düzenli ifade ile eÅŸleÅŸen dosya sistemi dizininde ve bunun altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</td></tr> -<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>skdh</td><td>T</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>dizin-yolu</var></a></td><td> /usr/local/apache/h +</td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Ä°stemciye görünür olan ana belge aÄŸacının kök dizinini belirler.</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">Bir çöküş sonrası olaÄŸandışılık eylemcilerini çalıştıracak +<tr><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bölü çizgisi ile biten yönlendirmeleri açar/kapar.</td></tr> +<tr class="odd"><td><a href="core.html#documentroot">DocumentRoot <var>dizin-yolu</var></a></td><td> /usr/local/apache/h +</td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Ä°stemciye görünür olan ana belge aÄŸacının kök dizinini belirler.</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">Bir çöküş sonrası olaÄŸandışılık eylemcilerini çalıştıracak kancayı etkin kılar.</td></tr> -<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Teslimat sırasında okunacak dosyalar için bellek eÅŸlemeyi etkin +<tr><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Teslimat sırasında okunacak dosyalar için bellek eÅŸlemeyi etkin kılar.</td></tr> -<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dosyaların istemciye tesliminde çekirdeÄŸin dosya gönderme +<tr class="odd"><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Dosyaların istemciye tesliminde çekirdeÄŸin dosya gönderme desteÄŸinin kullanımını etkin kılar.</td></tr> -<tr class="odd"><td><a href="core.html#errordocument">ErrorDocument <var>hata-kodu</var> <var>belge</var></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir hata durumunda sunucunun istemciye ne döndüreceÄŸini +<tr><td><a href="core.html#errordocument">ErrorDocument <var>hata-kodu</var> <var>belge</var></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir hata durumunda sunucunun istemciye ne döndüreceÄŸini belirler.</td></tr> -<tr><td><a href="core.html#errorlog"> ErrorLog <var>dosya-yolu</var>|syslog[:<var>oluÅŸum</var>]</a></td><td> logs/error_log (Uni +</td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun hata günlüğünü tutacağı yeri belirler.</td></tr> -<tr class="odd"><td><a href="mod_example.html#example">Example</a></td><td></td><td>skdh</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>dosya-yolu</var>|syslog[:<var>oluÅŸum</var>]</a></td><td> logs/error_log (Uni +</td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun hata günlüğünü tutacağı yeri belirler.</td></tr> +<tr><td><a href="mod_example.html#example">Example</a></td><td></td><td>skdh</td><td>D</td></tr><tr><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>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables generation of <code>Expires</code> +<tr class="odd"><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><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><code>seconds</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Value of the <code>Expires</code> header configured +<tr><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><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><code>seconds</var></a></td><td></td><td>skdh</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>T</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="core.html#fileetag" id="F" name="F">FileETag <var>bileÅŸen</var> ...</a></td><td> INode MTime Size </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4"><code>ETag</code> HTTP yanıt baÅŸlığını oluÅŸturmakta kullanılacak +<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default algorithm for calculating expiration time</td></tr> +<tr><td><a href="mod_status.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Her istekte ek durum bilgisinin toplanmasını saÄŸlar. +</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">Define an external filter</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">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr> +<tr class="odd"><td><a href="core.html#fileetag" id="F" name="F">FileETag <var>bileÅŸen</var> ...</a></td><td> INode MTime Size </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>ETag</code> HTTP yanıt baÅŸlığını oluÅŸturmakta kullanılacak dosya özniteliklerini belirler.</td></tr> -<tr class="odd"><td><a href="core.html#files"><Files <var>dosya-adı</var>> ... </Files></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Dosya isimleriyle eÅŸleÅŸme halinde uygulanacak yönergeleri +<tr><td><a href="core.html#files"><Files <var>dosya-adı</var>> ... </Files></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dosya isimleriyle eÅŸleÅŸme halinde uygulanacak yönergeleri içerir.</td></tr> -<tr><td><a href="core.html#filesmatch"><FilesMatch <var>düzifd</var>> ... </FilesMatch></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Düzenli ifadelerin dosya isimleriyle eÅŸleÅŸmesi halinde +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>düzifd</var>> ... </FilesMatch></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Düzenli ifadelerin dosya isimleriyle eÅŸleÅŸmesi halinde uygulanacak yönergeleri içerir.</td></tr> -<tr class="odd"><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the filter chain</td></tr> -<tr><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Declare a smart filter</td></tr> -<tr class="odd"><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>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> -<tr><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>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Register a content filter</td></tr> -<tr class="odd"><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Get debug/diagnostic information from +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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>skd</td><td>T</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><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Action to take if a single acceptable document is not +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not found</td></tr> -<tr class="odd"><td><a href="core.html#forcetype">ForceType <var>MIME-türü</var>|None</a></td><td></td><td>dh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bütün dosyaların belirtilen MIME içerik türüyle sunulmasına +<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><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> -<tr class="odd"><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 class="odd"><td class="descr" colspan="4">Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar +<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 geçecek süre için bir zaman aşımı belirler.</td></tr> -<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>filename</var></a></td><td></td><td>skdh</td><td>T</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>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><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 +<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 +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. +</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 user</td></tr> -<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"><IfDefine [!]<var>parametre-adı</var>> ... - </IfDefine></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 +<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"><IfDefine [!]<var>parametre-adı</var>> ... + </IfDefine></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 sokulacak yönergeleri sarmalar.</td></tr> -<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>modül-dosyası</var>|<var>modül-betimleyici</var>> ... - </IfModule></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 +<tr><td><a href="core.html#ifmodule"><IfModule [!]<var>modül-dosyası</var>|<var>modül-betimleyici</var>> ... + </IfModule></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 yönergeleri sarmalar.</td></tr> -<tr><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... -</IfVersion></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 +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></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 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>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Action if no coordinates are given when calling +<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 an imagemap</td></tr> -<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. +<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. +</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.</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. +</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. </td></tr> -<tr class="odd"><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><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>skdh</td><td>T</td></tr><tr><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>skdh</td><td>T</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>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr> +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. +</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 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 @@ -423,9 +430,10 @@ sınırlar.</td></tr> [<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 belirler</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 -of active modules</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. +</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 +ve etkin modül listesine ekler.</td></tr> <tr class="odd"><td><a href="core.html#location"><Location <var>URL-yolu</var>|<var>URL</var>> ... </Location></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. </td></tr> @@ -435,11 +443,11 @@ 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 ç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>format</var>|<var>nickname</var> -[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Describes a format for use in a log file</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. +</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">Ä°stekleri sunarken oluÅŸturulacak çocuk süreçlerin azami sayısını - 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 ayırmasına izin verilen azami bellek miktarını belirler.</td></tr> @@ -447,7 +455,7 @@ uygulanır.</td></tr> 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 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 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 @@ -469,8 +477,8 @@ files</td></tr> 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 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">Ä°steklerin ani artışında devreye girecek boÅŸtaki evrelerin asgari +<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 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> @@ -489,8 +497,8 @@ directly</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 <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>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Passes environment variables from the shell</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 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"><Proxy <var>wildcard-url</var>> ...</Proxy></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> @@ -531,22 +539,22 @@ expressions</td></tr> <tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sk</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.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>sk</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>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Network timeout for proxied requests</td></tr> +<tr><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sk</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>sk</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>skdh</td><td>T</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><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>dosya-ismi</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin listesinin sonuna yerleÅŸtirilecek dosyanın ismini +belirler.</td></tr> <tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bayt-sayısı</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP alım tamponu boyu</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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>skdh</td><td>T</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_alias.html#redirect">Redirect [<var>durum</var>] <var>URL-yolu</var> +<var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ä°stemciyi, bir yönlendirme isteÄŸi döndürerek farklı bir URL’ye +yönlendirir.</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>durum</var>] <var>düzenli-ifade</var> +<var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Geçerli URL ile eÅŸleÅŸen bir düzenli ifadeye dayanarak bir harici +yönlendirme gönderir.</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-yolu</var> <var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ä°stemciyi, kalıcı bir yönlendirme isteÄŸi döndürerek farklı bir +URL’ye yönlendirir.</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-yolu</var> <var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ä°stemciyi, geçici bir yönlendirme isteÄŸi döndürerek farklı bir +URL’ye yönlendirir.</td></tr> <tr><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>kdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Removes any character set associations for a set of file extensions</td></tr> @@ -599,12 +607,11 @@ sınırlama getirir.</td></tr> dosyanın yerini belirler.</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>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular request method.</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>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Maps a URL to a filesystem location and designates the -target as a CGI script</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>sk</td><td>T</td></tr><tr class="odd"><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><td><a href="mod_alias.html#scriptalias">ScriptAlias <var>URL-yolu</var> +<var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir URL’yi dosya sistemindeki bir yere eÅŸler ve hedefi bir CGI betiÄŸi olarak çalıştırır.</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>düzenli-ifade</var> +<var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak +eÅŸler ve hedefi bir CGI betiÄŸi olarak çalıştırır.</td></tr> <tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">CGI betikleri için yorumlayıcı belirleme tekniÄŸi</td></tr> <tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the CGI script error logfile</td></tr> <tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Maximum amount of PUT or POST requests that will be recorded @@ -614,9 +621,9 @@ in the scriptlog</td></tr> the cgi daemon</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>T</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> -<tr><td><a href="mod_status.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>T</td></tr><tr><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="mod_status.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Ä°steÄŸin kendisi 63 karakterden uzun olduÄŸunda, isteÄŸin ilk 63 +karakterinin mi yoksa son 63 karakterinin mi gösterileceÄŸini belirler. +</td></tr> <tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bayt-sayısı</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP tamponu boyu</td></tr> <tr><td><a href="core.html#serveradmin">ServerAdmin <var>eposta-adresi</var>|<var>URL</var></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun hata iletilerinde istemciye göstereceÄŸi eposta adresi </td></tr> @@ -632,15 +639,15 @@ kullanılacak konak adları için baÅŸka isimler belirtebilmeyi saÄŸlar. </td></tr> <tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>Server</code> HTTP yanıt baÅŸlığını yapılandırır. </td></tr> -<tr><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> <var>value</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Sets environment variables</td></tr> -<tr class="odd"><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>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +<tr><td><a href="mod_env.html#setenv">SetEnv <var>ortam-deÄŸiÅŸkeni</var> <var>deÄŸer</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortam deÄŸiÅŸkenlerini tanımlar.</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>öznitelik + düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] + [[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ortam deÄŸiÅŸkenlerini isteÄŸin özniteliklerine göre atar. </td></tr> -<tr><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>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on attributes of the request -without respect to case</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>öznitelik + düzifd [!]ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>] + [[!]<em>ort-deÄŸiÅŸkeni</em>[=<em>deÄŸer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortam deÄŸiÅŸkenlerini isteÄŸin özniteliklerinde harf büyüklüğüne +baÄŸlı olmaksızın yapılmış tanımlara göre atar.</td></tr> <tr class="odd"><td><a href="core.html#sethandler">SetHandler <var>eylemci-ismi</var>|None</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">EÅŸleÅŸen tüm dosyaların belli bir eylemci tarafından iÅŸlenmesine sebep olur.</td></tr> <tr><td><a href="core.html#setinputfilter">SetInputFilter <var>süzgeç</var>[;<var>süzgeç</var>...]</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">POST girdilerini ve istemci isteklerini iÅŸleyecek süzgeçleri @@ -717,7 +724,8 @@ Certificate verification</td></tr> <tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun baÅŸlatılması sırasında oluÅŸturulan evrelerin sayısını belirler.</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="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group permissions for CGI programs</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><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 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ı @@ -728,29 +736,29 @@ Certificate verification</td></tr> gerçekleÅŸmesi için sunucunun geçmesini bekleyeceÄŸi süre.</td></tr> <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 class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Specify location of a log file</td></tr> +<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>env-variable</var> [<var>env-variable</var>] -...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Removes variables from the environment</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 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><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 class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ... -</a></td><td></td><td>sk</td><td>T</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>sk</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>sk</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="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 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><td><a href="core.html#virtualhost"><VirtualHost <var>adres</var>[:<var>port</var>] [<var>adres</var>[:<var>port</var>]] ...> ... </VirtualHost></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>interpolated-directory</em>|none</a></td><td> none </td><td>sk</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>sk</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="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><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 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> diff --git a/docs/manual/mod/worker.html b/docs/manual/mod/worker.html index 42c3f80a..3a21309d 100644 --- a/docs/manual/mod/worker.html +++ b/docs/manual/mod/worker.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: worker.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 + +URI: worker.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/worker.html.de b/docs/manual/mod/worker.html.de index 50f7e9a9..c7265b65 100644 --- a/docs/manual/mod/worker.html.de +++ b/docs/manual/mod/worker.html.de @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Verfügbare Sprachen: </span><a href="../de/mod/worker.html" title="Deutsch"> de </a> | <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Multi-Processing-Modul, das einen Hybrid-Webserver mit Multi-Thread und Multi-Prozess-Unterstützung implementiert</td></tr> @@ -163,7 +164,8 @@ <div class="bottomlang"> <p><span>Verfügbare Sprachen: </span><a href="../de/mod/worker.html" title="Deutsch"> de </a> | <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> diff --git a/docs/manual/mod/worker.html.en b/docs/manual/mod/worker.html.en index 21d81739..28893d12 100644 --- a/docs/manual/mod/worker.html.en +++ b/docs/manual/mod/worker.html.en @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/worker.html" title="English"> en </a> | -<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multi-Processing Module implementing a hybrid multi-threaded multi-process web server</td></tr> @@ -170,7 +171,8 @@ uses</a></li> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/worker.html" title="English"> en </a> | -<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/worker.html.ja.utf8 b/docs/manual/mod/worker.html.ja.utf8 index b1010d0f..a4deeb18 100644 --- a/docs/manual/mod/worker.html.ja.utf8 +++ b/docs/manual/mod/worker.html.ja.utf8 @@ -23,7 +23,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/worker.html" title="Japanese"> ja </a></p> +<a href="../ja/mod/worker.html" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>マルãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨ãƒžãƒ«ãƒãƒ—ãƒã‚»ã‚¹ã®ãƒã‚¤ãƒ–リッド型 ウェブサーãƒã‚’実装ã—ãŸãƒžãƒ«ãƒãƒ—ãƒã‚»ãƒƒã‚·ãƒ³ã‚°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«</td></tr> @@ -179,7 +180,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/mod/worker.html" title="Japanese"> ja </a></p> +<a href="../ja/mod/worker.html" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/mod/worker.html.tr.utf8 b/docs/manual/mod/worker.html.tr.utf8 new file mode 100644 index 00000000..fd64b32d --- /dev/null +++ b/docs/manual/mod/worker.html.tr.utf8 @@ -0,0 +1,169 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>worker - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM worker</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluÅŸturan çok +süreçlilik modülü.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>mpm_worker_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>worker.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli + olabilen melez bir sunucu oluÅŸturur. Ä°stekleri sunmak için evreleri + kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı + harcayarak daha çok isteÄŸe hizmet sunabilir. Bununla birlikte, herbiri + çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli + sunucu kadar kararlı olur.</p> + + <p>Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her + çocuk süreç için konuÅŸlandırılacak evre sayısını belirleyen <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesi ile devreye + sokulacak toplam evre sayısının azamisini belirleyen <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesidir.</p> +</div> +<div id="quickview"><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#acceptmutex">AcceptMutex</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#lockfile">LockFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li> +<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#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li> +</ul> +<h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Nasıl çalışır?</a></li> +</ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../bind.html">Apache’nin kullandığı adres ve portların +ayarlanması</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="how-it-works" id="how-it-works">Nasıl çalışır?</a></h2> + <p>Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur. + Her çocuk süreç <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesinde belirtilen sayıda evre + konuÅŸlandırır. Bunlardan ayrı olarak, bir dinleyici evre baÄŸlantıları + dinleyip gelenleri iÅŸlenmek üzere bu sunucu evrelerinden birine + aktarır.</p> + + <p>Apache daima, gelen isteklere hizmet sunmaya hazır <dfn>yedek</dfn> + veya boÅŸtaki sunucu evrelerinden oluÅŸan bir havuzu canlı tutmaya + çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk + süreçlerin çatallanmasını, dolayısıyla yeni evrelerin + konuÅŸlandırılmasını beklemek gerekmez. BaÅŸlangıçta çalıştırılacak çocuk + süreçlerin sayısı <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> yönergesinde belirtilir. + Apache, çalışma süresi boyunca <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> ve <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> yönergeleri ile belirtilen sınırlar + dahilinde kalmak üzere gerektiÄŸinde süreçleri öldürerek gerektiÄŸinde + yenilerini devreye alarak tüm süreçlerdeki toplam evre sayısını sabit + tutmaya çalışır. Bu iÅŸlem kendiliÄŸinden çok iyi yürüdüğünden bu + yönergelere öntanımlı deÄŸerlerinden farklı deÄŸerlerin atanması nadiren + gerekli olur. Aynı anda hizmet sunulabilecek istemcilerin sayısı (yani, + tüm süreçlerin toplam evre sayısı) <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesi ile belirlenir. Etkin çocuk + süreçlerin sayısı ise <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesindeki deÄŸerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki deÄŸere + bölünmesi ile elde edilir.</p> + + <p>Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her + çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu + sınır sadece ana sunucu tamamen durdurulup yeniden baÅŸlatılarak + deÄŸiÅŸtirilebilir. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> yönergesinin deÄŸeri etkin çocuk süreç + sayısının üst sınırı olup <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesindeki deÄŸerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki deÄŸere + bölünmesi ile elde deÄŸere eÅŸit veya bundan küçük olması gerekir. + <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> yönergesinin + deÄŸeri ise sunucu evreleri sayısının üst sınırını belirler ve <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki deÄŸerden + büyük veya ona eÅŸit olması gerekir. EÄŸer bu yönergelere öntanımlı + deÄŸerlerinden farklı bir deÄŸer atanacaksa bu atamaların diÄŸer + <code class="module"><a href="../mod/worker.html">worker</a></code> yönergelerinden önce yapılması gerekir.</p> + + <p>Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci + baÄŸlantılarını iÅŸleme sokmaya çalışan tek bir sunucu evresinden baÅŸka + fazladan bir çocuk süreç etkin kalabileceÄŸi gibi sonlandırılacak süreç + sayısının en fazla <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> olması gerekirse de gerçekte sayı bundan küçük + olabilir. Şöyle bir iÅŸlemle tek bir çocuk sürecin sonlandırılması + iptal edilerek bu gibi durumlara karşı önlem alınabilir:</p> + + <ul> + <li><code class="directive"><a href="../mod/mpm_common.html# maxrequestsperchild"> MaxRequestsPerChild</a></code> + yönergesinin deÄŸeri sıfır yapılır.</li> + + <li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> ve + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergelerinin + deÄŸerleri birbirine eÅŸitlenir.</li> + </ul> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> modülünün öntanımlı süreç-evre yapılandırması + genelde şöyledir:</p> + + <div class="example"><p><code> + ServerLimit 16<br /> + StartServers 2<br /> + MaxClients 150<br /> + MinSpareThreads 25<br /> + MaxSpareThreads 75<br /> + ThreadsPerChild 25 + </code></p></div> + + <p>Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından + çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache + tarafından daha az yetkili bir kullanıcının aidiyetinde + çalıştırılırlar. Apache’nin çocuk süreçlerinin kullanıcı ve gruplarını + ayarlamak için User ve Group yönergeleri kullanılır. Çocuk süreçlerin + sunacakları içeriÄŸi okumaya yetkili olmaları gerekir, fakat bu yetkinin + mümkün olduÄŸunca kısıtlı tutulmasına çalışılmalıdır. Bundan baÅŸka, + <code class="program"><a href="../programs/suexec.html">suexec</a></code> kullanılmadığı takdirde, bu yönergeler CGI + betikleri tarafından miras alınacak yetkili kullanıcı ve grubu da + ayarlarlar.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> + yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluÅŸturmayı + ne kadar sıklıkla yapacağını denetler.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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.ko.euc-kr b/docs/manual/mpm.html.ko.euc-kr index a25c9544..3e22158b 100644 --- a/docs/manual/mpm.html.ko.euc-kr +++ b/docs/manual/mpm.html.ko.euc-kr @@ -68,7 +68,7 @@ ¿¹¸¦ µé¾î ³ôÀº È®Àå°¡´É¼º(scalability)ÀÌ ÇÊ¿äÇÑ »çÀÌÆ®´Â <code class="module"><a href="./mod/worker.html">worker</a></code>¿Í °°Àº ¾²·¹µå MPMÀ» »ç¿ëÇÏ°í, ¾ÈÁ¤¼º°ú ¿À·¡µÈ ¼ÒÇÁÆ®¿þ¾î¿ÍÀÇ È£È¯¼ºÀÌ ÇÊ¿äÇÑ »çÀÌÆ®´Â - <code class="module"><a href="./mod/preforking MPM.html">preforking MPM</a></code>À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. + <code class="module"><a href="./mod/prefork.html">prefork</a></code>ing MPM À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. Ãß°¡·Î ´Ù¸¥ »ç¿ëÀÚ¾ÆÀ̵ð·Î ¿©·¯ È£½ºÆ®¸¦ ¼ºñ½ºÇÏ´Â °Í(<code class="module"><a href="./mod/perchild.html">perchild</a></code>)°ú °°Àº Ưº°ÇÑ ±â´Éµµ Á¦°øµÈ´Ù.</li> diff --git a/docs/manual/new_features_2_0.html b/docs/manual/new_features_2_0.html index 7250bda1..5462c53d 100644 --- a/docs/manual/new_features_2_0.html +++ b/docs/manual/new_features_2_0.html @@ -27,3 +27,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: new_features_2_0.html.ru.koi8-r Content-Language: ru Content-type: text/html; charset=KOI8-R + +URI: new_features_2_0.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/new_features_2_0.html.de b/docs/manual/new_features_2_0.html.de index 2b5564f9..921876a3 100644 --- a/docs/manual/new_features_2_0.html.de +++ b/docs/manual/new_features_2_0.html.de @@ -24,7 +24,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Dieses Dokument beschreibt einige der wichtigsten Änderungen @@ -256,7 +257,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> diff --git a/docs/manual/new_features_2_0.html.en b/docs/manual/new_features_2_0.html.en index 834ee4df..762e2b3d 100644 --- a/docs/manual/new_features_2_0.html.en +++ b/docs/manual/new_features_2_0.html.en @@ -24,7 +24,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This document describes some of the major changes between the @@ -236,7 +237,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/new_features_2_0.html.fr b/docs/manual/new_features_2_0.html.fr index b08757ab..af75f32c 100644 --- a/docs/manual/new_features_2_0.html.fr +++ b/docs/manual/new_features_2_0.html.fr @@ -24,7 +24,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Ce document décrit les changements majeurs apportés entre les @@ -244,7 +245,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/new_features_2_0.html.ja.utf8 b/docs/manual/new_features_2_0.html.ja.utf8 index fc0484fd..d0fb1cb4 100644 --- a/docs/manual/new_features_2_0.html.ja.utf8 +++ b/docs/manual/new_features_2_0.html.ja.utf8 @@ -24,7 +24,8 @@ <a href="./ja/new_features_2_0.html" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>ã“ã®æ–‡æ›¸ã§ã¯ã€Apache HTTP サーãƒãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.3 㨠2.0 @@ -246,7 +247,8 @@ <a href="./ja/new_features_2_0.html" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> 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 ba12e360..480fa7a7 100644 --- a/docs/manual/new_features_2_0.html.ko.euc-kr +++ b/docs/manual/new_features_2_0.html.ko.euc-kr @@ -24,7 +24,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>ÀÌ ¹®¼´Â ¾ÆÆÄÄ¡ À¥¼¹ö 1.3 ¹öÀü°ú 2.0 ¹öÀü°£ÀÇ ÁÖµÈ Â÷ÀÌÁ¡À» @@ -226,7 +227,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/new_features_2_0.html.pt-br b/docs/manual/new_features_2_0.html.pt-br index 4c33085b..9eb074b8 100644 --- a/docs/manual/new_features_2_0.html.pt-br +++ b/docs/manual/new_features_2_0.html.pt-br @@ -24,7 +24,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Esse documento descreve algumas das mudanças principais @@ -235,7 +236,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> 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 3ceff09b..24a1e3db 100644 --- a/docs/manual/new_features_2_0.html.ru.koi8-r +++ b/docs/manual/new_features_2_0.html.ru.koi8-r @@ -24,7 +24,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>üÔÏÔ ÄÏËÕÍÅÎÔ ÏÐÉÓÙ×ÁÅÔ ÏÓÎÏ×ÎÙÅ ÒÁÚÌÉÞÉÑ ÍÅÖÄÕ ×ÅÒÓÉÑÍÉ 1.3 É 2.0 HTTP ÓÅÒ×ÅÒÁ Apache</p> @@ -243,7 +244,8 @@ <a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | -<a href="./ru/new_features_2_0.html" title="Russian"> ru </a></p> +<a href="./ru/new_features_2_0.html" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/new_features_2_0.html.tr.utf8 b/docs/manual/new_features_2_0.html.tr.utf8 new file mode 100644 index 00000000..912f0b27 --- /dev/null +++ b/docs/manual/new_features_2_0.html.tr.utf8 @@ -0,0 +1,251 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache 2.0’da Yeni olan Özellikler - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache 2.0’da Yeni olan Özellikler</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./de/new_features_2_0.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="./en/new_features_2_0.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/new_features_2_0.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belgede Apache HTTP Sunucusunun 1.3 ve 2.0 sürümleri arasındaki + baÅŸlıca deÄŸiÅŸikliklerin bazılarına deÄŸinilmiÅŸtir.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Çekirdekteki GeliÅŸmeler</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#module">Modüllerdeki GeliÅŸmeler</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="upgrading.html">1.3’ten 2.0’a Yükseltme</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="core" id="core">Çekirdekteki GeliÅŸmeler</a></h2> + + + <dl> + <dt>Unix Evreleri</dt> + + <dd>POSIX evreleri desteÄŸi olan Unix sistemlerinde Apache, çok evreli + kipte çok süreçlilik ÅŸeklinde melez bir yapıda çalışır. Bu bir çok + bakımdan ölçeklenebilirliÄŸi arttırsa da bütün yapılandırmalarda + saÄŸlanamaz.</dd> + + <dt>Yeni Paket Derleme Sistemi</dt> + + <dd>Yeni kaynak paketi derleme sistemi <code>autoconf</code> ve + <code>libtool</code>’a dayalı olarak sıfırdan, yeni baÅŸtan yazıldı. + Böylece Apache’nin paket yapılandırma sistemi diÄŸer paketlerinkiyle + benzerlik kazanmış oldu.</dd> + + <dt>Çok Sayıda Protokol DesteÄŸi</dt> + + <dd>Apache artık çok sayıda protokol ile hizmet sunacak bir alt yapıya + sahiptir. ÖrneÄŸin, <code class="module"><a href="./mod/mod_echo.html">mod_echo</a></code> modülü bu amaçla + yazılmıştır.</dd> + + <dt>Unix dışı platformalara daha iyi destek</dt> + + <dd>Apache 2.0 sürümleri, BeOS, OS/2, Windows gibi Unix olmayan + platformlarda daha hızlı ve daha kararlı çalışacak duruma + getirilmiÅŸtir. Genelde iyi geliÅŸtirilmemiÅŸ olan dolayısıyla istenen + baÅŸarımı saÄŸlayamayan POSIX taklit katmanlarının kullanımından + vazgeçilmiÅŸ, platforma özgü <a href="mpm.html">çok süreçlilik + modülleri</a> (MPM) ve Apache Taşınabilirlik Arayüzü (APR) sayesinde + bu platformlar artık kendi doÄŸal programlama arayüzleriyle + gerçeklenir olmuÅŸtur.</dd> + + <dt>Yeni Apache Programlama Arayüzü</dt> + + <dd>Modüller için kullanılan programlama arayüzü 2.0 sürümüyle önemli + deÄŸiÅŸikliklere uÄŸramıştır. 1.3 sürümünde görülen modüllerle ilgili + sıralama/öncelik sorunlarının çoÄŸu giderilmiÅŸtir. 2.0 sürümü bu + iÅŸlemleri daha bir özdevimli yapar olmuÅŸtur; daha fazla esneklik + saÄŸlamak için artık kancalı modül sıralaması kullanılabilmektedir. + Ayrıca, arayüze, Apache sunucu çekirdeÄŸini yamamaya gerek kalmadan + modüllerle sunucu yeteneklerinin arttırılabilmesini saÄŸlayan yeni + çaÄŸrılar eklenmiÅŸtir.</dd> + + <dt>IPv6 DesteÄŸi</dt> + + <dd>IPv6’nın Apache Taşınabilirlik Arayüzü kütüphanesi tarafından + desteklendiÄŸi sistemlerde Apache öntanımlı olarak IPv6 soketlerini + dinler. Bundan baÅŸka, <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>, <code class="directive"><a href="./mod/core.html#namevirtualhost">NameVirtualHost</a></code> ve <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> yönergelerinin IPv6 sayısal adres + dizgelerini desteklemesi saÄŸlanmıştır.<br />Örnek: <code>Listen + [2001:db8::1]:8080</code></dd> + + <dt>Süzme</dt> + + <dd>Apache modülleri, artık, sunucuya teslim edilen veya sunucudan + teslim alınan içerik akımları üzerinde süzgeç gibi davranacak ÅŸekilde + yazılabilmektedir. Bu sayede, örneÄŸin CGI betiklerinin çıktılarının + <code class="module"><a href="./mod/mod_include.html">mod_include</a></code> modülünün <code>INCLUDES</code> süzgeci + kullanılarak SSI yönergeleri için çözümlenmesi mümkündür. CGI + programlarının birer eylemci olarak davranması gibi, + <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> modülü de harici programların birer + süzgeç olarak davranabilmesini mümkün kılar.</dd> + + <dt>Çok Dilli Hata Yanıtları</dt> + + <dd>Hata yanıtlarının tarayıcılara yönelik iletileri artık SSI + belgeleri kullanılarak çeÅŸitli dillerde saÄŸlanabilmektedir. Bunlar + ayrıca yönetici tarafından görünüş ve kullanışlılık tutarlılığı + bakımından kiÅŸiselleÅŸtirilebilmektedir.</dd> + + <dt>BasitleÅŸtirilmiÅŸ Yapılandırma</dt> + + <dd>Bazı yönergelerle ilgili kafa karışıklıkları giderilmiÅŸtir. + Bilhassa belli bir IP adresini dinlemek için kullanılan + <code>Port</code> ve <code>BindAddress</code> yönergeleri ile ilgili + karışıklığın önüne geçmek için sadece <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergesi yeterli olmaktadır. <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> yönergesi ise sadece yönlendirme + ve sanal konak tanıma amacıyla sunucu ismi ve port belirtiminde + kullanılmaktadır.</dd> + + <dt>DoÄŸal Windows NT Unicode DesteÄŸi</dt> + + <dd>Apache 2.0, Windows NT üzerinde artık tüm dosya sistemi + kodlamalarında utf-8 kullanmaktadır. Bu destek, Windows 2000 ve + Windows XP dahil tüm Windows NT temelli sistemlere çok dillilik + desteÄŸini saÄŸlamak üzere mevcut Unicode dosya sistemine doÄŸrudan + uyarlanır. <em>Dosya sisteminde makinenin yerel karakter kodlamasını + kullanan kullanan Windows 95, 98 ve ME için bu destek + yoktur.</em></dd> + + <dt>Düzenli Ä°fade Kütüphanesi Güncellemesi</dt> + + <dd>Apache 2.0’da <a href="http://www.pcre.org/">Perl uyumlu düzenli + ifade kütüphanesi</a> bulunur. Tüm düzenli ifadelerde artık çok daha + güçlü olan Perl 5 sözdizimi kullanılmaktadır.</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="module" id="module">Modüllerdeki GeliÅŸmeler</a></h2> + + + <dl> + <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt> + + <dd>Apache 2.0’da yeni olan bu modül, OpenSSL tarafından saÄŸlanan + SSL/TLS ÅŸifreleme protokollerine bir arayüzdür.</dd> + + <dt><code class="module"><a href="./mod/mod_dav.html">mod_dav</a></code></dt> + + <dd>Apache 2.0’da yeni olan bu modül, site içeriÄŸinin destek ve bakımı + için HTTP dağıtık yazım ve sürüm yönetimi (DAV - Distributed + Authoring and Versioning) belirtimini gerçekler.</dd> + + <dt><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></dt> + + <dd>Apache 2.0’da yeni olan bu modül sayesinde aÄŸ band geniÅŸliÄŸinden + daha verimli yararlanabilmek için içeriÄŸin sıkıştırılarak + gönderilmesini talep eden tarayıcıların desteklenmesi mümkün + olmuÅŸtur.</dd> + + <dt><code class="module"><a href="./mod/mod_auth_ldap.html">mod_auth_ldap</a></code></dt> + + <dd>Apache 2.0.41’de yeni olan bu modül, HTTP temel kimlik + doÄŸrulamasında kullanılan delillerin saklanması için LDAP + veritabanının kullanılabilmesini mümkün kılar. KardeÅŸ modülü olan + <code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code> ise baÄŸlantı havuzlaması ve sonuçların + önbelleÄŸe alınması ile ilgilenir.</dd> + + <dt><code class="module"><a href="./mod/mod_auth_digest.html">mod_auth_digest</a></code></dt> + + <dd>Paylaşımlı belleÄŸi kullanan süreçlere karşı oturum önbelleklemesi + için ek destek içerir.</dd> + + <dt><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></dt> + + <dd>Apache 2.0’da yeni olan bu deneysel modül, karakter kümesi + dönüşümleri veya kaydı için destek saÄŸlar.</dd> + + <dt><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code></dt> + + <dd>Apache 2.0’da yeni olan bu modül, Apache 1.3’teki + <code>mod_mmap_static</code> modülünün iÅŸlevselliÄŸini içermenin + yanında buna önbellekleme yetenekleri de ekler.</dd> + + <dt><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></dt> + + <dd>Bu modül Apache 2.0’da daha esnek hale getirilmiÅŸtir. Artık + <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> tarafından kullanılan istek baÅŸlıkları + deÄŸiÅŸtirilebilmekte ve bunlar yanıt baÅŸlıklarına ÅŸartlı olarak + atanabilmektedir.</dd> + + <dt><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dt> + + <dd>Bu modül HTTP/1.1 uyumlu vekaleti daha güvenilir kılmak ve yeni + süzgeç alt yapısının getirilerinden de yararlanmak amacıyla yeni + baÅŸtan yazılmıştır. Bunun yanında, <code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code> bölümünün yeni hali vekil siteleri + desteklemek bakımından daha okunabilir (ve kendi içinde daha hızlı) + olması saÄŸlanmıştır; <code><Directory "proxy:..."></code> + yapılandırması artık desteklenmemektedir. Modül, + <code>proxy_connect</code>, <code>proxy_ftp</code> ve + <code>proxy_http</code> ÅŸeklinde her biri belli bir protokolü + destekleyen ayrı modüllere bölünmüştür.</dd> + + <dt><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></dt> + + <dd>Yeni <code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code> yönergesi sayesinde istemciye + “Kabul edilebilir bir gösterim çeÅŸidi yok†ya da “Çok sayıda seçim + belirtilmiş†yanıtını döndürmek yerine tüm durumlara uyan bir + sayfanın gönderilebilmesi saÄŸlanmıştır. Bundan baÅŸka, uzlaşım ve + <code>MultiViews</code> algoritmaları daha tutarlı sonuçlar elde + etmek amacıyla elden geçirilmiÅŸ ve belge içeriÄŸi ile daha iyi eÅŸleÅŸen + yeni bir tür eÅŸlem yapısı saÄŸlanmıştır.</dd> + + <dt><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></dt> + + <dd>Dizin içeriklerinin özdevimli listelenmesi artık HTML tabloları + kullanılacak ÅŸekilde yapılandırılabilmektedir. Böylece sayfa daha iyi + biçemlenebilmekte, içerik daha hassas sıralanabilmekte, sürüm + numarasına göre sıralama yapılabilmekte ve dosya ismi kalıpları + kullanılarak sadece istenen içerik listelenebilmektedir.</dd> + + <dt><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></dt> + + <dd>Yeni yönergeler, deÄŸiÅŸtirilecek SSI elemanları için öntanımlı + baÅŸlangıç ve bitiÅŸ etiketlerine izin vermekte, hataların ve zaman + biçemleme yapılandırmalarının SSI belgesinde deÄŸil ana yapılandırma + dosyasında bulunması mümkün olmaktadır. Düzenli ifadelerin gruplanmış + sonuçları (Perl düzenli ifade sözdizimi kullanılmaktadır) + <code class="module"><a href="./mod/mod_include.html">mod_include</a></code> modülünün <code>$0</code> .. + <code>$9</code> deÄŸiÅŸkenleri sayesinde kullanılabilmektedir.</dd> + + <dt><code class="module"><a href="./mod/mod_auth_dbm.html">mod_auth_dbm</a></code></dt> + + <dd><code class="directive"><a href="./mod/mod_auth_dbm.html#authdbmtype">AuthDBMType</a></code> yönergesi + sayesinde artık çok sayıda DBM tarzı veritabanı türü + desteklenmektedir.</dd> + </dl> + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./de/new_features_2_0.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="./en/new_features_2_0.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/new_features_2_0.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | +<a href="./tr/new_features_2_0.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/new_features_2_2.html index a456a904..a954be44 100644 --- a/docs/manual/new_features_2_2.html +++ b/docs/manual/new_features_2_2.html @@ -15,3 +15,7 @@ Content-type: text/html; charset=EUC-KR URI: new_features_2_2.html.pt-br Content-Language: pt-br Content-type: text/html; charset=ISO-8859-1 + +URI: new_features_2_2.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/new_features_2_2.html.en b/docs/manual/new_features_2_2.html.en index 48059b7a..c7757b05 100644 --- a/docs/manual/new_features_2_2.html.en +++ b/docs/manual/new_features_2_2.html.en @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This document describes some of the major changes between the @@ -58,29 +59,29 @@ <dt>Configuration</dt> <dd>The default configuration layout has been simplified and - modularised. Configuration snippets which can be used to - enable commonly-used features are now bundled with Apache, and + modularised. Configuration snippets which can be used to + enable commonly-used features are now bundled with Apache, and can be easily added to the main server config.</dd> <dt>Graceful stop</dt> - <dd>The <code class="module"><a href="./mod/prefork.html">prefork</a></code>, <code class="module"><a href="./mod/worker.html">worker</a></code> and - <code class="module"><a href="./mod/event.html">event</a></code> MPMs now allow <code class="program"><a href="./programs/httpd.html">httpd</a></code> + <dd>The <code class="module"><a href="./mod/prefork.html">prefork</a></code>, <code class="module"><a href="./mod/worker.html">worker</a></code> and + <code class="module"><a href="./mod/event.html">event</a></code> MPMs now allow <code class="program"><a href="./programs/httpd.html">httpd</a></code> to be shutdown gracefully via the - <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a> + <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a> signal. The <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> directive has been added to specify an optional timeout, after which <code class="program"><a href="./programs/httpd.html">httpd</a></code> will terminate regardless of the status of any requests being served.</dd> <dt>Proxying</dt> - <dd>The new <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> module provides + <dd>The new <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> module provides load balancing services for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>. The new <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> module adds support for the - <code>Apache JServ Protocol version 1.3</code> used by + <code>Apache JServ Protocol version 1.3</code> used by <a href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a>.</dd> <dt>Regular Expression Library Updated</dt> - <dd>Version 5.0 of the + <dd>Version 5.0 of the <a href="http://www.pcre.org/">Perl Compatible Regular Expression Library</a> (PCRE) is now included. <code class="program"><a href="./programs/httpd.html">httpd</a></code> can be configured to use a system installation of PCRE by passing the @@ -95,21 +96,21 @@ <dt>Large File Support</dt> - <dd>httpd is now built with support for files larger than 2GB on - modern 32-bit Unix systems. Support for handling >2GB request - bodies has also been added.</dd> + <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> is now built with support for files larger + than 2GB on modern 32-bit Unix systems. Support for handling + >2GB request bodies has also been added.</dd> <dt>Event MPM</dt> <dd>The <code class="module"><a href="./mod/event.html">event</a></code> MPM uses a separate thread to handle Keep Alive requests and accepting connections. Keep Alive requests have traditionally required httpd to dedicate a worker to handle it. - This dedicated worker could not be used again until the Keep Alive + This dedicated worker could not be used again until the Keep Alive timeout was reached.</dd> <dt>SQL Database Support</dt> - <dd><p><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, together with the apr_dbd framework, - brings direct SQL support to modules that need it. Supports - connection pooling in threaded MPMs.</p> + <dd><p><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, together with the <code>apr_dbd</code> + framework, brings direct SQL support to modules that need it. + Supports connection pooling in threaded MPMs.</p> </dd> </dl> @@ -120,20 +121,21 @@ <dl> <dt>Authn/Authz</dt> <dd>Modules in the aaa directory have been renamed and offer - better support for digest authentication. For example, mod_auth - is now split into <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> and - <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; mod_auth_dbm is now called - <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; mod_access has been renamed - <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. There is also a new + better support for digest authentication. For example, + <code>mod_auth</code> is now split into + <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> and + <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; <code>mod_auth_dbm</code> is now + called <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; <code>mod_access</code> has + been renamed <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. There is also a new <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> module for simplifying certain authentication configurations. </dd> <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt> - <dd>This module is a port of the 2.0 - <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code> - framework. New features include using LDAP attribute values and - complicated search filters in the + <dd>This module is a port of the 2.0 + <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code> + framework. New features include using LDAP attribute values and + complicated search filters in the <code class="directive"><a href="./mod/core.html#require">Require</a></code> directive.</dd> <dt><code class="module"><a href="./mod/mod_authz_owner.html">mod_authz_owner</a></code></dt> @@ -147,19 +149,19 @@ <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt> <dd>Added a new <code>?config</code> argument which will show the configuration directives as parsed by Apache, including - their file name and line number. The module also + their file name and line number. The module also shows the order of all request hooks and additional build information, similar to <code>httpd -V</code>.</dd> <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt> - <dd>Added a support for - <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which + <dd>Added a support for + <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which allows connections to upgrade from clear text to TLS encryption.</dd> <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt> - <dd>mod_imap has been renamed to <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> to avoid - user confusion.</dd> + <dd><code>mod_imap</code> has been renamed to + <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> to avoid user confusion.</dd> </dl> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> @@ -172,8 +174,9 @@ lists all modules that are loaded based on the current configuration. Unlike the <code>-l</code> option, this list includes DSOs loaded via <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.</dd> + <dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt> - <dd>A new program used to generate dbm files from text input, + <dd>A new program used to generate dbm files from text input, for use in <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> with the <code>dbm</code> map type.</dd> </dl> @@ -184,19 +187,23 @@ <dl> <dt><a class="glossarylink" href="./glossary.html#apr" title="see glossary">APR</a> 1.0 API</dt> - <dd>Apache 2.2 uses the APR 1.0 API. All deprecated functions and - symbols have been removed from <code>APR</code> and - <code>APR-Util</code>. For details, see the + <dd>Apache 2.2 uses the APR 1.0 API. All deprecated functions and + symbols have been removed from <code>APR</code> and + <code>APR-Util</code>. For details, see the <a href="http://apr.apache.org/">APR Website</a>.</dd> <dt>Authn/Authz</dt> <dd>The bundled authentication and authorization modules have been renamed along the following lines: <ul> - <li>mod_auth_* -> Modules that implement an HTTP authentication mechanism</li> - <li>mod_authn_* -> Modules that provide a backend authentication provider</li> - <li>mod_authz_* -> Modules that implement authorization (or access)</li> - <li>mod_authnz_*-> Module that implements both authentication & authorization</li> + <li><code>mod_auth_*</code> -> Modules that implement an HTTP + authentication mechanism</li> + <li><code>mod_authn_*</code> -> Modules that provide a backend + authentication provider</li> + <li><code>mod_authz_*</code> -> Modules that implement + authorization (or access)</li> + <li><code>mod_authnz_*</code> -> Module that implements both + authentication & authorization</li> </ul> There is a new authentication backend provider scheme which greatly eases the construction of new authentication @@ -205,7 +212,7 @@ <dt>Connection Error Logging</dt> <dd>A new function, <code>ap_log_cerror</code> has been added to log - errors that occur with the client's connection. When logged, + errors that occur with the client's connection. When logged, the message includes the client IP address.</dd> <dt>Test Configuration Hook Added</dt> @@ -216,14 +223,14 @@ <dt>Set Threaded MPM's Stacksize</dt> - <dd>A new directive, <code>ThreadStackSize</code> has been added to + <dd>A new directive, <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> has been added to set the stack size on all threaded MPMs. This is required for some third-party modules on platforms with small default thread stack size.</dd> <dt>Protocol handling for output filters</dt> - <dd>In the past, every filter has been responsible for ensuring + <dd>In the past, every filter has been responsible for ensuring that it generates the correct response headers where it affects them. Filters can now delegate common protocol management to <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, using the @@ -233,14 +240,14 @@ <dt>Monitor hook added</dt> <dd>Monitor hook enables modules to run regular/scheduled jobs in the parent (root) process.</dd> - + <dt>Regular expression API changes</dt> <dd>The <code>pcreposix.h</code> header is no longer available; it is replaced by the new <code>ap_regex.h</code> header. The POSIX.2 <code>regex.h</code> implementation exposed by the old header is now available under the <code>ap_</code> namespace - from <code>ap_regex.h</code>. Calls to <code>regcomp</code>, + from <code>ap_regex.h</code>. Calls to <code>regcomp</code>, <code>regexec</code> and so on can be replaced by calls to <code>ap_regcomp</code>, <code>ap_regexec</code>.</dd> @@ -250,10 +257,12 @@ had to take responsibility for managing it themselves. Apart from reinventing the wheel, this can be very inefficient, for example when several modules each maintain their own connections.</p> + <p>Apache 2.1 and later provides the <code>ap_dbd</code> API for managing database connections (including optimised strategies for threaded and unthreaded MPMs), while APR 1.2 and later provides the <code>apr_dbd</code> API for interacting with the database.</p> + <p>New modules SHOULD now use these APIs for all SQL database operations. Existing applications SHOULD be upgraded to use it where feasible, either transparently or as a recommended option @@ -264,7 +273,8 @@ <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/new_features_2_2.html.fr b/docs/manual/new_features_2_2.html.fr index b79f4b02..776f44df 100644 --- a/docs/manual/new_features_2_2.html.fr +++ b/docs/manual/new_features_2_2.html.fr @@ -21,7 +21,8 @@ <p><span>Langues Disponibles: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Ce document décrit quelques uns des changements principaux entre @@ -107,7 +108,7 @@ <dt>Support des gros fichiers</dt> - <dd>httpd supporte maintenant les fichiers d'une taille supérieure + <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> supporte maintenant les fichiers d'une taille supérieure à 2GB sur les systèmes 32 bits UNIX modernes. Le support des corps de requête d'une taille supérieure à 2GB a aussi été ajouté.</dd> @@ -122,7 +123,7 @@ <dt>Support des bases de données SQL</dt> <dd>Le module <p><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, associé à l'environnement - apr_dbd, fournit le support SQL direct aux modules + <code>apr_dbd</code>, fournit le support SQL direct aux modules qui en ont besoin. Supporte la mise en commun des connexions dans les modules MPM threadés.</p> </dd> @@ -135,10 +136,10 @@ <dl> <dt>Authn/Authz</dt> <dd>Les modules du répertoire aaa ont été renommés et fournissent - un support amélioré pour la méthode d'authentification <strong>digest</strong>. Par exemple, mod_auth + un support amélioré pour la méthode d'authentification <strong>digest</strong>. Par exemple, <code>mod_auth</code> est maintenant scindé en deux modules : <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> et - <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; mod_auth_dbm s'appelle maintenant - <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; mod_access a été renommé en + <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; <code>mod_auth_dbm</code> s'appelle maintenant + <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; <code>mod_access</code> a été renommé en <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. Est également apparu le nouveau module <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> qui simplifie certaines configurations d'authentification. @@ -173,7 +174,7 @@ connexion en clair au cryptage TLS.</dd> <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt> - <dd>mod_imap a été renommé en <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> afin + <dd><code>mod_imap</code> a été renommé en <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> afin d'éviter une confusion pour les utilisateurs.</dd> </dl> @@ -211,12 +212,12 @@ <dd>Les modules d'authentification et d'autorisation intégrés ont été renommés de la manière suivante: <ul> - <li>mod_auth_* -> Modules qui implémentent un mécanisme + <li><code>mod_auth_*</code> -> Modules qui implémentent un mécanisme d'authentification HTTP</li> - <li>mod_authn_* -> Modules qui fournissent un dispositif + <li><code>mod_authn_*</code> -> Modules qui fournissent un dispositif d'authentification en arrière-plan</li> - <li>mod_authz_* -> Modules qui implémentent l'autorisation (ou l'accès)</li> - <li>mod_authnz_*-> Module qui implémentent à la fois + <li><code>mod_authz_*</code> -> Modules qui implémentent l'autorisation (ou l'accès)</li> + <li><code>mod_authnz_*</code> -> Module qui implémentent à la fois l'authentification & l'autorisation</li> </ul> L'organisation des méthodes d'authentification a également été revue, ce qui va simplifier @@ -237,7 +238,7 @@ <dt>Définition de la taille de la pile pour les modules MPM en processus légers</dt> - <dd>Une nouvelle directive a été ajoutée, <code>ThreadStackSize</code> + <dd>Une nouvelle directive a été ajoutée, <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> afin de définir la taille de la pile pour tous les modules MPM en processus légers (modules threadés). Ceci s'avère nécessaire pour certains modules tiers sur des plateformes dont la taille de la pile des threads par défaut est @@ -293,7 +294,8 @@ <p><span>Langues Disponibles: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> 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 77360279..245e8a8d 100644 --- a/docs/manual/new_features_2_2.html.ko.euc-kr +++ b/docs/manual/new_features_2_2.html.ko.euc-kr @@ -21,7 +21,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -121,7 +122,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/new_features_2_2.html.pt-br b/docs/manual/new_features_2_2.html.pt-br index db6cc51f..819306d2 100644 --- a/docs/manual/new_features_2_2.html.pt-br +++ b/docs/manual/new_features_2_2.html.pt-br @@ -21,7 +21,8 @@ <p><span>Línguas Disponíveis: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">Esta tradução pode estar desatualizada. Verifique a versão em Inglês para mudanças recentes.</div> @@ -130,7 +131,8 @@ <p><span>Línguas Disponíveis: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./pt-br/new_features_2_2.html" title="Português (Brasil)"> pt-br </a></p> +<a href="./pt-br/new_features_2_2.html" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 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> diff --git a/docs/manual/new_features_2_2.html.tr.utf8 b/docs/manual/new_features_2_2.html.tr.utf8 new file mode 100644 index 00000000..f0204e59 --- /dev/null +++ b/docs/manual/new_features_2_2.html.tr.utf8 @@ -0,0 +1,278 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache 2.2’de Yeni olan Özellikler - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache 2.2’de Yeni olan Özellikler</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belgede Apache HTTP Sunucusunun 2.0 ve 2.2 sürümleri arasındaki + baÅŸlıca farklara deÄŸinilmiÅŸtir. 1.3 sürümüne göre yeni özellikler için <a href="new_features_2_0.html">Apache 2.0’da Yeni olan Özellikler</a> + belgesine bakınız.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Çekirdekteki GeliÅŸmeler</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#module">Modüllerdeki GeliÅŸmeler</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#programs">Programlardaki GeliÅŸmeler</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#developer">Modül GeliÅŸtirici DeÄŸiÅŸiklikleri</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="core" id="core">Çekirdekteki GeliÅŸmeler</a></h2> + + <dl> + + <dt>Authn/Authz</dt> + <dd>Mevcut kimlik doÄŸrulama ve yetkilendirme modüllerinin iç iÅŸleyiÅŸi + yeniden düzenlendi. Yeni <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> modülü + belli kimlik doÄŸrulama yapılandırmalarını büyük oranda + basitleÅŸtirebilir. Bu deÄŸiÅŸikliklerin kullanıcıları ve modül + yazarlarını nasıl etkilediÄŸini öğrenmek için <a href="#module">modül + deÄŸiÅŸikliklerine</a> ve <a href="#developer">geliÅŸtirici + deÄŸiÅŸikliklerine</a> bakabilirsiniz.</dd> + + <dt>Önbellekleme</dt> + <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> ve + <code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> modüllerinde büyük oranda deÄŸiÅŸikliÄŸe + gidilerek bunlar deneysel olmaktan çıkarılıp üretim amaçlı modüller + haline getirildiler. <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> tarafından + kullanılan disk alanının <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code> tarafından + düzenli aralıklarla temizlenebilmesi saÄŸlandı.</dd> + + <dt>Yapılandırma</dt> + <dd>Öntanımlı yapılandırma basitleÅŸtirildi ve modüler bir yapıya + kavuÅŸturuldu. Sık kullanılan ortak özellikleri etkinleÅŸtirmekte + kullanılan yapılandırmalar gruplanarak bunların Apache ile gelmesi ve + ana sunucu yapılandırılırken yapılandırmaya kolayca eklenebilmesi + saÄŸlandı.</dd> + + <dt>Nazikçe Durdurma</dt> + <dd><code class="module"><a href="./mod/prefork.html">prefork</a></code>, <code class="module"><a href="./mod/worker.html">worker</a></code> ve + <code class="module"><a href="./mod/event.html">event</a></code> MPM’leri artık <code class="program"><a href="./programs/httpd.html">httpd</a></code>’yi <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a> + sinyali sayesinde nazikçe durdurabilmektedir. + <code class="program"><a href="./programs/httpd.html">httpd</a></code> programının sonlandırılmasındaki gecikmelere + karşı bir önlem olarak, isteÄŸe baÄŸlı bir zaman aşımı belirtmeyi + mümkün kılan <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> yönergesi + sayesinde sunum sürüyor olsa bile <code class="program"><a href="./programs/httpd.html">httpd</a></code> + sonlandırılabilmektedir.</dd> + + <dt>Vekil Sunucu</dt> + <dd>Yeni <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> modülü ile + <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> için yük dengeleme hizmetleri saÄŸlanmış, + yeni <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> modülü ile <a href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a> tarafından + kullanılan <em>Apache JServ Protokolünün 1.3 sürümü</em> için destek + eklenmiÅŸtir.</dd> + + <dt>Düzenli Ä°fade Kütüphanesi Güncellemesi</dt> + <dd>Apache, <a href="http://www.pcre.org/">Perl uyumlu düzenli ifade + kütüphanesinin 5.0 sürümünü</a> (PCRE) içermektedir. + <code class="program"><a href="./programs/configure.html">configure</a></code> betiÄŸinin <code>--with-pcre</code> + seçeneÄŸi sayesinde <code class="program"><a href="./programs/httpd.html">httpd</a></code> programı PCRE destekli + olarak derlenebilmektedir.</dd> + + <dt>Akıllı Süzme</dt> + <dd><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> çıktı süzgeç zincirinin devingen olarak + yapılandırılmasını saÄŸlar. Süzgeçlerin herhangi bir istek veya yanıt + baÅŸlığına veya bir ortam deÄŸiÅŸkenine dayanarak koÅŸullu olarak + yerleÅŸtirilmesini mümkün kılar ve bunu yaparken 2.0 mimarisindeki + sorunlu bağımlılıklar ve sıralama sorunlarının da üstesinden + gelir.</dd> + + <dt>Büyük Dosya (>2GB) DesteÄŸi</dt> + <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> artık günümüzün 32 bitlik Unix + sistemlerinde bulunan 2 GB’lık büyük dosyaları destekleyecek tarzda + derlenebilmektedir. 2 GB’lık istek gövdelerine destek de ayrıca + eklenmiÅŸtir.</dd> + + <dt>Event MPM</dt> + <dd><code class="module"><a href="./mod/event.html">event</a></code> MPM modülü sürekli baÄŸlantı isteklerinin + iÅŸlenmesi ve baÄŸlantıların kabul edilmesi için ayrı bir evre + kullanır. Sürekli baÄŸlantı (keepalive) isteklerinin iÅŸlenmesi + geleneksel olarak httpd’nin buna bir <code class="module"><a href="./mod/worker.html">worker</a></code> + adamasını gerektirirdi. Bu adanmış <code class="module"><a href="./mod/worker.html">worker</a></code> baÄŸlantı + zaman aşımına uÄŸrayıncaya deÄŸin tekrar kullanılamazdı.</dd> + + <dt>SQL Veritabanı DesteÄŸi</dt> + <dd><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code> modülü <code>apr_dbd</code> arayüzü ile + birlikte, ihtiyacı olan modüllere SQL desteÄŸi saÄŸlar. Evreli MPM’ler + için baÄŸlantı havuzlamasını destekler.</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="module" id="module">Modüllerdeki GeliÅŸmeler</a></h2> + + <dl> + <dt>Authn/Authz</dt> + <dd>Kimlik DoÄŸrulama, Yetkilendirme ve EriÅŸim Denetimi ile ilgili + modüller özetli kimlik doÄŸrulamasına daha iyi destek saÄŸlamak + amacıyla yeniden isimlendirildi. ÖrneÄŸin, <code>mod_auth</code> + modülü ÅŸimdi <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> ve + <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code> diye iki modüle bölünmüştür.; + <code>mod_auth_dbm</code> modülünün ismi + <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ve <code>mod_access</code> modülünün + ismi de <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code> olarak deÄŸiÅŸtirilmiÅŸtir. + Ayrıca, belli kimlik doÄŸrulama yapılandırmalarını basitleÅŸtirmek + üzere <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> diye yeni bir modül vardır. + </dd> + + <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt> + <dd>Bu modül 2.0 sürümü <code>mod_auth_ldap</code> modülünün 2.2 + <code>Authn/Authz</code> arayüzüne bir uyarlamasıdır. <code class="directive"><a href="./mod/core.html#require">Require</a></code> yönergesine LDAP + öznitelik deÄŸerlerinin ve karmaşık arama süzgeçlerinin kullanımı gibi + yeni özellikler eklenmiÅŸtir.</dd> + + <dt><code class="module"><a href="./mod/mod_authz_owner.html">mod_authz_owner</a></code></dt> + <dd>Dosya sistemi üzerindeki dosyalara eriÅŸimi dosya sahibine göre + düzenleyebilmeyi saÄŸlayan yeni bir modüldür.</dd> + + <dt><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></dt> + <dd>Çalışan sunucunun sürüm numarasına göre belli yapılandırma + bloklarını etkinleÅŸtirebilen bir modüldür.</dd> + + <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt> + <dd>Apache tarafından çözümlenen haliyle yapılandırma yönergelerinin + gösterilmesini saÄŸlayan yeni <code>?config</code> parametresini + ekler. Modül ayrıca, <code>httpd -V</code>’nin yaptığı gibi ek olarak + derleme bilgisini ve tüm istek kancalarının sırasını da gösterir.</dd> + + <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt> + + <dd>TLS ÅŸifrelemesini HTTP/1.1 için güncelleyen <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a> için destek + saÄŸlar.</dd> + + <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt> + <dd><code>mod_imap</code> modülünün ismi yanlış anlamalara meydan + vermemek için <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> olarak deÄŸiÅŸtirildi.</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="programs" id="programs">Programlardaki GeliÅŸmeler</a></h2> + + <dl> + <dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt> + <dd>Mevcut yapılandırmaya göre yüklenen modülleri listelemek için + <code>-M</code> diye yeni bir komut satırı seçeneÄŸi eklendi. + <code>-l</code> seçeneÄŸinin aksine, bu seçenekle elde edilen liste + <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> üzerinden yüklenen DSO’ları içerir.</dd> + + <dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt> + <dd><code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesinde + <code>dbm</code> eÅŸlem türü ile kullanmak üzere metin girdilerden DBM + dosyaları üretmek için kullanılan yeni bir program.</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="developer" id="developer">Modül GeliÅŸtirici DeÄŸiÅŸiklikleri</a></h2> + + <dl> + <dt><a class="glossarylink" href="./glossary.html#apr" title="sözlüğe bakınız">APR</a> 1.0 Programlama Arayüzü</dt> + + <dd>Apache 2.2’de APR 1.0 API kullanılmıştır. Kullanımı önerilmeyen + tüm iÅŸlevler ve simgeler <code>APR</code> ve + <code>APR-Util</code>’den kaldırılmıştır. Ayrıntılar için <a href="http://apr.apache.org/">APR Sitesine bakınız</a>.</dd> + + <dt>Authn/Authz</dt> + <dd>Dağıtımla gelen kimlik doÄŸrulama ve yetkilendirme modüllerinin + isimleri aÅŸağıdaki gibi deÄŸiÅŸtirildi: + <ul> + <li><code>mod_auth_*</code> -> HTTP kimlik doÄŸrulamasını + gerçekleÅŸtiren modüller.</li> + <li><code>mod_authn_*</code> -> Kimlik doÄŸrulamasının artalanına + destek saÄŸlayan modüller.</li> + <li><code>mod_authz_*</code> -> Yetkilendirmeyi (veya eriÅŸimi) + gerçekleÅŸtiren modüller.</li> + <li><code>mod_authnz_*</code> -> Kimlik doÄŸrulama ve + yetkilendirmeyi birlikte gerçekleÅŸtiren modüller.</li> + </ul> + Yeni kimlik doÄŸrulama artalanının oluÅŸturulmasını büyük oranda + kolaylaÅŸtıran yeni bir kimlik doÄŸrulama artalanı saÄŸlayıcı ÅŸeması + vardır.</dd> + + <dt>BaÄŸlantı Hatalarının Günlüklenmesi</dt> + + <dd>Ä°stemci baÄŸlantısında ortaya çıkan hataları günlüğe kaydetmek için + <code>ap_log_cerror</code> isminde yeni bir iÅŸlev eklendi. Böyle bir + durumda günlük kaydı istemcinin IP adresini içermektedir.</dd> + + <dt>Deneme Yapılandırma Kancası Eklendi</dt> + + <dd>Kullanıcı, <code class="program"><a href="./programs/httpd.html">httpd</a></code>’yi sadece <code>-t</code> + seçeneÄŸi ile kullandığı takdirde özel kod icra edilmesini isteyen + modüllere yardımcı olmak üzere <code>test_config</code> diye yeni bir + kanca iÅŸlev eklendi.</dd> + + <dt>Evreli MPM’lerin Yığıt Boyutunun Ayarlanması</dt> + + <dd>Tüm evreli MPM’lerin yığıt boyutunu ayarlamak üzere <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> isminde yeni bir + yönerge eklendi. Öntanımlı yığıt boyutunun küçük olduÄŸu platformlarda + bazı üçüncü parti modüller tarafından buna ihtiyaç duyulmaktadır.</dd> + + <dt>Çıktı süzgeçlerinde protokoller</dt> + + <dd>Evvelce her süzgeç etkilediÄŸini yanıt baÅŸlıklarının doÄŸru olarak + üretilmesini saÄŸlamak zorundaydı. Süzgeçler artık protokol yönetimini + <code>ap_register_output_filter_protocol</code> veya + <code>ap_filter_protocol</code> iÅŸlevi üzerinden + <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> modülüne devredebilmektedir.</dd> + + <dt>Ä°zleme kancası eklendi</dt> + <dd>Ä°zleme kancası, modüllerin ana (tepe) süreçteki sıradan/zamanlanmış + iÅŸlerini yapacak modülleri etkinleÅŸtirir.</dd> + + <dt>Düzenli ifade programlama aryüzü deÄŸiÅŸti</dt> + + <dd><code>pcreposix.h</code> baÅŸlık dosyası artık yok; yerine + <code>ap_regex.h</code> dosyası geçti. Eski baÅŸlık dosyasınca ifade + olunan POSIX.2 <code>regex.h</code> gerçeklenimi ÅŸimdi + <code>ap_</code> isim alanı altında <code>ap_regex.h</code> baÅŸlık + dosyasındadır. <code>regcomp</code>, <code>regexec</code> gibi + iÅŸlevlerin yerine de artık <code>ap_regcomp</code>, + <code>ap_regexec</code> iÅŸlevleri geçerlidir.</dd> + + <dt>DBD Arayüzü (SQL Veritabanı API)</dt> + + <dd><p>Apache 1.x ve 2.0’da, modüller, SQL veritabanlarını kendileri + yönetebilmek için sorumluluÄŸu alacak bir SQL artalanına ihtiyaç + duymaktadır. Her biri kendi baÄŸlantısına sahip bir sürü modül + olduÄŸunda bu yöntem çok verimsiz olabilmektedir.</p> + + <p>Apache 2.1 ve sonrasında veritabanı baÄŸlantılarını (evreli olsun + olmasın MPM’lerin eniyilenmiÅŸ stratejileri dahil) yönetmek için + <code>ap_dbd</code> arayüzü kullanılmıştır. APR 1.2 ve sonrasında ise + veritabanı ile etkileÅŸim <code>apr_dbd</code> arayüzüyle + saÄŸlanmıştır.</p> + + <p>Yeni modüllerin tüm SQL veritabanı iÅŸlemlerinde bu arayüzü + kullanmaları ÖNERÄ°lir. Mevcut uygulamaların uygulanabildiÄŸi takdirde + hem kullanıcılarına önerilen bir seçenek olarak hem de ÅŸeffaf olarak + kullanmak üzere kendilerini güncellemeleri ÖNERÄ°ir.</p></dd> + </dl> + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | +<a href="./tr/new_features_2_2.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/win_compiling.html.en b/docs/manual/platform/win_compiling.html.en index 0411bdd9..d30bd4b0 100644 --- a/docs/manual/platform/win_compiling.html.en +++ b/docs/manual/platform/win_compiling.html.en @@ -178,7 +178,7 @@ pose a thread race condition. If building zlib on win32, be sure to adjust the resulting ms\ntdll.mak file to link to the full path of srclib\zlib\zdll.lib rather than zlib1.lib (that error in - configuration of OpenSSL through 0.9.8d and earlier reflects older + configuration of OpenSSL through 0.9.8h and earlier reflects older zlib 1.1 versions.)</p> </li> @@ -209,6 +209,13 @@ nmake /f Makefile.win _apached optimization of the resulting files, making it easier to single step the code to find bugs and track down problems.</p> + <p>You can add your apr-util dbd provider choices with the additional + make variable DBD_LIST, e.g. DBD_LIST="mysql oracle pgsql sqlite3" + to build these four providers. However it's necessary to have + the include headers in the INCLUDE path list, db client libraries + in the LIB path list, and the db client dll files in the PATH. The + specifics for each provider are an exercise left to the reader.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="workspacebuild" id="workspacebuild">Developer Studio Workspace IDE Build</a></h2> diff --git a/docs/manual/programs/ab.html b/docs/manual/programs/ab.html index e28c506c..f5a9c816 100644 --- a/docs/manual/programs/ab.html +++ b/docs/manual/programs/ab.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: ab.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: ab.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/ab.html.en b/docs/manual/programs/ab.html.en index 9585d1e0..87efb017 100644 --- a/docs/manual/programs/ab.html.en +++ b/docs/manual/programs/ab.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>ab - Apache HTTP server benchmarking tool</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/programs/ab.html" title="English"> en </a> | -<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p><code>ab</code> is a tool for benchmarking your Apache Hypertext @@ -37,10 +38,12 @@ <h2><a name="synopsis" id="synopsis">Synopsis</a></h2> <p><code><strong>ab</strong> [ -<strong>A</strong> <var>auth-username</var>:<var>password</var> ] + [ -<strong>b</strong> <var>windowsize</var> ] [ -<strong>c</strong> <var>concurrency</var> ] [ -<strong>C</strong> <var>cookie-name</var>=<var>value</var> ] [ -<strong>d</strong> ] [ -<strong>e</strong> <var>csv-file</var> ] + [ -<strong>f</strong> <var>protocol</var> ] [ -<strong>g</strong> <var>gnuplot-file</var> ] [ -<strong>h</strong> ] [ -<strong>H</strong> <var>custom-header</var> ] @@ -50,6 +53,7 @@ [ -<strong>p</strong> <var>POST-file</var> ] [ -<strong>P</strong> <var>proxy-auth-username</var>:<var>password</var> ] [ -<strong>q</strong> ] + [ -<strong>r</strong> ] [ -<strong>s</strong> ] [ -<strong>S</strong> ] [ -<strong>t</strong> <var>timelimit</var> ] @@ -61,7 +65,8 @@ [ -<strong>X</strong> <var>proxy</var>[:<var>port</var>] ] [ -<strong>y</strong> <var><tr>-attributes</var> ] [ -<strong>z</strong> <var><td>-attributes</var> ] - [http://]<var>hostname</var>[:<var>port</var>]/<var>path</var></code></p> + [ -<strong>Z</strong> <var>ciphersuite</var> ] + [http[s]://]<var>hostname</var>[:<var>port</var>]/<var>path</var></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="options" id="options">Options</a></h2> @@ -72,6 +77,9 @@ base64 encoded. The string is sent regardless of whether the server needs it (<em>i.e.</em>, has sent an 401 authentication needed).</dd> + <dt><code>-b <var>windowsize</var></code></dt> + <dd>Size of TCP send/receive buffer, in bytes.</dd> + <dt><code>-c <var>concurrency</var></code></dt> <dd>Number of multiple requests to perform at a time. Default is one request at a time.</dd> @@ -91,6 +99,9 @@ that percentage of the requests. This is usually more useful than the 'gnuplot' file; as the results are already 'binned'.</dd> + <dt><code>-f <var>protocol</var></code></dt> + <dd>Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL).</dd> + <dt><code>-g <var>gnuplot-file</var></code></dt> <dd>Write all measured values out as a 'gnuplot' or TSV (Tab separate values) file. This file can easily be imported into packages like Gnuplot, @@ -118,21 +129,24 @@ non-representative benchmarking results.</dd> <dt><code>-p <var>POST-file</var></code></dt> - <dd>File containing data to POST.</dd> + <dd>File containing data to POST. Remember to also set <code>-T</code>.</dd> <dt><code>-P <var>proxy-auth-username</var>:<var>password</var></code></dt> <dd>Supply BASIC Authentication credentials to a proxy en-route. The - username and password are separated by a single <code>:</code> and sent on + username and password are separated by a single <code>:</code> and sent on the wire base64 encoded. The string is sent regardless of whether the proxy needs it (<em>i.e.</em>, has sent an 407 proxy authentication needed).</dd> <dt><code>-q</code></dt> <dd>When processing more than 150 requests, <code>ab</code> outputs a - progress count on <code>stderr</code> every 10% or 100 requests or so. The + progress count on <code>stderr</code> every 10% or 100 requests or so. The <code>-q</code> flag will suppress these messages.</dd> - <dt><code>-s</code></dt> + <dt><code>-r</code></dt> + <dd>Don't exit on socket receive errors.</dd> + + <dt><code>-s</code></dt> <dd>When compiled in (<code>ab -h</code> will show you) use the SSL protected <code>https</code> rather than the <code>http</code> protocol. This feature is experimental and <em>very</em> rudimentary. You probably @@ -141,7 +155,7 @@ <dt><code>-S</code></dt> <dd>Do not display the median and standard deviation values, nor display the warning/error messages when the average and median are more than - one or two times the standard deviation apart. And default to the + one or two times the standard deviation apart. And default to the min/avg/max values. (legacy support).</dd> <dt><code>-t <var>timelimit</var></code></dt> @@ -150,7 +164,9 @@ fixed total amount of time. Per default there is no timelimit.</dd> <dt><code>-T <var>content-type</var></code></dt> - <dd>Content-type header to use for POST data.</dd> + <dd>Content-type header to use for POST data, eg. + <code>application/x-www-form-urlencoded</code>. + Default: <code>text/plain</code>.</dd> <dt><code>-v <var>verbosity</var></code></dt> <dd>Set verbosity level - <code>4</code> and above prints information on @@ -176,6 +192,9 @@ <dt><code>-z <var><td>-attributes</var></code></dt> <dd>String to use as attributes for <code><td></code>.</dd> + + <dt><code>-Z <var>ciphersuite</var></code></dt> + <dd>Specify SSL/TLS cipher suite (See openssl ciphers).</dd> </dl> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> @@ -191,7 +210,8 @@ </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/programs/ab.html" title="English"> en </a> | -<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/ab.html.ko.euc-kr b/docs/manual/programs/ab.html.ko.euc-kr index 3abaa7ca..d5223413 100644 --- a/docs/manual/programs/ab.html.ko.euc-kr +++ b/docs/manual/programs/ab.html.ko.euc-kr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>ab - ¾ÆÆÄÄ¡ À¥¼¹ö ¼º´É°Ë»ç µµ±¸</h1> <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/ab.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/ab.html" title="Korean"> ko </a></p> +<a href="../ko/programs/ab.html" title="Korean"> ko </a> | +<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -194,7 +195,8 @@ </div></div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/ab.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/ab.html" title="Korean"> ko </a></p> +<a href="../ko/programs/ab.html" title="Korean"> ko </a> | +<a href="../tr/programs/ab.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/ab.html.tr.utf8 b/docs/manual/programs/ab.html.tr.utf8 new file mode 100644 index 00000000..fe61a52f --- /dev/null +++ b/docs/manual/programs/ab.html.tr.utf8 @@ -0,0 +1,241 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ab - Apache HTTP sunucusu baÅŸarım ölçme aracı - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Programlar</a></div><div id="page-content"><div id="preamble"><h1>ab - Apache HTTP sunucusu baÅŸarım ölçme aracı</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/ab.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/ab.html" title="Türkçe"> tr </a></p> +</div> + + <p><code><strong>ab</strong></code> Apache Hiper Metin Aktarım Protokolü + (HTTP) sunucunuzun baÅŸarımını ölçmek amacıyla kullanabileceÄŸiniz bir + kıyaslama aracıdır. Mevcut Apache kurulumunuzun görevini nasıl yerine + getirdiÄŸi hakkında bir izlenim edinmeniz için tasarlanmıştır. + Özellikle, Apache kurulumunuzun saniyede kaç isteÄŸi sunma yeteneÄŸinde + olduÄŸunu gösterir.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Kullanım</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Seçenekler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#bugs">Börtü böcek</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><code class="program"><a href="../programs/httpd.html">httpd</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="synopsis" id="synopsis">Kullanım</a></h2> + <p><code><strong>ab</strong> + [ -<strong>A</strong> <var>yetkili-kullanıcı:parola</var> ] + [ -<strong>b</strong> <var>tampon-boyu</var> ] + [ -<strong>c</strong> <var>baÄŸlantı-sayısı</var> ] + [ -<strong>C</strong> <var>çerez-ismi=deÄŸer</var> ] + [ -<strong>d</strong> ] + [ -<strong>e</strong> <var>csv-dosyası</var> ] + [ -<strong>f</strong> <var>protokol</var> ] + [ -<strong>g</strong> <var>gnuplot-dosyası</var> ] + [ -<strong>h</strong> ] + [ -<strong>H</strong> <var>özel-baÅŸlık</var> ] + [ -<strong>i</strong> ] + [ -<strong>k</strong> ] + [ -<strong>n</strong> <var>istek-sayısı</var> ] + [ -<strong>p</strong> <var>POST-dosyası</var> ] + [ -<strong>P</strong> <var>vekil-yetkilisi:parola</var> ] + [ -<strong>q</strong> ] + [ -<strong>r</strong> ] + [ -<strong>s</strong> ] + [ -<strong>S</strong> ] + [ -<strong>t</strong> <var>saniye</var> ] + [ -<strong>T</strong> <var>içerik-türü</var> ] + [ -<strong>v</strong> <var>ayrıntı-düzeyi</var>] + [ -<strong>V</strong> ] + [ -<strong>w</strong> ] + [ -<strong>x</strong> <var><table>-öznitelikleri</var> ] + [ -<strong>X</strong> <var>vekil</var>[:<var>port</var>] ] + [ -<strong>y</strong> <var><tr>-öznitelikleri</var> ] + [ -<strong>z</strong> <var><td>-öznitelikleri</var> ] + [ -<strong>Z</strong> <var>ÅŸifre-kümesi</var> ] + [http[s]://]<var>konakadı</var>[:<var>port</var>]/<var>dizin</var></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="options" id="options">Seçenekler</a></h2> + <dl> + <dt><code><strong>-A</strong> + <var>yetkili-kullanıcı</var>:<var>parola</var></code></dt> + <dd>Sunucuya TEMEL Kimlik DoÄŸrulamada kullanılmak üzere kanıt saÄŸlar. + Kullanıcı adı ile parola arasına sadece <code>:</code> konur ve + sunucunun buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "401 + kimlik doÄŸrulaması gerekli" yanıtı beklenmeden) baÄŸlantı üzerinden + base64 kodlu olarak sunucuya gönderilir.</dd> + + <dt><code><strong>-b</strong> <var>tampon-boyu</var></code></dt> + <dd>TCP gönderme/alma tamponlarının bayt cinsinden uzunluÄŸu.</dd> + + <dt><code><strong>-c</strong> <var>baÄŸlantı-sayısı</var></code></dt> + <dd>Aynı anda iÅŸleme sokulacak baÄŸlantı sayısı. Aynı anda bir baÄŸlantı + öntanımlı deÄŸerdir.</dd> + + <dt><code><strong>-C</strong> + <var>çerez-ismi</var>=<var>deÄŸer</var></code></dt> + <dd>Ä°steÄŸe bir <code>Cookie:</code> satırı ekler. Argüman olarak + genellikle bir <code><var>isim=deÄŸer</var></code> çifti kullanılır. Bu + çiftler birden fazla olabilir.</dd> + + <dt><code><strong>-d</strong></code></dt> + <dd>"percentage served within XX [ms] table" iletisi gösterilmez. (Geriye + uyumluluk için vardır).</dd> + + <dt><code><strong>-e</strong> <var>csv-dosyası</var></code></dt> + <dd>Sunulan isteÄŸin birim zamanda (milisaniye) ne kadarının (yüzde + cinsinden) sunulduÄŸunu gösteren virgül ayraçlı deÄŸerler (CSV) dosyası. + Sonuçlar 'bobin haline' getirilmiÅŸ olduÄŸundan doÄŸal olarak 'gnuplot' + dosyasından daha yararlıdır.</dd> + + <dt><code><strong>-f</strong> <var>protokol</var></code></dt> + <dd>SSL/TLS protokolü belirtilir (SSL2, SSL3, TLS1 veya ALL).</dd> + + <dt><code><strong>-g</strong> <var>gnuplot-dosyası</var></code></dt> + <dd>Ölçülen deÄŸerler bir 'gnuplot' veya TSV (sekme ayraçlı deÄŸerler) + dosyasına yazılır. Bu dosya, Gnuplot, IDL, Mathematica, Igor hatta + Excel tarafından veri dosyası olarak kabul edilir. Veri sütunlarının + baÅŸlıkları dosyanın ilk satırında bulunur. </dd> + + <dt><code><strong>-h</strong></code></dt> + <dd>Kullanım bilgisi gösterir.</dd> + + <dt><code><strong>-H</strong> <var>özel-baÅŸlık</var></code></dt> + <dd>Ä°steÄŸe fazladan baÅŸlık ekler. <var>özel-baÅŸlık</var>, aralarında iki + nokta imi bulunan bir isim-deÄŸer çifti olarak belirtilir. Örnek: + <code>"Accept-Encoding: zip/zop;8bit"</code></dd> + + <dt><code><strong>-i</strong></code></dt> + <dd><code>GET</code> istekleri yerine <code>HEAD</code> istekleri + yapılır.</dd> + + <dt><code><strong>-k</strong></code></dt> + <dd>HTTP KeepAlive (kalıcı baÄŸlantı) özelliÄŸini etkinleÅŸtirir, yani tek + bir oturum içinde çok sayıda isteÄŸe hizmet sunulabilir. Özellik + öntanımlı olarak kapalıdır.</dd> + + <dt><code><strong>-n</strong> <var>istek-sayısı</var></code></dt> + <dd>Kıyaslama oturumu sırasında sunucuya uygulanacak istek sayısı. + Öntanımlı olarak hiçbir baÅŸarım ölçütü saÄŸlamayan tek bir istek + yapılır.</dd> + + <dt><code><strong>-p</strong> <var>POST-dosyası</var></code></dt> + <dd>POST isteÄŸi ile ilgili verileri içeren dosya. Ayrıca + <code><strong>-T</strong></code> seçeneÄŸini de belirtmeyi + unutmayın..</dd> + + <dt><code><strong>-P</strong> + <var>vekil-yetkilisi</var>:<var>parola</var></code></dt> + <dd>Vekil sunucuya TEMEL Kimlik DoÄŸrulamasında kullanılacak kanıtları + saÄŸlar. Kullanıcı adı ile parola arasına sadece <code>:</code> konur ve + vekilin buna ihtiyacı olup olmadığına bakılmaksızın (yani, bir "407 + vekilde kimlik doÄŸrulaması gerekiyor" yanıtı beklenmeden) baÄŸlantı + üzerinden base64 kodlu olarak sunucuya gönderilir.</dd> + + <dt><code><strong>-q</strong></code></dt> + <dd>Ä°stek sayısı 150'den fazla olduÄŸunda, + <code><strong>ab</strong></code> her 100 veya %10 istekte bir, standart + hataya bir iÅŸlenen istek sayacı çıktılar. + <code><strong>-q</strong></code> seçeneÄŸi bu çıktının üretilmemesini + saÄŸlar.</dd> + + <dt><code><strong>-r</strong></code></dt> + <dd>Soket hata alsa bile program çıkmaz.</dd> + + <dt><code><strong>-s</strong></code></dt> + <dd>DerlendiÄŸi takdirde (<code><strong>ab -h</strong></code> bunu + gösterir) <code>http</code> protokolü yerine SSL korumalı + <code>https</code> protokolü kullanılır. Bu özellik henüz + <em>emekleme</em> aÅŸamasında olup geliÅŸtirilmeye devam edilmektedir. Bu + bakımdan kullanımı önerilmez.</dd> + + <dt><code><strong>-S</strong></code></dt> + <dd>Ortalama ve ortanca deÄŸerler arasında bir veya iki standart sapmadan + fazlası varsa ne ortalama deÄŸer ne standart sapma deÄŸeri ne de + uyarı/hata iletileri gösterilir. Öntanımlı olarak, + asgari/ortalama/azami deÄŸerler gösterilir. (Geriye uyumluluk).</dd> + + <dt><code><strong>-t</strong> <var>saniye</var></code></dt> + <dd>Ölçümleme iÅŸleminin ne kadar süreyle uygulanacağı belirtilir. Dahili + olarak <code><strong>-n 50000</strong></code> seçeneÄŸi uygulanır. Bunu + belli bir süreye göre kıyaslama yapmak amacıyla kullanabilirsiniz. + Öntanımlı olarak bir süre kısıtlaması yoktur.</dd> + + <dt><code><strong>-T</strong> <var>içerik-türü</var></code></dt> + <dd>POST verisi için kullanılacak içerik türü belirtilir. Örnek: + <code>application/x-www-form-urlencoded</code>. + Öntanımlı deÄŸer: <code>text/plain</code>.</dd> + + <dt><code><strong>-v</strong> <var>ayrıntı-düzeyi</var></code></dt> + <dd>Çıktının ayrıntı düzeyi belirtilir. <code>4</code> ve üstü ile + baÅŸlıklar hakkında bilgi, <code>3</code> ve üstü ile yanıt kodları + (404, 200, vb.), <code>2</code> ve üstü ile ise uyarı ve bilgi + iletileri gösterilir.</dd> + + <dt><code><strong>-V</strong></code></dt> + <dd>Sürüm bilgilerini gösterir ve çıkar.</dd> + + <dt><code><strong>-w</strong></code></dt> + <dd>Sonuçları HTML tabloları olarak basar. Öntanımlı tablo, beyaz + artalanlı ve iki sütunludur.</dd> + + <dt><code><strong>-x</strong> + <var><table>-öznitelikleri</var></code></dt> + <dd><code><table></code> etiketinde kullanılacak öznitelikler + belirtilir. Belirtilen öznitelikler etiket içine <code><table + <var>buraya</var> ></code> biçeminde yerleÅŸtirilir.</dd> + + <dt><code><strong>-X</strong> + <var>vekil</var>[:<var>port</var>]</code></dt> + <dd>Ä°stekler için bir vekil sunucu kullanılır.</dd> + + <dt><code><strong>-y</strong> + <var><tr>-öznitelikleri</var></code></dt> + <dd><code><tr></code> etiketinde kullanılacak öznitelikler + belirtilir.</dd> + + <dt><code><strong>-z</strong> + <var><td>-öznitelikleri</var></code></dt> + <dd><code><td></code> etiketinde kullanılacak öznitelikler + belirtilir.</dd> + + <dt><code>-Z <var>ÅŸifre-kümesi</var></code></dt> + <dd>SSL/TLS ÅŸifre kümesi belirtilir (<code><strong>openssl</strong></code>(1) ÅŸifrelerine bakınız).</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="bugs" id="bugs">Börtü böcek</a></h2> + <p>Duruk bildirimli sabit uzunlukta çeÅŸitli tamponlar vardır. + Sunucudan gelen yanıt baÅŸlıkları ve diÄŸer harici girdiler, komut satırı + argümanları ile birlikte basitçe çözümlenir, bu size can sıkıcı + gelebilir.</p> + + <p>HTTP/1.x protokolünü tamamen gerçeklemez; sadece yanıtların 'belli + baÅŸlı' bazı biçimlerini kabul eder. Aksi takdirde, + <code><strong>strstr</strong></code>(3) iÅŸlevinin yoÄŸun kullanımı + nedeniyle sunucu yerine <code><strong>ab</strong></code>'nin baÅŸarımını + ölçerdiniz.</p> +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/ab.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/ab.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/ab.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/programs/apachectl.html index dc1c00fd..7e1885c8 100644 --- a/docs/manual/programs/apachectl.html +++ b/docs/manual/programs/apachectl.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: apachectl.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: apachectl.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/apachectl.html.en b/docs/manual/programs/apachectl.html.en index 09d3394b..4612a428 100644 --- a/docs/manual/programs/apachectl.html.en +++ b/docs/manual/programs/apachectl.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>apachectl - Apache HTTP Server Control Interface</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/programs/apachectl.html" title="English"> en </a> | -<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p><code>apachectl</code> is a front end to the Apache HyperText @@ -151,7 +152,8 @@ use the normal <code>apachectl start</code>.</dd> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/programs/apachectl.html" title="English"> en </a> | -<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/apachectl.html.ko.euc-kr b/docs/manual/programs/apachectl.html.ko.euc-kr index c18f1854..283ddebf 100644 --- a/docs/manual/programs/apachectl.html.ko.euc-kr +++ b/docs/manual/programs/apachectl.html.ko.euc-kr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>apachectl - ¾ÆÆÄÄ¡ À¥¼¹ö Á¶Àý ÀÎÅÍÆäÀ̽º</h1> <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/apachectl.html" title="Korean"> ko </a></p> +<a href="../ko/programs/apachectl.html" title="Korean"> ko </a> | +<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -137,7 +138,8 @@ Ok</code> ȤÀº ƯÁ¤ ¼³Á¤¿À·ù¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾Ë·ÁÁØ´Ù. </div></div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/apachectl.html" title="Korean"> ko </a></p> +<a href="../ko/programs/apachectl.html" title="Korean"> ko </a> | +<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/apachectl.html.tr.utf8 b/docs/manual/programs/apachectl.html.tr.utf8 new file mode 100644 index 00000000..4f08f246 --- /dev/null +++ b/docs/manual/programs/apachectl.html.tr.utf8 @@ -0,0 +1,167 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>apachectl - Apache HTTP Sunucusu Denetim Arayüzü - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Programlar</a></div><div id="page-content"><div id="preamble"><h1>apachectl - Apache HTTP Sunucusu Denetim Arayüzü</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/apachectl.html" title="Türkçe"> tr </a></p> +</div> + + <p><code><strong>apachectl</strong></code> Apache Hiper Metin Aktarım + Protokolü (HTTP) sunucusu için bir denetim aracıdır. Sistem + yöneticisinin Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan + sürecini denetimi altında tutabilmesine yardımcı olmak amacıyla + tasarlanmıştır.</p> + + <p><code><strong>apachectl</strong></code> iki kipte iÅŸleyebilir. + Ä°lkinde, <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> komutu için basit + bir önyüz gibi davranarak, gerekli ortam deÄŸiÅŸkenlerini atar ve + belirtilen komut satırı seçenekleriyle + <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> sürecini baÅŸlatır. Ä°kinci + kipte ise, <code><strong>apachectl</strong></code> bir SysV baÅŸlatma + betiÄŸi olarak <code><strong>start</strong></code>, + <code><strong>restart</strong></code>, + <code><strong>stop</strong></code> gibi tek sözcüklük basit argümanlar + alır ve bunları uygun sinyallere dönüştürerek + <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong>'ye gönderir.</p> + + <p>EÄŸer Apache kurulumunuzda standart dışı dosya yolları kullanmışsanız, + <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> programına uygun yolları + atamak için <code><strong>apachectl</strong></code> betiÄŸini elden + geçirmelisiniz. Bu arada gerek gördüğünüz + <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> komut satırı argümanlarını da + belirtebilirsiniz. Ayrıntılar için betik içindeki açıklamalara + bakınız.</p> + + <p><code><strong>apachectl</strong></code> betiÄŸi baÅŸarı durumunda 0 + çıkış deÄŸeri ile döner. Bir hata durumunda ise sıfırdan farklı bir + deÄŸerle döner. Daha fazla bilgi için betik içindeki açıklamalara + bakınız.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Kullanım</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Seçenekler</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../invoking.html">Apache'nin BaÅŸlatılması</a></li><li><a href="../stopping.html">Apache'nin Durdurulması</a></li><li><a href="../configuring.html">Yapılandırma Dosyaları</a></li><li><a href="../platform/">Platform Belgeleri</a></li><li><code class="program"><a href="../programs/httpd.html">httpd</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="synopsis" id="synopsis">Kullanım</a></h2> + + <p><code><strong>apachectl</strong></code> önyüz kipinde çalıştığında + <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> programının bütün komut + satırı argümanlarını kabul edebilir.</p> + + <p><code><strong>apachectl</strong> [ <var>httpd-argümanları</var> ] + </code></p> + + <p>SysV baÅŸlatma betiÄŸi kipinde ise, + <code><strong>apachectl</strong></code> aÅŸağıda tanımlanan basit, tek + sözcüklük komutları kabul eder.</p> + + <p><code><strong>apachectl</strong> <var>komut</var></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="options" id="options">Seçenekler</a></h2> + + <p>Burada sadece SysV baÅŸlatma betiÄŸine özgü seçeneklere yer verilmiÅŸtir. + DiÄŸer argümanlar için <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> kılavuz + sayfasına bakınız.</p> + + <dl> + <dt><code><strong>start</strong></code></dt> + <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini + baÅŸlatır. Zaten çalışmaktaysa bir hata verir. <code><strong>apachectl + -k start</strong></code> komutuna eÅŸdeÄŸerdir.</dd> + + <dt><code><strong>stop</strong></code></dt> + <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini + durdurur. <code><strong>apachectl -k stop</strong></code> komutuna + eÅŸdeÄŸerdir.</dd> + + <dt><code><strong>restart</strong></code></dt> + <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini + yeniden baÅŸlatır; çalışmıyorsa çalıştırılır. Artalan sürecinin ölü + olmadığından emin olmak için yeniden baÅŸlatmadan önce + <code><strong>configtest</strong></code> seçeneÄŸi verilmiÅŸ gibi + yapılandırma dosyaları sınanır. <code><strong>apachectl -k + restart</strong></code> komutuna eÅŸdeÄŸerdir.</dd> + + <dt><code><strong>fullstatus</strong></code></dt> + <dd><strong><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></strong> üzerinden tam bir + durum raporu gösterir. Bunun çalışması için sunucuda + <strong><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></strong> etkinleÅŸtirilmiÅŸ olmalı + ve sisteminizde <code><strong>lynx</strong></code> gibi bir metin + kipi HTTP tarayıcı kurulu olmalıdır. Durum raporuna eriÅŸmek için + kullanılacak adres betik içinde <code>STATUSURL</code> deÄŸiÅŸkenine + atanabilir.</dd> + + <dt><code><strong>status</strong></code></dt> + <dd>Özet halinde bir durum raporu gösterir. O an sunulmakta olan + isteklerin gösterilmemesi dışında + <code><strong>fullstatus</strong></code> seçeneÄŸi gibidir.</dd> + + <dt><code><strong>graceful</strong></code></dt> + <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini + <em>nazikçe</em> yeniden baÅŸlatır; çalışmıyorsa çalıştırılır. O an + hizmet sunmakta olan çocuk süreçleri hemen durdurmaması dışında + normal yeniden baÅŸlatma gibidir. Bir yan etki olarak eski günlük + dosyaları hemen kapatılmaz. Yani, günlük dosyalarını döndüren bir + betik kullanıyorsanız yenilerini baÅŸlatmadan önce eski dosyaların + tamamen kapandığından emin olmak için belli bir süre beklemeniz + gerekecektir. Artalan sürecinin ölü olmadığından emin olmak için + yeniden baÅŸlatmadan önce <code><strong>configtest</strong></code> + seçeneÄŸi verilmiÅŸ gibi yapılandırma dosyaları sınanır. + <code><strong>apachectl -k graceful</strong></code> komutuna + eÅŸdeÄŸerdir.</dd> + + <dt><code><strong>graceful-stop</strong></code></dt> + <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini + <em>nazikçe</em> durdurur. O an hizmet sunmakta olan çocuk süreçleri + hemen durdurmaması dışında normal durdurma gibidir. Bir yan etki + olarak eski günlük dosyaları hemen kapatılmaz. + <code><strong>apachectl -k graceful-stop</strong></code> komutuna + eÅŸdeÄŸerdir.</dd> + + <dt><code><strong>configtest</strong></code></dt> + <dd>Yapılandırma dosyasında sözdizimi denetimi yapılmasını saÄŸlar. + Yapılandırma dosyaları çözümlenir ve bir sorun yoksa bir <code>Syntax + Ok</code> raporu verilir fakat, bir hata varsa o hataya iliÅŸkin + ayrıntılı bilgi verilir. <code><strong>apachectl -t</strong></code> + komutuna eÅŸdeÄŸerdir.</dd> + + </dl> + + <p>AÅŸağıdaki seçenek eski sürümlerde kullanılmaktaydı, fakat artık + kullanılmamaktadır.</p> + + <dl> + <dt><code>startssl</code></dt> + <dd><strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> programını SSL destekli + baÅŸlatmak için, yapılandırma dosyanızı ilgili yönergeleri içermesi + için elden geçirmeli ve normal <code><strong>apachectl + start</strong></code> komutunu kullanmalısınız.</dd> + </dl> +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/apachectl.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/programs/configure.html index d95653aa..a8bdca0c 100644 --- a/docs/manual/programs/configure.html +++ b/docs/manual/programs/configure.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: configure.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: configure.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/configure.html.en b/docs/manual/programs/configure.html.en index 29c19587..ebfa505b 100644 --- a/docs/manual/programs/configure.html.en +++ b/docs/manual/programs/configure.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>configure - Configure the source tree</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/programs/configure.html" title="English"> en </a> | -<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/configure.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>The <code>configure</code> script configures the source tree @@ -29,7 +30,7 @@ <p>This script, included in the root directory of the source distribution, is for compilation on Unix and Unix-like systems - only. For other platforms, see the <a href="../platform/">platform</a> documentation.</p> + only. For other platforms, see the <a href="../platform/">platform</a> documentation.</p> </div> <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> @@ -105,7 +106,7 @@ </dl> - <h3><a name="installationdirectories" id="installationdirectories">Installation + <h3><a name="installationdirectories" id="installationdirectories">Installation directories</a></h3> <p>These options define the installation directory. The installation @@ -146,7 +147,7 @@ <h4><a name="directoryfinetuning" id="directoryfinetuning">Fine tuning of the installation directories</a></h4> - + <p>For better control of the installation directories, use the options below. Please note that the directory defaults are set by <code>autoconf</code> and are overwritten by the corresponding layout @@ -177,7 +178,7 @@ By default <code>infodir</code> is set to <code><var>PREFIX</var>/info</code>. This option is currently unused.</dd> - + <dt><code>--libdir=<var>DIR</var></code></dt> <dd>Install object code libraries in <var>DIR</var>. By default <code>libdir</code> is set to @@ -195,16 +196,16 @@ <code>autoconf</code> and currently unused.</dd> <dt><code>--mandir=<var>DIR</var></code></dt> - <dd>Install the man documentation in <var>DIR</var>. By default + <dd>Install the man documentation in <var>DIR</var>. By default <code>mandir</code> is set to <code><var>EPREFIX</var>/man</code>.</dd> - + <dt><code>--oldincludedir=<var>DIR</var></code></dt> <dd>Install C header files for non-gcc in <var>DIR</var>. By default <code>oldincludedir</code> is set to <code>/usr/include</code>. This option is offered by <code>autoconf</code> and currently unused.</dd> - + <dt><code>--sbindir=<var>DIR</var></code></dt> <dd>Install the system administrator executables in <var>DIR</var>. Those are server programs like <code class="program"><a href="../programs/httpd.html">httpd</a></code>, @@ -224,10 +225,10 @@ files <code>httpd.conf</code>, <code>mime.types</code>, etc. in <var>DIR</var>. By default <code>sysconfdir</code> is set to <code><var>PREFIX</var>/etc</code>.</dd> - </dl> + </dl> - + <h3><a name="systemtypes" id="systemtypes">System types</a></h3> <p>These options are used to cross-compile the Apache HTTP Server to run on @@ -267,14 +268,14 @@ <code>--enable-<var>FEATURE</var>=no</code>.</dd> <dt><code>--enable-<var>FEATURE</var>[=<var>ARG</var>]</code></dt> - <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var> + <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var> is <code>yes</code>.</dd> <dt><code>--enable-<var>MODULE</var>=shared</code></dt> <dd>The corresponding module will be build as DSO module.</dd> <dt><code>--enable-<var>MODULE</var>=static</code></dt> - <dd>By default enabled modules are linked statically. You can force + <dd>By default enabled modules are linked statically. You can force this explicitly.</dd> </dl> @@ -290,7 +291,7 @@ <p>Some modules are compiled by default and have to be disabled explicitly. Use the following options to remove discrete modules from the compilation process.</p> - + <dl> <dt><code>--disable-actions</code></dt> <dd>Disable action triggering on requests, which is provided by @@ -322,7 +323,7 @@ <dd><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, which provides support for CGI scripts, is enabled by default when using a non-threaded MPM. Use this option to disable CGI support.</dd> - + <dt><code>--disable-cgid</code></dt> <dd>When using the threaded MPMs <code class="module"><a href="../mod/worker.html">worker</a></code> support for CGI scripts is provided by @@ -350,7 +351,7 @@ another protocol module instead. <strong>Don't disable this module unless you are really sure what you are doing.</strong> <br /> - Note: This module will always be linked statically.</dd> + Note: This module will always be linked statically.</dd> <dt><code>--disable-imagemap</code></dt> <dd>Disable support for server based imagemaps, which provided by @@ -414,7 +415,7 @@ <dt><code>--enable-authnz-ldap</code></dt> <dd>Enable LDAP based authentication provided by <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</dd> - + <dt><code>--enable-cache</code></dt> <dd>Enable dynamic file caching provided by <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. This experimental module may be @@ -446,7 +447,7 @@ <dd>Enable DAV support for filesystem resources, which is provided by <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. This module is a provider for the <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> module, so you should also use - <code>--enable-dav</code>.</dd> + <code>--enable-dav</code>.</dd> <dt><code>--enable-dav-lock</code></dt> <dd>Enable <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> which provides generic DAV @@ -463,7 +464,7 @@ <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>.</dd> <dt><code>--enable-expires</code></dt> - <dd>Enable Expires header control provided by + <dd>Enable <code>Expires</code> header control provided by <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code>.</dd> <dt><code>--enable-ext-filter</code></dt> @@ -494,7 +495,7 @@ <dd>Enable memory caching provided by <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code>.</dd> - <dt><code>--enable-mime-magic</code></dt> + <dt><code>--enable-mime-magic</code></dt> <dd>Enable automatical determining of <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME types</a>, which is provided by @@ -611,7 +612,7 @@ <dt><code>--enable-optional-fn-export</code></dt> <dd>Enable the example for an optional function exporter, which is - provided by <code>mod_optional_fn_export</code>.</dd> + provided by <code>mod_optional_fn_export</code>.</dd> <dt><code>--enable-optional-fn-import</code></dt> @@ -702,7 +703,7 @@ </dd> <dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt> - <dd>This option behaves similar to <code>--enable-mods-shared</code>, + <dd>This option behaves similar to <code>--enable-mods-shared</code>, but will link the given modules statically. This mean, these modules will always be present while running <code class="program"><a href="../programs/httpd.html">httpd</a></code>. They need not be loaded with <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>.</dd> @@ -732,7 +733,7 @@ <dl> <dt><code>--with-<var>PACKAGE</var>[=<var>ARG</var>]</code></dt> <dd>Use the package <var>PACKAGE</var>. The default value for - <var>ARG</var> is<code>yes</code>.</dd> + <var>ARG</var> is <code>yes</code>.</dd> <dt><code>--without-<var>PACKAGE</var></code></dt> <dd>Do not use the package <var>PACKAGE</var>. This is the same as @@ -747,7 +748,7 @@ <h4><a name="packageopt" id="packageopt">Specific packages</a></h4> <dl> <dt><code>--with-apr=<var>DIR</var>|<var>FILE</var></code></dt> - <dd>The <a class="glossarylink" href="../glossary.html#apr" title="see glossary">Apache Portable Runtime</a> (APR) + <dd>The <a class="glossarylink" href="../glossary.html#apr" title="see glossary">Apache Portable Runtime</a> (APR) is part of the httpd source distribution and will automatically be build together with the HTTP server. If you want to use an already installed APR instead you @@ -756,7 +757,7 @@ or the directory to the installed APR. <code>apr-config</code> must exist within this directory or the subdirectory <code>bin</code>.</dd> - + <dt><code>--with-apr-util=<var>DIR</var>|<var>FILE</var></code></dt> <dd>The Apache Portable Runtime Utilities (APU) are part of the httpd source distribution and will automatically be build @@ -764,7 +765,7 @@ APU instead you have to tell <code>configure</code> the path to the <code>apu-config</code> script. You may set the absolute path and name or the directory to the installed APU. <code>apu-config</code> must - exists within this directory or the subdirectory + exist within this directory or the subdirectory <code>bin</code>.</dd> <dt><code>--with-ssl=<var>DIR</var></code></dt> @@ -786,7 +787,7 @@ in the APU, so this database is always available. If you would like to use other database types, use the following options to enable them:</p> - + <dl> <dt><code>--with-gdbm[=<var>path</var>]</code></dt> <dd>If no <var>path</var> is specified, <code>configure</code> will @@ -797,11 +798,11 @@ <code><var>path</var>/include</code> for the relevant files. Finally, the <var>path</var> may specify specific include and library paths separated by a colon.</dd> - + <dt><code>--with-ndbm[=<var>path</var>]</code></dt> <dd>Like <code>--with-gdbm</code>, bur searches for a New DBM installation.</dd> - + <dt><code>--with-berkeley-db[=<var>path</var>]</code></dt> <dd>Like <code>--with-gdbm</code>, but searches for a Berkeley DB installation.</dd> @@ -817,7 +818,7 @@ </div> - + <h3><a name="supportopt" id="supportopt">Options for support programs</a></h3> <dl> <dt><code>--enable-static-support</code></dt> @@ -831,7 +832,8 @@ uid and gid for spawned processes. <strong>Do not use this option unless you understand all the security implications of running a suid binary on your server.</strong> Further options - to configure <code class="program"><a href="../programs/suexec.html">suexec</a></code> are described <a href="#suexec">below</a>.</dd> </dl> + to configure <code class="program"><a href="../programs/suexec.html">suexec</a></code> are described <a href="#suexec">below</a>.</dd> + </dl> <p>It is possible to create a statically linked binary of a single support program by using the following options:</p> @@ -849,7 +851,7 @@ <dt><code>--enable-static-htdigest</code></dt> <dd>Build a statically linked version of <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.</dd> - + <dt><code>--enable-static-htpasswd</code></dt> <dd>Build a statically linked version of <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>.</dd> @@ -860,20 +862,21 @@ <dd>Build a statically linked version of <code class="program"><a href="../programs/rotatelogs.html">rotatelogs</a></code>.</dd> </dl> - <h4><a name="suexec" id="suexec">suexec configuration options</a></h4> + <h4><a name="suexec" id="suexec"><code>suexec</code> configuration options</a></h4> + <p>The following options are used to fine tune the behavior of <code class="program"><a href="../programs/suexec.html">suexec</a></code>. See <a href="suexec.html#install">Configuring and installing suEXEC</a> for further information.</p> <dl> <dt><code>--with-suexec-bin</code></dt> - <dd>This defines the path to suexec binary. Default is - <code>--sbindir</code> (see <a href="directoryfinetuning">Fine - tuning of installation directories</a>).</dd> + <dd>This defines the path to <code class="program"><a href="../programs/suexec.html">suexec</a></code> binary. + Default is <code>--sbindir</code> (see <a href="#directoryfinetuning">Fine tuning of installation + directories</a>).</dd> <dt><code>--with-suexec-caller</code></dt> <dd>This defines the user allowed to call <code class="program"><a href="../programs/suexec.html">suexec</a></code>. - It should be the same as the user under which <code class="program"><a href="../programs/httpd.html">httpd</a></code> - normally runs.</dd> + It should be the same as the user under which + <code class="program"><a href="../programs/httpd.html">httpd</a></code> normally runs.</dd> <dt><code>--with-suexec-docroot</code></dt> <dd>This defines the directory tree under which <code class="program"><a href="../programs/suexec.html">suexec</a></code> access is allowed for executables. Default value is @@ -935,12 +938,13 @@ <dt><code>LDFLAGS</code></dt> <dd>Set linker flags, e.g. <code>-L<var>libdir</var></code> if you have - libraries in a nonstandard directory <var>libdir</var>.</dd> + libraries in a nonstandard directory <var>libdir</var>.</dd> </dl> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/programs/configure.html" title="English"> en </a> | -<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/configure.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/configure.html.ko.euc-kr b/docs/manual/programs/configure.html.ko.euc-kr index c91640da..184487a6 100644 --- a/docs/manual/programs/configure.html.ko.euc-kr +++ b/docs/manual/programs/configure.html.ko.euc-kr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>configure - ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÑ´Ù</h1> <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/configure.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/configure.html" title="Korean"> ko </a></p> +<a href="../ko/programs/configure.html" title="Korean"> ko </a> | +<a href="../tr/programs/configure.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -923,7 +924,8 @@ </div></div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/configure.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/configure.html" title="Korean"> ko </a></p> +<a href="../ko/programs/configure.html" title="Korean"> ko </a> | +<a href="../tr/programs/configure.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/configure.html.tr.utf8 b/docs/manual/programs/configure.html.tr.utf8 new file mode 100644 index 00000000..ec71ad3e --- /dev/null +++ b/docs/manual/programs/configure.html.tr.utf8 @@ -0,0 +1,1017 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>configure - kaynak aÄŸacını yapılandırır - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Programlar</a></div><div id="page-content"><div id="preamble"><h1>configure - kaynak aÄŸacını yapılandırır</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/configure.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/configure.html" title="Türkçe"> tr </a></p> +</div> + + <p><code>configure</code> betiÄŸi, Apache HTTP Sunucusunun kaynak kodlarını + belli bir platform için yapılandırmakta ve derlemekte kullanılır. + Sunucuyu kiÅŸisel gereksinimlerinize uygun ÅŸekilde derlemek için çeÅŸitli + seçeneklere sahiptir.</p> + + <p>Bu betik Apache HTTP Sunucusu kaynak paketinin kök dizininde bulunur ve + sadece Unix ve benzeri sistemlerde kullanılabilir. Kaynak paketinin + diÄŸer platformalarda yapılandırılması ve derlenmesi hakkında bilgi + edinmek için <a href="../platform/">platform</a> belgelerine bakınız.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Komut Satırı</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Seçenekler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Ortam DeÄŸiÅŸkenleri</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../install.html">Derleme ve Kurulum</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="synopsis" id="synopsis">Komut Satırı</a></h2> + <p><code>configure</code> betiÄŸini kaynak paketinin kök dizininden baÅŸka + bir yere kopyalayıp çalıştırmamalısınız.</p> + + <p><code><strong>./configure</strong> [<var>seçenek</var>]... + [<var>deÄŸiÅŸken=deÄŸer</var>]...</code></p> + + <p><code>CC</code>, <code>CFLAGS</code> gibi ortam deÄŸiÅŸkenlerini + <code><var>deÄŸiÅŸken</var>=<var>deÄŸer</var></code> atamaları biçiminde + kullanabilirsiniz. Kullanışlı deÄŸiÅŸkenlerin bazıları <a href="#env">aÅŸağıda</a> açıklanmıştır.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="options" id="options">Seçenekler</a></h2> + <ul> + <li><a href="#configurationoptions">Yapılandırma seçenekleri</a></li> + <li><a href="#installationdirectories">Kurulum dizinleri</a></li> + <li><a href="#systemtypes">Sistem türleri</a></li> + <li><a href="#optionalfeatures">Seçimlik özellikler</a></li> + <li><a href="#supportopt">Destek programları için seçenekler</a></li> + </ul> + + <h3><a name="configurationoptions" id="configurationoptions">Yapılandırma seçenekleri</a></h3> + + <p>AÅŸağıdaki seçenekler <code>configure</code> betiÄŸinin kendi davranışını + belirlemekte kullanılır.</p> + + <dl> + <dt><code>-C</code></dt> + <dt><code>--config-cache</code></dt> + <dd><code>--cache-file=config.cache</code> için bir kısaltmadır.</dd> + + <dt><code>--cache-file=<var>dosya</var></code></dt> + <dd>Sınama sonuçları <code><var>dosya</var></code> dosyasında saklanır. + Bu seçenek açıkça belirtilmedikçe iÅŸlevsizdir.</dd> + + <dt><code>-h</code></dt> + <dt><code>--help [short|recursive]</code></dt> + <dd>Yardım metnini basar ve çıkar. <code>short</code> deÄŸeriyle sadece + bu pakete özgü seçenekler listelenir. <code>recursive</code> deÄŸeriyle + ise paketin içindeki tüm paketler için kısa bir yardım metni + basılır.</dd> + + <dt><code>-n</code></dt> + <dt><code>--no-create</code></dt> + <dd><code>configure</code> betiÄŸi normal olarak çalışır fakat herhangi + bir çıktı dosyası üretmez. Derleme için <code>Makefile</code> + dosyalarını üretmeksizin sınamaların sonuçlarını görmek için + yararlıdır.</dd> + + <dt><code>-q</code></dt> + <dt><code>--quiet</code></dt> + <dd>Yapılandırma sürecinde <code>checking ...</code> iletilerini basmaz. + </dd> + + <dt><code>--srcdir=<var>dizin</var></code></dt> + <dd><code><em>dizin</em></code> dizinini kaynak dosyaları dizini olarak + tanımlar. <code>configure</code> betiÄŸinin bulunduÄŸu dizin veya bir + üst dizin öntanımlıdır.</dd> + + <dt><code>--silent</code></dt> + <dd><code>--quiet</code> ile aynı.</dd> + + <dt>-V</dt> + <dt>--version</dt> + <dd>Telif hakkı bilgilerini gösterir ve çıkar.</dd> + </dl> + + + <h3><a name="installationdirectories" id="installationdirectories">Kurulum dizinleri</a></h3> + + <p>Bu seçenekler kurulum dizinlerini tanımlar. Kurulum dizinleri seçilmiÅŸ + yerleÅŸime bağımlıdır.</p> + + <dl> + <dt><code>--prefix=<var>PREFIX</var></code></dt> + <dd>Mimariden bağımsız dosyalar <code><em>PREFIX</em></code> dizininin + altına kurulur. <code>/usr/local/apache2</code> öntanımlı kurulum + dizinidir.</dd> + + <dt><code>--exec-prefix=<var>EPREFIX</var></code></dt> + <dd>Mimariye bağımlı dosyalar <code><em>EPREFIX</em></code> dizininin + altına kurulur. Bunun için <code><em>PREFIX</em></code> dizini + öntanımlı kurulum dizinidir.</dd> + </dl> + + <p>Öntanımlı olarak, <code>make install</code> tüm dosyaların + <code>/usr/local/apache2/bin</code>, <code>/usr/local/apache2/lib</code> + gibi dizinlere kurulmasını saÄŸlar. Kurulum dizini önekini örneÄŸin, + <code>--prefix=$HOME</code> ÅŸeklinde belirterek kurulumun baÅŸka bir yere + yapılmasını saÄŸlayabilirsiniz.</p> + + <h4><a name="layout" id="layout">Bir dizin yerleÅŸimi tanımlamak</a></h4> + <dl> + <dt><code>--enable-layout=<var>LAYOUT</var></code></dt> + <dd>Kaynak kodu ve derleme betikleri kurulum aÄŸacının + <code><em>LAYOUT</em></code> yerleÅŸimine dayalı olduÄŸu varsayımıyla + yapılandırılır. Bu seçenek sayesinde Apache HTTP Sunucusu kurulumu + içinde her dosya türü için farklı bir yer belirleyebilirsiniz. + <code>config.layout</code> dosyasında böyle yapılandırma örnekleri + vardır. Örnekleri izleyerek kendi yapılandırmanızı + oluÅŸturabilirsiniz. Bu dosyada örneÄŸin <code>FOO</code> isimli + yerleÅŸim <code><Layout FOO>...</Layout></code> bölümü + içinde düzenlenmiÅŸtir ve her yerleÅŸim için böyle ayrı bir bölüm + vardır. Öntanımlı yerleÅŸim <code>Apache</code>’dir.</dd> + </dl> + + + <h4><a name="directoryfinetuning" id="directoryfinetuning">Kurulum dizinlerinde ince ayar</a></h4> + + + <p>Kurulum dizinlerini daha iyi denetim altında tutmak için aÅŸağıdaki + seçenekler kullanılır. Lütfen, dizin öntanımlılarının + <code>autoconf</code> tarafından tanımlandığına ve seçilen yerleÅŸim + ayarlarının bunları yerini aldığına dikkat ediniz.</p> + + <dl> + + <dt><code>--bindir=<var>dizin</var></code></dt> + <dd>Kullanıcı tarafından çalıştırılabilen dosyalar + <code><em>dizin</em></code> dizinine kurulur. Bunlar + <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>, <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> gibi site + yönetimi için yararlı destek programlarıdır. Öntanımlı olarak bu + dosyalar <code><var>EPREFIX</var>/bin</code> dizinine kurulur.</dd> + + <dt><code>--datadir=<var>dizin</var></code></dt> + <dd>Mimariden bağımsız salt okunur veriler <code><em>dizin</em></code> + dizinine kurulur. Bunların öntanımlı kurulum dizini + <code><var>PREFIX</var>/share</code> dizinidir. Bu seçenek + <code>autoconf</code> tarafından atanır ve ÅŸimdilik + kullanılmamıştır.</dd> + + <dt><code>--includedir=<var>dizin</var></code></dt> + <dd>C baÅŸlık dosyaları <code><em>dizin</em></code> dizinine kurulur. + Bunların öntanımlı kurulum dizini + <code><var>PREFIX</var>/include</code> dizinidir.</dd> + + <dt><code>--infodir=<var>dizin</var></code></dt> + <dd>Info belgeleri <code><em>dizin</em></code> dizinine kurulur. + Bunların öntanımlı kurulum dizini + <code><var>PREFIX</var>/info</code> dizinidir. Bu seçenek ÅŸimdilik + kullanılmamıştır.</dd> + + <dt><code>--libdir=<var>dizin</var></code></dt> + <dd>Nesne kod kütüphaneleri <code><em>dizin</em></code> dizinine + kurulur. Bunların öntanımlı kurulum dizini + <code><var>PREFIX</var>/lib</code> dizinidir.</dd> + + <dt><code>--libexecdir=<var>dizin</var></code></dt> + <dd>Paylaşımlı modüller gibi program dosyaları + <code><em>dizin</em></code> dizinine kurulur. Öntanımlı olarak + <code>libexecdir</code> bu dizini + <code><var>EPREFIX</var>/libexec</code> olarak tanımlar.</dd> + + <dt><code>--localstatedir=<var>dizin</var></code></dt> + <dd>Düzenlenebilir tek makinelik veri <code><em>dizin</em></code> + dizinine kurulur. Öntanımlı olarak <code>localstatedir</code> bu + dizini <code><var>PREFIX</var>/var</code> olarak tanımlar. Bu + seçenek <code>autoconf</code> tarafından atanır ve ÅŸimdilik + kullanılmamıştır.</dd> + + <dt><code>--mandir=<var>dizin</var></code></dt> + <dd>Kılavuz sayfaları <code><em>dizin</em></code> dizinine kurulur. + Öntanımlı olarak <code>mandir</code> bu dizini + <code><var>EPREFIX</var>/man</code> olarak tanımlar.</dd> + + <dt><code>--oldincludedir=<var>dizin</var></code></dt> + <dd>GCC harici C baÅŸlık dosyaları <code><em>dizin</em></code> dizinine + kurulur. Öntanımlı olarak <code>oldincludedir</code> bu dizini + <code>/usr/include</code> olarak tanımlar. Bu seçenek + <code>autoconf</code> tarafından atanır ve ÅŸimdilik + kullanılmamıştır.</dd> + + <dt><code>--sbindir=<var>dizin</var></code></dt> + <dd>Sistem yöneticisi tarafından kullanılabilen programlar + <code><em>dizin</em></code> dizinine kurulur. Bunlar + <code class="program"><a href="../programs/httpd.html">httpd</a></code>, <code class="program"><a href="../programs/apachectl.html">apachectl</a></code>, + <code class="program"><a href="../programs/suexec.html">suexec</a></code> gibi Apache HTTP Sunucusunu çalıştırmak + için gereken programlardır. Öntanımlı olarak <code>sbindir</code> bu + dizini <code><var>EPREFIX</var>/sbin</code> olarak tanımlar.</dd> + + <dt><code>--sharedstatedir=<var>dizin</var></code></dt> + <dd>Mimariye bağımlı düzenlenebilir veriler + <code><em>dizin</em></code> dizinine kurulur. Öntanımlı olarak + <code>sharedstatedir</code> bu dizini + <code><var>PREFIX</var>/com</code> olarak tanımlar. Bu seçenek + <code>autoconf</code> tarafından atanır ve ÅŸimdilik + kullanılmamıştır.</dd> + + <dt><code>--sysconfdir=<var>dizin</var></code></dt> + <dd><code>httpd.conf</code>, <code>mime.types</code> gibi tek + makinelik salt okunur sunucu yapılandırma dosyaları + <code><em>dizin</em></code> dizinine kurulur. Öntanımlı olarak + <code>sysconfdir</code> bu dizini <code><var>PREFIX</var>/etc</code> + olarak tanımlar.</dd> + </dl> + + + + <h3><a name="systemtypes" id="systemtypes">Sistem türleri</a></h3> + + <p>Bu seçenekleri Apache HTTP Sunucusunu baÅŸka bir platformda çalıştırmak + üzere çapraz derleme yaparken kullanılır. Normal durumlarda sunucu + derlendiÄŸi platformda çalıştırıldığından bu seçenekler kullanılmaz.</p> + + <dl> + <dt><code>--build=<var>derleme-ortamı</var></code></dt> + <dd>Derleme araçlarının derleneceÄŸi sistemin sistem türünü tanımlar. + <code>config.guess</code> betiÄŸi ile elde edilen sonuç + öntanımlıdır.</dd> + + <dt><code>--host=<var>çalışma-ortamı</var></code></dt> + <dd>Sunucunun çalışacağı sistemin sistem türünü tanımlar. Öntanımlı + sistem türü <code><var>derleme-ortamı</var></code>’dır.</dd> + + <dt><code>--target=<var>hedef-ortam</var></code></dt> + <dd>Derleyicileri <code><var>hedef-ortam</var></code> sistem türü için + yapılandırır. Öntanımlı sistem türü + <code><var>çalışma-ortamı</var></code>’dır. Bu seçenek + <code>autoconf</code> tarafından atanır ve Apache HTTP Sunucusu için + gerekli deÄŸildir.</dd> + </dl> + + + <h3><a name="optionalfeatures" id="optionalfeatures">Seçimlik özellikler</a></h3> + + <p>Bu seçenekler HTTP sunucunuzun sahip olmasını istediÄŸiniz özelliklerin + hassas olarak ayarlanmasını saÄŸlar.</p> + + <h4><a name="generaloptfeat" id="generaloptfeat">Genel sözdizimi</a></h4> + <p>Bir özelliÄŸi etkin kılmak veya iptal etmek için genellikle ÅŸu + sözdizimi kullanılır:</p> + + <dl> + <dt><code>--disable-<var>özellik</var></code></dt> + <dd>Sunucu <code><em>özellik</em></code> özelliÄŸine sahip olmaz. Bu + seçenek<code>--enable-<var>özellik</var>=no</code> seçeneÄŸine + eÅŸdeÄŸerdir.</dd> + + <dt><code>--enable-<var>özellik</var>[=<var>deÄŸer</var>]</code></dt> + <dd>Sunucu <code><var>özellik</var></code> özelliÄŸine sahip olur. + <code><var>deÄŸer</var></code> belirtilmediÄŸi takdirde + <code>yes</code> (evet) öntanımlıdır.</dd> + + <dt><code>--enable-<var>modül</var>=shared</code></dt> + <dd>Belirtilen modül DSO modülü olarak derlenir.</dd> + + <dt><code>--enable-<var>modül</var>=static</code></dt> + <dd>Öntanımlı olarak etkin olan modüller duraÄŸan ilintilenir. Bunu bu + seçenekle alenen zorlayabilirsiniz.</dd> + </dl> + + <div class="note"><h3>Bilginize</h3> + <p><code>--enable-<var>filanca</var></code> seçeneÄŸinin varlığı + <code>configure</code> betiÄŸinin <code><var>filanca</var></code> diye + bir modül var olmasa bile bundan ÅŸikayetçi olmasına sebep olmaz. Bu + bakımdan dikkatli olunuz.</p> + </div> + + + + <h4><a name="enabledmodules" id="enabledmodules">Öntanımlı olarak etkin modüller</a></h4> + <p>Bazı modüller öntanımlı olarak derlendiÄŸinden iptal edilmek istenirse + bunun açıkça belirtilmesi gerekir. AÅŸağıdaki seçenekler bu tür + modüllerin diÄŸerlerinden bağımsız olarak derlenmemesini saÄŸlar.</p> + + <dl> + <dt><code>--disable-actions</code></dt> + <dd><code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code> modülü tarafından saÄŸlanan ve + isteklerle tetiklenen eylemleri iptal eder.</dd> + + <dt><code>--disable-alias</code></dt> + <dd><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> modülü tarafından saÄŸlanan, isteklerin + farklı dosya sistemi bölümleriyle eÅŸlenmesi iptal edilir.</dd> + + <dt><code>--disable-asis</code></dt> + <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> + <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 + DoÄŸrulaması için kullanılır.</dd> + + <dt><code>--disable-autoindex</code></dt> + <dd><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> modülü tarafından saÄŸlanan dizin + içerik listelemesini iptal eder.</dd> + + <dt><code>--disable-access</code></dt> + <dd><code class="module"><a href="../mod/mod_access.html">mod_access</a></code> modülü tarafından saÄŸlanan konaÄŸa + dayalı eriÅŸim denetimi iptal edilir.</dd> + + <dt><code>--disable-cgi</code></dt> + <dd>CGI betiklerine destek saÄŸlayan <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, çok + evreli olmayan MPM kullanıldığında öntanımlı olarak etkin kılınır. + CGI desteÄŸini iptal etmek için bu seçeneÄŸi kullanın.</dd> + + <dt><code>--disable-cgid</code></dt> + <dd><code class="module"><a href="../mod/worker.html">worker</a></code> çok evreli MPM’i kullanılırken CGI + betikleri için desteÄŸi öntanımlı olarak <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> + modülü saÄŸlar. CGI desteÄŸini iptal etmek için bu seçeneÄŸi + kullanın.</dd> + + <dt><code>--disable-charset-lite</code></dt> + <dd><code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> modülü tarafından saÄŸlanan + karakter kümesi dönüşümleri iptal edilir. Bu modül sadece EBCDIC + sistemlerinde öntanımlı olarak kurulur.</dd> + + <dt><code>--disable-dir</code></dt> + <dd><code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> modülü tarafından saÄŸlanan dizin + isteklerine destek iptal edilir.</dd> + + <dt><code>--disable-env</code></dt> + <dd><code class="module"><a href="../mod/mod_env.html">mod_env</a></code> modülü tarafından saÄŸlanan ortam + deÄŸiÅŸkenlerine destek iptal edilir.</dd> + + + <dt><code>--disable-http</code></dt> + <dd>HTTP protokolüne destek iptal edilir. <code>http</code> modülü + en temel modüldür ve sunucunun bir HTTP sunucusu olarak çalışmasını + saÄŸlar. Sadece, HTTP protokolü yerine baÅŸka bir protokol kullanmak + isterseniz bu seçeneÄŸi kullunın. <strong>Ne yaptığınızdan gerçekten + emin olamıyorsanız bu desteÄŸi asla iptal etmeyin.</strong> + <br /> + Dikkat: Bu modül ana kodla daima duraÄŸan ilintilidir.</dd> + + <dt><code>--disable-imagemap</code></dt> + <dd><code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code> modülü tarafından saÄŸlanan resim + eÅŸlemlerine destek iptal edilir.</dd> + + <dt><code>--disable-include</code></dt> + <dd><code class="module"><a href="../mod/mod_include.html">mod_include</a></code> modülü tarafından saÄŸlanan SSI + sayfaları desteÄŸi iptal edilir.</dd> + + <dt><code>--disable-log-config</code></dt> + <dd><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> modülü tarafından saÄŸlanan günlük + kayıtları yapılandırması iptal edilir. Bu modül olmaksızın sunucu + yapılan isteklerin günlük kayıtlarını tutamaz.</dd> + + <dt><code>--disable-mime</code></dt> + <dd><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> modülü istenen dosyanın uzantısına + bakarak dosya içeriÄŸinin (<a class="glossarylink" href="../glossary.html#mime-type" title="sözlüğe bakınız">MIME + türü</a>, dil, karakter kümesi ve kodlama) nasıl ele + alınacağını belirler. Bu modülün iptal edilmesi önerilmez.</dd> + + <dt><code>--disable-negotiation</code></dt> + <dd><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> modülü tarafından saÄŸlanan içerik + dili uzlaşımı iptal edilir.</dd> + + <dt><code>--disable-setenvif</code></dt> + <dd><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> modülü tarafından saÄŸlanan + baÅŸlıklarla ilgili ortam deÄŸiÅŸkenlerine dayalı destek iptal + edilir.</dd> + + <dt><code>--disable-status</code></dt> + <dd><code class="module"><a href="../mod/mod_status.html">mod_status</a></code> modülü tarafından saÄŸlanan süreç/evre + izleme iptal edilir.</dd> + + <dt><code>--disable-userdir</code></dt> + <dd><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> modülü tarafından saÄŸlanan, + isteklerin kullanıcıya özel dizinlere eÅŸlenmesi iptal edilir.</dd> + </dl> + + + <h4><a name="disabledmodules" id="disabledmodules">Öntanımlı olarak etkin olmayan modüller</a></h4> + + + <p>Bazı modüller öntanımlı olarak derlendiÄŸi halde açıkça istenmedikçe + veya <code>most</code> ya da <code>all</code> anahtar sözcükleri + kullanılmadıkça etkin kılınmazlar (bu konu, <a href="#otheroptfeat">aÅŸağıda</a> <code>--enable-mods-shared</code> + seçeneÄŸinde daha ayrıntılı ele alınmıştır). Bu modülleri + etkinleÅŸtirmek için aÅŸağıdaki seçenekleri kullanabilirsiniz.</p> + + <dl> + <dt><code>--enable-auth-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 + 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-auth-digest</code></dt> + <dd><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> modülü tarafından saÄŸlanan + RFC2617 Özet Kimlik Kanıtlaması etkin kılınır. Bu modül delilleri + salt metin dosyalarda saklar.</dd> + + <dt><code>--enable-authnz-ldap</code></dt> + <dd><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü tarafından saÄŸlanan LDAP’a + Dayalı Kimlik Kanıtlaması etkin kılınır.</dd> + + <dt><code>--enable-cache</code></dt> + <dd><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> modülü tarafından saÄŸlanan devingen + dosya önbelleklemesi etkin kılınır. Bu deneysel modülün kullanımı, + aşırı yüklü sunucularda ya da önbellekli vekillerde ilginç sonuçlar + verebilir. Bunun yanında en azından bir saklama alanı yönetim modülü + (örn, <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code> veya + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code>) gerekebilir.</dd> + + <dt><code>--enable-cern-meta</code></dt> + <dd><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code> modülü tarafından saÄŸlanan CERN + türü temel veri dosyalarına destek etkin kılınır.</dd> + + <dt><code>--enable-charset-lite</code></dt> + <dd><code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> modülü tarafından saÄŸlanan + karakter kümesi dönüşümleri etkin kılınır. Bu modül sadece EBCDIC + sistemlerinde öntanımlı olarak etkindir. DiÄŸer sistemlerde gerekirse + alenen etkin kılınması gerekir.</dd> + + <dt><code>--enable-dav</code></dt> + <dd><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> modülü tarafından saÄŸlanan WebDAV + protokolü desteÄŸi etkin kılınır. Dosya sistemi özkaynaklarına destek + için <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> modülü de gerekir ve bu seçenekle o + da etkin kılınır.<br /> + Dikkat: <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sadece <code>http</code> protokolü + modülü ile birlikte kullanılabilir.</dd> + + <dt><code>--enable-dav-fs</code></dt> + <dd><code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> modülü tarafından saÄŸlanan WebDAV + protokolünün dosya sistemi özkaynaklarına eriÅŸim desteÄŸi etkin + kılınır. Bu modül <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> modülü için destek + saÄŸlar. Bu bakımdan, <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> modülünü de etkin + kılmak için <code>--enable-dav</code> seçeneÄŸini de + kullanmalısınız.</dd> + + <dt><code>--enable-dav-lock</code></dt> + <dd><code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> modülü tarafından saÄŸlanan geri + destek modüllerine temel DAV kilitleme desteÄŸi etkin kılınır. Bu + modülün iÅŸlevsel olabilmesi için en azından <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> + modülünün etkin olması gerekir, dolayısıyla bu seçeneÄŸi + <code>--enable-dav</code> ile birlikte kullanmalısınız.</dd> + + <dt><code>--enable-deflate</code></dt> + <dd><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> modülü tarafından saÄŸlanan + sıkıştırılmış aktarım kodlaması etkin kılınır.</dd> + + <dt><code>--enable-disk-cache</code></dt> + <dd><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code> modülü tarafından saÄŸlanan diskte + önbellekleme etkin kılınır.</dd> + + <dt><code>--enable-expires</code></dt> + <dd><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> modülü tarafından saÄŸlanan + <code>Expires</code> baÅŸlığıyla denetim etkin kılınır.</dd> + + <dt><code>--enable-ext-filter</code></dt> + <dd><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> modülü tarafından saÄŸlanan harici + süzgeç desteÄŸi etkin kılınır.</dd> + + <dt><code>--enable-file-cache</code></dt> + <dd><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> modülü tarafından saÄŸlanan dosya + önbelleklemesi etkin kılınır.</dd> + + <dt><code>--enable-headers</code></dt> + <dd><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> modülü tarafından saÄŸlanan HTTP + baÅŸlıkları denetimi etkin kılınır.</dd> + + <dt><code>--enable-info</code></dt> + <dd> <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> modülü tarafından saÄŸlanan sunucu + bilgileri etkin kılınır.</dd> + + <dt><code>--enable-ldap</code></dt> + <dd><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> modülü tarafından saÄŸlanan LDAP + önbelleklemesi ve baÄŸlantı havuzu hizmetleri etkin kılınır.</dd> + + <dt><code>--enable-logio</code></dt> + <dd><code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> modülü tarafından saÄŸlanan baÅŸlıklarda + bulunan girdi ve çıktı bayt sayılarının günlüklenmesi etkin + kılınır.</dd> + + <dt><code>--enable-mem-cache</code></dt> + <dd><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> modülü tarafından saÄŸlanan bellekte + önbellekleme etkin kılınır.</dd> + + <dt><code>--enable-mime-magic</code></dt> + <dd><code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code> modülü tarafından saÄŸlanan + <a class="glossarylink" href="../glossary.html#mime-type" title="sözlüğe bakınız">MIME türleri</a>nin kendiliÄŸinden + belirlenmesi desteÄŸi etkin kılınır.</dd> + + <dt><code>--enable-isapi</code></dt> + <dd><code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> modülü tarafından saÄŸlanan isapi + eklenti desteÄŸi etkin kılınır.</dd> + + <dt><code>--enable-proxy</code></dt> + <dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> modülü tarafından saÄŸlanan + vekil/aÄŸ-geçidi iÅŸlevselliÄŸi etkin kılınır. <code>AJP13</code>, + <code>CONNECT</code>, <code>FTP</code>, <code>HTTP</code> ve + dengeleyici vekil yetenekleri ayrı olarak + <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>, <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</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_http.html">mod_proxy_http</a></code> ve + <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> modülleri tarafından saÄŸlanır. + Bu beÅŸ modül bu seçenekle kendiliÄŸinden etkin olur.</dd> + + <dt><code>--enable-proxy-ajp</code></dt> + <dd><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> modülü tarafından saÄŸlanan + <code>AJP13</code> (Apache JServ Protokolü 1.3) için vekil desteÄŸi + etkin kılınır. Bu modül <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> modülünün bir + eklentisidir, dolayısıyla bu seçeneÄŸi <code>--enable-proxy</code> + seçeneÄŸi ile birlikte kullanmalısınız.</dd> + + <dt><code>--enable-proxy-balancer</code></dt> + <dd><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> modülü tarafından saÄŸlanan + <code>AJP13</code>, <code>FTP</code> ve <code>HTTP</code> + protokollerine yük dengeleme desteÄŸi etkin kılınır. Bu modül + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> modülünün bir eklentisidir, dolayısıyla + bu seçeneÄŸi <code>--enable-proxy</code> seçeneÄŸi ile birlikte + kullanmalısınız.</dd> + + <dt><code>--enable-proxy-connect</code></dt> + <dd><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> modülü tarafından saÄŸlanan + <code>CONNECT</code> isteklerine vekil desteÄŸi etkin kılınır. Bu + modül <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> modülünün bir eklentisidir, + dolayısıyla bu seçeneÄŸi <code>--enable-proxy</code> seçeneÄŸi ile + birlikte kullanmalısınız.</dd> + + <dt><code>--enable-proxy-ftp</code></dt> + <dd><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> modülü tarafından saÄŸlanan + <code>FTP</code> isteklerine vekil desteÄŸi etkin kılınır. Bu modül + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> modülünün bir eklentisidir, dolayısıyla + bu seçeneÄŸi <code>--enable-proxy</code> seçeneÄŸi ile birlikte + kullanmalısınız.</dd> + + <dt><code>--enable-proxy-http</code></dt> + <dd><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> modülü tarafından saÄŸlanan + <code>HTTP</code> isteklerine vekil desteÄŸi etkin kılınır. Bu modül + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> modülünün bir eklentisidir, dolayısıyla + bu seçeneÄŸi <code>--enable-proxy</code> seçeneÄŸi ile birlikte + kullanmalısınız.</dd> + + <dt><code>--enable-rewrite</code></dt> + <dd><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülü tarafından saÄŸlanan kurallara + dayalı URL kurgulaması etkin kılınır.</dd> + + <dt><code>--enable-so</code></dt> + <dd><code class="module"><a href="../mod/mod_so.html">mod_so</a></code> modülü tarafından saÄŸlanan DSO yeteneÄŸi + etkin kılınır. <code>--enable-mods-shared</code> seçeneÄŸi bu + seçeneÄŸi de etkin kılar.</dd> + + <dt><code>--enable-speling</code></dt> + <dd><code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> modülü tarafından saÄŸlanan URL + yanlışlarını düzeltme desteÄŸi etkin kılınır.</dd> + + <dt><code>--enable-ssl</code></dt> + <dd><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülü tarafından saÄŸlanan SSL/TLS + ÅŸifreleme desteÄŸi etkin kılınır.</dd> + + <dt><code>--enable-unique-id</code></dt> + <dd><code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> modülü tarafından saÄŸlanan her + isteÄŸe bir eÅŸsiz kimlik atama desteÄŸi etkin kılınır.</dd> + + <dt><code>--enable-usertrack</code></dt> + <dd><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> modülü tarafından saÄŸlanan + kullanıcı oturumunu izleme desteÄŸi etkin kılınır.</dd> + + <dt><code>--enable-vhost-alias</code></dt> + <dd><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> modülü tarafından saÄŸlanan + kitlesel sanal barındırma desteÄŸi etkin kılınır.</dd> + </dl> + + + <h4><a name="developermodules" id="developermodules">GeliÅŸtiriciler için modüller</a></h4> + + + <p>AÅŸağıdakiler geliÅŸtiricilerin yaptıklarını sınamalar için yararlı + modülleri etkinleÅŸtiren seçeneklerdir. Bu seçenekler öntanımlı olarak + etkin deÄŸildir. Bu modüllere ihtiyacınız olup olmadığı konusunda bir + fikriniz yoksa bu bölümü atlayabilirsiniz.</p> + + <dl> + + <dt><code>--enable-bucketeer</code></dt> + <dd><code>mod_bucketeer</code> modülü tarafından saÄŸlanan veri + kümelerine müdahale süzgeci etkin kılınır.</dd> + + + <dt><code>--enable-case-filter</code></dt> + <dd><code>mod_case_filter</code> modülünün saÄŸladığı çıktıda büyük + harfe dönüşüm süzgeci örneÄŸi etkin kılınır.</dd> + + + <dt><code>--enable-case-filter-in</code></dt> + <dd><code>mod_case_filter_in</code> modülünün saÄŸladığı girdide büyük + harfe dönüşüm süzgeci örneÄŸi etkin kılınır.</dd> + + <dt><code>--enable-echo</code></dt> + <dd><code class="module"><a href="../mod/mod_echo.html">mod_echo</a></code> modülünün saÄŸladığı ECHO sunucusu etkin + kılınır.</dd> + + <dt><code>--enable-example</code></dt> + <dd>Örnek ve demo modülü <code class="module"><a href="../mod/mod_example.html">mod_example</a></code> etkin + kılınır.</dd> + + + <dt><code>--enable-optional-fn-export</code></dt> + <dd><code>mod_optional_fn_export</code> modülünün saÄŸladığı seçimlik + iÅŸlev ihraç örneÄŸi etkin kılınır.</dd> + + + <dt><code>--enable-optional-fn-import</code></dt> + <dd><code>mod_optional_fn_import</code> modülünün saÄŸladığı seçimlik + iÅŸlev ithal örneÄŸi etkin kılınır.</dd> + + + <dt><code>--enable-optional-hook-export</code></dt> + <dd><code>mod_optional_hook_export</code> modülünün saÄŸladığı seçimlik + kanca iÅŸlev ihraç örneÄŸi etkin kılınır.</dd> + + + <dt><code>--enable-optional-hook-import</code></dt> + <dd><code>mod_optional_hook_import</code> modülünün saÄŸladığı seçimlik + kanca iÅŸlev ithal örneÄŸi etkin kılınır.</dd> + </dl> + + + <h4><a name="modules" id="modules">MPM'ler ve üçüncü parti modüller</a></h4> + <p>Gereken çok süreçlilik modüllerini ve üçüncü parti modülleri etkin + kılmak için ÅŸu seçenekler kullanılır:</p> + + <dl> + <dt><code>--with-module=<var>modül-türü</var>:<var>modül-dosyası</var>[,<var>modül-türü</var>:<var>modül-dosyası</var>]</code></dt> + <dd><p>DuraÄŸan ilintili modüller listesine belirtilen modülleri ekler. + Modül kaynak dosyası <code><var>modül-dosyası</var></code>, önce + Apache HTTP Sunucusu kaynak aÄŸacı altında + <code>modules/<var>modül-türü</var></code> alt dizininde aranır. + Modül orada deÄŸilse <code>configure</code> betiÄŸi + <code><var>modül-dosyası</var></code> ile bir mutlak dosya yolu + belirtildiÄŸi varsayımıyla kaynak dosyasını + <code><var>modül-türü</var></code> alt dizinine kopyalamaya çalışır. + Alt dizin mevcut deÄŸilse oluÅŸturulur ve içine standart bir + <code>Makefile.in</code> yerleÅŸtirilir.</p> + + <p>Bu seçenek tek kaynak dosyasından oluÅŸan küçük harici modülleri + eklemek için yararlıdır. Daha karmaşık modüller için modül üreticisi + tarafından saÄŸlanan belgelere bakınız.</p> + + <div class="note"><h3>Bilginize</h3> + <p>DuraÄŸan ilintili modüller yerine bir DSO modülü derlemek + isterseniz <code class="program"><a href="../programs/apxs.html">apxs</a></code> programını kullanınız.</p> + </div> + </dd> + + <dt><code>--with-mpm=<var>MPM</var></code></dt> + <dd>Sunucu süreç modeli seçilir. Bu seçenekte <a href="../mpm.html">çok süreçlilik modüllerinden sadece biri</a> + belirtilebilir. Bu seçenek kullanılmadığı takdirde iÅŸletim + sisteminiz için <a href="../mpm.html#defaults">öntanımlı MPM</a> + etkin olur. Bu seçenekte belirtilebilecek MPM isimleri: + <code class="module"><a href="../mod/beos.html">beos</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> ve <code class="module"><a href="../mod/worker.html">worker</a></code>.</dd> + </dl> + + + <h4><a name="otheroptfeat" id="otheroptfeat">Kümeleme seçenekleri ve diÄŸerleri</a></h4> + <dl> + <dt><code>--enable-maintainer-mode</code></dt> + <dd>Hata ayıklama iletileri ve derleme sırasındaki uyarıların + gösterilmesi etkin kılınır.</dd> + + <dt><code>--enable-mods-shared=<var>modül-listesi</var></code></dt> + <dd> + <p>EtkinleÅŸtirilip devingen paylaşımlı modül olarak derlenecek + modüllerin listesi belirtilir. Yani, bu modüller <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> yönergesi kullanılarak + devingen olarak yüklenir.</p> + + <p><code><var>modül-listesi</var></code> tırnak içine alınmış boÅŸluk + ayraçlı modül isimleri listesidir. Modül isimleri önlerindeki + <code>mod_</code> öneki olmaksızın belirtilirler. Örnek:</p> + + <div class="example"><p><code> + --enable-mods-shared='headers rewrite dav' + </code></p></div> + + <p><code><var>modül-listesi</var></code> yerine <code>all</code> ve + <code>most</code> anahtar sözcükleri de belirtilebilir. + ÖrneÄŸin,</p> + + <div class="example"><p><code> + --enable-mods-shared=most + </code></p></div> + + <p>seçeneÄŸi ile çoÄŸu modül DSO modülü olarak derlenecektir.</p> + + <p><strong>Yetersizlikler:</strong> + <code>--enable-mods-shared=all</code> aslında bütün modüllerin + derlenmesini saÄŸlamaz. Tüm modülleri derlemek için ÅŸunu + yapabilirsiniz:</p> + + <div class="example"><p><code> + ./configure \<br /> + <span class="indent"> + --with-ldap \<br /> + --enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache" + </span> + </code></p></div> + </dd> + + <dt><code>--enable-modules=<var>modül-listesi</var></code></dt> + <dd>Bu seçenek modülleri devingen deÄŸil de duraÄŸan ilintilemek dışında + <code>--enable-mods-shared</code> seçeneÄŸine benzer. Yani bu + modüller <code class="program"><a href="../programs/httpd.html">httpd</a></code> çalıştırılır çalıştırılmaz etkin + olurlar. Yüklenmeleri için <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> yönergesine ihtiyaçları + yoktur.</dd> + + <dt><code>--enable-v4-mapped</code></dt> + <dd>IPv6 soketlierinin IPv4 baÄŸlantılar üzerinde kullanılması mümkün + olur.</dd> + + <dt><code>--with-port=<var>port</var></code></dt> + <dd>Bu seçenek <code class="program"><a href="../programs/httpd.html">httpd</a></code>'nin dinleyeceÄŸi portu + belirler. Bu port <code>httpd.conf</code> yapılandırma dosyası + üretilirken kullanılır. 80. port öntanımlıdır.</dd> + + <dt><code>--with-program-name</code></dt> + <dd>Öntanımlı olan <code>httpd</code> yerine baÅŸka bir çalıştırabilir + ismi tanımlar.</dd> + </dl> + + + + <h3><a name="packages" id="packages">Seçimlik paketler</a></h3> + <p>Buradaki seçenekler seçimlik paketleri tanımlamak için kullanılır.</p> + + <h4><a name="generalpackages" id="generalpackages">Genel sözdizimi</a></h4> + <p>Bir seçimlik paketi tanımlamak için genellikle şöyle bir sözdizimi + kullanılır:</p> + + <dl> + <dt><code>--with-<var>paket</var>[=<var>deÄŸer</var>]</code></dt> + <dd><code><var>paket</var></code> paketi kullanılır. Öntanımlı + <code><var>deÄŸer</var></code> <code>yes</code>’tir.</dd> + + <dt><code>--without-<var>paket</var></code></dt> + <dd><code><var>paket</var></code> paketi kullanılmaz. Öntanımlı + <code><var>deÄŸer</var></code> <code>no</code>’dur. Bu seçenek + <code>autoconf</code> tarafından saÄŸlanmıştır ve Apache HTTP + Sunucusu için pek yararlı deÄŸildir.</dd> + </dl> + + + + + <h4><a name="packageopt" id="packageopt">Özel paketler</a></h4> + <dl> + <dt><code>--with-apr=<var>dizin</var>|<var>dosya</var></code></dt> + <dd><a class="glossarylink" href="../glossary.html#apr" title="sözlüğe bakınız">Apache Taşınabilir Arayüzü</a> (APR) + httpd kaynak paketinin bir parçası olup HTTP Sunucu ile birlikte + derlenir. EÄŸer kendi kurulu APR’nizi kullanmak isterseniz bunu + <code>configure</code> betiÄŸine <code>apr-config</code> betiÄŸinin + yolunu belirterek ifade edebilirsiniz. Kurulu APR için bid dizin, + dosya ismi veya mutlak dosya yolu belirtebilirsiniz. + <code>apr-config</code> ya belirttiÄŸiniz dizinde ya da + <code>bin</code> alt dizininde bulunmalıdır.</dd> + + <dt><code>--with-apr-util=<var>dizin</var>|<var>dosya</var></code></dt> + <dd>Apache Taşınabilir Arayüzü Araçları (APU) httpd kaynak paketinin + bir parçası olup HTTP Sunucu ile birlikte derlenir. EÄŸer kendi + kurulu APU’nuzu kullanmak isterseniz bunu <code>configure</code> + betiÄŸine <code>apu-config</code> betiÄŸinin yolunu belirterek ifade + edebilirsiniz. Kurulu APR için bir dizin, dosya ismi veya mutlak + dosya yolu belirtebilirsiniz. <code>apr-config</code> ya + belirttiÄŸiniz dizinde ya da <code>bin</code> alt dizininde + bulunmalıdır.</dd> + + <dt><code>--with-ssl=<var>dizin</var></code></dt> + <dd><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülü etkinse <code>configure</code> + betiÄŸi kurulu bir OpenSSL arayacaktır. Kendi SSL/TLS kurulumunuzun + yolunu bu seçenekle belirtebilirsiniz.</dd> + + <dt><code>--with-z=<var>dizin</var></code></dt> + <dd>Yapılandırmanız gerektirdiÄŸi takdirde (örneÄŸin, + <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> etkinse) <code>configure</code> betiÄŸi + kurulu <code>zlib</code> kütüphanesinin yerini tespit etmeye + çalışacaktır. Kendi sıkıştırma kütüphanenizin yerini bu seçenekle + belirtebilirsiniz.</dd> + </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> + 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 + veritabanı her zaman kullanılabilir durumdadır. EÄŸer baÅŸka veritabanı + türleri kullanmak isterseniz aÅŸağıdaki seçeneklerle bunları etkin + kılabilirsiniz:</p> + + <dl> + <dt><code>--with-gdbm[=<var>dizin-yolu</var>]</code></dt> + <dd>Bir <code><var>dizin-yolu</var></code> belirtilmemiÅŸse + <code>configure</code> betiÄŸi GNU DBM kurulumunun kütüphanelerini ve + baÅŸlık dosyalarını bulunması olası yerlerde arar. Bir + <code><var>dizin-yolu</var></code> belirtilmiÅŸse + <code>configure</code> betiÄŸi kurulumun kütüphanelerini + <code><var>dizin-yolu</var>/lib</code> altında, baÅŸlık dosyalarını + ise <code><var>dizin-yolu</var>/include</code> altında arayacaktır. + Bundan baÅŸka, baÅŸlık ve kütüphane dosyalarının bulundukları yerler + iki nokta imi ile ayrılarak <code><var>dizin-yolu</var></code> + olarak belirtilebilir.</dd> + + <dt><code>--with-ndbm[=<var>dizin-yolu</var>]</code></dt> + <dd>New DBM kurulumunu araÅŸtırması dışında <code>--with-gdbm</code> + seçeneÄŸi gibidir.</dd> + + <dt><code>--with-berkeley-db[=<var>dizin-yolu</var>]</code></dt> + <dd>Berkeley DB kurulumunu araÅŸtırması dışında + <code>--with-gdbm</code> seçeneÄŸi gibidir.</dd> + </dl> + + <div class="note"><h3>Bilginize</h3> + <p>DBM seçenekleri APU tarafından saÄŸlanmış olup onun yapılandırma + betiÄŸine aktarılır. Bu seçenekler <code>--with-apr-util</code> + seçeneÄŸi ile tanımlanmış bir kurulu APU varsa kullanışlı olur.</p> + <p>HTTP sunucunuz ile birlikte birden fazla DBM gerçeklenimi + kullanabilirsiniz. Kullanılacak DBM türünü her zaman çalışma anı + yapılandırmanızla yapılandırabilirsiniz.</p> + </div> + + + + <h3><a name="supportopt" id="supportopt">Destek programları için seçenekler</a></h3> + <dl> + <dt><code>--enable-static-support</code></dt> + <dd>Destek programlarını duraÄŸan ilintili olarak derler. Yani + çalıştırılabilirin kullandığı bütün kütüphaneler kodla + bütünleÅŸtirilir. Bu seçenek belirtilmedikçe destek programları daima + devingen ilintili olarak derlenir.</dd> + + <dt><code>--enable-suexec</code></dt> + <dd>Çatallanan sürecin kullanıcı ve grup kimliklerinin + deÄŸiÅŸtirilebilmesini saÄŸlayan <code class="program"><a href="../programs/suexec.html">suexec</a></code> programının + kullanımını etkinleÅŸtirir. <strong>Sunucunuz üzerinde suid biti + etkinleÅŸtirilmiÅŸ bir program çalıştırmanın sistem güvenliÄŸinde + yaratacağı sorunlar hakkında bir fikriniz yoksa bu seçeneÄŸi + etkinleÅŸtirmeyin</strong>. <code class="program"><a href="../programs/suexec.html">suexec</a></code> yapılandırma + seçenekleri <a href="#suexec">aÅŸağıda</a> açıklanmıştır.</dd> + </dl> + + <p>Tek bir destek programını aÅŸağıdaki seçenekleri kullanarak bir duraÄŸan + ilintili çalıştırılabilir olarak derleyebilirsiniz:</p> + + <dl> + <dt><code>--enable-static-ab</code></dt> + <dd><code class="program"><a href="../programs/ab.html">ab</a></code> programının duraÄŸan ilintili sürümü + derlenir.</dd> + + + <dt><code>--enable-static-checkgid</code></dt> + <dd><code>checkgid</code> programının duraÄŸan ilintili sürümü + derlenir.</dd> + + <dt><code>--enable-static-htdbm</code></dt> + <dd><code class="program"><a href="../programs/htdbm.html">htdbm</a></code> programının duraÄŸan ilintili sürümü + derlenir.</dd> + + <dt><code>--enable-static-htdigest</code></dt> + <dd><code class="program"><a href="../programs/htdigest.html">htdigest</a></code> programının duraÄŸan ilintili sürümü + derlenir.</dd> + + <dt><code>--enable-static-htpasswd</code></dt> + <dd><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> programının duraÄŸan ilintili sürümü + derlenir.</dd> + + <dt><code>--enable-static-logresolve</code></dt> + <dd><code class="program"><a href="../programs/logresolve.html">logresolve</a></code> programının duraÄŸan ilintili sürümü + derlenir.</dd> + + <dt><code>--enable-static-rotatelogs</code></dt> + <dd><code class="program"><a href="../programs/rotatelogs.html">rotatelogs</a></code> programının duraÄŸan ilintili sürümü + derlenir.</dd> + </dl> + + <h4><a name="suexec" id="suexec"><code>suexec</code> yapılandırma seçenekleri</a></h4> + + + <p>AÅŸağıdaki seçeneklerle <code class="program"><a href="../programs/suexec.html">suexec</a></code> programının + davranışı hassas bir ÅŸekilde ayarlanabilir. Daha ayrıntılı bilgi için + <a href="suexec.html#install">suEXEC yapılandırması ve kurulumu</a>na + bakınız.</p> + + <dl> + <dt><code>--with-suexec-bin</code></dt> + <dd>Bu seçenek ile <code class="program"><a href="../programs/suexec.html">suexec</a></code> çalıştırılabilirinin yeri + belirtilir. Öntanımlı olarak <code>--sbindir</code> ile belirtilen + dizine kurulur (<a href="#directoryfinetuning">Kurulum dizinlerinde + ince ayar</a> konusuna bakınız).</dd> + + <dt><code>--with-suexec-caller</code></dt> + <dd>Bu seçenek ile <code class="program"><a href="../programs/suexec.html">suexec</a></code>’i çalıştırabilecek + kullanıcı belirtilir. Normalde <code class="program"><a href="../programs/httpd.html">httpd</a></code> programını + çalıştıran kullanıcı olmalıdır.</dd> + + <dt><code>--with-suexec-docroot</code></dt> + <dd>Bu seçenek ile <code class="program"><a href="../programs/suexec.html">suexec</a></code>'e eriÅŸebilecek + çalıştırılabilirlerin altında bulunacağı dizin belirtilir. + <code>--datadir/htdocs</code> öntanımlıdır.</dd> + + <dt><code>--with-suexec-gidmin</code></dt> + <dd><code class="program"><a href="../programs/suexec.html">suexec</a></code> için hedef kullanıcı olmasına izin + verilen en küçük grup kimliÄŸini tanımlamak için kullanılır. 100 + öntanımlıdır.</dd> + + <dt><code>--with-suexec-logfile</code></dt> + <dd><code class="program"><a href="../programs/suexec.html">suexec</a></code> günlük dosyasının ismi belirtilir. + Öntanımlı olarak bu dosyanın ismi <code>suexec_log</code> olup + <code>--logfiledir</code> seçeneÄŸi ile belirtilen dizin altında + bulunur.</dd> + + <dt><code>--with-suexec-safepath</code></dt> + <dd><code class="program"><a href="../programs/suexec.html">suexec</a></code> tarafından çalıştırılacak süreçlerin + çalıştırılabilirlerinin bulunabileceÄŸi dizinleri <code>PATH</code> + ortam deÄŸiÅŸkenine tanımlamak için kullanılır. + <code>/usr/local/bin:/usr/bin:/bin</code> öntanımlıdır.</dd> + + <dt><code>--with-suexec-userdir</code></dt> + <dd>Bu seçenek, kullanıcı dizinleri altında <code class="program"><a href="../programs/suexec.html">suexec</a></code> + tarafından çalıştırılacak süreçlerin çalıştırılabilirlerinin + bulunabileceÄŸi alt dizini tanımlar. <code class="program"><a href="../programs/suexec.html">suexec</a></code> + programını (<code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> tarafından saÄŸlanan) + kullanıcıya özel dizinlerde kullanmak istediÄŸinizde bu gereklidir. + <code>public_html</code> alt dizini öntanımlıdır.</dd> + + <dt><code>--with-suexec-uidmin</code></dt> + <dd><code class="program"><a href="../programs/suexec.html">suexec</a></code> için hedef kullanıcı olmasına izin + verilen en küçük kullanıcı kimliÄŸini tanımlamak için kullanılır. + 100 öntanımlıdır.</dd> + + <dt><code>--with-suexec-umask</code></dt> + <dd><code class="program"><a href="../programs/suexec.html">suexec</a></code> tarafından çalıştırılacak süreçler için + <code>umask</code> tanımlar. Sisteminiz için geçerli ayarlar + öntanımlıdır.</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="env" id="env">Ortam DeÄŸiÅŸkenleri</a></h2> + <p><code>configure</code> betiÄŸinin yerleri ve isimleri standartlara uygun + olmayan kütüphaneleri ve programları bulmasını yardımcı olan veya + <code>configure</code> betiÄŸi tarafından yapılan bazı seçimleri + deÄŸiÅŸtirmenizi saÄŸlayacak bazı ortam deÄŸiÅŸkenleri vardır.</p> + + + <dl> + <dt><code>CC</code></dt> + <dd>Bu deÄŸiÅŸkenle derleme sırasında kullanılacak C derleyici komutu + tanımlanır.</dd> + + <dt><code>CFLAGS</code></dt> + <dd>Bu deÄŸiÅŸkenle derleme sırasında kullanılacak C derleyici seçenekleri + tanımlanır.</dd> + + <dt><code>CPP</code></dt> + <dd>Bu deÄŸiÅŸkenle derleme sırasında kullanılacak C öniÅŸlemci komutu + tanımlanır.</dd> + + <dt><code>CPPFLAGS</code></dt> + <dd>C/C++ öniÅŸlemci seçenekleri tanımlanır. ÖrneÄŸin, eÄŸer baÅŸlık + dosyaları standart yerlerinde deÄŸil de + <code><var>includedir</var></code> dizinindeyse bunu + <code>-I<var>includedir</var></code> seçeneÄŸi olarak + belirtebilirsiniz.</dd> + + <dt><code>LDFLAGS</code></dt> + <dd>Ä°lintileyici seçenekleri tanımlanır. ÖrneÄŸin, eÄŸer kütüphane + dosyalarınız standart yerlerinde deÄŸil de + <code><var>libdir</var></code> dizinindeyse bunu + <code>-L<var>libdir</var></code> seçeneÄŸi olarak belirtebilirsiniz.</dd> + </dl> +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/configure.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/configure.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/programs/httpd.html index 59789654..9ef8b2b7 100644 --- a/docs/manual/programs/httpd.html +++ b/docs/manual/programs/httpd.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: httpd.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: httpd.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/programs/httpd.html.en b/docs/manual/programs/httpd.html.en index f83f69d6..731ab701 100644 --- a/docs/manual/programs/httpd.html.en +++ b/docs/manual/programs/httpd.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>httpd - Apache Hypertext Transfer Protocol Server</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/programs/httpd.html" title="English"> en </a> | -<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/httpd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p><code>httpd</code> is the Apache HyperText Transfer Protocol @@ -189,7 +190,8 @@ be read.</dd> </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/programs/httpd.html" title="English"> en </a> | -<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/httpd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/httpd.html.ko.euc-kr b/docs/manual/programs/httpd.html.ko.euc-kr index 14666f61..ec8ac6ac 100644 --- a/docs/manual/programs/httpd.html.ko.euc-kr +++ b/docs/manual/programs/httpd.html.ko.euc-kr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>httpd - ¾ÆÆÄÄ¡ ÇÏÀÌÆÛÅؽºÆ® Àü¼Û ÇÁ·ÎÅäÄÝ ¼¹ö</h1> <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/httpd.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/httpd.html" title="Korean"> ko </a></p> +<a href="../ko/programs/httpd.html" title="Korean"> ko </a> | +<a href="../tr/programs/httpd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -181,7 +182,8 @@ </div></div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/httpd.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/programs/httpd.html" title="Korean"> ko </a></p> +<a href="../ko/programs/httpd.html" title="Korean"> ko </a> | +<a href="../tr/programs/httpd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/programs/httpd.html.tr.utf8 b/docs/manual/programs/httpd.html.tr.utf8 new file mode 100644 index 00000000..026013cd --- /dev/null +++ b/docs/manual/programs/httpd.html.tr.utf8 @@ -0,0 +1,185 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>httpd - Apache Hiper Metin Aktarım Protokolü Sunucusu - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Programlar</a></div><div id="page-content"><div id="preamble"><h1>httpd - Apache Hiper Metin Aktarım Protokolü Sunucusu</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/httpd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/httpd.html" title="Türkçe"> tr </a></p> +</div> + + <p><strong><code>httpd</code></strong>, Apache Hiper Metin Aktarım + Protokolü (HTTP) sunucusu programıdır. Tek başına çalışan bir artalan + süreci olarak tasarlanmıştır. Bu tarz kullanıldığında istekleri iÅŸleme + sokmak için çocuk süreçlerden ve evrelerden oluÅŸan bir havuz + oluÅŸturur.</p> + + <p>Genelde, <strong><code>httpd</code></strong>'nin doÄŸrudan çaÄŸrılmaması + gerekir. Unix ve benzerlerinde <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> + aracılığıyla, <a href="../platform/windows.html#winsvc">Windows NT, 2000 + ve XP</a>'de bir hizmet olarak, <a href="../platform/windows.html#wincons">Windows 9x ve ME</a>'de ise bir + konsol uygulaması olarak çalıştırılır.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Kullanım</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Seçenekler</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../invoking.html">Apache'nin BaÅŸlatılması</a></li><li><a href="../stopping.html">Apache'nin Durdurulması</a></li><li><a href="../configuring.html">Yapılandırma Dosyaları</a></li><li><a href="../platform/">Platforma Özgü Belgeler</a></li><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="section"> +<h2><a name="synopsis" id="synopsis">Kullanım</a></h2> + <p><code><strong>httpd</strong> [ -<strong>d</strong> + <var>sunucu-kök-dizini</var> ] [ -<strong>f</strong> + <var>yapılandırma-dosyası</var> ] + [ -<strong>C</strong> <var>yönerge</var> ] [ -<strong>c</strong> + <var>yönerge</var> ] [ -<strong>D</strong> <var>parametre</var> ] + [ -<strong>e</strong> <var>seviye</var> ] [ -<strong>E</strong> + <var>dosya</var> ] + [ <strong>-k</strong> start | restart | graceful | stop | graceful-stop ] + [ -<strong>R</strong> <var>dizin</var> ] [ -<strong>h</strong> ] + [ -<strong>l</strong> ] [ -<strong>L</strong> ] [ -<strong>S</strong> ] + [ -<strong>t</strong> ] [ -<strong>v</strong> ] [ -<strong>V</strong> ] + [ -<strong>X</strong> ] [ -<strong>M</strong> ]</code></p> + + <p><a href="../platform/windows.html">Windows sistemlerinde</a>, ek + olarak ÅŸunlar vardır:</p> + + <p><code><strong>httpd</strong> [ -<strong>k</strong> install | config | + uninstall ] [ -<strong>n</strong> <var>isim</var> ] + [ -<strong>w</strong> ]</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="options" id="options">Seçenekler</a></h2> + + <dl> + <dt><code><strong>-d</strong> <var>sunucu-kök-dizini</var></code></dt> + <dd><var>sunucu-kök-dizini</var>'ni <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesine ilk deÄŸer olarak atar. Yapılandırma + dosyasındaki bir <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + yönergesiyle bu atama geçersiz kılınabilir. Bu seçenek belirtilmediÄŸi + takdirde <code>/usr/local/apache2</code> dizini öntanımlıdır.</dd> + + <dt><code><strong>-f</strong> <var>yapılandırma-dosyası</var></code></dt> + <dd>BaÅŸlatma sırasında <var>yapılandırma-dosyası</var>'ndaki yönergeler + kullanılır. EÄŸer <var>yapılandırma-dosyası</var> bir / ile baÅŸlamıyorsa + dosyanın <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesinin + deÄŸerine göreli olduÄŸu varsayılır. Seçenek belirtilmediÄŸi takdirde + <code>conf/httpd.conf</code> öntanımlı deÄŸerdir.</dd> + + <dt><code><strong>-k</strong> <code>start | restart | graceful | stop | + graceful-stop</code></code></dt> + <dd><strong><code>httpd</code></strong>'yi baÅŸlatmak, durdurmak ve yeniden + baÅŸlatmak için sinyal gönderir. Daha ayrıntılı bilgi edinmek için <a href="../stopping.html">Apache'nin Durdurulması</a> belgesine + bakınız.</dd> + + <dt><code><strong>-C</strong> <var>yönerge</var></code></dt> + <dd>Yapılandırma <var>yönerge</var>'sini yapılandırma dosyalarını okumadan + önce iÅŸleme sokar.</dd> + + <dt><code><strong>-c</strong> <var>yönerge</var></code></dt> + <dd>Yapılandırma <var>yönerge</var>'sini yapılandırma dosyalarını + okuduktan sonra iÅŸleme sokar.</dd> + + <dt><code><strong>-D</strong> <var>parametre</var></code></dt> + <dd>Sunucu baÅŸlatılırken veya yeniden baÅŸlatılırken komutları ÅŸarta baÄŸlı + olarak iÅŸleme sokmak veya atlamak için yapılandırma dosyalarında + kullanılan <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> + bölümlerinde kullanılmak üzere bir yapılandırma <var>parametre</var>'si + tanımlar. Ayrıca, <code>-DNO_DETACH</code> (ana sürecin çatallanmasını + engellemek için), <code>-DFOREGROUND</code> (ana sürecin + <code>setsid()</code> ve benzerlerinden çaÄŸrılmasını engellemek için) + gibi daha az bilinen bazı baÅŸlatma parametrelerini atamakta da + kullanılabilir.</dd> + + <dt><code><strong>-e</strong> <var>seviye</var></code></dt> + <dd>Hata günlüğü seviyesi olarak <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> yönergesine sunucu baÅŸlatılırken <var>seviye</var> + deÄŸerini atar. Bu seçenek, baÅŸlatma sırasındaki sorunları saptamak + amacıyla hata iletilerinin ayrıntı seviyesini geçici olarak arttırmak + için kullanılır.</dd> + + <dt><code><strong>-E</strong> <var>dosya</var></code></dt> + <dd>Sunucunun baÅŸlatılması sırasında hata iletilerinin belirtilen + <var>dosya</var>'ya gönderilmesini saÄŸlar.</dd> + + <dt><code><strong>-h</strong></code></dt> + <dd>Mevcut komut satırı seçeneklerinin kısa bir özetini çıktılar.</dd> + + <dt><code><strong>-l</strong></code></dt> + <dd>Sunucunun içinde derlenmiÅŸ modüllerin listesini çıktılar. Bu liste + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> yönergesi kullanılarak + devingen olarak yüklenen modülleri içermez.</dd> + + <dt><code><strong>-L</strong></code></dt> + <dd>DuraÄŸan modüllerce saÄŸlanmış yönergeleri olası deÄŸerleriyle geçerli + konumlarına yerleÅŸtirerek listeler.</dd> + + <dt><code><strong>-M</strong></code></dt> + <dd>Yüklü duraÄŸan ve paylaşımlı modülleri listeler.</dd> + + <dt><code><strong>-R</strong> <var>dizin</var></code></dt> + <dd>Sunucu <code>SHARED_CORE</code> kullanılarak derlendiÄŸi takdirde bu + seçenek paylaşımlı nesne dosyaları için <var>dizin</var> belirtir.</dd> + + <dt><code><strong>-S</strong></code></dt> + <dd>Yapılandırma dosyasından çözümlenmiÅŸ haliyle ayarları gösterir (ÅŸu an + sadece sanal konak ayarları gösterilmektedir).</dd> + + <dt><code><strong>-t</strong></code></dt> + <dd>Yapılandırma dosyasını sözdizimi hatalarına karşı denetler. Program + sözdizimini denetledikten sonra sözdizimi geçerliyse 0 ile, deÄŸilse + sıfırdan farklı bir deÄŸerle çıkar. + <code><strong>-D</strong>DUMP_VHOSTS</code> seçeneÄŸi ile birlikte + kullanılmışsa ek olarak sanal konak ayrıntıları da basılır. + <code><strong>-D</strong>DUMP_MODULES</code> seçeneÄŸi ile ise ek olarak + tüm modüller listelenir.</dd> + + <dt><code><strong>-v</strong></code></dt> + <dd><strong><code>httpd</code></strong> sürümünü basar ve çıkar.</dd> + + <dt><code><strong>-V</strong></code></dt> + <dd>Sürümü ve <strong><code>httpd</code></strong> kurulum parametrelerini + basar ve çıkar.</dd> + + <dt><code><strong>-X</strong></code></dt> + <dd><strong><code>httpd</code></strong> hata ayıklama kipinde çalışır. Tek + çocuk süreç baÅŸlatılır ve sunucu konsolu terketmez.</dd> + </dl> + + <p>AÅŸağıdaki seçenekler sadece <a href="../platform/windows.html">Windows + platformunda geçerlidir</a>:</p> + + <dl> + <dt><code><strong>-k</strong> install | config | uninstall</code></dt> + <dd>Parametreler bakımından sırasıyla: Apache bir Windows NT hizmeti + haline getirilir; baÅŸlatma seçenekleri Apache hizmeti için deÄŸiÅŸtirilir; + ve Apache hizmeti sistemden kaldırılır.</dd> + + <dt><code><strong>-n</strong> <var>isim</var></code></dt> + <dd>Sinyal gönderilecek Apache hizmetinin <var>ismi</var>.</dd> + + <dt><code><strong>-w</strong></code></dt> + <dd>Hata durumunda konsol penceresi açık tutularak hata iletilerinin + okunması saÄŸlanır.</dd> + </dl> + +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/programs/httpd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/programs/httpd.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/programs/httpd.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 e7a108ef..4f3ff3e8 100644 --- a/docs/manual/programs/other.html.en +++ b/docs/manual/programs/other.html.en @@ -49,6 +49,9 @@ <p>The combined log file is read from stdin. Records read will be appended to any existing log files.</p> + + <div class="example"><p><code>split-logfile < access_log</code></p></div> + </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/programs/other.html" title="English"> en </a> | diff --git a/docs/manual/programs/other.html.ko.euc-kr b/docs/manual/programs/other.html.ko.euc-kr index a1130420..9f1b72a9 100644 --- a/docs/manual/programs/other.html.ko.euc-kr +++ b/docs/manual/programs/other.html.ko.euc-kr @@ -21,6 +21,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/programs/other.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ko/programs/other.html" title="Korean"> ko </a></p> </div> +<div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. + ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> <p>´ÙÀ½Àº °£´ÜÇÏ¿© manpage°¡ ¾ø´Â, ¾ÆÆÄÄ¡ À¥¼¹ö¿¡ Æ÷ÇÔµÈ Áö¿ø ÇÁ·Î±×·¥µéÀÌ´Ù. ÀÚµ¿À¸·Î À̵éÀ» ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù. diff --git a/docs/manual/rewrite/index.html b/docs/manual/rewrite/index.html index e4d079c3..23ec1ec0 100644 --- a/docs/manual/rewrite/index.html +++ b/docs/manual/rewrite/index.html @@ -3,3 +3,7 @@ URI: index.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/rewrite/index.html.en b/docs/manual/rewrite/index.html.en index 1b61e89d..9e188763 100644 --- a/docs/manual/rewrite/index.html.en +++ b/docs/manual/rewrite/index.html.en @@ -18,7 +18,8 @@ <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <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"> en </a></p> +<p><span>Available Languages: </span><a href="../en/rewrite/" title="English"> en </a> | +<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <blockquote> @@ -87,7 +88,8 @@ useful examples</a></li> </ul> </div></div> <div class="bottomlang"> -<p><span>Available Languages: </span><a href="../en/rewrite/" title="English"> en </a></p> +<p><span>Available Languages: </span><a href="../en/rewrite/" title="English"> en </a> | +<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/rewrite/index.html.tr.utf8 b/docs/manual/rewrite/index.html.tr.utf8 new file mode 100644 index 00000000..082a49a4 --- /dev/null +++ b/docs/manual/rewrite/index.html.tr.utf8 @@ -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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache mod_rewrite - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="../"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <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"> en </a> | +<a href="../tr/rewrite/" title="Türkçe"> tr </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> + </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 + 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> + + <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><Directory></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>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> + +</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> +</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 class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../tr/rewrite/" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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_flags.html.en b/docs/manual/rewrite/rewrite_flags.html.en index 7063cc57..7d211f6e 100644 --- a/docs/manual/rewrite/rewrite_flags.html.en +++ b/docs/manual/rewrite/rewrite_flags.html.en @@ -365,10 +365,10 @@ ruleset. In the following example, we only want to run the <code class="directiv doesn't correspond with an actual file.</p> <div class="example"><p><code> -# Is the request for a non-existent file? +# 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 +# If so, skip these two RewriteRules<br /> RewriteRule .? - [S=2]<br /> <br /> RewriteRule (.*\.gif) images.php?$1<br /> @@ -391,7 +391,7 @@ sent. This has the same effect as the <code class="directive"><a href="../mod/mo source code as plain text, if requested in a particular way:</p> <div class="example"><p><code> -# Serve .pl files as plain text +# Serve .pl files as plain text<br /> RewriteRule \.pl$ - [T=text/plain] </code></p></div> diff --git a/docs/manual/rewrite/rewrite_guide.html.en b/docs/manual/rewrite/rewrite_guide.html.en index 54b7923c..9bded28b 100644 --- a/docs/manual/rewrite/rewrite_guide.html.en +++ b/docs/manual/rewrite/rewrite_guide.html.en @@ -93,7 +93,7 @@ useful examples</a></li><li><a href="rewrite_tech.html">Technical details</a></l <div class="example"><pre> RewriteRule ^/<strong>~</strong>([^/]+)/?(.*) /<strong>u</strong>/$1/$2 [<strong>R</strong>] -RewriteRule ^/([uge])/(<strong>[^/]+</strong>)$ /$1/$2<strong>/</strong> [<strong>R</strong>] +RewriteRule ^/u/(<strong>[^/]+</strong>)$ /$1/$2<strong>/</strong> [<strong>R</strong>] </pre></div> </dd> </dl> diff --git a/docs/manual/server-wide.html b/docs/manual/server-wide.html index 0ce91384..bc7d087a 100644 --- a/docs/manual/server-wide.html +++ b/docs/manual/server-wide.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: server-wide.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: server-wide.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/server-wide.html.en b/docs/manual/server-wide.html.en index 4ea65455..55d44a22 100644 --- a/docs/manual/server-wide.html.en +++ b/docs/manual/server-wide.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/server-wide.html" title="English"> en </a> | <a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This document explains some of the directives provided by @@ -93,7 +94,8 @@ the basic operations of the server.</p> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/server-wide.html" title="English"> en </a> | <a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/server-wide.html.ja.utf8 b/docs/manual/server-wide.html.ja.utf8 index 3e249bb3..ac4184ab 100644 --- a/docs/manual/server-wide.html.ja.utf8 +++ b/docs/manual/server-wide.html.ja.utf8 @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/server-wide.html" title="Japanese"> ja </a> | -<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>ã“ã®ãƒ‰ã‚ュメントã§ã¯<code class="module"><a href="./mod/core.html">core</a></code> @@ -93,7 +94,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/server-wide.html" title="Japanese"> ja </a> | -<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/server-wide.html.ko.euc-kr b/docs/manual/server-wide.html.ko.euc-kr index d7a14cea..2e392047 100644 --- a/docs/manual/server-wide.html.ko.euc-kr +++ b/docs/manual/server-wide.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/server-wide.html" title="Korean"> ko </a></p> +<a href="./ko/server-wide.html" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -88,7 +89,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/server-wide.html" title="Korean"> ko </a></p> +<a href="./ko/server-wide.html" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/server-wide.html.tr.utf8 b/docs/manual/server-wide.html.tr.utf8 new file mode 100644 index 00000000..872590c6 --- /dev/null +++ b/docs/manual/server-wide.html.tr.utf8 @@ -0,0 +1,99 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Sunucu Genelinde Yapılandırma - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Sunucu Genelinde Yapılandırma</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" title="Türkçe"> tr </a></p> +</div> + +<p>Bu belgede <code class="module"><a href="./mod/core.html">core</a></code> modülü ile saÄŸlanan ve sunucunun temel +iÅŸlemlerini yapılandırmakta kullanılan yönergelerden bazıları açıklanmıştır.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#identification">Sunucu KimliÄŸi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#locations">Dosyaların Yerleri</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#resource">Özkaynak Kullanımının Sınırlanması</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="identification" id="identification">Sunucu KimliÄŸi</a></h2> + + + <table class="related"><tr><th>Ä°lgili Modüller</th><th>Ä°lgili Yönergeler</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code></li><li><code class="directive"><a href="./mod/core.html#serversignature">ServerSignature</a></code></li><li><code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li></ul></td></tr></table> + + <p><code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code> ve <code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> yönergeleri, hata iletileri gibi + sunucu tarafından üretilen belgelerde sunucu ile ilgili hangi bilgilerin + sunulacağını belirlerler. <code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> yönergesi sunucunun HTTP yanıt baÅŸlığı + alanının deÄŸerini belirler.</p> + + <p><code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>, + <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> ve + <code class="directive"><a href="./mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> + yönergeleri, sunucu tarafından, özüne yönelik URL’leri nasıl + oluÅŸturacağını saptamak için kullanılır. ÖrneÄŸin bir istemci bir dizin + isteÄŸinde bulunurken URL’nin sonuna bölü çizgisi eklemese bile + Apache’nin istemciyi bölü çizgisi ile bitirilmiÅŸ URL yoluna + yönlendirmesi gerekir; böylece istemci belge içindeki göreli + baÄŸlantıları doÄŸru ÅŸekilde çözümleyebilir.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="locations" id="locations">Dosyaların Yerleri</a></h2> + + + <table class="related"><tr><th>Ä°lgili Modüller</th><th>Ä°lgili Yönergeler</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#lockfile">LockFile</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/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code></li><li><code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code></li></ul></td></tr></table> + + <p>Bu yönergeler Apache’nin doÄŸru iÅŸlem yapması için gereksinim duyduÄŸu + çeÅŸitli dosyaların yerlerini belirlerler. Bölü çizgisi (/) ile + baÅŸlamayan dosya yolları kullanıldığında bu dosyaların yerlerinin + <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> yönergesinde belirtilen + dizine göre belirtildiÄŸi varsayılır; root olmayan kullanıcılar + tarafından yazılabilen dosya yollarına dosya yerleÅŸtirmemeye dikkat + ediniz. Bu konuda daha ayrıntılı bilgi edinmek için <a href="misc/security_tips.html#serverroot">güvenlik ipuçları</a> + belgesine bakını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="resource" id="resource">Özkaynak Kullanımının Sınırlanması</a></h2> + + + <table class="related"><tr><th>Ä°lgili Modüller</th><th>Ä°lgili Yönergeler</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#limitrequestbody">LimitRequestBody</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestfields">LimitRequestFields</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestline">LimitRequestLine</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitcpu">RLimitCPU</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitmem">RLimitMEM</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitnproc">RLimitNPROC</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code></li></ul></td></tr></table> + + <p><code>LimitRequest*</code> yönergeleri, Apache’nin istemcilerden gelen + istekleri okumak için kullanacağı özkaynakların miktarları ile ilgili + sınırlamalar koymak için kullanılırlar. Bu deÄŸerleri sınırlamak + suretiyle bazı hizmet reddi saldırılarının etkileri azaltılabilir.</p> + + <p><code>RLimit*</code> yönergeleri ise Apache’nin çocuk süreçleri + tarafından çatallanabilen özkaynakların miktarlarını sınırlamakta + kullanılırlar. Özellikle de CGI betikleri ve SSI çalıştırma komutları + tarafından kullanılan özkaynakları denetlemekte kullanılırlar.</p> + + <p><code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> yönergesi + bazı platformlarda yığıt boyutunu denetim altında tutmak için + kullanılır.</p> + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/server-wide.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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.de b/docs/manual/sitemap.html.de index b2c0cd23..34de1bd8 100644 --- a/docs/manual/sitemap.html.de +++ b/docs/manual/sitemap.html.de @@ -27,6 +27,9 @@ <a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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> <p>Diese Seite verzeichnet die zur Zeit verfügbaren Dokumente der <a href="./">Dokumentation zum Apache HTTP Server Version diff --git a/docs/manual/sitemap.html.en b/docs/manual/sitemap.html.en index 5c0f65ab..b9d49eb1 100644 --- a/docs/manual/sitemap.html.en +++ b/docs/manual/sitemap.html.en @@ -36,7 +36,7 @@ Documentation</a>.</p> <li><img alt="" src="./images/down.gif" /> <a href="#release">Release Notes</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#using">Using the Apache HTTP Server</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#vhosts">Apache Virtual Host documentation</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#faq">Apache Server Frequently Asked Questions</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">URL Rewriting Guide</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#ssl">Apache SSL/TLS Encryption</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#howto">Guides, Tutorials, and HowTos</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#platform">Platform-specific Notes</a></li> @@ -76,7 +76,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="misc/rewriteguide.html">URL Rewriting Guide</a></li> +<li><a href="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> @@ -90,11 +90,16 @@ Documentation</a>.</p> <li><a href="dns-caveats.html">Issues Regarding DNS and 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">Apache Server Frequently Asked Questions</a></h2> -<ul><li><a href="faq/">Overview</a></li> -<li><a href="faq/background.html">Background Information</a></li> -<li><a href="faq/support.html">Support</a></li> -<li><a href="faq/error.html">Error Messages</a></li> +<div class="section"><h2><a name="rewrite" id="rewrite">URL Rewriting Guide</a></h2> +<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> </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> diff --git a/docs/manual/sitemap.html.ja.utf8 b/docs/manual/sitemap.html.ja.utf8 index f356e81c..9164b34d 100644 --- a/docs/manual/sitemap.html.ja.utf8 +++ b/docs/manual/sitemap.html.ja.utf8 @@ -27,6 +27,8 @@ <a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> +<div class="outofdate">This translation may be out of date. Check the + English version for recent changes.</div> <p>ã“ã®ãƒšãƒ¼ã‚¸ã¯ç¾æ™‚点ã§åˆ©ç”¨å¯èƒ½ãª <a href="./">Apache HTTP サーãƒãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2 ã®ãƒ‰ã‚ュメンテーション</a> diff --git a/docs/manual/sitemap.html.tr.utf8 b/docs/manual/sitemap.html.tr.utf8 index c0f538b7..ef66869b 100644 --- a/docs/manual/sitemap.html.tr.utf8 +++ b/docs/manual/sitemap.html.tr.utf8 @@ -35,7 +35,7 @@ Belgeleri</a>nin tamamı listelenmiÅŸtir.</p> <li><img alt="" src="./images/down.gif" /> <a href="#release">Sürümlerin Dağıtım Bilgileri</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#using">Apache HTTP Sunucusunun Kullanımı</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#vhosts">Apache Sanal Konak (VirtualHost) Belgeleri</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#faq">Apache Sunucusu ile ilgili Sıkça Sorulan Sorular</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">URL’lerin Yeniden Yazılması</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#ssl">Apache SSL/TLS Åžifrelemesi</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#howto">Kılavuzlar, Öğreticiler ve Nasıllar</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#platform">Platformlara Özgü Bilgiler</a></li> @@ -75,7 +75,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="misc/rewriteguide.html">URL Yeniden Yazma Rehberi</a></li> +<li><a href="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> @@ -89,8 +89,15 @@ Belgeleri</a>nin tamamı listelenmiÅŸtir.</p> <li><a href="dns-caveats.html">DNS ve Apache ile ilgili Konular</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">Apache Sunucusu ile ilgili Sıkça Sorulan Sorular</a></h2> -<ul><li><a href="faq/">Genel Bakış</a></li> +<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> </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> diff --git a/docs/manual/ssl/index.html b/docs/manual/ssl/index.html index 6f573395..d6ccf929 100644 --- a/docs/manual/ssl/index.html +++ b/docs/manual/ssl/index.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: index.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/ssl/index.html.en b/docs/manual/ssl/index.html.en index 9e4c9e4b..b73cd1e9 100644 --- a/docs/manual/ssl/index.html.en +++ b/docs/manual/ssl/index.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache SSL/TLS Encryption</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/ssl/" title="English"> en </a> | -<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>The Apache HTTP Server module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> @@ -50,7 +51,8 @@ provided by this module is provided in the <a href="../mod/mod_ssl.html">mod_ssl </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/ssl/" title="English"> en </a> | -<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/ssl/index.html.ja.utf8 b/docs/manual/ssl/index.html.ja.utf8 index fb9265b3..1f293f54 100644 --- a/docs/manual/ssl/index.html.ja.utf8 +++ b/docs/manual/ssl/index.html.ja.utf8 @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーãƒ</a> > <a href="http://httpd.apache.org/docs/">ドã‚ュメンテーション</a> > <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache ã® SSL/TLS æš—å·åŒ–</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/ssl/" title="Japanese"> ja </a></p> +<a href="../ja/ssl/" title="Japanese"> ja </a> | +<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Apache HTTP サーãƒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ㌠@@ -52,7 +53,8 @@ Secure Sockts Layer 㨠Transport Layer Security </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ja/ssl/" title="Japanese"> ja </a></p> +<a href="../ja/ssl/" title="Japanese"> ja </a> | +<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/ssl/index.html.tr.utf8 b/docs/manual/ssl/index.html.tr.utf8 new file mode 100644 index 00000000..0d869b20 --- /dev/null +++ b/docs/manual/ssl/index.html.tr.utf8 @@ -0,0 +1,59 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache SSL/TLS Åžifrelemesi - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="../"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>Apache SSL/TLS Åžifrelemesi</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/ssl/" title="Türkçe"> tr </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 + Katmanı (SSL) ve Aktarım Katmanı GüvenliÄŸi (TLS) protokollerinin + kullanıldığı SaÄŸlam Åžifreleme desteÄŸini saÄŸlayan <a href="http://www.openssl.org/">OpenSSL</a> kütüphanesine bir arayüz + içerir. Bu modül ve belgeler Ralf S. Engelschall’ın mod_ssl projesine + dayanmaktadır.</p> +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">Belgeler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mod-ssl"><code>mod_ssl</code> Modülü</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="ssl_intro.html">GiriÅŸ</a></li> + <li><a href="ssl_compat.html">Uyumluluk</a></li> + <li><a href="ssl_howto.html">NASIL</a></li> + <li><a href="ssl_faq.html">Sıkça Sorulan Sorular</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="mod-ssl" id="mod-ssl"><code>mod_ssl</code> Modülü</a></h2> + <p>Bu modülce saÄŸlanan yönergeler ve ortam deÄŸiÅŸkenleri + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> baÅŸvuru kılavuzunda ayrıntılı olarak + açıklanmıştır.</p> +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/ssl/" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/ssl_intro.html.en b/docs/manual/ssl/ssl_intro.html.en index 8b04e215..02786c7f 100644 --- a/docs/manual/ssl/ssl_intro.html.en +++ b/docs/manual/ssl/ssl_intro.html.en @@ -121,16 +121,16 @@ integrity, and authentication.</p> <p>A summary such as this is called a <dfn>message digest</dfn>, <em>one-way function</em> or <em>hash function</em>. Message digests are used to create a short, fixed-length representation of a longer, variable-length message. - Digest algorithms are designed to produce a unique digests for each + Digest algorithms are designed to produce a unique digest for each message. Message digests are designed to make it impractically difficult - to determine the message from the digest, and (in theory) impossible to + to determine the message from the digest and (in theory) impossible to find two different messages which create the same digest -- thus eliminating the possibility of substituting one message for another while maintaining the same digest.</p> <p>Another challenge that Alice faces is finding a way to send the digest to the bank securely; if the digest is not sent securely, its integrity may - be compromised, and with it, the possibility for the bank to determine the + be compromised and with it the possibility for the bank to determine the integrity of the original message. Only if the digest is sent securely can the integrity of the associated message be determined.</p> @@ -144,7 +144,7 @@ message is really from her, so an intruder cannot request a transaction involving her account. A <em>digital signature</em>, created by Alice and included with the message, serves this purpose.</p> -<p>Digital signatures are created by encrypting a digest of the message, and +<p>Digital signatures are created by encrypting a digest of the message and other information (such as a sequence number) with the sender's private key. Though anyone can <em>decrypt</em> the signature using the public key, only the sender knows the private key. This means that only the sender can have signed @@ -161,16 +161,16 @@ the bank from a fraudulent claim from Alice that she did not send the message <h2><a name="certificates" id="certificates">Certificates</a></h2> <p>Although Alice could have sent a private message to the bank, signed -it, and ensured the integrity of the message, she still needs to be sure +it and ensured the integrity of the message, she still needs to be sure that she is really communicating with the bank. This means that she needs to be sure that the public key she is using is part of the bank's key-pair, and not an intruder's. Similarly, the bank needs to verify that the message signature really was signed by the private key that belongs to Alice.</p> <p>If each party has a certificate which validates the other's identity, -confirms the public key, and is signed by a trusted agency, then both +confirms the public key and is signed by a trusted agency, then both can be assured that they are communicating with whom they think they are. -Such a trusted agency is called a <em>Certificate Authority</em>, and +Such a trusted agency is called a <em>Certificate Authority</em> and certificates are used for authentication.</p> <h3><a name="certificatecontents" id="certificatecontents">Certificate Contents</a></h3> @@ -178,9 +178,9 @@ certificates are used for authentication.</p> <p>A certificate associates a public key with the real identity of an individual, server, or other entity, known as the subject. As shown in <a href="#table1">Table 1</a>, information about the subject - includes identifying information (the distinguished name), and the + includes identifying information (the distinguished name) and the public key. It also includes the identification and signature of the - Certificate Authority that issued the certificate, and the period of + Certificate Authority that issued the certificate and the period of time during which the certificate is valid. It may have additional information (or extensions) as well as administrative information for the Certificate Authority's use, such as a serial number.</p> @@ -205,7 +205,7 @@ certificates are used for authentication.</p> <p>A distinguished name is used to provide an identity in a specific context -- for instance, an individual might have a personal certificate as well as one for their identity as an employee. - Distinguished names are defined by the X.509 standard [<a href="#X509">X509</a>], which defines the fields, field names, and + Distinguished names are defined by the X.509 standard [<a href="#X509">X509</a>], which defines the fields, field names and abbreviations used to refer to the fields (see <a href="#table2">Table 2</a>).</p> @@ -246,7 +246,7 @@ certificates are used for authentication.</p> <p>A Certificate Authority may define a policy specifying which - distinguished field names are optional, and which are required. It + distinguished field names are optional and which are required. It may also place requirements upon the field contents, as may users of certificates. For example, a Netscape browser requires that the Common Name for a certificate representing a server matches a wildcard @@ -255,7 +255,7 @@ certificates are used for authentication.</p> <p>The binary format of a certificate is defined using the ASN.1 notation [<a href="#X208">X208</a>] [<a href="#PKCS">PKCS</a>]. This - notation defines how to specify the contents, and encoding rules + notation defines how to specify the contents and encoding rules define how this information is translated into binary form. The binary encoding of the certificate is defined using Distinguished Encoding Rules (DER), which are based on the more general Basic Encoding Rules @@ -339,21 +339,21 @@ dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ== <h4><a name="certificatemanagement" id="certificatemanagement">Certificate Management</a></h4> <p>Establishing a Certificate Authority is a responsibility which - requires a solid administrative, technical, and management + requires a solid administrative, technical and management framework. Certificate Authorities not only issue certificates, they also manage them -- that is, they determine for how long - certificates remain valid, they renew them, and they keep lists of + certificates remain valid, they renew them and keep lists of certificates that were issued in the past but are no longer valid (Certificate Revocation Lists, or CRLs).</p> <p>For example, if Alice is entitled to a certificate as an - employee of a company, but has now left + employee of a company but has now left that company, her certificate may need to be revoked. Because certificates are only issued after the subject's identity has - been verified, and can then be passed around to all those with whom + been verified and can then be passed around to all those with whom the subject may communicate, it is impossible to tell from the certificate alone that it has been revoked. - When examining certificates for validity, therefore, + Therefore when examining certificates for validity it is necessary to contact the issuing Certificate Authority to check CRLs -- this is usually not an automated part of the process.</p> @@ -376,15 +376,15 @@ dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ== placed between a reliable connection-oriented network layer protocol (e.g. TCP/IP) and the application protocol layer (e.g. HTTP). SSL provides for secure communication between client and server by allowing mutual -authentication, the use of digital signatures for integrity, and encryption +authentication, the use of digital signatures for integrity and encryption for privacy.</p> <p>The protocol is designed to support a range of choices for specific -algorithms used for cryptography, digests, and signatures. This allows +algorithms used for cryptography, digests and signatures. This allows algorithm selection for specific servers to be made based on legal, export -or other concerns, and also enables the protocol to take advantage of new -algorithms. Choices are negotiated between client and server at the start -of establishing a protocol session.</p> +or other concerns and also enables the protocol to take advantage of new +algorithms. Choices are negotiated between client and server when +establishing a protocol session.</p> <h3><a name="table4" id="table4">Table 4: Versions of the SSL protocol</a></h3> @@ -396,14 +396,14 @@ of establishing a protocol session.</p> <th>Browser Support</th></tr> <tr><td>SSL v2.0</td> <td>Vendor Standard (from Netscape Corp.) [<a href="#SSL2">SSL2</a>]</td> - <td>First SSL protocol for which implementations exists</td> + <td>First SSL protocol for which implementations exist</td> <td>- NS Navigator 1.x/2.x<br /> - MS IE 3.x<br /> - Lynx/2.8+OpenSSL</td></tr> <tr><td>SSL v3.0</td> <td>Expired Internet Draft (from Netscape Corp.) [<a href="#SSL3">SSL3</a>]</td> <td>Revisions to prevent specific security attacks, add non-RSA - ciphers, and support for certificate chains</td> + ciphers and support for certificate chains</td> <td>- NS Navigator 2.x/3.x/4.x<br /> - MS IE 3.x/4.x<br /> - Lynx/2.8+OpenSSL</td></tr> diff --git a/docs/manual/style/modulesynopsis.dtd b/docs/manual/style/modulesynopsis.dtd index 14f947a5..50841cad 100644 --- a/docs/manual/style/modulesynopsis.dtd +++ b/docs/manual/style/modulesynopsis.dtd @@ -49,7 +49,7 @@ usage?, seealso*)> <!ELEMENT syntax %Inline;> -<!ELEMENT default (#PCDATA | br)*> +<!ELEMENT default (#PCDATA | directive | br)*> <!ELEMENT contextlist (context+)+> diff --git a/docs/manual/style/version.ent b/docs/manual/style/version.ent index 4aa5433e..5634a424 100644 --- a/docs/manual/style/version.ent +++ b/docs/manual/style/version.ent @@ -19,6 +19,6 @@ <!ENTITY httpd.major "2"> <!ENTITY httpd.minor "2"> -<!ENTITY httpd.patch "9"> +<!ENTITY httpd.patch "11"> <!ENTITY httpd.docs "2.2"> diff --git a/docs/manual/suexec.html b/docs/manual/suexec.html index 23d2e125..9c833c98 100644 --- a/docs/manual/suexec.html +++ b/docs/manual/suexec.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: suexec.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: suexec.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/suexec.html.en b/docs/manual/suexec.html.en index 208b1c7c..0aa2f8e8 100644 --- a/docs/manual/suexec.html.en +++ b/docs/manual/suexec.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/suexec.html" title="English"> en </a> | <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>The <strong>suEXEC</strong> feature provides @@ -125,7 +126,7 @@ <ol> <li> <strong>Is the user executing this wrapper a valid user of - this system?</strong> + this system?</strong> <p class="indent"> This is to ensure that the user executing the wrapper is @@ -135,7 +136,7 @@ <li> <strong>Was the wrapper called with the proper number of - arguments?</strong> + arguments?</strong> <p class="indent"> The wrapper will only execute if it is given the proper @@ -149,7 +150,7 @@ <li> <strong>Is this valid user allowed to run the - wrapper?</strong> + wrapper?</strong> <p class="indent"> Is this user the user allowed to run this wrapper? Only @@ -160,7 +161,7 @@ <li> <strong>Does the target CGI or SSI program have an unsafe - hierarchical reference?</strong> + hierarchical reference?</strong> <p class="indent"> Does the target CGI or SSI program's path contain a leading @@ -172,7 +173,7 @@ </li> <li> - <strong>Is the target user name valid?</strong> + <strong>Is the target user name valid?</strong> <p class="indent"> Does the target user exist? @@ -180,7 +181,7 @@ </li> <li> - <strong>Is the target group name valid?</strong> + <strong>Is the target group name valid?</strong> <p class="indent"> Does the target group exist? @@ -199,7 +200,7 @@ <li> <strong>Is the target userid <em>ABOVE</em> the minimum ID - number?</strong> + number?</strong> <p class="indent"> The minimum user ID number is specified during @@ -211,7 +212,7 @@ <li> <strong>Is the target group <em>NOT</em> the superuser - group?</strong> + group?</strong> <p class="indent"> Presently, suEXEC does not allow the <code><em>root</em></code> @@ -221,7 +222,7 @@ <li> <strong>Is the target groupid <em>ABOVE</em> the minimum ID - number?</strong> + number?</strong> <p class="indent"> The minimum group ID number is specified during @@ -233,7 +234,7 @@ <li> <strong>Can the wrapper successfully become the target user - and group?</strong> + and group?</strong> <p class="indent"> Here is where the program becomes the target user and @@ -255,12 +256,12 @@ <li> <strong>Is the directory within the Apache - webspace?</strong> + webspace?</strong> <p class="indent"> If the request is for a regular portion of the server, is the requested directory within suEXEC's document root? If - the request is for a UserDir, is the requested directory + the request is for a <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, is the requested directory within the directory configured as suEXEC's userdir (see <a href="#install">suEXEC's configuration options</a>)? </p> @@ -268,7 +269,7 @@ <li> <strong>Is the directory <em>NOT</em> writable by anyone - else?</strong> + else?</strong> <p class="indent"> We don't want to open up the directory to others; only @@ -278,7 +279,7 @@ </li> <li> - <strong>Does the target CGI/SSI program exist?</strong> + <strong>Does the target CGI/SSI program exist?</strong> <p class="indent"> If it doesn't exists, it can't very well be executed. @@ -287,7 +288,7 @@ <li> <strong>Is the target CGI/SSI program <em>NOT</em> writable - by anyone else?</strong> + by anyone else?</strong> <p class="indent"> We don't want to give anyone other than the owner the @@ -297,7 +298,7 @@ <li> <strong>Is the target CGI/SSI program <em>NOT</em> setuid or - setgid?</strong> + setgid?</strong> <p class="indent"> We do not want to execute programs that will then change @@ -307,7 +308,7 @@ <li> <strong>Is the target user/group the same as the program's - user/group?</strong> + user/group?</strong> <p class="indent"> Is the user the owner of the file? @@ -316,7 +317,7 @@ <li> <strong>Can we successfully clean the process environment - to ensure safe operations?</strong> + to ensure safe operations?</strong> <p class="indent"> suEXEC cleans the process' environment by establishing a @@ -329,7 +330,7 @@ <li> <strong>Can we successfully become the target CGI/SSI program - and execute?</strong> + and execute?</strong> <p class="indent"> Here is where suEXEC ends and the target CGI/SSI program begins. @@ -387,13 +388,13 @@ directories where suEXEC access should be allowed. All executables under this directory will be executable by suEXEC as the user so they should be "safe" programs. If you are - using a "simple" UserDir directive (ie. one without a "*" in - it) this should be set to the same value. suEXEC will not - work properly in cases where the UserDir directive points to + using a "simple" <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> + directive (ie. one without a "*" in it) this should be set to the same + value. suEXEC will not work properly in cases where the <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> directive points to a location that is not the same as the user's home directory - as referenced in the passwd file. Default value is - "public_html".<br /> - If you have virtual hosts with a different UserDir for each, + as referenced in the <code>passwd</code> file. Default value is + "<code>public_html</code>".<br /> + If you have virtual hosts with a different <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> for each, you will need to define them to all reside in one parent directory; then name that parent directory here. <strong>If this is not defined properly, "~userdir" cgi requests will @@ -402,12 +403,12 @@ <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt> <dd>Define as the DocumentRoot set for Apache. This will be - the only hierarchy (aside from UserDirs) that can be used for - suEXEC behavior. The default directory is the <code>--datadir</code> - value with the suffix "/htdocs", <em>e.g.</em> if you configure - with "<code>--datadir=/home/apache</code>" the directory - "/home/apache/htdocs" is used as document root for the suEXEC - wrapper.</dd> + the only hierarchy (aside from <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>s) that can be used for suEXEC behavior. The + default directory is the <code>--datadir</code> value with the suffix + "<code>/htdocs</code>", <em>e.g.</em> if you configure with + "<code>--datadir=/home/apache</code>" the directory + "<code>/home/apache/htdocs</code>" is used as document root for the + suEXEC wrapper.</dd> <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt> @@ -426,61 +427,68 @@ <dd>This defines the filename to which all suEXEC transactions and errors are logged (useful for auditing and debugging purposes). By default the logfile is named - "suexec_log" and located in your standard logfile directory - (<code>--logfiledir</code>).</dd> + "<code>suexec_log</code>" and located in your standard logfile + directory (<code>--logfiledir</code>).</dd> <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt> <dd>Define a safe PATH environment to pass to CGI executables. Default value is - "/usr/local/bin:/usr/bin:/bin".</dd> + "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd> </dl> - <p><strong>Compiling and installing the suEXEC - wrapper</strong><br /> - If you have enabled the suEXEC feature with the - <code>--enable-suexec</code> option the <code>suexec</code> binary - (together with Apache itself) is automatically built if you execute - the <code>make</code> command.<br /> - After all components have been built you can execute the - command <code>make install</code> to install them. The binary image - <code>suexec</code> is installed in the directory defined by the - <code>--sbindir</code> option. The default location is - "/usr/local/apache2/bin/suexec".<br /> - Please note that you need <strong><em>root - privileges</em></strong> for the installation step. In order - for the wrapper to set the user ID, it must be installed as - owner <code><em>root</em></code> and must have the setuserid - execution bit set for file modes.</p> - - <p><strong>Setting paranoid permissions</strong><br /> - Although the suEXEC wrapper will check to ensure that its - caller is the correct user as specified with the - <code>--with-suexec-caller</code> <code class="program"><a href="./programs/configure.html">configure</a></code> - option, there is - always the possibility that a system or library call suEXEC uses - before this check may be exploitable on your system. To counter - this, and because it is best-practise in general, you should use - filesystem permissions to ensure that only the group Apache - runs as may execute suEXEC.</p> - - <p>If for example, your web server is configured to run as:</p> - -<div class="example"><p><code> - User www<br /> - Group webgroup<br /> -</code></p></div> - - <p>and <code class="program"><a href="./programs/suexec.html">suexec</a></code> is installed at - "/usr/local/apache2/bin/suexec", you should run:</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>This will ensure that only the group Apache runs as can even - execute the suEXEC wrapper.</p> + <h3>Compiling and installing the suEXEC wrapper</h3> + + + <p>If you have enabled the suEXEC feature with the + <code>--enable-suexec</code> option the <code>suexec</code> binary + (together with Apache itself) is automatically built if you execute + the <code>make</code> command.</p> + + <p>After all components have been built you can execute the + command <code>make install</code> to install them. The binary image + <code>suexec</code> is installed in the directory defined by the + <code>--sbindir</code> option. The default location is + "/usr/local/apache2/bin/suexec".</p> + + <p>Please note that you need <strong><em>root + privileges</em></strong> for the installation step. In order + for the wrapper to set the user ID, it must be installed as + owner <code><em>root</em></code> and must have the setuserid + execution bit set for file modes.</p> + + + <h3>Setting paranoid permissions</h3> + + + <p>Although the suEXEC wrapper will check to ensure that its + caller is the correct user as specified with the + <code>--with-suexec-caller</code> <code class="program"><a href="./programs/configure.html">configure</a></code> + option, there is + always the possibility that a system or library call suEXEC uses + before this check may be exploitable on your system. To counter + this, and because it is best-practise in general, you should use + filesystem permissions to ensure that only the group Apache + runs as may execute suEXEC.</p> + + <p>If for example, your web server is configured to run as:</p> + + <div class="example"><p><code> + User www<br /> + Group webgroup<br /> + </code></p></div> + + <p>and <code class="program"><a href="./programs/suexec.html">suexec</a></code> is installed at + "/usr/local/apache2/bin/suexec", you should run:</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>This will ensure that only the group Apache runs as can even + execute the suEXEC wrapper.</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">Enabling & Disabling @@ -560,7 +568,7 @@ <li><strong>suEXEC Points Of Interest</strong></li> <li> - Hierarchy limitations + Hierarchy limitations <p class="indent"> For security and efficiency reasons, all suEXEC requests @@ -575,7 +583,7 @@ </li> <li> - suEXEC's PATH environment variable + suEXEC's PATH environment variable <p class="indent"> This can be a dangerous thing to change. Make certain @@ -587,7 +595,7 @@ </li> <li> - Altering the suEXEC code + Altering the suEXEC code <p class="indent"> Again, this can cause <strong>Big Trouble</strong> if you @@ -601,7 +609,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/suexec.html" title="English"> en </a> | <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/suexec.html.ja.utf8 b/docs/manual/suexec.html.ja.utf8 index 3ee1346a..9f80390d 100644 --- a/docs/manual/suexec.html.ja.utf8 +++ b/docs/manual/suexec.html.ja.utf8 @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/suexec.html" title="Japanese"> ja </a> | -<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -604,7 +605,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/suexec.html" title="Japanese"> ja </a> | -<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/suexec.html.ko.euc-kr b/docs/manual/suexec.html.ko.euc-kr index 1fa573b4..c759b58a 100644 --- a/docs/manual/suexec.html.ko.euc-kr +++ b/docs/manual/suexec.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/suexec.html" title="Korean"> ko </a></p> +<a href="./ko/suexec.html" title="Korean"> ko </a> | +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -527,7 +528,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/suexec.html" title="Korean"> ko </a></p> +<a href="./ko/suexec.html" title="Korean"> ko </a> | +<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/suexec.html.tr.utf8 b/docs/manual/suexec.html.tr.utf8 new file mode 100644 index 00000000..ecec571e --- /dev/null +++ b/docs/manual/suexec.html.tr.utf8 @@ -0,0 +1,556 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>SuEXEC DesteÄŸi - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <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"> en </a> | +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/suexec.html" title="Türkçe"> tr </a></p> +</div> + + <p><strong>SuEXEC</strong> özelliÄŸi, Apache kullanıcılarına + <strong>CGI</strong> ve <strong>SSI</strong> programlarını sunucunun + aidiyetinde çalıştığı kullanıcıdan farklı bir kullanıcının aidiyetinde + çalıştırma olanağı verir. Normalde, <strong>CGI</strong> ve + <strong>SSI</strong> programlarını çalıştıranla sunucuyu çalıştıran + aynı kullanıcıdır.</p> + + <p>GerektiÄŸi gibi kullanıldığında bu özellik, kullanıcılara + <strong>CGI</strong> ve <strong>SSI</strong> programlarını çalıştırma + ve geliÅŸtirmeye izin vermekle ortaya çıkan güvenlik risklerini azaltır. + Bununla birlikte, <strong>suEXEC</strong> gerektiÄŸi gibi + yapılandırılmadığı takdirde bazı sorunlara yol açabilir ve bilgisayar + güvenliÄŸinizde yeni delikler ortaya çıkmasına sebep olabilir. + Güvenlikle ilgili mevcut sorunlarla baÅŸa çıkmada ve <em>setuid + root</em> programları yönetmekte bilgi ve deneyim sahibi deÄŸilseniz + <strong>suEXEC</strong> kullanmayı kesinlikle düşünmemenizi + öneririz.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">BaÅŸlamadan önce</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#model">SuEXEC Güvenlik Modeli</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC’in Yapılandırılması ve Kurulumu</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#usage">SuEXEC’in kullanımı</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#debug">SuEXEC ve hata ayıklama</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Uyarılar ve Örnekler</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">BaÅŸlamadan önce</a></h2> + + <p>Belgeye balıklama dalmadan önce, Apache Grubu ve bu belge ile ilgili + kabuller hakkında bilgi sahibi olmalısınız.</p> + + <p>Öncelikle, üzerinde <strong>setuid</strong> va <strong>setgid</strong> + iÅŸlemlerinin yapılabildiÄŸi Unix türevi bir iÅŸletim sistemi + kullandığınızı varsayıyoruz. Tüm komut örnekleri buna dayanarak + verilmiÅŸtir. Bu desteÄŸe sahip baÅŸka platformlar varsa onlardaki + yapılandırma burada anlattığımız yapılandırmadan farklı olabilir.</p> + + <p>Ä°kinci olarak, bilgisayarınızın güvenliÄŸi ve yönetimi ile ilgili bazı + temel kavramları bildiÄŸinizi kabul ediyoruz. Buna + <strong>setuid/setgid</strong> iÅŸlemlerinin sisteminiz ve güvenlik + seviyesi üzerindeki etkilerini bilmek dahildir.</p> + + <p>Üçüncü olarak, <strong>suEXEC</strong> kodunun + <strong>deÄŸiÅŸtirilmemiÅŸ</strong> bir sürümünü kullandığınızı + varsayıyoruz. Tüm suEXEC kodu, geliÅŸtiricilerin yanında sayısız beta + kullanıcısı tarafından dikkatle incelenmiÅŸ ve denenmiÅŸtir. Kodların hem + basit hem de saÄŸlam bir ÅŸekilde güvenli olması için gerekli tüm + önlemler alınmıştır. Bu kodun deÄŸiÅŸtirilmesi beklenmedik sorunlara ve + yeni güvenlik risklerine yol açabilir. Özellikle güvenlikle ilgili + programlarda deneyimli deÄŸilseniz suEXEC kodunda kesinlikle bir + deÄŸiÅŸiklik yapmamalısınız. DeÄŸiÅŸiklik yaparsanız kodlarınızı gözden + geçirmek ve tartışmak üzere Apache Grubu ile paylaÅŸmanızı öneririz.</p> + + <p>Dördüncü ve son olarak, Apache Grubunun suEXEC’i öntanımlı Apache + kurulumunun bir parçası yapmama kararından bahsetmek gerekir. Bunun + sonucu olarak, suEXEC yapılandırması sistem yöneticisinin ayrıntılı bir + incelemesini gerektirir. Gerekli incelemeden sonra yönetici tarafından + suEXEC yapılandırma seçeneklerine karar verilip, normal yollardan + sisteme kurulumu yapılır. Bu seçeneklerin belirlenmesi, suEXEC + iÅŸlevselliÄŸinin kullanımı sırasında sistem güvenliÄŸini gerektiÄŸi gibi + saÄŸlamak için yönetici tarafından dikkatle saptanmayı gerektirir. Bu + sürecin ayrıntılarının yöneticiye bırakılma sebebi, Apache Grubunun + suEXEC kurulumunu, suEXEC’i dikkatle kullanacak yeterliliÄŸe sahip + olanlarla sınırlama beklentisidir.</p> + + <p>Hala bizimle misiniz? Evet mi? Pekala, o halde devam!</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">SuEXEC Güvenlik Modeli</a></h2> + + <p>SuEXEC yapılandırması ve kurulumuna giriÅŸmeden önce biraz da + gerçekleÅŸmesini istediÄŸiniz güvenlik modelinin ayrıntıları üzerinde + duralım. Böylece, suEXEC’in içinde olup bitenleri ve sisteminizin + güvenliÄŸi için alınacak önlemleri daha iyi anlayabilirsiniz.</p> + + <p><strong>suEXEC</strong> iÅŸlevselliÄŸi, Apache HTTP Sunucusu tarafından + gerektiÄŸi takdirde artalanda çalıştırılan bir setuid programa dayanır. + Bu program, bir CGI veya SSI betiÄŸine bir HTTP isteÄŸi yapıldığı zaman, + bu betiÄŸi, yöneticinin ana sunucunun aidiyetinde çalıştığı kullanıcıdan + farklı olarak seçtiÄŸi bir kullanıcının aidiyetinde çalıştırmak için + çaÄŸrılır. Böyle bir istek geldiÄŸinde, Apache artalandaki setuid + programına, HTTP isteÄŸi yapılan programın ismiyle beraber aidiyetinde + çalışacağı kullanıcı ve grup kimliklerini de aktarır.</p> + + <p>Artalanda çalıştırılan setuid program baÅŸarıyı ve baÅŸarısızlığı + aÅŸağıdaki süreci izleyerek saptar. Bunlardan herhangi biri baÅŸarısız + olursa program baÅŸarısızlık durumunu günlüğe kaydeder ve bir hata + vererek çıkar. Aksi takdirde çalışmaya devam eder.</p> + + <ol> + <li> + <strong>Setuid programı çalıştıran kullanıcı sistemin geçerli + kullanıcılarından biri mi?</strong> + + <p class="indent">Bu, setuid programı çalıştıran kullanıcının + sistemin gerçek bir kullanıcısı olduÄŸunudan emin olunmasını saÄŸlar. + </p> + </li> + + <li> + <strong>Setuid program yeterli sayıda argümanla çaÄŸrılmış mı? + </strong> + + <p class="indent">Apache’nin artalanda çağırdığı setuid program + ancak yeterli sayıda argüman saÄŸlandığı takdirde çalışacaktır. + Argümanların sayısını ve sırasını Apache HTTP sunucusu bilir. EÄŸer + setuid program yeterli sayıda argümanla çaÄŸrılmamışsa ya + kendisinde bir deÄŸiÅŸiklik yapılmıştır ya da kurulu Apache + çalıştırılabilirinin suEXEC ile ilgili kısmında yanlış giden bir + ÅŸeyler vardır.</p> + </li> + + <li> + <strong>Bu geçerli kullanıcının bu setuid programı çalıştırma + yetkisi var mı?</strong> + + <p class="indent">Sadece tek bir kullanıcı (Apache’nin aidiyetinde + çalıştığı kullanıcı) bu programı çalıştırmaya yetkilidir.</p> + </li> + + <li> + <strong>Hedef CGI veya SSI programı hiyerarÅŸik olarak güvenliÄŸi + bozacak bir dosya yolu üzerinde mi?</strong> + + <p class="indent">Hedef CGI veya SSI programının dosya yolu '/' veya + '..' ile baÅŸlıyor mu? Buna izin verilmez. Hedef CGI veya SSI + programı suEXEC’in belge kök dizininde yer almalıdır (aÅŸağıda + <code>--with-suexec-docroot=<em>DÄ°ZÄ°N</em></code> seçeneÄŸine + bakınız).</p> + </li> + + <li> + <strong>Hedef kullanıcı ismi geçerli mi?</strong> + + <p class="indent">Hedef kullanıcı mevcut mu?</p> + </li> + + <li> + <strong>Hedef grup ismi geçerli mi?</strong> + + <p class="indent">Hedef grup mevcut mu?</p> + </li> + + <li> + <strong>Hedef kullanıcı <code>root</code> deÄŸil, deÄŸil mi?</strong> + + <p class="indent">Mevcut durumda, <code>root</code> kullanıcısının + CGI/SSI programlarını çalıştırmasına izin verilmemektedir.</p> + </li> + + <li> + <strong>Hedef kullanıcı kimliÄŸi asgari kullanıcı numarasından + <em>BÃœYÃœK</em> mü?</strong> + + <p class="indent">Asgari kullanıcı numarası yapılandırma sırasında + belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin + verilecek olası en düşük kullanıcı numarasını belirlemeniz mümkün + kılınmıştır. Bu bazı “sistem†hesaplarını devreden çıkarmak için + yararlıdır.</p> + </li> + + <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> + </li> + + <li> + <strong>Hedef grup numarası asgari grup numarasından + <em>BÃœYÃœK</em> mü?</strong> + + <p class="indent">Asgari grup numarası yapılandırma sırasında + belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin + verilecek olası en düşük grup numarasını belirlemeniz mümkün + kılınmıştır. Bu bazı “sistem†hesaplarını devreden çıkarmak için + yararlıdır.</p> + </li> + + <li> + <strong>Apache’nin artalanda çağırdığı setuid program hedef + kullanıcı ve grubun aidiyetine geçebildi mi?</strong> + + <p class="indent">Bu noktadan itibaren program setuid ve setgid + çaÄŸrıları üzerinden hedef kullanıcı ve grubun aidiyetine geçer. + EriÅŸim grubu listesi de ayrıca kullanıcının üyesi olduÄŸu tüm + gruplara geniÅŸletilir.</p> + </li> + + <li> + <strong>Hedef CGI/SSI programının bulunduÄŸu dizine geçebildik mi? + </strong> + + <p class="indent">Dizin mevcut deÄŸilse dosyaları da içeremez. Hedef + dizine geçemiyorsak bu, dizin mevcut olmadığından olabilir.</p> + </li> + + <li> + <strong>Hedef dizin Apache için izin verilen yerlerden biri mi? + </strong> + + <p class="indent">Ä°stek sunucunun normal bir bölümü için yapılmış + olsa da istenen dizin acaba suEXEC’in belge kök dizini altında mı? + Yani, istenen dizin, suEXEC’in aidiyetinde çalıştığı kullanıcının + ev dizini altında bulunan, <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> ile belirtilen dizinin altında mı? (<a href="#install">suEXEC’in yapılandırma seçeneklerine</a> + bakınız).</p> + </li> + + <li> + <strong>Hedef dizin baÅŸkaları tarafından yazılabilen bir dizin deÄŸil, + deÄŸil mi?</strong> + + <p class="indent">BaÅŸkaları da yazabilsin diye bir dizin açmıyoruz; + dizin içeriÄŸini sadece sahibi deÄŸiÅŸtirebilmelidir.</p> + </li> + + <li> + <strong>Hedef CGI/SSI programı mevcut mu?</strong> + + <p class="indent">Mevcut deÄŸilse çalıştırılamaz.</p> + </li> + + <li> + <strong>Hedef CGI/SSI program dosyasına baÅŸkaları tarafından + yazılamıyor, deÄŸil mi?</strong> + + <p class="indent">Hedef CGI/SSI programının dosyasına sahibinden + baÅŸka kimsenin bir ÅŸeyler yazmasını istemeyiz.</p> + </li> + + <li> + <strong>Hedef CGI/SSI program setuid veya setgid <em>deÄŸil</em>, + deÄŸil mi?</strong> + + <p class="indent">UID/GID‘i tekrar deÄŸiÅŸtirecek programlar + çalıştırmayı istemeyiz.</p> + </li> + + <li> + <strong>Hedef kullanıcı/grup, programın kullanıcı/grubu ile aynı mı? + </strong> + + <p class="indent">Hedef kullanıcı dosyanın sahibi mi?</p> + </li> + + <li> + <strong>Ä°ÅŸlemlerin güvenle yapılabilmesi için süreç ortamını + baÅŸarıyla temizleyebildik mi?</strong> + + <p class="indent">suEXEC, sürecin çalışacağı ortama güvenli bir + program çalıştırma yolu saÄŸlamaktan baÅŸka, yapılandırma sırasında + oluÅŸturulan güvenli ortam deÄŸiÅŸkenleri listesinde isimleri bulunan + ortam deÄŸiÅŸkenlerinden baÅŸkasını aktarmayacaktır.</p> + </li> + + <li> + <strong>Hedef CGI/SSI programı haline gelip çalışabildik mi?</strong> + + <p class="indent">Burası suEXEC’in bitip CGI/SSI programının + baÅŸladığı yerdir.</p> + </li> + </ol> + + <p>Bu süreç suEXEC güvenlik modelinin standart iÅŸlemlerini oluÅŸturur. + Biraz zorlayıcı ve CGI/SSI tasarımına yeni kurallar ve sınırlamalar + getiriyor olsa da düşünülen güvenliÄŸi adım adım saÄŸlayacak ÅŸekilde + tasarlanmıştır.</p> + + <p>Düzgün bir suEXEC yapılandırmasının hangi güvenlik risklerinden + kurtulmayı saÄŸladığı ve bu güvenlik modelinin sunucu yapılandırmasıyla + ilgili sorumluluklarınızı nasıl sınırlayabildiÄŸi hakkında daha + ayrıntılı bilgi edinmek için bu belgenin <a href="#jabberwock">"Uyarılar ve Örnekler"</a> bölümüne bakını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="install" id="install">suEXEC’in Yapılandırılması ve Kurulumu</a></h2> + + <p>EÄŸlence baÅŸlıyor.</p> + + <p><strong>suEXEC yapılandırma seçenekleri</strong><br /> + </p> + + <dl> + <dt><code>--enable-suexec</code></dt> + + <dd>Bu seçenek, hiçbir zaman öntanımlı olarak kurulmayan ve + etkinleÅŸtirilmeyen suEXEC özelliÄŸini etkin kılar. suEXEC özelliÄŸini + kullanma isteÄŸinizi Apache’nin kabul edebilmesi için + <code>--enable-suexec</code> seçeneÄŸinin yanında en azından bir tane + de <code>--with-suexec-xxxxx</code> seçeneÄŸi belirtilmiÅŸ + olmalıdır.</dd> + + <dt><code>--with-suexec-bin=<em>YOL</em></code></dt> + + <dd>Güvenlik sebebiyle <code>suexec</code> çalıştırılabilirinin + bulunduÄŸu yer sunucu koduna yazılır. Bu seçenekle öntanımlı yol + deÄŸiÅŸtirilmiÅŸ olur. Örnek:<br /> + <code>--with-suexec-bin=/usr/sbin/suexec</code></dd> + + <dt><code>--with-suexec-caller=<em>KULLANICI</em></code></dt> + + <dd>Normalde Apache’nin aidiyetinde çalıştığı <a href="mod/mpm_common.html#user">kullanıcı</a>dır. Bu, bu programı + çalıştırmasına izin verilen tek kullanıcıdır.</dd> + + <dt><code>--with-suexec-userdir=<em>DÄ°ZÄ°N</em></code></dt> + + <dd><p>Kullanıcıların ev dizinleri altında suEXEC’in eriÅŸmesine izin + verilen alt dizinin yerini tanımlar. Bu dizin altında suEXEC + kullanıcısı tarafından çalıştırılacak tüm programlar "güvenilir" + olmalıdır. EÄŸer “basit†bir <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi kullanıyorsanız ( içinde “*†+ bulunmayan), bunun aynı dizin olması gerekir. EÄŸer burada belirtilen + dizin, <code>passwd</code> dosyasında kullanıcı için belirtilmiÅŸ + dizinin altında <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> + yönergesinde belirtilen dizin olmadığı takdirde suEXEC iÅŸini + gerektiÄŸi gibi yapmayacaktır. Öntanımlı deÄŸer + <code>public_html</code>’dir.</p> + + <p>EÄŸer, sanal konaklarınızın herbiri farklı <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergeleri içeriyorsa + burada belirtilecek dizinin üst dizininin hepsinde aynı olması + gerekir. <strong>Aksi takdirde, "~<em><code>kullanıcı</code></em>" + istekleri düzgün çalışmayacaktır.</strong></p></dd> + + <dt><code>--with-suexec-docroot=<em>DÄ°ZÄ°N</em></code></dt> + + <dd>Apache için belge kök dizinini belirler. Bu, (<code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>’lardan baÅŸka) suEXEC için + kullanılacak tek hiyerarÅŸi olacaktır. Öntanımlı dizin sonuna + "<code>/htdocs</code>" eklenmiÅŸ <code>--datadir</code> dizinidir. + Yani, seçeneÄŸi "<code>--datadir=/home/apache</code>" olarak + belirtmiÅŸseniz suEXEC çalıştırıcısı için belge kök dizini + "<code>/home/apache/htdocs</code>" olur.</dd> + + <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt> + + <dd>suEXEC kullanıcısının kullanıcı kimliÄŸi olarak izin verilen en + düşük deÄŸeri belirler. ÇoÄŸu sistemde bu ya 500’dür ya da 100; 100 + öntanımlıdır.</dd> + + <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt> + + <dd>suEXEC kullanıcısının grup kimliÄŸi olarak izin verilen en düşük + deÄŸeri belirler. ÇoÄŸu sistemde bu 100 olup, seçeneÄŸin de öntanımlı + deÄŸeridir.</dd> + + <dt><code>--with-suexec-logfile=<em>DOSYA</em></code></dt> + + <dd>suEXEC hareketlerinin ve hatalarının kaydedileceÄŸi günlük + dosyasının adını belirler (denetim ve hata ayıklama için + kullanışlıdır). Öntanımlı günlük dosyası ismi + "<code>suexec_log</code>" olup yeri (<code>--logfiledir</code> + seçeneÄŸi ile belirtilen) günlük dosyaları dizinidir.</dd> + + <dt><code>--with-suexec-safepath=<em>YOL</em></code></dt> + + <dd>CGI çalıştırılabilirlerine aktarılacak güvenilir <code>PATH</code> + ortam deÄŸiÅŸkeninin deÄŸerini tanımlar. + "<code>/usr/local/bin:/usr/bin:/bin</code>" öntanımlıdır.</dd> + </dl> + + <h3>SuEXEC çalıştırıcısının derlenmesi ve kurulumu</h3> + + + <p>SuEXEC özelliÄŸini <code>--enable-suexec</code> seçeneÄŸi ile + etkinleÅŸtirdiyseniz <code>make</code> komutunu verdiÄŸinizde Apache + ile birlikte <code>suexec</code> çalıştırılabilir dosyası da + derlenecektir.</p> + + <p>Tüm bileÅŸenler derlendikten sonra <code>make install</code> komutunu + vererek kurulumu tamamlayabilirsiniz. <code>suexec</code> + çalıştırılabilir dosyası <code>--sbindir</code> seçeneÄŸi ile + tanımlanan dizine kurulacaktır; öntanımlı yeri + <code>/usr/local/apache2/bin/</code> dizinidir.</p> + + <p>Kurulum adımında <strong><em>root yetkisine</em></strong> sahip + olmanız gerektiÄŸini unutmayın. Çalıştırıcıya kullanıcı kimliÄŸinin + atanabilmesi ve dosyanın sahibi olan kullanıcı kimliÄŸi ile + çalıştırılabilmesini mümkün kılan bitinin etkin kılınabilmesi için + kurulumun <code><em>root</em></code> tarafından yapılması + önemlidir.</p> + + + <h3>Paranoyak yetkilendirme</h3> + + + <p>SuEXEC çalıştırıcısı kendini çalıştıran kullanıcının + <code class="program"><a href="./programs/configure.html">configure</a></code> betiÄŸine + <code>--with-suexec-caller</code> seçeneÄŸi ile belirtilen kullanıcı + olup olmadığına bakacaksa da, bu sınamanın da bir sistem veya + kütüphane çaÄŸrısı ile istismar edilmiÅŸ olma ihtimali gözardı + edilmemelidir. Bunun meydana gelmesini önlemek için ve genelde + yapıldığı gibi dosyanın izinlerini suEXEC çalıştırıcısı sadece Apache + sunucusunun aidiyetinde çalıştığı kullanıcı tarafından çalıştırılacak + ÅŸekilde ayarlayınız.</p> + + <p>ÖrneÄŸin, sunucunuz şöyle yapılandırılmışsa:</p> + + <div class="example"><p><code> + User apache<br /> + Group apache-grup<br /> + </code></p></div> + + <p>Ve <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırılabilir de + <code>/usr/local/apache2/bin/</code> dizinine kurulmuÅŸsa ÅŸu komutları + vermelisiniz:</p> + + <div class="example"><p><code> + chgrp apache-grup /usr/local/apache2/bin/suexec<br /> + chmod 4750 /usr/local/apache2/bin/suexec<br /> + </code></p></div> + + <p>Böylece suEXEC çalıştırıcısını Apache’yi çalıştıran grubun + üyelerinden baÅŸkasının çalıştıramayacağından emin olabilirsiniz.</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">suEXEC’in etkin kılınması ve iptal edilmesi</a></h2> + + + <p>Apache baÅŸlatıldığı sırada <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırıcısı + için <code>--sbindir</code> seçeneÄŸi ile tanımlanan dizine bakar + (seçeneÄŸin öntanımlı deÄŸeri + <code>/usr/local/apache/sbin/suexec</code>’tir). Apache düzgün + yapılandırılmış bir suEXEC çalıştırıcısı bulduÄŸu takdirde hata + günlüğüne şöyle bir ileti yazacaktır:</p> + +<div class="example"><p><code> + [notice] suEXEC mechanism enabled (wrapper: <var>/dosya/yolu/suexec</var>) +</code></p></div> + + <p>Sunucu baÅŸlatıldığında bu ileti yazılmazsa sunucu ya çalıştırıcı + programı umduÄŸu yerde bulamamıştır ya da dosyanın <em>setuid</em> biti + <em>root</em> tarafından etkin kılınmamıştır.</p> + + <p>SuEXEC mekanizmasını etkin kılmak istediÄŸiniz sunucu çalışmaktaysa + sunucuyu önce öldürmeli sonra yeniden baÅŸlatmalısınız. Basit bir + <code>HUP</code> veya <code>USR1</code> sinyali ile yeniden baÅŸlamasını + saÄŸlamak yeterli olmayacaktır.</p> + + <p>SuEXEC mekanizmasını iptal etmek için ise <code class="program"><a href="./programs/suexec.html">suexec</a></code> + dosyasını sildikten sonra Apache sunucusunu öldürüp yeniden + baÅŸlamalısını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="usage" id="usage">SuEXEC’in kullanımı</a></h2> + + <p>CGI programlarına yapılan isteklerin suEXEC çalıştırıcısı tarafından + yerine getirilebilmesi için sanal konağın bir <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> yönergesi içermesi veya + isteÄŸin <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından iÅŸleme konulması + gerekir.</p> + + <p><strong>Sanal Konaklar:</strong><br />SuEXEC çalıştırıcısını farklı + bir kullanıcı ile etkin kılmanın tek yolu <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> bölümleri içinde <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> yönergesini + kullanmaktır. Bu yönergede ana sunucuyu çalıştıran kullanıcıdan farklı + bir kullanıcı belirterek ilgili sanal konak üzerinden CGI kaynakları + için yapılan tüm isteklerin belirtilen <em>kullanıcı</em> ve + <em>grup</em> tarafından çalıştırılması saÄŸlanır. Bu yönergeyi + içermeyen sanal konaklar için ana sunucunun kullanıcısı + öntanımlıdır.</p> + + <p><strong>Kullanıcı dizinleri:</strong><br /> + <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından iÅŸleme sokulan tüm istekler için + suEXEC çalıştırıcısı istek yapılan kullanıcı dizininin sahibinin + aidiyetinde çalıştırılacaktır. Bu özelliÄŸin çalışması için tek + gereklilik, kullanıcının SuEXEC çalıştırıcısı için etkin kılınmış olması + ve çalıştırıcının yukarıdaki <a href="#model">güvenlik sınamalarından</a> + geçebilmesidir. Ayrıca, <code>--with-suexec-userdir</code> <a href="#install">derleme</a> seçeneÄŸinin açıklamasına da bakını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="debug" id="debug">SuEXEC ve hata ayıklama</a></h2> + + <p>SuEXEC çalıştırıcısı yukarıda deÄŸinildiÄŸi gibi günlük bilgilerini + <code>--with-suexec-logfile</code> seçeneÄŸi ile belirtilen dosyaya + yazacaktır. Çalıştırıcıyı doÄŸru yapılandırarak kurduÄŸunuzdan emin olmak + istiyorsanız, yolunda gitmeyen ÅŸeyler var mı diye bu günlük dosyasına + bakmayı ihmal etmeyin.</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">Uyarılar ve Örnekler</a></h2> + + + <p><strong>UYARI!</strong> Bu bölüm henüz bitmedi. Bu bölümün son hali + için <a href="http://httpd.apache.org/docs/2.2/suexec.html">çevrimiçi + belgelere</a> bakınız.</p> + + <p>SuEXEC çalıştırıcısından dolayı sunucu ayarlarına bazı sınırlamalar + getiren bir kaç önemli nokta mevcuttur. SuEXEC ile ilgili hata + bildiriminde bulunmadan önce bunlara bir göz atmalısınız.</p> + + <ul> + <li><strong>suEXEC ile ilgili önemli noktalar</strong></li> + + <li>HiyerarÅŸik sınırlamalar + + <p class="indent">Güvenlik ve verimlilik adına, tüm suEXEC + isteklerinin sanal konaklar için üst düzey belge kökünün altındaki + dosyalarla, kullanıcı dizinleri için ise üst düzey bireysel belge + köklerinin altındaki dosyalarla sınırlı kalması gerekir. ÖrneÄŸin, + dört sanal konağınız varsa ve suEXEC çalıştırıcısının + getirilerinden faydalanmak istiyorsanız, sanal konaklarınızın belge + kök dizinlerini ana sunucunun belge kök dizininin altında kalacak + ÅŸekilde yapılandırmanız gerekir (örnek yolda).</p> + </li> + + <li>SuEXEC'in <code>PATH</code> ortam deÄŸiÅŸkeni + + <p class="indent">Bunu deÄŸiÅŸtirmek tehlikeli olabilir. Bu deÄŸiÅŸkende + tanımladığınız her yolun <strong>güvenli</strong> bir dizini iÅŸaret + ettiÄŸinden emin olmalısınız. BaÅŸkalarının oralarda bir truva atı + çalıştırmasını istemiyorsanız buna çok dikkat ediniz.</p> + </li> + + <li>SuEXEC kodunda deÄŸiÅŸiklik + + <p class="indent">Gerçekte ne yaptığınızı bilmiyorsanız bu, + <strong>büyük bir sorun</strong> olabilir. Böyle ÅŸeyler yapmaktan + mümkün olduÄŸunca uzak durmalısınız.</p> + </li> + </ul> + +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/suexec.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/urlmapping.html b/docs/manual/urlmapping.html index b0c1d321..d5b6507f 100644 --- a/docs/manual/urlmapping.html +++ b/docs/manual/urlmapping.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=UTF-8 URI: urlmapping.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: urlmapping.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/urlmapping.html.en b/docs/manual/urlmapping.html.en index 47eb7776..7371c822 100644 --- a/docs/manual/urlmapping.html.en +++ b/docs/manual/urlmapping.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/urlmapping.html" title="English"> en </a> | <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>This document explains how Apache uses the URL of a request @@ -289,7 +290,8 @@ is available to rewrite links in HTML and XHTML.</p> <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/urlmapping.html" title="English"> en </a> | <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/urlmapping.html.ja.utf8 b/docs/manual/urlmapping.html.ja.utf8 index 236d0a72..7a43cfa1 100644 --- a/docs/manual/urlmapping.html.ja.utf8 +++ b/docs/manual/urlmapping.html.ja.utf8 @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/urlmapping.html" title="Japanese"> ja </a> | -<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -281,7 +282,8 @@ ProxyPassReverseCookiePath /foo/ /bar/ <div class="bottomlang"> <p><span>Available Languages: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/urlmapping.html" title="Japanese"> ja </a> | -<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/urlmapping.html.ko.euc-kr b/docs/manual/urlmapping.html.ko.euc-kr index daf8ac4d..838157cf 100644 --- a/docs/manual/urlmapping.html.ko.euc-kr +++ b/docs/manual/urlmapping.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/urlmapping.html" title="Korean"> ko </a></p> +<a href="./ko/urlmapping.html" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -240,7 +241,8 @@ ProxyPassReverse /foo/ http://internal.example.com/bar/ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/urlmapping.html" title="Korean"> ko </a></p> +<a href="./ko/urlmapping.html" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/urlmapping.html.tr.utf8 b/docs/manual/urlmapping.html.tr.utf8 new file mode 100644 index 00000000..3ff971b7 --- /dev/null +++ b/docs/manual/urlmapping.html.tr.utf8 @@ -0,0 +1,284 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>URL’lerin Dosya Sistemi ile EÅŸleÅŸtirilmesi - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>URL’lerin Dosya Sistemi ile EÅŸleÅŸtirilmesi</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belgede, bir istekte belirtilen URL’nin sunulacak dosyanın dosya + sistemindeki yerini bulmak için Apache tarafından nasıl kullanıldığı + açıklanmaktadır.</p> + </div> +<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">Ä°lgili Modüller ve Yönergeler</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#documentroot"><code>DocumentRoot</code></a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#outside">Belge Kök Dizini Dışındaki Dosyalar</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#user">Kullanıcı Dizinleri</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#redirect">URL Yönlendirme</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Karşı Vekil</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Yeniden Yazma Motoru</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Dosya orada yok</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">Ä°lgili Modüller ve Yönergeler</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_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</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_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</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_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritematch">RewriteMatch</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></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="documentroot" id="documentroot"><code>DocumentRoot</code></a></h2> + + <p>Yapılan bir isteÄŸe hangi dosyanın sunulacağına karar verirken + Apache’nin öntanımlı davranışı istek için URL yolunu (URL’den konak ismi + ve port ayrıldıktan sonra kalan kısım) alıp bunu yapılandırma dosyasında + <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesi ile + belirtilen dizinin sonuna eklemektir. Bu nedenle, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altındaki dizinler ve dosyalar + sitenin dışardan görünen temel belge aÄŸacını oluÅŸtururlar.</p> + + <p>ÖrneÄŸin, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesine + <code>/var/http/html</code> atanmış olsun. + <code>http://mesela.dom/balıklar/zargana.html</code> ÅŸeklindeki bir + istek için istemciye <code>/var/http/html/balıklar/zargana.html</code> + dosyası sunulur.</p> + + <p>Apache ayrıca, sunucunun birden fazla konak için istek kabul etmesini + saÄŸlayan <a href="vhosts/">sanal barındırmaya</a> da muktedirdir. Bu + durumda her sanal konak için ayrı bir <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> belirtilebileceÄŸi gibi sunulacak içeriÄŸin + istekte bulunulan IP adresi veya konak ismine dayanarak devingen olarak + saptanmasını saÄŸlayabilen <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> modülüyle + gelen yönergeler de kullanılabilir.</p> + + <p><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesi + yapılandırma dosyanızda ana sunucu için bir tane ve muhtemelen + oluÅŸturduÄŸunuz her <a href="vhosts/">sanal konak</a> için de birer + tanedir.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="outside" id="outside">Belge Kök Dizini Dışındaki Dosyalar</a></h2> + + <p>Bazen dosya sisteminde doÄŸrudan <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altında bulunmayan dosyalara da eriÅŸim izni + vermek gerekir. Apache’de bunu saÄŸlamanın çeÅŸitli yolları vardır. Unix + sistemlerinde sembolik baÄŸlar sayesinde dosya sisteminin farklı + yerlerindeki dosyaları ve dizinleri <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altındaymış gibi göstermek mümkündür. + <code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesine deÄŸer olarak + <code>FollowSymLinks</code> veya <code>SymLinksIfOwnerMatch</code> + atanmadıkça Apache olası güvenlik açıklarına karşı öntanımlı olarak + sembolik baÄŸları izlemez.</p> + + <p>Bundan baÅŸka, dosya sisteminin farklı parçalarını belge kök dizini + altında göstermek için <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code> + yönergesi de kullanılabilir. ÖrneÄŸin,</p> + + <div class="example"><p><code>Alias /belgeler /var/http</code></p></div> + + <p>yapılandırması ile + <code>http://mesela.dom/belgeler/dizin/dosya.html</code> URL’si için + dosya sistemindeki <code>/var/http/dizin/dosya.html</code> dosyası + sunulacaktır. Hedef dizindeki dosyaları birer <a class="glossarylink" href="./glossary.html#cgi" title="sözlüğe bakınız">CGI</a> betiÄŸi olarak imlemesi dışında <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code> yönergesi de aynı ÅŸekilde + çalışır.</p> + + <p>Biraz daha fazla esnekliÄŸin gerektiÄŸi durumlarda <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifadelere</a> dayalı eÅŸleÅŸmeler saÄŸlamak + üzere <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ve <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code> yönergelerinin gücünden + yararlanılabilir. ÖrneÄŸin,</p> + + <div class="example"><p><code>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+) + /home/$1/cgi-bin/$2</code></p></div> + + <p>satırı sayesinde <code>http://mesela.dom/~user/cgi-bin/betik.cgi</code> + URL’si <code>/home/user/cgi-bin/betik.cgi</code> dosyası ile + eÅŸleÅŸtirilir ve dosya bir CGI betiÄŸi olarak çalıştırılırdı.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="user" id="user">Kullanıcı Dizinleri</a></h2> + + <p>Geleneksel olarak Unix sistemlerinde belli bir kullanıcının (örn, + <em>birisi</em>) ev dizinine <code>~birisi/</code> ÅŸeklinde atıfta + bulunulabilir. <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> modülü bu özelliÄŸi site + üzerinden kullanıcıların ev dizinlerindeki dosyaları kiÅŸisel sayfalar + olarak sunmalarını saÄŸlamak üzere kullanır. Örnek:</p> + + <div class="example"><p><code>http://mesela.dom/~birisi/dosya.html</code></p></div> + + <p>Güvenlik sebebiyle kullanıcıların ev dizinlerine doÄŸrudan HTTP eriÅŸimi + vermek uygun olmaz. Bu bakımdan, kullanıcının ev dizini altında HTTP + eriÅŸimi verilecek dosyaların bulunduÄŸu dizini belirtmek için <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi saÄŸlanmıştır. + Öntanımlı olan <code>Userdir public_html</code> yapılandırması ile + yukarıdaki gibi bir URL kullanıcının ev dizini (<code>/etc/passwd</code> + dosyasında belirtilir) <code>/home/birisi/</code> altında yer alan + <code>/home/birisi/public_html/dosya.html</code> dosyası ile + eÅŸleÅŸirdi.</p> + + <p>Ev dizininin yerinin <code>/etc/passwd</code> dosyasında belirtilmediÄŸi + sistemlerde kullanılmak üzere <code>Userdir</code> yönergesinin baÅŸka + kullanım ÅŸekilleri de vardır.</p> + + <p>Bazı kiÅŸiler (genellikle URL üzerinde <code>%7e</code> olarak + kodlanması sebebiyle) "~" simgesini biçimsiz bulabilir ve kullanıcı + dizinlerini imlemek için baÅŸka bir karakter kullanmayı tercih + edebilirler. Bu iÅŸlevsellik <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından + desteklenmemektedir. Ancak, kullanıcı dizinleri düzgün ÅŸekilde + yapılandırılmışsa istenen etki <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> yönergesi ile saÄŸlanabilir. + ÖrneÄŸin, <code>http://mesela.dom/sayfalar/birisi/dosya.html</code> + URL’si ile <code>/home/birisi/public_html/dosya.html</code> dosyasını + eÅŸlemek için <code>AliasMatch</code> yönergesi şöyle + kullanılabilirdi:</p> + + <div class="example"><p><code>AliasMatch ^/sayfalar/([a-zA-Z0-9]+)/?(.*) + /home/$1/public_html/$2</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="redirect" id="redirect">URL Yönlendirme</a></h2> + + <p>Yukarıdaki bölümlerde açıklanan yapılandırma yönergeleri Apache’ye + içeriÄŸi dosya sisteminin belli bir yerinden alıp istemciye göndermesini + söyler. Bazen istemciye, istediÄŸi içeriÄŸe farklı bir URL ile + eriÅŸebileceÄŸini ve bu URL için ayrı bir istek yapması gerektiÄŸini + bildirmek gerekir. Bu iÅŸleme <em>yönlendirme</em> adı verilir ve bu + iÅŸlevsellik <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code> yönergesi + ile saÄŸlanır. ÖrneÄŸin, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> + altındaki <code>/foo/</code> dizininin içeriÄŸinin <code>/bar/</code> + adında yeni bir dizine taşınması halinde istemciye yeni konumun + bildirilmesi şöyle saÄŸlanabilirdi:</p> + + <div class="example"><p><code>Redirect permanent /foo/ + http://mesela.dom/bar/</code></p></div> + + <p>Bu atama sayesinde <code>/foo/</code> ile baÅŸlayan URL yolları + <code>mesela.dom</code> sunucundaki <code>/bar/</code> dizini altındaki + içeriÄŸe yönlendirilmektedir. Yönlendirmeyi aynı sunucu üzerinde yapmak + zorunda deÄŸilsiniz, bu yönerge ile baÅŸka bir sunucuya da yönlendirme + yapabilirsiniz.</p> + + <p>Apache ayrıca, yeniden yazma ile ilgili daha karmaşık sorunlara çözüm + olarak <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> diye bir + yönerge daha saÄŸlar. ÖrneÄŸin bir sitenin baÅŸ sayfasını diÄŸer isteklerden + ayrı olarak farklı bir siteye yönlendirmek için yönergeyi şöyle + kullanabilirsiniz:</p> + + <div class="example"><p><code>RedirectMatch permanent ^/$ + http://misal.dom/ilksayfa.html</code></p></div> + + <p>Bundan baÅŸka, bir sitedeki tüm sayfalara yapılan istekleri baÅŸka bir + siteye geçici olarak yönlendirmek için şöyle bir ÅŸey yapabilirsiniz:</p> + + <div class="example"><p><code>RedirectMatch temp .* + http://mesela.misal.dom/ilksayfa.html</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="proxy" id="proxy">Karşı Vekil</a></h2> + + <p>Apache ayrıca, uzak sunuculardaki belgelerin yerel sunucunun URL + alanına getirilmesini de mümkün kılar. Bu tekniÄŸe HTTP sunucunun + belgeleri uzak bir sunucudan alıp istemciye sunmasını saÄŸlayarak bir + vekil sunucu gibi davranması nedeniyle <em>ters vekalet</em> adı + verilir. Belgelerin istemciye özkaynağın bulunduÄŸu sunucudan + geliyormuÅŸ gibi deÄŸilde doÄŸrudan isteÄŸi yaptığı sunucudan geliyormuÅŸ + gibi sunulması nedeniyle bu iÅŸlem normal vekaletten farklıdır.</p> + + <p>AÅŸağıdaki örnekte, istemci <code>/foo/</code> dizini altından bir belge + istemekte, sunucu ise bu belgeyi <code>dahili.mesela.dom</code> + üzerindeki <code>/bar/</code> dizininden alıp istemciye yerel sunucudan + geliyormuÅŸ gibi sunmaktadır:</p> + + <div class="example"><p><code> + ProxyPass /foo/ http://dahili.mesela.dom/bar/<br /> + ProxyPassReverse /foo/ http://dahili.mesela.dom/bar/<br /> + ProxyPassReverseCookieDomain dahili.mesela.dom harici.mesela.dom<br /> + ProxyPassReverseCookiePath /foo/ /bar/ + </code></p></div> + + <p><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> sunucuyu uygun + belgeleri alması için yapılandırırken <code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> yönergesi <code>dahili.mesela.dom</code> + sunucusundan kaynaklanan yönlendirmeleri yeniden yazar, böylece bunların + yerel sunucudaki yerleri belirlenmiÅŸ olur. Benzer ÅŸekilde, <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code> ve + <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code> + yönergeleri de arka sunucu tarafından atanan çerezleri yeniden yazar.</p> + + <p>Yalnız, belgelerin içindeki hiperbaÄŸların yeniden yazılmayacağına + dikkat ediniz. Dolayısıyla, belge içinde + <code>dahili.mesela.dom</code>’u ismiyle hedef alan mutlak hiperbaÄŸlar + varsa bunlar istemci tarafından vekil sunucudan deÄŸil doÄŸrudan + <code>dahili.mesela.dom</code>’dan istenecektir. Üçüncü parti modüller + arasında HTML ve XHTML’de hiperbaÄŸları yeniden yazabilen <a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a> + adında bir modül vardır.</p> +</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">Yeniden Yazma Motoru</a></h2> + + <p>Daha güçlü ikameler gerektiÄŸinde <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülü + tarafından saÄŸlanan yeniden yazma motoru iÅŸe yarayabilir. Bu modüldeki + yönergeler sunulacak içeriÄŸin yerine karar vermek için kaynak IP adresi, + tarayıcı türü gibi isteÄŸe özgü özellikleri kullanırlar. + <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülü buna ek olarak isteÄŸin nasıl ele + alınacağına karar vermek için harici yazılımları ve veritabanlarını + kullanabilir. Yeniden yazma motoru yukarıda deÄŸinilen üç eÅŸleÅŸme türünü + de uygulayabilecek yetenektedir: Dahili yönlendirmeler (rumuzlar), + harici yönlendirmeler ve vekalet. <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülü + tarafından saÄŸlanan yeteneklerin ayrıntılı açıklamaları ve bunların + kullanım örnekleri <a href="misc/rewriteguide.html">URL Yeniden Yazma + Rehberi</a>nde bulunmaktadır.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notfound" id="notfound">Dosya orada yok</a></h2> + + <p>Kaçınılmaz olarak, dosya sisteminde mevcut olmayan dosyalar için de + istek yapılacaktır. Bunun çeÅŸitli sebepleri olabilir. Bazı durumlarda + bu, belgelerin yerlerininin deÄŸiÅŸtirilmesinin bir sonucu olabilir. Bu + durumda yapılacak en iyi ÅŸey, istemciyi belgeyi yeni yerinden istemesi + için bilgilendirmek amacıyla <a href="#redirect">URL yönlendirmesi</a> + kullanmaktır. Bu ÅŸekilde, içeriÄŸin yeri deÄŸiÅŸse bile eski yer imlerinin + ve hiperbaÄŸların çalışmaya devam edeceklerinden emin olabilirsiniz.</p> + + <p>"Dosya orada yok" ("File Not Found") hatalarının diÄŸer bir bildik + sebebi de URL’lerin hiperbaÄŸlarda veya doÄŸrudan tarayıcıda kasıtlı ya da + kasıtsız, yanlış yazılmasıdır. Bu tür sorunlarda yardımcı olması için + Apache <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) adında bir modülle gelir. Bu + modül etkin kılındığında Apache, "Dosya orada yok" ("File Not Found") + hatalarının önünü kesip baÅŸka bir yerde benzer isimde bir dosya var mı + diye bakar. Böyle bir dosya varsa, <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> + istemciye dosyanın doÄŸru yerini bildiren bir HTTP yönlendirmesi yollar. + Benzer çok sayıda dosya varsa bunlar istemciye bir liste halinde + sunulur.</p> + + <p><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> modülünün en yararlı özelliklerinden biri + de dosya isimlerini harf büyüklüğüne duyarsız olarak arayabilmesidir. + Dosya isimlerinde harf büyüklüğünün önemli olduÄŸu Unix benzeri sistemler + hakkında bilgisi olmayan kullanıcılara sahip sistemlerin kullanıcılarına + bu büyük yarar saÄŸlar. Fakat modülün URL düzeltmekten baÅŸka ÅŸeyler için + de kullanılması, istemcilerden gelen neredeyse her isteÄŸin URL + yönlendirmesine konu olmasına sebep olarak sunucunun yükünü + arttırabilir.</p> + + <p>Yerinde bulunmayan içeriÄŸin bulunması çabalarının tümü Apache’nin 404 + (Dosya orada yok) HTTP durum kodlu bir hata sayfası döndürmesine yol + açar. Bu sayfanın içeriÄŸi <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesi ile denetlenebilir ve <a href="custom-error.html">Hata Yanıtlarının KiÅŸiselleÅŸtirilmesi</a> + bölümünde anlatıldığı gibi oldukça esnek bir ÅŸekilde + kiÅŸiselleÅŸtirilebilir.</p> +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="./tr/urlmapping.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/vhosts/details.html index ed491518..42c9b306 100644 --- a/docs/manual/vhosts/details.html +++ b/docs/manual/vhosts/details.html @@ -11,3 +11,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: details.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: details.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/vhosts/details.html.en b/docs/manual/vhosts/details.html.en index 8d245e82..63bb27fd 100644 --- a/docs/manual/vhosts/details.html.en +++ b/docs/manual/vhosts/details.html.en @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Available Languages: </span><a href="../en/vhosts/details.html" title="English"> en </a> | <a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | -<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -435,7 +436,8 @@ <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/vhosts/details.html" title="English"> en </a> | <a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | -<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/details.html.fr b/docs/manual/vhosts/details.html.fr index 24f44047..17bb2b02 100644 --- a/docs/manual/vhosts/details.html.fr +++ b/docs/manual/vhosts/details.html.fr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/details.html" title="Français"> fr </a> | -<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">Cette traduction peut être périmée. Verifiez la version Anglaise pour les changements récents.</div> @@ -452,7 +453,8 @@ de configuration</a></h2> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/details.html" title="Français"> fr </a> | -<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/vhosts/details.html.ko.euc-kr b/docs/manual/vhosts/details.html.ko.euc-kr index 5bf43e46..cb008e5f 100644 --- a/docs/manual/vhosts/details.html.ko.euc-kr +++ b/docs/manual/vhosts/details.html.ko.euc-kr @@ -20,7 +20,8 @@ <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | -<a href="../ko/vhosts/details.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/details.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -377,7 +378,8 @@ <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | -<a href="../ko/vhosts/details.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/details.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/details.html.tr.utf8 b/docs/manual/vhosts/details.html.tr.utf8 new file mode 100644 index 00000000..2229741f --- /dev/null +++ b/docs/manual/vhosts/details.html.tr.utf8 @@ -0,0 +1,408 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Sanal Konak EÅŸlemenin DerinliÄŸine Ä°ncelenmesi - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Sanal Konak EÅŸlemenin DerinliÄŸine Ä°ncelenmesi</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" title="Türkçe"> tr </a></p> +</div> + + + <p>Sanal konak kodu <strong>Apache 1.3</strong> sürümünde baÅŸtan yeniden + yazıldı. Bu belgede, bir istek aldığında Apache’nin hangi sanal konak + ile hizmet sunacağına nasıl karar verdiÄŸi açıklanmaya çalışılmıştır. + <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> yönergesi sayesinde + sanal konak yapılandırması 1.3 sürümünün öncesine göre daha kolay ve + daha güvenilir hale gelmiÅŸtir.</p> + + <p>Sanal konakların nasıl çalıştığını öğrenmeden sadece çalıştırmak + isterseniz doÄŸrudan <a href="examples.html">örneklerin bulunduÄŸu + sayfaya</a> bakabilirsiniz.</p> + +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Yapılandırma Dosyasının Çözümlenmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Sanal Konağın Belirlenmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tips">Ä°puçları</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">Yapılandırma Dosyasının Çözümlenmesi</a></h2> + + <p>Bu belgede <code><VirtualHost></code> bölümleri dışında kalan + tanımlardan bahsederken <em>ana_sunucu</em>, <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümlerindeki tanımlamalardan + bahsederken <em>sankonlar</em> diyeceÄŸiz.</p> + + <p><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> ve + <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> yönergeleri bir sunucu + yapılandırmasının her yerinde karşımıza çıkabilir. Bununla birlikte, + sunucu dahilinde son göründükleri yerlerde önceki eÅŸdeÄŸerlerini geçersiz + kılarlar.</p> + + <p><code>Listen</code> yönergesinin ana_sunucu için öntanımlı deÄŸeri + 80’dir. <code>ServerPath</code> ve <code>ServerAlias</code> + yönergelerinin ana_sunucu için öntanımlı deÄŸerleri yoktur. Öntanımlı + <code>ServerName</code> deÄŸeri ise sunucunun IP adresinden elde + edilir.</p> + + <p>Ana_sunucu <code>Listen</code> yönergesinin iki iÅŸlevi vardır. Biri + Apache’nin dinleyeceÄŸi öntanımlı aÄŸ portunu belirlemek, diÄŸeri ise + yönlendirmeler sırasında mutlak URI’lerde kullanılan port numarasını + belirlemektir.</p> + + <p>Ana_sunucunun aksine sankonların portları Apache‘nin dinleyeceÄŸi + portlar üzerinde etkili deÄŸildir.</p> + + <p><code>VirtualHost</code> yönergesinde görünen her adresin seçimlik bir + portu olabilir. EÄŸer bir port belirtilmemiÅŸse öntanımlı olarak + ana_sunucunun son <code>Listen</code> yönergesinin deÄŸeri kullanılır. + Port olarak <code>*</code> belirtildiÄŸi takdirde bütün portlar dinlenir. + Adreslerin tamamını (DNS sorgularındaki çoklu A kayıtları dahil) içeren + kümeye sankonların <em>adres kümesi</em> denir.</p> + + <p><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> yönergesi ilk + sankonun IP adresi için kullanılmadığı takdirde bu IP adresine sahip ilk + sankon IP’ye dayalı sankon olarak ele alınır. IP adresi olarak + <code>*</code> belirtmek de mümkündür.</p> + + <p>EÄŸer isme dayalı sankonlar kullanılacaksa <code>NameVirtualHost</code> + yönergesinin bu isme dayalı sankonların IP adresi kümesini içermesi + <em>gerekir</em>. BaÅŸka bir deyiÅŸle, yapılandırma dosyanızın + <code>NameVirtualHost</code> yönergesine sankonların sunucu isimlerinin + karşı düştüğü IP adresini yazmalısınız.</p> + + <p>Çok sayıda <code>NameVirtualHost</code> yönergesi belirtebilirse de her + IP:port çifti için birden fazla <code>NameVirtualHost</code> yönergesi + belirtilmemelidir.</p> + + <p>AÅŸağıdaki iki örneÄŸin eÅŸdeÄŸer olması için <code>NameVirtualHost</code> + ve <code>VirtualHost</code> yönergelerinin sıralamasının bir önemi + yoktur. (Sadece <em>tek</em> adreslik küme içindeki + <code>VirtualHost</code> yönergelerinin sırası önemlidir; aÅŸağıya + bakınız:)</p> + +<table><tr> +<td><div class="example"><p><code> + NameVirtualHost 111.22.33.44<br /> + <VirtualHost 111.22.33.44><br /> + # sunucu A<br /> + ...<br /> + </VirtualHost><br /> + <VirtualHost 111.22.33.44><br /> + # sunucu B<br /> + ...<br /> + </VirtualHost><br /> + <br /> + NameVirtualHost 111.22.33.55<br /> + <VirtualHost 111.22.33.55><br /> + # sunucu C<br /> + ...<br /> + </VirtualHost><br /> + <VirtualHost 111.22.33.55><br /> + # sunucu D<br /> + ...<br /> + </VirtualHost> +</code></p></div></td> +<td><div class="example"><p><code> + <VirtualHost 111.22.33.44><br /> + # sunucu A<br /> + </VirtualHost><br /> + <VirtualHost 111.22.33.55><br /> + # sunucu C<br /> + ...<br /> + </VirtualHost><br /> + <VirtualHost 111.22.33.44><br /> + # sunucu B<br /> + ...<br /> + </VirtualHost><br /> + <VirtualHost 111.22.33.55><br /> + # sunucu D<br /> + ...<br /> + </VirtualHost><br /> + <br /> + NameVirtualHost 111.22.33.44<br /> + NameVirtualHost 111.22.33.55<br /> + <br /> +</code></p></div></td> +</tr></table> + + + <p>(Okuma kolaylığı bakımından soldaki sürümü tercih etmenizi öneririz.) + </p> + + <p><code>VirtualHost</code> yönergesi çözümlendikten sonra sankon + sunucusuna yönergedeki ilk isme atanmış portun öntanımlı olduÄŸu bir + <code>Listen</code> verilir.</p> + + <p>EÄŸer tüm <code>VirtualHost</code> isimlerinin listesi aynı adres + kümesine çözümleniyorsa bu isimler birer <code>ServerAlias</code> gibi + ele alınırlar (bir <code>ServerAlias</code> yönergesi ile geçersiz + kılınmadıkça). Bir sankon tanımından sonra gelen <code>Listen</code> + satırlarının o sankonun adres kümesine atanmış portlara bir etkisinin + olmayacağına dikkat ediniz.</p> + + <p>Ä°sim listeleri IP adreslerine göre gruplanır ve bir çiftler tablosuna + kaydedilir. EÄŸer IP adresi bir <code>NameVirtualHost</code> yönergesinde + kullanılmışsa, liste bu IP adresi için tanımlanmış tüm sankonları + içerir. EÄŸer bu IP adresinin tanımlandığı bir sankon yoksa o + <code>NameVirtualHost</code> yönergesi yoksayılır ve günlüğe bir hata + kaydı düşülür. IP’ye dayalı sankonlar için çiftler listesinde isim + alanları boÅŸtur.</p> + + <p>Çiftler listesini iÅŸleyen iÅŸlevin hızı nedeniyle bir istek sırasında IP + adresine göre gruplama yaparken kaynak harcaması en düşük düzeyde olur + hatta neredeyse hiç olmaz. Ek olarak, tablo, IP adresinin son + sekizlisindeki deÄŸiÅŸikliklere göre de en iyilenir.</p> + + <p>Her sankon için bazı deÄŸerler öntanımlı olarak atanır. Bunların + baÅŸlıcaları:</p> + + <ol> + <li>Sankon bir <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code> + yönergesi içermiyorsa, + <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> ve + <code class="directive"><a href="../mod/core.html#sendbuffersize">SendBufferSize</a></code> yönergeleri için + öntanımlı deÄŸerler ana_sunucudaki eÅŸdeÄŸerlerinden miras alınır. (Yani, + bu yönergeler için ana_sunucudaki son deÄŸerler miras alınır.)</li> + + <li>Sankon için öntanımlı dizin eriÅŸim izinlerinin tanımlandığı "arama + öntanımlıları" ana_sunucununkilere katılır. Buna her modülün dizinlere + özgü yapılandırma bilgileri dahildir.</li> + + <li>Her modülün ana_sunucudaki sunuculara özgü yapılandırmaları sankon + sunucusununkilerle katıştırılır.</li> + </ol> + + <p>Esasen, ana_sunucu, sankon sunucularını oluÅŸtururken bir öntanımlılar + listesi veya öntanımlı deÄŸerlere dayanak noktası olarak ele alınır. + Fakat bu ana_sunucu tanımlarının yapılandırma dosyasındaki yerlerinin + saptanmasının konumuzla ilgisi yoktur; ana_sunucu yapılandırmasının + tamamı son katıştırma yapılacağı zaman çözümlenir. Bu bakımdan, + ana_sunucu tanımlarından bir kısmı sankon tanımlarından sonra yer alsa + bile sankon tanımlarında etkili olabilir.</p> + + <p>EÄŸer, bu noktada ana_sunucu hiçbir <code>ServerName</code> satırı + içermiyorsa <code class="program"><a href="../programs/httpd.html">httpd</a></code> programının çalıştığı makinenin + konak ismi öntanımlıdır. Ana_sunucunun <code>ServerName</code> için + yaptığı DNS sorgusundan dönen IP adreslerine <em>ana_sunucu adres + kümesi</em> diyoruz.</p> + + <p>Tanımsız <code>ServerName</code> alanları için bir isme dayalı sankon, + sankonu tanımlayan <code>VirtualHost</code> yönergesinde belirtilen ilk + adresi öntanımlı deÄŸer kabul eder.</p> + + <p>Sihirli <code>_default_</code> sankonları için ana_sunucunun + <code>ServerName</code> deÄŸeri kullanılır.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="hostmatching" id="hostmatching">Sanal Konağın Belirlenmesi</a></h2> + + <p>Sunucu bir istek durumunda hangi sankonun kullanılacağını şöyle + belirler:</p> + + <h3><a name="hashtable" id="hashtable">DeÄŸer çiftleri tablosu aranır</a></h3> + + <p>Bir istemci tarafından baÄŸlantı ilk yapıldığında önce IP-isim çiftleri + tablosunda istemcinin baÄŸlandığı IP adresi için bir arama yapılır.</p> + + <p>Arama baÅŸarısız olursa (IP adresi yoksa) hizmet, istekte belirtilen + port için bir <code>_default_</code> sankon varsa, o sankondan, yoksa + ana_sunucudan sunulur.</p> + + <p>EÄŸer çiftler tablosunda IP adresi yoksa port numarası ile eÅŸleÅŸtirme + çabası ayrıca, diÄŸer isme dayalı sanal konaklardaki gibi ard arda ele + alınmayı gerektiren <code>NameVirtualHost *</code> durumundaki bir + girdiyle sonuçlanabilir.</p> + + <p>Arama sonucunda tabloda IP adresi bulunursa sonraki adım hizmetin bir + IP’ye dayalı sankondan mı yoksa isme dayalı bir sankondan mı + sunulacağına karar vermektir.</p> + + + + <h3><a name="ipbased" id="ipbased">IP’ye dayalı sankon</a></h3> + + <p>EÄŸer tabloda bulduÄŸumuz girdinin isim alanları boÅŸsa bir IP’ye dayalı + sanal konak bulmuÅŸuz demektir. Artık karar vermek için baÅŸka bir ÅŸey + yapmaya gerek yoktur ve istek bu sankondan sunulur.</p> + + + + <h3><a name="namebased" id="namebased">Ä°sme dayalı sankon</a></h3> + + <p>Tabloda bulduÄŸumuz girdi için bir isim listesi varsa bir isme dayalı + sankon sözkonusudur. Bu isim listesi, sankonları, ilgili + <code>VirtualHost</code> bölümlerinin yapılandırma dosyasında yer alış + sırasına göre içerir.</p> + + <p>Bu listedeki ilk sankon (yapılandırma dosyasında belirtilen IP adresine + sahip ilk sankon) en yüksek önceliÄŸe sahiptir ve sunucu ismi + belirtilmeyen veya <code>Host:</code> baÅŸlık alanı olmayan istekleri bu + sankon karşılar.</p> + + <p>EÄŸer istemci bir <code>Host:</code> baÅŸlık alanı ile istek yapmışsa + liste bu sankon için aranır ve hizmet <code>ServerName</code> veya + <code>ServerAlias</code> ile ilk eÅŸleÅŸmenin saÄŸlandığı sankondan + sunulur. <code>Host:</code> alanında bir port belirtilebilirse de Apache + daima istemcinin isteÄŸi gönderdiÄŸi portu gerçek port kabul eder.</p> + + <p>EÄŸer istemci <code>Host:</code> baÅŸlık alanı bulunmayan bir HTTP/1.0 + isteÄŸi yapmışsa istemcinin hangi sankona baÄŸlanmayı denediÄŸini bilemeyiz + ve istekteki URI ile mevcut <code>ServerPath</code> deÄŸerini + eÅŸleÅŸtirmeye çalışırız. Listedekilerden ilk eÅŸleÅŸen yola sahip sankondan + hizmeti sunarız.</p> + + <p>Ä°stekle eÅŸleÅŸen bir sankon bulunamazsa IP listesinde istemcinin + baÄŸlandığı portla eÅŸleÅŸen ilk sankondan hizmeti sunarız.</p> + + + + <h3><a name="persistent" id="persistent">Kalıcı baÄŸlantılar</a></h3> + + <p>Yukarıda açıklanan IP araması belli bir TCP/IP oturumunda bir defaya + mahsus yapıldığı halde bir kalıcı/KeepAlive baÄŸlantı sırasında her istek + için ayrı bir arama yapılır. BaÅŸka bir deyiÅŸle, bir istemci tek bir + kalıcı baÄŸlantı üzerinde farklı isme dayalı sankonlardan sayfa talebinde + bulunabilir.</p> + + + + <h3><a name="absoluteURI" id="absoluteURI">Mutlak URI</a></h3> + + <p>EÄŸer istekte belirtilen URI bir mutlak URI ise ve istek yapılan konak + ismi ve port ana sunucuyla veya sankonlardan biriyle eÅŸleÅŸiyorsa, + ÅŸema/konakadı/port öneki ayrılır ve elde edilen göreli URI ilgili + sankondan veya ana sunucudan sunulur. EÄŸer bir eÅŸleÅŸme saÄŸlanamazsa + URI’ye dokunulmaz ve istek bir vekil isteÄŸi olarak ele alınır.</p> + + +<h3><a name="observations" id="observations">Ä°zlenimler</a></h3> + + <ul> + <li>Bir isme dayalı sankon asla bir IP’ye dayalı sankon ile (veya tersi) + etkileÅŸime girmez. IP’ye dayalı sankonlara sadece kendi adres + kümesindeki bir IP adresi üzerinden eriÅŸilebilir, asla baÅŸka bir + adresten eriÅŸilemez. Aynısı isme dayalı sankonlara da uygulanır; + onlara sadece bir <code>NameVirtualHost</code> yönergesi ile + tanımlanmış adres kümesindeki bir IP adresi üzerinden + eriÅŸilebilir.</li> + + <li>Bir IP’ye dayalı sankon için asla <code>ServerAlias</code> ve + <code>ServerPath</code> deÄŸerine bakılmaz.</li> + + <li>Yapılandırma dosyası içinde isme/IP’ye dayalı ve + <code>_default_</code> sankonlar ile <code>NameVirtualHost</code> + yönergelerinin yer alış sırasının birbirlerine göre bir önemi yoktur. + Sıralama sadece aynı IP adresine sahip isme dayalı sankonlar arasında + önemlidir. Aynı adres kümesine mensup isme dayalı sankonlardan + yapılandırma dosyasında ilk sırada yer alanı en yüksek önceliÄŸe + sahiptir.</li> + + <li>Güvenlik saikiyle, eÅŸleÅŸtirme iÅŸlemi sırasında <code>Host:</code> + baÅŸlık alanında belirtilen port asla kullanılmaz. Apache daima + istemcinin baÄŸlantı kurduÄŸu gerçek portu kullanır.</li> + + <li>DeÄŸeri baÅŸka bir <code>ServerPath</code> yönergesinin deÄŸeri için + önek olan bir <code>ServerPath</code> yönergesi yapılandırma + dosyasında daha önce yer alıyorsa sonrakiyle eÅŸleÅŸme asla + gerçekleÅŸmez. (Bu belirsizliÄŸi giderecek bir <code>Host:</code> baÅŸlık + alanının mümkün olmadığı varsayılır.)</li> + + <li>EÄŸer tek bir IP adresine sahip IP’ye dayalı iki sankon varsa eÅŸleÅŸme + daima yapılandırma dosyasında ilk yer alanla gerçekleÅŸir. Böyle bir + ÅŸey kasten yapılmaz. Sunucu böyle bir durumu saptadığında hata + günlüğünde bir uyarı verecektir.</li> + + <li>Bir <code>_default_</code> sankon sadece istekle eÅŸleÅŸen bir IP + adresi bulunamadığında port numarası eÅŸleÅŸtiÄŸi takdirde isteÄŸe hizmet + sunabilir. Port düzeyinde eÅŸleÅŸmenin olabilmesi için isteÄŸin geldiÄŸi + port ile sankon için belirtilen port eÅŸleÅŸmelidir. Olası tüm portlarla + eÅŸleÅŸmeyi saÄŸlamak üzere yıldız imi (<code>_default_:*</code> + ÅŸeklinde) kullanılabilir. Aynı ÅŸey <code>NameVirtualHost *</code> + sankonlarına da uygulanır.</li> + + <li>Ana_sunucunun bir isteÄŸe hizmet sunabilmesi için istemcinin + baÄŸlandığı IP adresi ve port hiçbir yerde belirtilmemiÅŸ ve + <code>_default_</code> dahil hiçbir sankon ile eÅŸleÅŸme saÄŸlanamamış + olmalıdır. BaÅŸka bir deyiÅŸle, istemcinin baÄŸlandığı port ile eÅŸleÅŸen + bir <code>_default_</code> sankon olmadıkça adres ve port belirtmeyen + bir isteÄŸe ana_sunucu yanıt verecektir.</li> + + <li><code>Host:</code> baÅŸlık alanı içermeyen veya hedefi bilinmeyen bir + istek geldiÄŸi takdirde, eÄŸer bu istemcinin baÄŸlandığı adres ve port + için (örneÄŸin, <code>NameVirtualHost</code> ile) tanımlanmış bir isme + dayalı sankon varsa bu isteÄŸe ne ana_sunucu ne de bir + <code>_default_</code> sankon hizmet sunabilir.</li> + + <li><code>VirtualHost</code> yönergelerinde asla DNS isimleri + belirtmemelisiniz. Aksi takdirde sunucuyu baÅŸlatma sırasında DNS + sorgusu yapmaya zorlamış olursunuz. Listelenen tüm alanlar için DNS + üzerinde tam denetime sahip deÄŸilseniz bu ayrıca bir güvenlik + tehdidine yol açar. Bu konuda daha ayrıntılı bilgi edinmek için <a href="../dns-caveats.html">DNS ile ilgili konular ve Apache</a> + belgesine bakınız.</li> + + <li><code>ServerName</code> her sankon için ayrı ayrı belirlenmiÅŸ + olmalıdır. Aksi takdirde her sankon için bir DNS sorgusu gerekir.</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="tips" id="tips">Ä°puçları</a></h2> + + <p><a href="../dns-caveats.html#tips">DNS konuları</a> sayfasındaki + ipuçlarına ilaveten burada da bazı ipuçları bulacaksınız:</p> + + <ul> + <li>Ana_sunucu tanımlarının hepsini <code>VirtualHost</code> + tanımlarının öncesinde bitirin. Bu ayrıca yapılandırmanızın + okunabilirliÄŸini de arttırır; <code>VirtualHost</code> tanımlarının + sonrasına sarkan yapılandırmaların katıştırılması iÅŸlemi tüm sanal + konakları etkileyebilen tanımlar bakımından bir + karışıklığa/belirsizliÄŸe sebep olabilir.)</li> + + <li>Birbirleriyle ilgili <code>NameVirtualHost</code> ve + <code>VirtualHost</code> tanımlarını okunabilirliÄŸi arttırmak için + gruplayın.</li> + + <li>DeÄŸeri baÅŸka bir <code>ServerPath</code> için önek olan tanımlamalar + yapmaktan kaçının. Bundan kaçınamıyorsanız, yolu uzun olanı yolu kısa + olanın öncesine yerleÅŸtirin. ÖrneÄŸin, "ServerPath /abc/def" önce + "ServerPath /abc" sonra yer alsın.</li> + </ul> + +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/details.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/vhosts/examples.html index b065401d..621e0479 100644 --- a/docs/manual/vhosts/examples.html +++ b/docs/manual/vhosts/examples.html @@ -15,3 +15,7 @@ Content-type: text/html; charset=UTF-8 URI: examples.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: examples.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/vhosts/examples.html.en b/docs/manual/vhosts/examples.html.en index ca01c3ad..784d59c5 100644 --- a/docs/manual/vhosts/examples.html.en +++ b/docs/manual/vhosts/examples.html.en @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="../en/vhosts/examples.html" title="English"> en </a> | <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -653,7 +654,8 @@ <p><span>Available Languages: </span><a href="../en/vhosts/examples.html" title="English"> en </a> | <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/examples.html.fr b/docs/manual/vhosts/examples.html.fr index da0c971a..81a0ed6c 100644 --- a/docs/manual/vhosts/examples.html.fr +++ b/docs/manual/vhosts/examples.html.fr @@ -21,7 +21,8 @@ <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/examples.html" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">Cette traduction peut être périmée. Verifiez la version Anglaise pour les changements récents.</div> @@ -674,7 +675,8 @@ <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/examples.html" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/vhosts/examples.html.ja.utf8 b/docs/manual/vhosts/examples.html.ja.utf8 index 39b763b0..92a97751 100644 --- a/docs/manual/vhosts/examples.html.ja.utf8 +++ b/docs/manual/vhosts/examples.html.ja.utf8 @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">This translation may be out of date. Check the English version for recent changes.</div> @@ -643,7 +644,8 @@ <p><span>Available Languages: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/examples.html.ko.euc-kr b/docs/manual/vhosts/examples.html.ko.euc-kr index a1c0837f..e01e5213 100644 --- a/docs/manual/vhosts/examples.html.ko.euc-kr +++ b/docs/manual/vhosts/examples.html.ko.euc-kr @@ -21,7 +21,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -622,7 +623,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/examples.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/examples.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/examples.html.tr.utf8 b/docs/manual/vhosts/examples.html.tr.utf8 new file mode 100644 index 00000000..c2dba664 --- /dev/null +++ b/docs/manual/vhosts/examples.html.tr.utf8 @@ -0,0 +1,645 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Sanal Konak Örnekleri - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Sanal Konak Örnekleri</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" title="Türkçe"> tr </a></p> +</div> + + + <p>Bu belgede sanal konaklarla ile ilgili olarak karşılaşılması olası tüm + senaryolara yer verilmeye çalışılmıştır. Buradaki senaryolar, tek bir + sunucu üzerinde <a href="name-based.html">isme dayalı</a> veya <a href="ip-based.html">IP’ye dayalı</a> sanal konaklar aracılığıyla çok + sayıda sitenin sunumu ile ilgilidir. + </p> + +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Tek bir IP ile çok sayıda isme dayalı site</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#twoips">IP adresleri farklı çok sayıda isme dayalı site</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Aynı içeriÄŸi farklı IP adresleriyle sunmak + (örn., dahili ve harici aÄŸlara)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#port">Farklı portlarla farklı siteler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ip">IP’ye dayalı sanal konaklar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxy"><code>Virtualhost</code> ve + <code>mod_proxy</code>’nin birlikte kullanımı</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#default"><code>_default_</code> sanal konakları</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı + sanal konakla yansılamak</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> yönergesinin kullanı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="purename" id="purename">Tek bir IP ile çok sayıda isme dayalı site</a></h2> + + + <p>Bu örnekte, makinenizin tek bir IP adresine sahip olduÄŸunu ve bu + makineye <code>mesela.dom</code> ve <code>faraza.dom</code> ÅŸeklinde + (DNS A kayıtları sayesinde) farklı isimlerle eriÅŸilebildiÄŸini + varsayalım.</p> + + <div class="note"><h3>Bilginize</h3><p>Apache sunucusu üzerinde sanal konakları + yapılandırmakla bu konak isimleri için sihirli bir ÅŸekilde DNS + kayıtlarının da oluÅŸturulmasını saÄŸlamış olmazsınız. Bu isimler için + ilgili DNS kayıtlarında sizin IP adresinize çözümlenen A kayıtlarının + olması gerekir, yoksa sitenize kimse eriÅŸemez. Sitelere eriÅŸimi yerel + olarak denemek isterseniz, bu girdileri <code>hosts</code> dosyanıza + yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel + ağınızdaki her makinenin <code>hosts</code> dosyasına bu girdileri + yazarak yerel aÄŸdan eriÅŸimi bu yolla saÄŸlayabilirsiniz ama dış aÄŸdan + gelecek ziyaretçileriniz için DNS kayıtlarınızın olması ÅŸarttır.</p> + </div> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + # Apache’nin 80. portu dinlediÄŸinden emin olalım<br /> + Listen 80<br /> + <br /> + # Sanal konak istekleri için bütün IP adresleri dinlensin.<br /> + NameVirtualHost *:80<br /> + <br /> + <VirtualHost *:80><br /> + <span class="indent"> + DocumentRoot /siteler/mesela<br /> + ServerName mesela.dom<br /> + <br /> + # DiÄŸer yönergeler, burada ...<br /> + <br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost *:80><br /> + <span class="indent"> + DocumentRoot /siteler/faraza<br /> + ServerName faraza.dom<br /> + <br /> + # DiÄŸer yönergeler, burada ...<br /> + <br /> + </span> + </VirtualHost> + </code></p></div> + + <p>Yıldız imleri tüm adreslerle eÅŸleÅŸmeyi saÄŸladığından ana sunucu + (yapılandırma dosyası genelindeki yapılandırma - sunucu geneli) + eriÅŸilebilir olmayacaktır. <code>mesela.dom</code> yapılandırma + dosyasındaki ilk sanal konak olduÄŸundan en yüksek önceliÄŸe sahiptir ve + <cite>öntanımlı</cite> veya <cite>baskın</cite> site olarak davranır. + Yani, hiçbir <code>ServerName</code> yönergesi ile eÅŸleÅŸmeyen bir istek + alındığında bu istek ilk <code>VirtualHost</code> yapılandırması ile + karşılanır.</p> + + <div class="note"><h3>Bilginize</h3> + <p>Ä°sterseniz, <code>*</code> yerine kendi IP adresinizi yazabilirsiniz. + Ancak bu durumda bunu hem <code>VirtualHost</code> hem de + <code>NameVirtualHost</code> için yapmalısınız:</p> + + <div class="example"><p><code> + NameVirtualHost 192.168.1.22<br /> + <br /> + <VirtualHost 192.168.1.22><br /> + # vs. ... + </code></p></div> + + <p>Bununla birlikte, IP adresinin önceden kestirilebilir olmadığı + sistemlerde, örneÄŸin, hizmet saÄŸlayıcınıza çevirmeli aÄŸ ile baÄŸlanıyor + ve onun rasgele atadığı bir IP adresi için bir devingen DNS çözümü + kullanıyorsanız, IP adresi deÄŸil de <code>*</code> kullanmak daha çok + iÅŸinize yarayacaktır. Yıldız imi her IP adresi ile eÅŸleÅŸeceÄŸinden IP + adresiniz deÄŸiÅŸse bile bu yapılandırmayı deÄŸiÅŸtirmeden + kullanabilirsiniz.</p> + </div> + + <p>Yukarıdaki yapılandırmayı hemen hemen tüm isme dayalı sanal konaklar + için kullanabilirsiniz. Bu yapılandırmanın çalışmayacağı tek durum, + farklı içerikleri farklı IP adreslerinden sunma gereÄŸiyle + karşılaÅŸmaktır.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="twoips" id="twoips">IP adresleri farklı çok sayıda isme dayalı site</a></h2> + + + <div class="note"><h3>Bilginize</h3> + <p>Burada açıklanan teknikler istendiÄŸi kadar çok IP adresine + geniÅŸletilebilir.</p> + </div> + + <p>Sunucunun iki IP adresi olsun. Birinden "ana sunucu" + (<code>192.168.1.2</code>) diÄŸerinden <code>mesela.dom</code> + <code>192.168.2.2</code> hizmet versin. Bu arada baÅŸka sanal konakları + da sunabilelim istiyoruz.</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + Listen 80<br /> + <br /> + # Bu, 192.168.1.2 adresindeki "ana sunucu" olsun<br /> + ServerName sunucu.faraza.dom<br /> + DocumentRoot /siteler/anasunucu<br /> + <br /> + # Burası da diÄŸer adres için<br /> + NameVirtualHost 192.168.2.2<br /> + <br /> + <VirtualHost 192.168.2.2><br /> + <span class="indent"> + DocumentRoot /siteler/mesela<br /> + ServerName mesela.dom<br /> + <br /> + # DiÄŸer yönergeler, burada ...<br /> + <br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 192.168.2.2><br /> + <span class="indent"> + DocumentRoot /siteler/falanca<br /> + ServerName falanca.dom<br /> + <br /> + # DiÄŸer yönergeler, burada ...<br /> + <br /> + </span> + </VirtualHost> + </code></p></div> + + <p><code>192.168.2.2</code> adresinden gelmeyen tüm isteklere ana sunucu + (<code>sunucu.faraza.dom</code>), <code>192.168.2.2</code> adresinden + gelen sunucu ismi belirtmeyenler ile <code>Host:</code> baÅŸlığı + belirtmeyenlere ise <code>mesela.dom</code> hizmet verecektir.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intraextra" id="intraextra">Aynı içeriÄŸi farklı IP adresleriyle sunmak + (örn., dahili ve harici aÄŸlara)</a></h2> + + <p>Sunucu makine iki IP adresine sahip olsun. Biri iç aÄŸa + (<code>192.168.1.1</code>) diÄŸeri dış aÄŸa (<code>172.20.30.40</code>) + bakıyor olsun. <code>sunucu.mesela.dom</code> ismi dış aÄŸda dış aÄŸa + bakan IP’ye, iç aÄŸda ise iç aÄŸa bakan IP’ye çözümleniyor olsun.</p> + + <p>Bu durumda, sunucu hem iç hem de dış aÄŸdan gelen isteklere aynı içerik, + dolayısıyla aynı <code>VirtualHost</code> bölümü ile hizmet + verebilir.</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + NameVirtualHost 192.168.1.1<br /> + NameVirtualHost 172.20.30.40<br /> + <br /> + <VirtualHost 192.168.1.1 172.20.30.40><br /> + <span class="indent"> + DocumentRoot /siteler/sunucu<br /> + ServerName sunucu.mesela.dom<br /> + ServerAlias sunucu<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>Artık, hem iç hem de dış aÄŸdan gelen isteklere aynı + <code>VirtualHost</code> bölümünden hizmet sunulacaktır.</p> + + <div class="note"><h3>Bilginize:</h3> + <p>İç aÄŸdan istek yapan biri, tam nitelenmiÅŸ konak ismi + <code>sunucu.mesela.dom</code> yerine makine ismini + (<code>sunucu</code>) kullanabilir (<code>ServerAlias sunucu</code> + satırına dikkat).</p> + + <p>Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece + <code>*</code> belirtmekle sunucunun tüm IP adreslerine yine aynı + içerikle yanıt vereceÄŸine dikkat ediniz.</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="port" id="port">Farklı portlarla farklı siteler</a></h2> + + <p>Aynı IP adresine sahip çok sayıda konak ismine sahip olduÄŸunuzu ve + bunların bazılarının farklı portları kullanmasını istediÄŸinizi + varsayalım. <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> + yönergesi ile port tanımlamak suretiyle bunu mümkün kılabilirsiniz. + <code>NameVirtualHost <em>isim:port</em></code> tanımı yapmadan + veya bunun yerine <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> + kullanarak <code>VirtualHost <em>isim:port</em></code> kullanmaya + kalkışırsanız, yapılandırmanız çalışmayacaktır.</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + Listen 80<br /> + Listen 8080<br /> + <br /> + NameVirtualHost 172.20.30.40:80<br /> + NameVirtualHost 172.20.30.40:8080<br /> + <br /> + <VirtualHost 172.20.30.40:80><br /> + <span class="indent"> + ServerName mesela.dom<br /> + DocumentRoot /siteler/mesela-80<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40:8080><br /> + <span class="indent"> + ServerName mesela.dom<br /> + DocumentRoot /siteler/mesela-8080<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40:80><br /> + <span class="indent"> + ServerName faraza.dom<br /> + DocumentRoot /siteler/faraza-80<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40:8080><br /> + <span class="indent"> + ServerName faraza.dom<br /> + DocumentRoot /siteler/faraza-8080<br /> + </span> + </VirtualHost> + </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="ip" id="ip">IP’ye dayalı sanal konaklar</a></h2> + + <p>Sunucu makinenin, biri <code>mesela.dom</code> adından çözümlenen + <code>172.20.30.40</code>, diÄŸeri <code>faraza.dom</code> adından + çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun.</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + Listen 80<br /> + <br /> + <VirtualHost 172.20.30.40><br /> + <span class="indent"> + DocumentRoot /siteler/mesela<br /> + ServerName mesela.dom<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.50><br /> + <span class="indent"> + DocumentRoot /siteler/faraza<br /> + ServerName faraza.dom<br /> + </span> + </VirtualHost> + </code></p></div> + + <p><code><VirtualHost></code> yönergelerinde belirtilmeyen + adreslerle yapılan isteklere (örneÄŸin, <code>localhost</code>) sunucu + genelindeki yapılandırma ile ana sunucu yanıt verecektir.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ipport" id="ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></h2> + + + <p>Sunucu makinenin, biri <code>mesela.dom</code> adından çözümlenen + <code>172.20.30.40</code>, diÄŸeri <code>faraza.dom</code> adından + çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun ve iki + konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + Listen 172.20.30.40:80<br /> + Listen 172.20.30.40:8080<br /> + Listen 172.20.30.50:80<br /> + Listen 172.20.30.50:8080<br /> + <br /> + <VirtualHost 172.20.30.40:80><br /> + <span class="indent"> + DocumentRoot /siteler/mesela-80<br /> + ServerName mesela.dom<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40:8080><br /> + <span class="indent"> + DocumentRoot /siteler/mesela-8080<br /> + ServerName mesela.dom<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.50:80><br /> + <span class="indent"> + DocumentRoot /siteler/faraza-80<br /> + ServerName faraza.dom<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.50:8080><br /> + <span class="indent"> + DocumentRoot /siteler/faraza-8080<br /> + ServerName faraza.dom<br /> + </span> + </VirtualHost> + </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="mixed" id="mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></h2> + + + <p>Bazı adreslerde isme dayalı, bazılarında da IP’ye dayalı sanal konaklar + çalışsın istersek...</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + Listen 80<br /> + <br /> + NameVirtualHost 172.20.30.40<br /> + <br /> + <VirtualHost 172.20.30.40><br /> + <span class="indent"> + DocumentRoot /siteler/mesela<br /> + ServerName mesela.dom<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40><br /> + <span class="indent"> + DocumentRoot /siteler/faraza<br /> + ServerName faraza.dom<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40><br /> + <span class="indent"> + DocumentRoot /siteler/falanca<br /> + ServerName falanca.dom<br /> + </span> + </VirtualHost><br /> + <br /> + # IP-based<br /> + <VirtualHost 172.20.30.50><br /> + <span class="indent"> + DocumentRoot /siteler/filanca<br /> + ServerName filanca.dom<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.60><br /> + <span class="indent"> + DocumentRoot /siteler/fesmekan<br /> + ServerName fesmekan.dom<br /> + </span> + </VirtualHost> + </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="proxy" id="proxy"><code>Virtualhost</code> ve + <code>mod_proxy</code>’nin birlikte kullanımı</a></h2> + + <p>Bu örnekte bir arabirimi dışarıya bakan bir makinede, baÅŸka bir + makinede çalışan bir sunucuya sanal konak olarak, bir vekil sunucu + çalıştırmak istediÄŸimizi varsayıyoruz. <code>192.168.111.2</code> IP + adresli bir makinede aynı isimde bir sanal konak yapılandırılmış olsun. + Çok sayıda konak ismi için vekil olarak tek bir makine kullandığımızdan + ve konak isminin de aktarılmasını arzuladığımızdan <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost on">ProxyPreserveHost On</a></code> yönergesini + kullandık.</p> + + <div class="example"><p><code> + <VirtualHost *:*><br /> + <span class="indent"> + ProxyPreserveHost On<br /> + ProxyPass / http://192.168.111.2/<br /> + ProxyPassReverse / http://192.168.111.2/<br /> + ServerName konak.mesela.dom<br /> + </span> + </VirtualHost> + </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="default" id="default"><code>_default_</code> sanal konakları</a></h2> + + <h3><a name="defaultallports" id="defaultallports">Tüm portlar için <code>_default_</code></a></h3> + + + <p>Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir + adresi/portu ile eÅŸleÅŸmeyen istekleri yakalamak istersek...</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + + <VirtualHost _default_:*><br /> + <span class="indent"> + DocumentRoot /siteler/default<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>Bütün portlarla eÅŸleÅŸen böyle bir öntanımlı sanal konağın kullanımı + hiçbir isteÄŸin ana sunucuya gitmemesi sonucunu doÄŸurur.</p> + + <p>Bir öntanımlı sanal konak, asla, isme dayalı sanal konaklar için + kullanılmış bir adrese/porta gönderilmiÅŸ bir isteÄŸe hizmet sunmaz. EÄŸer + istek bilinmeyen bir <code>Host:</code> baÅŸlığına sahipse veya hiç + <code>Host:</code> baÅŸlığı içermiyorsa isteÄŸe daima ilk (yapılandırma + dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.</p> + + <p>Her isteÄŸi tek bir bilgilendirme sayfasına (veya betiÄŸe) yönlendirmek + isterseniz <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> veya + <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesini + kullanabilirsiniz.</p> + + + <h3><a name="defaultdifferentports" id="defaultdifferentports">Farklı portlardan <code>_default_</code></a></h3> + + + <p>Önceki yapılandırmaya ek olarak 80. portta ayrı bir + <code>_default_</code> sanal konağı kullanmak istersek...</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + + <VirtualHost _default_:80><br /> + <span class="indent"> + DocumentRoot /siteler/default80<br /> + # ...<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost _default_:*><br /> + <span class="indent"> + DocumentRoot /siteler/default<br /> + # ...<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>80. porttan hizmet sunan <code>_default_</code> sanal konağı IP adresi + belirtilmeyen tüm istekleri yakalar, bunu yapabilmesi için yapılandırma + dosyasında tüm portlara hizmet sunan benzerinden önce yer almalıdır. Bu + durumda ana sunucu hiçbir isteÄŸe yanıt vermeyecektir.</p> + + + <h3><a name="defaultoneport" id="defaultoneport">Tek portluk <code>_default_</code></a></h3> + + + <p><code>_default_</code> sanal konağının sadece 80. porttan hizmet + sunmasını istersek...</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + + <VirtualHost _default_:80><br /> + DocumentRoot /siteler/default<br /> + ...<br /> + </VirtualHost> + </code></p></div> + + <p>80. porttan gelen IP adresi belirtilmemiÅŸ isteklere + <code>_default_</code> sanal konağı, diÄŸer portlardan gelen adres + belirtilmemiÅŸ isteklere ise ana sunucu hizmet verecektir.</p> + + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="migrate" id="migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı + sanal konakla yansılamak</a></h2> + + <p>Ä°sme dayalı sanal konak örneklerinin <a href="#twoips">2. sinde</a> adı + geçen <code>falanca.dom</code> bu örnekte kendi IP adresinden hizmet + veriyor olsun. Ä°sme dayalı sanal konağı eski IP adresiyle kaydetmiÅŸ + vekiller ve isim sunucularından kaynaklanacak olası sorunlardan kaçınmak + için yansılama sırasında sanal konağı hem eski hem de yeni IP adresiyle + sunmamız lazım.</p> + + <p>Çözüm kolay, çünkü yapacağımız sadece <code>VirtualHost</code> + yönergesine yeni IP adresini (<code>192.168.2.2</code>) eklemek olacak.</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + + Listen 80<br /> + ServerName mesela.dom<br /> + DocumentRoot /siteler/mesela<br /> + <br /> + <VirtualHost 192.168.1.2><br /> + <br /> + <VirtualHost 192.168.1.2 192.168.2.2><br /> + <span class="indent"> + DocumentRoot /siteler/falanca<br /> + ServerName falanca.dom<br /> + # ...<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 192.168.1.2><br /> + <span class="indent"> + DocumentRoot /siteler/faraza<br /> + ServerName faraza.dom<br /> + ServerAlias *.faraza.dom<br /> + # ...<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>Böylece sanal konaÄŸa hem yeni (bir IP’ye dayalı sanal konak olarak) + hem de eski adresinden (bir isme dayalı sanal konak olarak) + eriÅŸilebilecektir.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="serverpath" id="serverpath"><code>ServerPath</code> yönergesinin kullanımı</a></h2> + + + <p>Ä°sme dayalı iki sanal konağı olan bir sunucumuz olsun. DoÄŸru sanal + konaÄŸa eriÅŸebilmek için istemcinin doÄŸru <code>Host:</code> baÅŸlığı + göndermesi gerekir. Eski HTTP/1.0 istemcileri böyle bir baÅŸlık + göndermedikleri için Apache istemcinin hangi sanal konaÄŸa eriÅŸmek + istediÄŸini bilemez (ve isteÄŸe ilk sanal konaktan hizmet sunar). Daha iyi + bir geriye uyumluluk saÄŸlamak için isme dayalı sanal konaÄŸa bir önek + baÄŸlantısı içeren bir bilgilendirme sayfası sunmak üzere yeni bir sanal + konak oluÅŸturabiliriz.</p> + + <div class="example"><h3>Sunucu yapılandırması</h3><p><code> + + + NameVirtualHost 172.20.30.40<br /> + <br /> + <VirtualHost 172.20.30.40><br /> + <span class="indent"> + # ilk sanal konak<br /> + DocumentRoot /siteler/baska<br /> + RewriteEngine On<br /> + RewriteRule ^/.* /siteler/baska/index.html<br /> + # ...<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40><br /> + DocumentRoot /siteler/baska/bir<br /> + <span class="indent"> + ServerName bir.baska.tld<br /> + ServerPath /bir/<br /> + RewriteEngine On<br /> + RewriteRule ^(/bir/.*) /siteler/baska$1<br /> + # ...<br /> + </span> + </VirtualHost><br /> + <br /> + <VirtualHost 172.20.30.40><br /> + <span class="indent"> + DocumentRoot /siteler/baska/iki<br /> + ServerName iki.baska.tld<br /> + ServerPath /iki/<br /> + RewriteEngine On<br /> + RewriteRule ^(/iki/.*) /siteler/baska$1<br /> + # ...<br /> + </span> + </VirtualHost> + </code></p></div> + + <p><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> yönergesinden dolayı + <code>http://bir.baska.tld/bir/</code> ÅŸeklinde yapılan isteklere + <em>daima</em> “bir†sanal konağı hizmet sunacaktır.</p> + + <p><code>http://bir.baska.tld/</code> ÅŸeklinde yapılan isteklere ise + istemcinin doÄŸru <code>Host:</code> baÅŸlığı göndermesi ÅŸartıyla + “bir†sanal konağı hizmet sunacaktır. Ä°stemci, bir + <code>Host:</code> baÅŸlığı göndermediÄŸi takdirde ilk konaktan bir + bilgilendirme sayfası alacaktır.</p> + + <p>Yalnız buradaki bir tuhaflığa dikkat edin: EÄŸer istemci bir + <code>Host:</code> baÅŸlığı göndermeden + <code>http://iki.baska.tld/bir/</code> ÅŸeklinde bir istek yaparsa bu + isteÄŸe de “bir†sanal konağı hizmet sunacaktır.</p> + + <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesi, bir + istemcinin, bir URL öneki belirtsin ya da belirtmesin doÄŸru + <code>Host:</code> baÅŸlığı gönderdiÄŸinden emin olmak için + kullanılmıştır.</p> + + </div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/examples.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 b/docs/manual/vhosts/fd-limits.html index 392fda66..3cd61119 100644 --- a/docs/manual/vhosts/fd-limits.html +++ b/docs/manual/vhosts/fd-limits.html @@ -15,3 +15,7 @@ Content-type: text/html; charset=UTF-8 URI: fd-limits.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: fd-limits.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/vhosts/fd-limits.html.en b/docs/manual/vhosts/fd-limits.html.en index 51861bcc..786d1a33 100644 --- a/docs/manual/vhosts/fd-limits.html.en +++ b/docs/manual/vhosts/fd-limits.html.en @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="../en/vhosts/fd-limits.html" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -121,7 +122,8 @@ Each file will be called <code>hostname.log</code>.</p> <p><span>Available Languages: </span><a href="../en/vhosts/fd-limits.html" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/fd-limits.html.fr b/docs/manual/vhosts/fd-limits.html.fr index 88b658eb..232461fc 100644 --- a/docs/manual/vhosts/fd-limits.html.fr +++ b/docs/manual/vhosts/fd-limits.html.fr @@ -21,7 +21,8 @@ <p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -134,7 +135,8 @@ nommé <code>nomduserveur.log</code>.</p> <p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé 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> diff --git a/docs/manual/vhosts/fd-limits.html.ja.utf8 b/docs/manual/vhosts/fd-limits.html.ja.utf8 index e0addfcf..f928ba27 100644 --- a/docs/manual/vhosts/fd-limits.html.ja.utf8 +++ b/docs/manual/vhosts/fd-limits.html.ja.utf8 @@ -21,7 +21,8 @@ <p><span>Available Languages: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -118,7 +119,8 @@ split-logfile < /logs/multiple_vhost_log <p><span>Available Languages: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/fd-limits.html.ko.euc-kr b/docs/manual/vhosts/fd-limits.html.ko.euc-kr index ed541423..d6ed194a 100644 --- a/docs/manual/vhosts/fd-limits.html.ko.euc-kr +++ b/docs/manual/vhosts/fd-limits.html.ko.euc-kr @@ -21,7 +21,8 @@ <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -115,7 +116,8 @@ split-logfile < /logs/multiple_vhost_log <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="../ko/vhosts/fd-limits.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/fd-limits.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/fd-limits.html.tr.utf8 b/docs/manual/vhosts/fd-limits.html.tr.utf8 new file mode 100644 index 00000000..5ab9b0ce --- /dev/null +++ b/docs/manual/vhosts/fd-limits.html.tr.utf8 @@ -0,0 +1,126 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Dosya Tanıtıcı Sınırları - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Dosya Tanıtıcı Sınırları</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" title="Türkçe"> tr </a></p> +</div> + + + <p>Çok büyük sayıda sanal konak kullanıyorsanız ve bunların her biri için + ayrı günlük kayıtları tutuyorsanız, Apache dosya tanıtıcılarını + tüketebilir. Apache tarafından, dahili olarak 10-20 dosya tanıtıcıya ek + olarak her hata günlüğü için bir ve her diÄŸer günlük kaydı için bir dosya + tanıcı kullanılır. Unix iÅŸletim sisteminde dosya tanıtıcıların sayısı + süreç başına 64 taneyle sınırlıdır ve gerekirse donanıma baÄŸlı olarak + arttırılabilir.</p> + + <p>Apache gerektiÄŸinde bu sınırı kendisi arttırmaya çalışırsa da bu her + zaman mümkün olmaz. Şöyle ki:</p> + + <ol> + <li>Sisteminiz <code>setrlimit()</code> sistem çaÄŸrısını + saÄŸlamıyordur.</li> + + <li>Sisteminizde <code>setrlimit(RLIMIT_NOFILE)</code> çaÄŸrısı hiçbir iÅŸe + yaramıyordur (örneÄŸin, Solaris 2.3).</li> + + <li>Dosya tanıtıcılarının sayısı donanıma baÄŸlı olarak daha fazla + arttırılamıyordur.</li> + + <li>Sisteminiz dosya tanıtıcı sayısını baÅŸka sınırlara baÄŸlı kılmıştır: + örneÄŸin stdio akımları ile ilgili sınır, dosya tanıtıcı sayısının + 256’nın altında ollmasını gerektiriyordur (Solaris 2).</li> + </ol> + + <p>Böyle sorunlar karşısında yapabilecekleriniz:</p> + + <ul><li>Ana günlük dosyaları hariç, <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümlerinde günlük dosyası + belirtmeyerek günlük dosyası sayısını düşürürsünüz. (Bunun nasıl + yapılacağını öğrenmek için <a href="#splitlogs">Günlük kayıtlarının + ayrıştırılması</a> bölümüne bakınız.)</li> + + <li>Sisteminizde serbest dosya tanıtıcı sayısı 1-2 civarına düşerse + Apache’yi aÅŸağıdaki gibi bir betikle yeniden çalıştırarak dosya + tanıtıcı sayısını arttırabilirsiniz: + + <div class="example"><p><code> + <code>#!/bin/sh<br /> + ulimit -S -n 100<br /> + exec httpd</code> + </code></p></div> + </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="splitlogs" id="splitlogs">Günlük kayıtlarının ayrıştırılması</a></h2> + + <p>Günlük dosyalarını çok sayıda sanal konak için ortak olarak + kullanıyorsanız, sanal konaklar için istatistiksel çözümlemeler yapmak + amacıyla sırası geldiÄŸinde bunları ayrıştırabilirsiniz. Bu iÅŸlem aÅŸağıda + anlatıldığı gibi yapılabilir.</p> + + <p>Ä°lk iÅŸ olarak, sanal konak bilgilerini günlük girdilerine eklemeniz + gerekir. Bu iÅŸlem, <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesi ve + <code>%v</code> biçem deÄŸiÅŸkeni ile yapılabilir. Günlük girdisi biçem + dizgesinin başına bunu ekleyiniz:</p> + + <div class="example"><p><code> + LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost<br /> + CustomLog logs/multiple_vhost_log vhost + </code></p></div> + + <p>Bu yapılandırma ile her günlük kaydının başında sanal konağın + <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesine belirtilen + ismi eklenir. (Günlük dosyalarınızın kiÅŸiselleÅŸtirilmesi ile ilgili daha + fazla bilgi için <a href="../mod/mod_log_config.html#formats">Günlük + Girdilerinin KiÅŸiselleÅŸtirilmesi</a> konusuna bakınız.)</p> + + <p>Günlük dosyanızdaki kayıtları bileÅŸenlere göre gruplamak isterseniz + <code><a href="../programs/other.html">split-logfile</a></code> + programını kullanabilirsiniz. Bu programı Apache dağıtımının + <code>support</code> dizininde bulabilirsiniz.</p> + + <p>Programı aÅŸağıdaki gibi çalıştırın:</p> + + <div class="example"><p><code> + split-logfile < /logs/multiple_vhost_log + </code></p></div> + + <p>Bu programı sanal konaklar için tuttuÄŸunuz günlük dosyasının ismini + argüman olarak belirterek çalıştırdığınızda o dosyadaki kayıtlardan her + sanal konak için ayrı bir günlük dosyası + (<code><em>konakadı</em>.log</code>) üretilir.</p> + +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/vhosts/fd-limits.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/fd-limits.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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/ip-based.html.fr b/docs/manual/vhosts/ip-based.html.fr index 4bb3e821..1e799b8e 100644 --- a/docs/manual/vhosts/ip-based.html.fr +++ b/docs/manual/vhosts/ip-based.html.fr @@ -161,7 +161,7 @@ résident pour des serveurs virtuels</a></h2> <p><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> peut être - utilisées à l'intérieur d'une directive VirtualHost si l'exécution se fait + utilisée à l'intérieur d'une directive VirtualHost si l'exécution se fait sous suEXEC. (Voir <a href="../suexec.html">suEXEC</a>).</p> <p><em>SÉCURITÉ :</em> lorsque vous spécifiez où écrire les diff --git a/docs/manual/vhosts/mass.html b/docs/manual/vhosts/mass.html index 0ba07cc1..408420d1 100644 --- a/docs/manual/vhosts/mass.html +++ b/docs/manual/vhosts/mass.html @@ -7,3 +7,7 @@ Content-type: text/html; charset=ISO-8859-1 URI: mass.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR + +URI: mass.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/vhosts/mass.html.en b/docs/manual/vhosts/mass.html.en index 71e6b40d..a8efac62 100644 --- a/docs/manual/vhosts/mass.html.en +++ b/docs/manual/vhosts/mass.html.en @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Dynamically configured mass virtual hosting</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/vhosts/mass.html" title="English"> en </a> | -<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> @@ -449,7 +450,8 @@ RewriteRule ^/(.*)$ %1/cgi-bin/$1 </div></div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/vhosts/mass.html" title="English"> en </a> | -<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/mass.html.ko.euc-kr b/docs/manual/vhosts/mass.html.ko.euc-kr index e80bd84a..71b09fe9 100644 --- a/docs/manual/vhosts/mass.html.ko.euc-kr +++ b/docs/manual/vhosts/mass.html.ko.euc-kr @@ -19,7 +19,8 @@ <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">°¡»óÈ£½ºÆ®</a></div><div id="page-content"><div id="preamble"><h1>´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ µ¿ÀûÀ¸·Î ¼³Á¤Çϱâ</h1> <div class="toplang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/vhosts/mass.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/mass.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <div class="outofdate">ÀÌ ¹®¼´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼¸¦ Âü°íÇϼ¼¿ä.</div> @@ -416,7 +417,8 @@ RewriteRule ^/(.*)$ %1/cgi-bin/$1 </div></div> <div class="bottomlang"> <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../ko/vhosts/mass.html" title="Korean"> ko </a></p> +<a href="../ko/vhosts/mass.html" title="Korean"> ko </a> | +<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div><div id="footer"> <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under 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> diff --git a/docs/manual/vhosts/mass.html.tr.utf8 b/docs/manual/vhosts/mass.html.tr.utf8 new file mode 100644 index 00000000..de2ddc52 --- /dev/null +++ b/docs/manual/vhosts/mass.html.tr.utf8 @@ -0,0 +1,440 @@ +<?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="tr" xml:lang="tr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma - Apache HTTP Sunucusu</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/">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> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.2</a> > <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/mass.html" title="Türkçe"> tr </a></p> +</div> + + + <p>Bu belgede sanal konakların sonu belirsiz bir ÅŸekilde artışı karşısında + Apache httpd sunucusunun nasıl daha verimli kullanılacağı açıklanmıştır. + </p> + +</div> +<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">Amaç</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#overview">Genel Bakış</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#simple">Basit Devingen Sanal Konaklar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#homepages">Sanal KiÅŸisel Sayfalar Sistemi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Aynı Sunucuda KiÅŸisel ve Kurumsal Sanal Konaklar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">IP’ye dayalı sanal konakları daha verimli kılmak</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#oldversion">Apache’nin eski sürümlerini kullanmak</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite"><code>mod_rewrite</code> ile Kurumsal Müşteriler Sistemi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#homepages.rewrite"><code>mod_rewrite</code> ile KiÅŸisel Sayfalar Sistemi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">Sanal konaklar için ayrı bir yapılandırma dosyası kullanmak</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="motivation" id="motivation">Amaç</a></h2> + + <p>Burada açıklanan teknikler, <code>httpd.conf</code> dosyanızın + örnekteki gibi, aslında hemen hemen birbirinin aynı çok sayıda + <code><VirtualHost></code> bölümü içereceÄŸi zaman yapılacaklar ile + ilgilidir. + </p> + +<div class="example"><p><code> +NameVirtualHost 111.22.33.44<br /> +<VirtualHost 111.22.33.44><br /> +<span class="indent"> + ServerName musteri-1.dom<br /> + DocumentRoot /siteler/musteri-1.dom/belgeler<br /> + ScriptAlias /cgi-bin/ /siteler/musteri-1.dom/cgi-bin<br /> +</span> +</VirtualHost><br /> +<VirtualHost 111.22.33.44><br /> +<span class="indent"> + ServerName musteri-2.dom<br /> + DocumentRoot /siteler/musteri-2.dom/belgeler<br /> + ScriptAlias /cgi-bin/ /siteler/musteri-2.dom/cgi-bin<br /> +</span> +</VirtualHost><br /> +# blah blah blah<br /> +<VirtualHost 111.22.33.44><br /> +<span class="indent"> + ServerName musteri-N.dom<br /> + DocumentRoot /siteler/musteri-N.dom/belgeler<br /> + ScriptAlias /cgi-bin/ /siteler/musteri-N.dom/cgi-bin<br /> +</span> +</VirtualHost> +</code></p></div> + + <p>Ana fikir, tüm duraÄŸan <code><VirtualHost></code> + yapılandırmalarını devingen olarak çalışan tek bir + <code><VirtualHost></code> bölümüyle deÄŸiÅŸtirmektir. Bunun elbette + bazı getirileri olacaktır:</p> + + <ol> + <li>Yapılandırma dosyanız küçüleceÄŸi için Apache daha çabuk + baÅŸlatılabilecek ve daha az bellek harcayacaktır.</li> + + <li>Yeni sanal konakların eklenmesi, DNS’de yeni girdiler oluÅŸturmak ve + dosya sisteminde bununla ilgili dizinleri açmak dışında biraz daha + basit olacaktır; en azından Apache’yi yeniden yapılandırmak ve yeniden + baÅŸlatmak zorunda kalmayacaksınız.</li> + </ol> + + <p>Ana götürüsü ise her sanal konak için ayrı birer günlük dosyasına sahip + olamayacak olmanızdır. Öte yandan, dosya tanıtıcılarının sınırlı olması + nedeniyle bunu yapmayı zaten istemezsiniz. Günlük kayıtları için bir + fifo veya bir boru hattı oluÅŸturmak ve diÄŸer uçta çalışan bir süreç + vasıtasıyla günlükleri müşterilere paylaÅŸtırmak daha iyidir (ayrıca, bu, + istatistikleri toplamanızı da kolaylaÅŸtırır).</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="overview" id="overview">Genel Bakış</a></h2> + + <p>Bir sanal konak iki bilgiye bakarak belirlenir: IP adresi ve HTTP + isteÄŸindeki <code>Host:</code> baÅŸlığının içeriÄŸi. Devingen sanal + barındırma tekniÄŸi, isteÄŸi yerine getirmek için kullanılacak dosya + yoluna bu bilgiyi kendiliÄŸinden girmek esasına dayanır. Bu, Apache 2.0 + ile <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> kullanarak oldukça kolay + yapılabileceÄŸi gibi <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> da kullanılabilir. Bu + modüllerin her ikisi de öntanımlı olarak devre dışıdır. Bu tekniÄŸi + kullanmak isterseniz Apache’yi yeniden yapılandırıp derleyerek bu iki + modülü etkin duruma getirmeniz gerekir.</p> + + <p>Devingen sanal konağı normal bir sanal konak gibi göstermek için bazı + ÅŸeyleri ’göstermelik’ olarak yapmak gerekir. Bunlardan en önemlisi, + Apache tarafından göreli URL’lerden normal URL’leri ve benzerlerini + üretmek için kullanılan sunucu ismidir. Sunucu ismi + <code>ServerName</code> yönergesi ile yapılandırılır ve CGI’ler + tarafından <code>SERVER_NAME</code> ortam deÄŸiÅŸkeni üzerinden + kullanılır. Çalışma anındaki asıl deÄŸer <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> yönergesi tarafından denetlenir. + <code>UseCanonicalName Off</code> olduÄŸunda sunucu ismi isteÄŸin + <code>Host:</code> baÅŸlık alanından elde edilir. <code>UseCanonicalName + DNS</code> belirtilmiÅŸse, sunucu ismi, sanal konağın IP adresinden + tersine DNS sorgusu yapılarak elde edilir. Birincisi isme dayalı sanal + konaklar tarafından ikincisi ise IP’ye dayalı sanal konaklar tarafından + kullanılır. EÄŸer Apache, istekte <code>Host:</code> baÅŸlığının olmayışı + veya DNS sorgusunun baÅŸarısız olması sebebiyle sunucu ismini elde + edemezse son çare olarak <code>ServerName</code> yönergesinde yazılı + deÄŸeri kullanır.</p> + + <p>‘Göstermelik’ yapılan ÅŸeylerden biri de <code>DocumentRoot</code> + yönergesi ile yapılandırılan belge kök dizini olup CGI’ler tarafından + <code>DOCUMENT_ROOT</code> ortam deÄŸiÅŸkeni üzerinden kullanılır. Normal + yapılandırmada <code class="module"><a href="../mod/core.html">core</a></code> modülü tarafından dosya isimlerini + URI’lere eÅŸlerken kullanılır. Fakat sunucu devingen sanal konakları + kullanmak üzere yapılandırıldığında, eÅŸleÅŸtirmeyi farklı yollardan yapan + baÅŸka bir modül devreye girer (<code>mod_vhost_alias</code> veya + <code>mod_rewrite</code>). <code>DOCUMENT_ROOT</code> ortam deÄŸiÅŸkenine + deÄŸerini atamaktan sorumlu olan bu iki modülden biri kullanılmazsa CGI + veya SSI belgeleri yanlış deÄŸerlerle üretilirler.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="simple" id="simple">Basit Devingen Sanal Konaklar</a></h2> + + <p>Yukarıda <a href="#motivation">Amaç</a> bölümünde özetlenen sanal konak + düzenlemesinin <code>mod_vhost_alias</code> kullanarak daha soysal bir + tarzda gerçekleÅŸtirilmiÅŸ halini içeren <code>httpd.conf</code> bölümü + aÅŸağıdadır.</p> + +<div class="example"><p><code> +# sunucu ismini Host: baÅŸlığından elde edelim<br /> +UseCanonicalName Off<br /> +<br /> +# Bu günlükleme biçiminde ilk alana bakarak<br /> +# sanal konak günlükleri ayrıştırılabilir<br /> +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br /> +CustomLog logs/access_log vcommon<br /> +<br /> +# istekleri yerine getirmek için kullanılacak<br /> +# dosya isimlerine sunucu ismini ekleyelim<br /> +VirtualDocumentRoot /siteler/%0/belgeler<br /> +VirtualScriptAlias /siteler/%0/cgi-bin +</code></p></div> + + <p>Bu yapılandırmayı IP’ye dayalı sanal konaklar için kullanmak isterseniz + <code>UseCanonicalName Off</code> yerine <code>UseCanonicalName + DNS</code> yazmanız yeterlidir. Böylece dosya ismine eklenecek konak + ismi sanal konağın IP adresinden türetilir.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="homepages" id="homepages">Sanal KiÅŸisel Sayfalar Sistemi</a></h2> + + <p>Bu sistem, yukarıdaki yapılandırmanın bir ISS’nin kiÅŸisel sayfalar + sunucusuna uyarlanmasından baÅŸka bir ÅŸey deÄŸildir. Biraz daha karmaşık + bir yapılandırma ile dosya isimlerine <code>/home/kullanıcı/</code> + dizinlerini ekleyebiliriz. Farklı olarak her sanal konak için bir tane + deÄŸil hepsi için bir tane <code>cgi-bin</code> olacaktır.</p> + +<div class="example"><p><code> +# Son bölüm hariç yukarıdaki yapılandırma, burada...<br /> +<br /> +# sunucu ismine eklenecek dosya isimlerini oluÅŸturalım<br /> +VirtualDocumentRoot /siteler/%2/belgeler<br /> +<br /> +# ortak cgi-bin dizini<br /> +ScriptAlias /cgi-bin/ /siteler/std-cgi/<br /> +</code></p></div> + + <p><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> belgesinde daha karmaşık + <code>VirtualDocumentRoot</code> örnekleri vardır.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="combinations" id="combinations">Aynı Sunucuda KiÅŸisel ve Kurumsal Sanal Konaklar</a></h2> + + <p>Daha karmaşık ayarlamalar yaparak Apache’inin normal + <code><VirtualHost></code> bölümlerini farklı kitlesel sanal konak + yapılandırmaları için kullanabilirsiniz. ÖrneÄŸin, bireysel + müşterileriniz için bir IP adresiniz, kurumsal müşterileriniz için de + baÅŸka bir IP adresiniz olsun. Her biri için ayrı ayrı sanal konaklar + ayarlamak yerine aÅŸağıdaki gibi bir yapılandırma kullanabilirsiniz:</p> + +<div class="example"><p><code> +UseCanonicalName Off<br /> +<br /> +LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br /> +<br /> +<Directory /siteler/kurumsal><br /> +<span class="indent"> + Options FollowSymLinks<br /> + AllowOverride All<br /> +</span> +</Directory><br /> +<br /> +<Directory /siteler/bireysel><br /> +<span class="indent"> + Options FollowSymLinks<br /> + AllowOverride None<br /> +</span> +</Directory><br /> +<br /> +<VirtualHost 111.22.33.44><br /> +<span class="indent"> + ServerName kurumsal.iss.dom<br /> + <br /> + CustomLog logs/access_log.kurumsal vcommon<br /> + <br /> + VirtualDocumentRoot /siteler/kurumsal/%0/belgeler<br /> + VirtualScriptAlias /siteler/kurumsal/%0/cgi-bin<br /> +</span> +</VirtualHost><br /> +<br /> +<VirtualHost 111.22.33.45><br /> +<span class="indent"> + ServerName bireysel.iss.dom<br /> + <br /> + CustomLog logs/access_log.bireysel vcommon<br /> + <br /> + VirtualDocumentRoot /siteler/bireysel/%0/belgeler<br /> + ScriptAlias /cgi-bin/ /siteler/std-cgi/<br /> +</span> +</VirtualHost> +</code></p></div> + + <div class="note"><h3>Bilginize</h3> + <p>EÄŸer ilk <code><VirtualHost></code> bölümü bir <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesi içermezse ilgili IP + için ters DNS sorgusu yapılır. EÄŸer sorgudan elde edilen isim + sunucunun ismi deÄŸilse bu istenmeyen duruma bir çözüm olarak bir + bilgilendirme bölümü (<code>ServerName isimsiz.iss.dom</code>) + eklenebilir.</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="ipbased" id="ipbased">IP’ye dayalı sanal konakları daha verimli kılmak</a></h2> + + <p><a href="#simple">Ä°lk örnekte</a> IP’ye dayalı sanal konaklar için + kullanılmak istenirse yapılandırmada neyin nasıl deÄŸiÅŸtirileceÄŸi + belirtilmiÅŸti. Her istek için ayrı bir DNS sorgusu gerekeceÄŸinden bu + baÅŸarım düşmesine yol açar. DNS sorgusu ihtiyacını ortadan kaldırmak + için, bir çözüm olarak dosya sistemi, konak isimleri yerine IP + adreslerine göre düzenlenebilir. Günlük kayıtları da IP adreslerine göre + ayrıştırılacak ÅŸekilde ayarlanabilir.</p> + +<div class="example"><p><code> +# Sunucu ismini IP adresinden ters DNS sorgusu ile elde edelim<br /> +UseCanonicalName DNS<br /> +<br /> +# Günlük kayıtları IP adreslerine göre ayrıştırılabilsin<br /> +LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon<br /> +CustomLog logs/access_log vcommon<br /> +<br /> +# dosya isimleri IP adreslerini içersin<br /> +VirtualDocumentRootIP /siteler/%0/belgeler<br /> +VirtualScriptAliasIP /siteler/%0/cgi-bin<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="oldversion" id="oldversion">Apache’nin eski sürümlerini kullanmak</a></h2> + + <p>Yukarıdaki örnekler 1.3.6 sürümünden itibaren + <code>mod_vhost_alias</code> modülünü kullanarak çalışırlar. + <code>mod_vhost_alias</code> modülü içermeyen bir Apache sürümü + kullanıyorsanız bu tekniÄŸi <code>mod_rewrite</code> modülünü kullanarak + sadece <code>Host:</code> baÅŸlığını kullanan sanal konaklar için aÅŸağıda + açıklandığı gibi gerçekleÅŸtirebilirsiniz.</p> + + <p>Buna ek olarak günlük kayıtları ile ilgili olarak dikkat edilmesi + gereken ÅŸeyler vardır. Apache 1.3.6 <code>%V</code> günlük biçemi + yönergesinin içeren ilk sürümdür; 1.3.0 - 1.3.3 sürümlerinde aynı iÅŸi + <code>%v</code> yapardı. 1.3.4 sürümünde buna eÅŸdeÄŸer bir ÅŸey yoktu. + Apache’nin bu sürümlerinin hepsinde, müşterilerin yaptıkları yanlışların + günlük kaydına yazılmasını saÄŸlamak üzere, <code>UseCanonicalName</code> + yönergesi <code>.htaccess</code> dosyalarında bulunabiliyordu. Bu + bakımdan yapılacak en iyi ÅŸey, <code>Host:</code> baÅŸlığını doÄŸrudan + günlük kaydına geçirmek için <code>%{Host}i</code> yönergesini + kullanmaktır; böylece ardına <code>%V</code> ile saÄŸlanmayan + <code>:port</code> yönergesinin eklenebileceÄŸine dikkat ediniz.</p> + +</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"><code>mod_rewrite</code> ile Kurumsal Müşteriler Sistemi</a></h2> + + <p>Buradaki <code>httpd.conf</code> bölümü de <a href="#simple">ilk + örnekteki</a> gibi elde edilmiÅŸtir. Ä°lk yarı, bazı deÄŸiÅŸiklikler dışında + yukarıdaki örneÄŸe çok benzer. Bu deÄŸiÅŸiklikler yapılandırmanın + <code>mod_rewrite</code> bölümünün düzgün çalışması ve geriye doÄŸru + uyumluluk için gereklidir. Ä°kinci yarı, asıl iÅŸi yapan + <code>mod_rewrite</code> yapılandırmasını içerir.</p> + + <p>Biraz uzmanlık gerektiren bazı kısımlar var: Öntanımlı olarak + <code>mod_rewrite</code> diÄŸer (<code>mod_alias</code>, vs. gibi) URI + dönüşüm modüllerinden önce çalışır. Dolayısıyla bu modülleri kullanmak + isterseniz, <code>mod_rewrite</code>’ı bunlara izin verecek ÅŸekilde + yapılandırmalısınız. Ayrıca her devingen sanal konaÄŸa eÅŸdeÄŸer bir + <code>ScriptAlias</code> yapmak için de biraz büyü yapmak gerekir.</p> + +<div class="example"><p><code> +# Sunucu ismini Host: baÅŸlığınıdan alalım.<br /> +UseCanonicalName Off<br /> +<br /> +# Günlük dosyasından bilgileri ayıklayabilelim.<br /> +LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br /> +CustomLog logs/access_log vcommon<br /> +<br /> +<Directory /siteler/hosts><br /> +<span class="indent"> + # ScriptAlias için yaptıklarımızla CGI betiklerini<br /> + # çalışmaya zorlayamayacağımızdan ExecCGI burada gerekli.<br /> + Options FollowSymLinks ExecCGI<br /> +</span> +</Directory><br /> +<br /> +# Ä°ÅŸin zor yanına geldik.<br /> +<br /> +RewriteEngine On<br /> +<br /> +# Host: baÅŸlığından elde edilen sunucu isminde harf<br /> +# büyüklükleri çeÅŸitli olabilir. Hepsini küçük harf yapalım.<br /> +RewriteMap lowercase int:tolower<br /> +<br /> +## önce normal belgelerle anlaÅŸalım:<br /> +# Alias /icons/ çalışsın - diÄŸer rumuzlar için yineleyelim<br /> +RewriteCond %{REQUEST_URI} !^/icons/<br /> +# CGI’ler de çalışsın.<br /> +RewriteCond %{REQUEST_URI} !^/cgi-bin/<br /> +# Biraz da büyü yapalım.<br /> +RewriteRule ^/(.*)$ /siteler/${lowercase:%{SERVER_NAME}}/belgeler/$1<br /> +<br /> +## Artık CGI’lerle anlaÅŸabiliriz. - Bir MIME türü isteyelim.<br /> +RewriteCond %{REQUEST_URI} ^/cgi-bin/<br /> +RewriteRule ^/(.*)$ /siteler/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]<br /> +<br /> +# Bu kadar! +</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="homepages.rewrite" id="homepages.rewrite"><code>mod_rewrite</code> ile KiÅŸisel Sayfalar Sistemi</a></h2> + + <p>Burada da <a href="#homepages">ikinci örnekte</a> yaptıklarımızı + yapıyoruz.</p> + +<div class="example"><p><code> +RewriteEngine on<br /> +<br /> +RewriteMap lowercase int:tolower<br /> +<br /> +# CGI’ler çalışsın.<br /> +RewriteCond %{REQUEST_URI} !^/cgi-bin/<br /> +<br /> +# konak ismi doÄŸru mu bakalım yoksa RewriteRule çalışmaz.<br /> +RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.dom$<br /> +<br /> +# URI’nin başına sanal konak ismini ekleyelim.<br /> +# [C], bunu bitirdikten sonra, sonraki rewrite ile devam et demek.<br /> +RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]<br /> +<br /> +# Artık asıl dosya ismini oluÅŸturabiliriz.<br /> +RewriteRule ^www\.([a-z-]+)\.isp\.dom/(.*) /home/$1/$2<br /> +<br /> +# Ortak CGI dizinini tanımlayalım.<br /> +ScriptAlias /cgi-bin/ /siteler/std-cgi/ +</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">Sanal konaklar için ayrı bir yapılandırma dosyası kullanmak</a></h2> + + <p>Burada, sanal konak isimlerinden belge kök dizini elde ederken + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün daha geliÅŸkin özelliklerinden + yararlanarak isimleri ayrı bir dosyadan okutacağız. Bu, esnekliÄŸi + artırır ama daha karmaşık bir yapılandırma gerekir.</p> + + <p>AÅŸağıdaki içeriÄŸe sahip bir <code>vhost.map</code>dosyamız olsun:</p> + +<div class="example"><p><code> +musteri-1.dom /siteler/kurumsal/1<br /> +musteri-2.dom /siteler/kurumsal/2<br /> +# ...<br /> +musteri-N.dom /siteler/kurumsal/N<br /> +</code></p></div> + + <p><code>httpd.conf</code> dosyamız da ÅŸunları içerecektir:</p> + +<div class="example"><p><code> +RewriteEngine on<br /> +<br /> +RewriteMap lowercase int:tolower<br /> +<br /> +# EÅŸlem dosyasını tanımlayalım<br /> +RewriteMap vhost txt:/siteler/conf/vhost.map<br /> +<br /> +# Rumuzları yukarıdaki gibi halledelim.<br /> +RewriteCond %{REQUEST_URI} !^/icons/<br /> +RewriteCond %{REQUEST_URI} !^/cgi-bin/<br /> +RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br /> +# EÅŸlemeyi dosyalar için de yapalım.<br /> +RewriteCond ${vhost:%1} ^(/.*)$<br /> +RewriteRule ^/(.*)$ %1/belgeler/$1<br /> +<br /> +RewriteCond %{REQUEST_URI} ^/cgi-bin/<br /> +RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br /> +RewriteCond ${vhost:%1} ^(/.*)$<br /> +RewriteRule ^/(.*)$ %1/cgi-bin/$1 +</code></p></div> + +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/vhosts/mass.html" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2008 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 @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\httpd.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "httpd - Win32 Debug" @@ -86,7 +86,7 @@ LINK32=link.exe TargetPath=.\Debug\httpd.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF @@ -9,7 +9,7 @@ Summary: Apache HTTP Server Name: httpd -Version: 2.2.9 +Version: 2.2.11 Release: 1 URL: http://httpd.apache.org/ Vendor: Apache Software Foundation diff --git a/include/ap_config_auto.h.in b/include/ap_config_auto.h.in index fa084649..8b630c08 100644 --- a/include/ap_config_auto.h.in +++ b/include/ap_config_auto.h.in @@ -82,15 +82,6 @@ /* Define to 1 if you have the `killpg' function. */ #undef HAVE_KILLPG -/* Define to 1 if you have the `crypto' library (-lcrypto). */ -#undef HAVE_LIBCRYPTO - -/* Define to 1 if you have the `ssl' library (-lssl). */ -#undef HAVE_LIBSSL - -/* Define to 1 if you have the `sslc' library (-lsslc). */ -#undef HAVE_LIBSSLC - /* Define to 1 if you have the <limits.h> header file. */ #undef HAVE_LIMITS_H @@ -127,6 +118,15 @@ /* Define to 1 if you have the <sslc.h> header file. */ #undef HAVE_SSLC_H +/* Define to 1 if you have the `SSLC_library_version' function. */ +#undef HAVE_SSLC_LIBRARY_VERSION + +/* Define to 1 if you have the `SSLeay_version' function. */ +#undef HAVE_SSLEAY_VERSION + +/* Define to 1 if you have the `SSL_CTX_new' function. */ +#undef HAVE_SSL_CTX_NEW + /* Define to 1 if you have the `SSL_set_cert_store' function. */ #undef HAVE_SSL_SET_CERT_STORE @@ -220,16 +220,6 @@ /* Path to suexec binary */ #undef SUEXEC_BIN -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE @@ -252,6 +242,16 @@ #endif +/* Define to 1 if on MINIX. */ +#undef _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + /* Define to empty if `const' does not conform to ANSI C. */ #undef const diff --git a/include/ap_mmn.h b/include/ap_mmn.h index 2c226b6c..fbdd336d 100644 --- a/include/ap_mmn.h +++ b/include/ap_mmn.h @@ -118,17 +118,23 @@ * 20051115.7 (2.2.7) Added conn_rec::clogging_input_filters (minor) * 20051115.8 (2.2.7) Added flags to proxy_alias (minor) * 20051115.9 (2.2.7) Add ap_send_interim_response API - * 20051115.10(2.2.7) Added ap_mod_status_reqtail (minor) - * 20051115.11(2.2.7) Add *ftp_directory_charset to proxy_dir_conf - * 20051115.12(2.2.8) Add optional function ap_logio_add_bytes_in() to mog_logio - * 20051115.13(2.2.9) Add disablereuse and disablereuse_set - * to proxy_worker struct (minor) - * 20051115.14(2.2.9) Add ap_proxy_ssl_connection_cleanup and - * add *scpool, *r and need_flush to proxy_conn_rec - * structure - * 20051115.15(2.2.9) Add interpolate_env to proxy_dir_conf and - * introduce proxy_req_conf. - * + * 20051115.10 (2.2.7) Added ap_mod_status_reqtail (minor) + * 20051115.11 (2.2.7) Add *ftp_directory_charset to proxy_dir_conf + * 20051115.12 (2.2.8) Add optional function ap_logio_add_bytes_in() to mog_logio + * 20051115.13 (2.2.9) Add disablereuse and disablereuse_set + * to proxy_worker struct (minor) + * 20051115.14 (2.2.9) Add ap_proxy_ssl_connection_cleanup and + * add *scpool, *r and need_flush to proxy_conn_rec + * structure + * 20051115.15 (2.2.9) Add interpolate_env to proxy_dir_conf and + * introduce proxy_req_conf. + * 20051115.16 (2.2.9) Add conn_timeout and conn_timeout_set to + * proxy_worker struct. + * 20051115.17 (2.2.10) Add scolonsep to proxy_balancer + * 20051115.18 (2.2.10) Add chroot support to unixd_config + * 20051115.19 (2.2.11) Added ap_timeout_parameter_parse to util.c / httpd.h + * 20051115.20 (2.2.11) Add ap_proxy_buckets_lifetime_transform to mod_proxy.h + * 20051115.21 (2.2.11) Export mod_rewrite.h in the public API */ #define MODULE_MAGIC_COOKIE 0x41503232UL /* "AP22" */ @@ -136,7 +142,7 @@ #ifndef MODULE_MAGIC_NUMBER_MAJOR #define MODULE_MAGIC_NUMBER_MAJOR 20051115 #endif -#define MODULE_MAGIC_NUMBER_MINOR 15 /* 0...n */ +#define MODULE_MAGIC_NUMBER_MINOR 21 /* 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 af9b3233..31d3d138 100644 --- a/include/ap_release.h +++ b/include/ap_release.h @@ -45,7 +45,7 @@ #define AP_SERVER_MAJORVERSION_NUMBER 2 #define AP_SERVER_MINORVERSION_NUMBER 2 -#define AP_SERVER_PATCHLEVEL_NUMBER 9 +#define AP_SERVER_PATCHLEVEL_NUMBER 11 #define AP_SERVER_DEVBUILD_BOOLEAN 0 #if AP_SERVER_DEVBUILD_BOOLEAN diff --git a/include/httpd.h b/include/httpd.h index 542b6eaa..a96e4d62 100644 --- a/include/httpd.h +++ b/include/httpd.h @@ -1734,6 +1734,29 @@ AP_DECLARE(char *) ap_escape_quotes(apr_pool_t *p, const char *instring); AP_DECLARE(char *) ap_append_pid(apr_pool_t *p, const char *string, const char *delim); +/** + * Parse a given timeout parameter string into an apr_interval_time_t value. + * The unit of the time interval is given as postfix string to the numeric + * string. Currently the following units are understood: + * + * ms : milliseconds + * s : seconds + * mi[n] : minutes + * h : hours + * + * If no unit is contained in the given timeout parameter the default_time_unit + * will be used instead. + * @param timeout_parameter The string containing the timeout parameter. + * @param timeout The timeout value to be returned. + * @param default_time_unit The default time unit to use if none is specified + * in timeout_parameter. + * @return Status value indicating whether the parsing was successful or not. + */ +AP_DECLARE(apr_status_t) ap_timeout_parameter_parse( + const char *timeout_parameter, + apr_interval_time_t *timeout, + const char *default_time_unit); + /* Misc system hackery */ /** * Given the name of an object in the file system determine if it is a directory diff --git a/modules/aaa/mod_authn_alias.c b/modules/aaa/mod_authn_alias.c index d306f67a..a3a35948 100644 --- a/modules/aaa/mod_authn_alias.c +++ b/modules/aaa/mod_authn_alias.c @@ -122,6 +122,12 @@ static const authn_provider authn_alias_provider = &authn_alias_get_realm_hash, }; +static const authn_provider authn_alias_provider_nodigest = +{ + &authn_alias_check_password, + NULL, +}; + static const char *authaliassection(cmd_parms *cmd, void *mconfig, const char *arg) { int old_overrides = cmd->override; @@ -194,7 +200,9 @@ static const char *authaliassection(cmd_parms *cmd, void *mconfig, const char *a /* Register the fake provider so that we get called first */ ap_register_provider(cmd->pool, AUTHN_PROVIDER_GROUP, provider_alias, "0", - &authn_alias_provider); + provider->get_realm_hash ? + &authn_alias_provider : + &authn_alias_provider_nodigest); } cmd->override = old_overrides; diff --git a/modules/aaa/mod_authnz_ldap.c b/modules/aaa/mod_authnz_ldap.c index 7fbff414..5d767f65 100644 --- a/modules/aaa/mod_authnz_ldap.c +++ b/modules/aaa/mod_authnz_ldap.c @@ -418,13 +418,13 @@ start_over: #ifdef LDAP_SECURITY_ERROR : (LDAP_SECURITY_ERROR(result)) ? AUTH_DENIED #else - : (LDAP_INAPPROPRIATE_AUTH == result) ? AUTH_DENIED - : (LDAP_INVALID_CREDENTIALS == result) ? AUTH_DENIED + : (LDAP_INAPPROPRIATE_AUTH == result) ? AUTH_DENIED + : (LDAP_INVALID_CREDENTIALS == result) ? AUTH_DENIED #ifdef LDAP_INSUFFICIENT_ACCESS : (LDAP_INSUFFICIENT_ACCESS == result) ? AUTH_DENIED #endif #ifdef LDAP_INSUFFICIENT_RIGHTS - : (LDAP_INSUFFICIENT_RIGHTS == result) ? AUTH_DENIED + : (LDAP_INSUFFICIENT_RIGHTS == result) ? AUTH_DENIED #endif #endif : AUTH_GENERAL_ERROR; diff --git a/modules/aaa/mod_authz_host.c b/modules/aaa/mod_authz_host.c index a502951c..f23288f5 100644 --- a/modules/aaa/mod_authz_host.c +++ b/modules/aaa/mod_authz_host.c @@ -42,6 +42,7 @@ enum allowdeny_type { T_ENV, + T_NENV, T_ALL, T_IP, T_HOST, @@ -123,7 +124,12 @@ static const char *allow_cmd(cmd_parms *cmd, void *dv, const char *from, a->x.from = where; a->limited = cmd->limited; - if (!strncasecmp(where, "env=", 4)) { + if (!strncasecmp(where, "env=!", 5)) { + a->type = T_NENV; + a->x.from += 5; + + } + else if (!strncasecmp(where, "env=", 4)) { a->type = T_ENV; a->x.from += 4; @@ -220,6 +226,12 @@ static int find_allowdeny(request_rec *r, apr_array_header_t *a, int method) } break; + case T_NENV: + if (!apr_table_get(r->subprocess_env, ap[i].x.from)) { + return 1; + } + break; + case T_ALL: return 1; diff --git a/modules/cache/cache_util.c b/modules/cache/cache_util.c index 78770ffd..ec2d749b 100644 --- a/modules/cache/cache_util.c +++ b/modules/cache/cache_util.c @@ -351,7 +351,7 @@ CACHE_DECLARE(int) ap_cache_check_freshness(cache_handle_t *h, if (!(((smaxage != -1) && age < smaxage) || ((maxage != -1) && age < maxage) || (info->expire != APR_DATE_BAD && - (info->expire - info->date) > age))) { + (apr_time_sec(info->expire - info->date)) > age))) { /* make sure we don't stomp on a previous warning */ if ((warn_head == NULL) || ((warn_head != NULL) && (ap_strstr_c(warn_head, "110") == NULL))) { diff --git a/modules/dav/fs/repos.c b/modules/dav/fs/repos.c index a532e6e9..bb197881 100644 --- a/modules/dav/fs/repos.c +++ b/modules/dav/fs/repos.c @@ -119,9 +119,19 @@ enum { ** Does this platform support an executable flag? ** ** ### need a way to portably abstract this query +** +** DAV_FINFO_MASK gives the appropriate mask to use for the stat call +** used to get file attributes. */ #ifndef WIN32 #define DAV_FS_HAS_EXECUTABLE +#define DAV_FINFO_MASK (APR_FINFO_LINK | APR_FINFO_TYPE | APR_FINFO_INODE | \ + APR_FINFO_SIZE | APR_FINFO_CTIME | APR_FINFO_MTIME | \ + APR_FINFO_PROT) +#else +/* as above, but without APR_FINFO_PROT */ +#define DAV_FINFO_MASK (APR_FINFO_LINK | APR_FINFO_TYPE | APR_FINFO_INODE | \ + APR_FINFO_SIZE | APR_FINFO_CTIME | APR_FINFO_MTIME) #endif /* @@ -1479,10 +1489,8 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth) /* append this file onto the path buffer (copy null term) */ dav_buffer_place_mem(pool, &fsctx->path1, dirent.name, len + 1, 0); - - /* ### Optimize me, dirent can give us what we need! */ status = apr_stat(&fsctx->info1.finfo, fsctx->path1.buf, - APR_FINFO_NORM | APR_FINFO_LINK, pool); + DAV_FINFO_MASK, pool); if (status != APR_SUCCESS && status != APR_INCOMPLETE) { /* woah! where'd it go? */ /* ### should have a better error here */ diff --git a/modules/filters/mod_charset_lite.c b/modules/filters/mod_charset_lite.c index a44ecc33..2d54ff6f 100644 --- a/modules/filters/mod_charset_lite.c +++ b/modules/filters/mod_charset_lite.c @@ -96,6 +96,7 @@ typedef struct charset_filter_ctx_t { int noop; /* should we pass brigades through unchanged? */ char *tmp; /* buffer for input filtering */ apr_bucket_brigade *bb; /* input buckets we couldn't finish translating */ + apr_bucket_brigade *tmpbb; /* used for passing downstream */ } charset_filter_ctx_t; /* charset_req_t is available via r->request_config if any translation is @@ -266,6 +267,8 @@ static int find_code_page(request_rec *r) reqinfo->dc = dc; output_ctx->dc = dc; + output_ctx->tmpbb = apr_brigade_create(r->pool, + r->connection->bucket_alloc); ap_set_module_config(r->request_config, &charset_lite_module, reqinfo); reqinfo->output_ctx = output_ctx; @@ -373,6 +376,20 @@ static void xlate_insert_filter(request_rec *r) * will be generated */ +static apr_status_t send_bucket_downstream(ap_filter_t *f, apr_bucket *b) +{ + charset_filter_ctx_t *ctx = f->ctx; + apr_status_t rv; + + APR_BRIGADE_INSERT_TAIL(ctx->tmpbb, b); + rv = ap_pass_brigade(f->next, ctx->tmpbb); + if (rv != APR_SUCCESS) { + ctx->ees = EES_DOWNSTREAM; + } + apr_brigade_cleanup(ctx->tmpbb); + return rv; +} + /* send_downstream() is passed the translated data; it puts it in a single- * bucket brigade and passes the brigade to the next filter */ @@ -380,19 +397,10 @@ static apr_status_t send_downstream(ap_filter_t *f, const char *tmp, apr_size_t { request_rec *r = f->r; conn_rec *c = r->connection; - apr_bucket_brigade *bb; apr_bucket *b; - charset_filter_ctx_t *ctx = f->ctx; - apr_status_t rv; - bb = apr_brigade_create(r->pool, c->bucket_alloc); b = apr_bucket_transient_create(tmp, len, c->bucket_alloc); - APR_BRIGADE_INSERT_TAIL(bb, b); - rv = ap_pass_brigade(f->next, bb); - if (rv != APR_SUCCESS) { - ctx->ees = EES_DOWNSTREAM; - } - return rv; + return send_bucket_downstream(f, b); } static apr_status_t send_eos(ap_filter_t *f) @@ -632,12 +640,12 @@ static void chk_filter_chain(ap_filter_t *f) * we'll stop when one of the following occurs: * . we run out of buckets * . we run out of space in the output buffer - * . we hit an error + * . we hit an error or metadata * * inputs: * bb: brigade to process * buffer: storage to hold the translated characters - * buffer_size: size of buffer + * buffer_avail: size of buffer * (and a few more uninteresting parms) * * outputs: @@ -646,7 +654,7 @@ static void chk_filter_chain(ap_filter_t *f) * translated characters; the eos bucket, if * present, will be left in the brigade * buffer: filled in with translated characters - * buffer_size: updated with the bytes remaining + * buffer_avail: updated with the bytes remaining * hit_eos: did we hit an EOS bucket? */ static apr_status_t xlate_brigade(charset_filter_ctx_t *ctx, @@ -673,7 +681,7 @@ static apr_status_t xlate_brigade(charset_filter_ctx_t *ctx, } b = APR_BRIGADE_FIRST(bb); if (b == APR_BRIGADE_SENTINEL(bb) || - APR_BUCKET_IS_EOS(b)) { + APR_BUCKET_IS_METADATA(b)) { break; } rv = apr_bucket_read(b, &bucket, &bytes_in_bucket, APR_BLOCK_READ); @@ -892,6 +900,17 @@ static apr_status_t xlate_out_filter(ap_filter_t *f, apr_bucket_brigade *bb) } break; } + if (APR_BUCKET_IS_METADATA(dptr)) { + apr_bucket *metadata_bucket; + metadata_bucket = dptr; + dptr = APR_BUCKET_NEXT(dptr); + APR_BUCKET_REMOVE(metadata_bucket); + rv = send_bucket_downstream(f, metadata_bucket); + if (rv != APR_SUCCESS) { + done = 1; + } + continue; + } rv = apr_bucket_read(dptr, &cur_str, &cur_len, APR_BLOCK_READ); if (rv != APR_SUCCESS) { done = 1; @@ -1078,6 +1097,18 @@ static int xlate_in_filter(ap_filter_t *f, apr_bucket_brigade *bb, * empty brigade */ } + /* If we have any metadata at the head of ctx->bb, go ahead and move it + * onto the end of bb to be returned to our caller. + */ + if (!APR_BRIGADE_EMPTY(ctx->bb)) { + apr_bucket *b = APR_BRIGADE_FIRST(ctx->bb); + while (b != APR_BRIGADE_SENTINEL(ctx->bb) + && APR_BUCKET_IS_METADATA(b)) { + APR_BUCKET_REMOVE(b); + APR_BRIGADE_INSERT_TAIL(bb, b); + b = APR_BRIGADE_FIRST(ctx->bb); + } + } } else { log_xlate_error(f, rv); diff --git a/modules/filters/mod_substitute.c b/modules/filters/mod_substitute.c index ebe860d6..a50248f3 100644 --- a/modules/filters/mod_substitute.c +++ b/modules/filters/mod_substitute.c @@ -507,37 +507,43 @@ static const char *set_pattern(cmd_parms *cmd, void *cfg, const char *line) if (delim) from = ++ourline; if (from) { - while (*++ourline && *ourline != delim); + if (*ourline != delim) { + while (*++ourline && *ourline != delim); + } if (*ourline) { *ourline = '\0'; to = ++ourline; } } if (to) { - while (*++ourline && *ourline != delim); + if (*ourline != delim) { + while (*++ourline && *ourline != delim); + } if (*ourline) { *ourline = '\0'; flags = ++ourline; } } - if (!delim || !from || !to) { + if (!delim || !from || !*from || !to) { return "Bad Substitute format, must be a complete s/// pattern"; } - while (*flags) { - delim = apr_tolower(*flags); /* re-use */ - if (delim == 'i') - ignore_case = 1; - else if (delim == 'n') - is_pattern = 1; - else if (delim == 'f') - flatten = 1; - else if (delim == 'q') - flatten = 0; - else - return "Bad Substitute flag, only s///[infq] are supported"; - flags++; + if (flags) { + while (*flags) { + delim = apr_tolower(*flags); /* re-use */ + if (delim == 'i') + ignore_case = 1; + else if (delim == 'n') + is_pattern = 1; + else if (delim == 'f') + flatten = 1; + else if (delim == 'q') + flatten = 0; + else + return "Bad Substitute flag, only s///[infq] are supported"; + flags++; + } } /* first see if we can compile the regex */ diff --git a/modules/generators/mod_autoindex.c b/modules/generators/mod_autoindex.c index 3e8153c1..1c38cf28 100644 --- a/modules/generators/mod_autoindex.c +++ b/modules/generators/mod_autoindex.c @@ -119,6 +119,7 @@ typedef struct autoindex_config_struct { char *default_icon; char *style_sheet; + char *head_insert; apr_int32_t opts; apr_int32_t incremented_opts; apr_int32_t decremented_opts; @@ -176,6 +177,9 @@ static void emit_preamble(request_rec *r, int xhtml, const char *title) ap_rvputs(r, " <link rel=\"stylesheet\" href=\"", d->style_sheet, "\" type=\"text/css\"", xhtml ? " />\n" : ">\n", NULL); } + if (d->head_insert != NULL) { + ap_rputs(d->head_insert, r); + } ap_rvputs(r, " </head>\n <body>\n", NULL); } @@ -594,6 +598,9 @@ static const command_rec autoindex_cmds[] = AP_INIT_TAKE1("IndexStyleSheet", ap_set_string_slot, (void *)APR_OFFSETOF(autoindex_config_rec, style_sheet), DIR_CMD_PERMS, "URL to style sheet"), + AP_INIT_TAKE1("IndexHeadInsert", ap_set_string_slot, + (void *)APR_OFFSETOF(autoindex_config_rec, head_insert), + DIR_CMD_PERMS, "String to insert in HTML HEAD section"), {NULL} }; @@ -634,6 +641,8 @@ static void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv) : base->default_icon; new->style_sheet = add->style_sheet ? add->style_sheet : base->style_sheet; + new->head_insert = add->head_insert ? add->head_insert + : base->head_insert; new->icon_height = add->icon_height ? add->icon_height : base->icon_height; new->icon_width = add->icon_width ? add->icon_width : base->icon_width; diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c index edbdf7b7..5ee3df07 100644 --- a/modules/generators/mod_cgid.c +++ b/modules/generators/mod_cgid.c @@ -235,10 +235,8 @@ static char **create_argv(apr_pool_t *p, char *path, char *user, char *group, for (x = 1; x <= numwords; x++) { w = ap_getword_nulls(p, &args, '+'); - if (strcmp(w, "")) { - ap_unescape_url(w); - av[idx++] = ap_escape_shell_cmd(p, w); - } + ap_unescape_url(w); + av[idx++] = ap_escape_shell_cmd(p, w); } av[idx] = NULL; return av; diff --git a/modules/generators/mod_info.c b/modules/generators/mod_info.c index eb4e0c63..9d8495ca 100644 --- a/modules/generators/mod_info.c +++ b/modules/generators/mod_info.c @@ -364,7 +364,7 @@ static int show_server_settings(request_rec * r) "<tt>connection: %d " "keep-alive: %d</tt></dt>", (int) (apr_time_sec(serv->timeout)), - (int) (apr_time_sec(serv->timeout))); + (int) (apr_time_sec(serv->keep_alive_timeout))); ap_mpm_query(AP_MPMQ_MAX_DAEMON_USED, &max_daemons); ap_mpm_query(AP_MPMQ_IS_THREADED, &threaded); ap_mpm_query(AP_MPMQ_IS_FORKED, &forked); diff --git a/modules/http/http_filters.c b/modules/http/http_filters.c index 9620fc9d..89263d4d 100644 --- a/modules/http/http_filters.c +++ b/modules/http/http_filters.c @@ -1135,7 +1135,11 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_http_header_filter(ap_filter_t *f, } } if (eb) { - ap_die(eb->status, r); + int status; + + status = eb->status; + apr_brigade_cleanup(b); + ap_die(status, r); return AP_FILTER_ERROR; } diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index 87f3f307..10e6514b 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -162,6 +162,7 @@ AP_IMPLEMENT_HOOK_VOID(insert_error_filter, (request_rec *r), (r)) AP_DECLARE(int) ap_set_keepalive(request_rec *r) { int ka_sent = 0; + int left = r->server->keep_alive_max - r->connection->keepalives; int wimpy = ap_find_token(r->pool, apr_table_get(r->headers_out, "Connection"), "close"); @@ -207,7 +208,7 @@ AP_DECLARE(int) ap_set_keepalive(request_rec *r) && r->server->keep_alive && (r->server->keep_alive_timeout > 0) && ((r->server->keep_alive_max == 0) - || (r->server->keep_alive_max > r->connection->keepalives)) + || (left > 0)) && !ap_status_drops_connection(r->status) && !wimpy && !ap_find_token(r->pool, conn, "close") @@ -216,7 +217,6 @@ AP_DECLARE(int) ap_set_keepalive(request_rec *r) && ((ka_sent = ap_find_token(r->pool, conn, "keep-alive")) || (r->proto_num >= HTTP_VERSION(1,1))) && !ap_graceful_stop_signalled()) { - int left = r->server->keep_alive_max - r->connection->keepalives; r->connection->keepalive = AP_CONN_KEEPALIVE; r->connection->keepalives++; @@ -252,6 +252,16 @@ AP_DECLARE(int) ap_set_keepalive(request_rec *r) apr_table_mergen(r->headers_out, "Connection", "close"); } + /* + * If we had previously been a keepalive connection and this + * is the last one, then bump up the number of keepalives + * we've had + */ + if ((r->connection->keepalive != AP_CONN_CLOSE) + && r->server->keep_alive_max + && !left) { + r->connection->keepalives++; + } r->connection->keepalive = AP_CONN_CLOSE; return 0; diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 8287c938..fe10a196 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -80,7 +80,31 @@ AP_DECLARE(void) ap_die(int type, request_rec *r) request_rec *r_1st_err = r; if (type == AP_FILTER_ERROR) { - return; + ap_filter_t *next; + + /* + * Check if we still have the ap_http_header_filter in place. If + * this is the case we should not ignore AP_FILTER_ERROR here because + * it means that we have not sent any response at all and never + * will. This is bad. Sent an internal server error instead. + */ + next = r->output_filters; + while (next && (next->frec != ap_http_header_filter_handle)) { + next = next->next; + } + + /* + * If next != NULL then we left the while above because of + * next->frec == ap_http_header_filter + */ + if (next) { + ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, + "Custom error page caused AP_FILTER_ERROR"); + type = HTTP_INTERNAL_SERVER_ERROR; + } + else { + return; + } } if (type == DONE) { diff --git a/modules/loggers/mod_log_config.c b/modules/loggers/mod_log_config.c index cd468be1..60485dd3 100644 --- a/modules/loggers/mod_log_config.c +++ b/modules/loggers/mod_log_config.c @@ -87,6 +87,7 @@ * %...A: local IP-address * %...{Foobar}i: The contents of Foobar: header line(s) in the request * sent to the client. + * %...k: number of keepalive requests served over this connection * %...l: remote logname (from identd, if supplied) * %...{Foobar}n: The contents of note "Foobar" from another module. * %...{Foobar}o: The contents of Foobar: header line(s) in the reply. @@ -699,6 +700,12 @@ static const char *log_connection_status(request_rec *r, char *a) return "-"; } +static const char *log_requests_on_connection(request_rec *r, char *a) +{ + int num = r->connection->keepalives ? r->connection->keepalives - 1 : 0; + return apr_itoa(r->pool, num); +} + /***************************************************************** * * Parsing the log format string @@ -1503,6 +1510,7 @@ static int log_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp) log_pfn_register(p, "q", log_request_query, 0); log_pfn_register(p, "X", log_connection_status, 0); log_pfn_register(p, "C", log_cookie, 0); + log_pfn_register(p, "k", log_requests_on_connection, 0); log_pfn_register(p, "r", log_request_line, 1); log_pfn_register(p, "D", log_request_duration_microseconds, 1); log_pfn_register(p, "T", log_request_duration, 1); diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index 72860d95..863d69e1 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -2339,6 +2339,8 @@ static void add_cookie(request_rec *r, char *s) char *domain; char *expires; char *path; + char *secure; + char *httponly; char *tok_cntx; char *cookie; @@ -2363,6 +2365,8 @@ static void add_cookie(request_rec *r, char *s) expires = apr_strtok(NULL, ":", &tok_cntx); path = expires ? apr_strtok(NULL, ":", &tok_cntx) : NULL; + secure = path ? apr_strtok(NULL, ":", &tok_cntx) : NULL; + httponly = secure ? apr_strtok(NULL, ":", &tok_cntx) : NULL; if (expires) { apr_time_exp_t tms; @@ -2383,6 +2387,16 @@ static void add_cookie(request_rec *r, char *s) "; domain=", domain, expires ? "; expires=" : NULL, expires ? exp_time : NULL, + (secure && (!strcasecmp(secure, "true") + || !strcmp(secure, "1") + || !strcasecmp(secure, + "secure"))) ? + "; secure" : NULL, + (httponly && (!strcasecmp(httponly, "true") + || !strcmp(httponly, "1") + || !strcasecmp(httponly, + "HttpOnly"))) ? + "; HttpOnly" : NULL, NULL); apr_table_addn(rmain->err_headers_out, "Set-Cookie", cookie); @@ -4318,8 +4332,9 @@ static int hook_uri2file(request_rec *r) r->filename = apr_pstrcat(r->pool, r->filename, r->path_info, NULL); } - if (r->args != NULL && - r->uri == r->unparsed_uri) { + if ((r->args != NULL) + && ((r->proxyreq == PROXYREQ_PROXY) + || (rulestatus == ACTION_NOESCAPE))) { /* see proxy_http:proxy_http_canon() */ r->filename = apr_pstrcat(r->pool, r->filename, "?", r->args, NULL); diff --git a/modules/metadata/mod_expires.c b/modules/metadata/mod_expires.c index 984ee931..16a4ff0b 100644 --- a/modules/metadata/mod_expires.c +++ b/modules/metadata/mod_expires.c @@ -430,6 +430,9 @@ static int set_expiration_fields(request_rec *r, const char *code, } expires = base + additional; + if (expires < r->request_time) { + expires = r->request_time; + } apr_table_mergen(t, "Cache-Control", apr_psprintf(r->pool, "max-age=%" APR_TIME_T_FMT, apr_time_sec(expires - r->request_time))); diff --git a/modules/metadata/mod_headers.c b/modules/metadata/mod_headers.c index d35c44f1..8e748fa9 100644 --- a/modules/metadata/mod_headers.c +++ b/modules/metadata/mod_headers.c @@ -133,6 +133,13 @@ typedef struct { header_entry *hdr; } echo_do; +/* edit_do is used for Header edit to iterate through the request headers */ +typedef struct { + apr_pool_t *p; + header_entry *hdr; + apr_table_t *t; +} edit_do; + /* * headers_conf is our per-module configuration. This is used as both * a per-dir and per-server config @@ -578,6 +585,22 @@ static int echo_header(echo_do *v, const char *key, const char *val) return 1; } +static int edit_header(void *v, const char *key, const char *val) +{ + edit_do *ed = (edit_do *)v; + + apr_table_addn(ed->t, key, process_regexp(ed->hdr, val, ed->p)); + return 1; +} + +static int add_them_all(void *v, const char *key, const char *val) +{ + apr_table_t *headers = (apr_table_t *)v; + + apr_table_addn(headers, key, val); + return 1; +} + static void do_headers_fixup(request_rec *r, apr_table_t *headers, apr_array_header_t *fixup, int early) { @@ -669,10 +692,16 @@ static void do_headers_fixup(request_rec *r, apr_table_t *headers, echo_header, (void *) &v, r->headers_in, NULL); break; case hdr_edit: - val = apr_table_get(headers, hdr->header); - if (val != NULL) { - apr_table_setn(headers, hdr->header, - process_regexp(hdr, val, r->pool)); + if (apr_table_get(headers, hdr->header)) { + edit_do ed; + + ed.p = r->pool; + ed.hdr = hdr; + ed.t = apr_table_make(r->pool, 5); + apr_table_do(edit_header, (void *) &ed, headers, hdr->header, + NULL); + apr_table_unset(headers, hdr->header); + apr_table_do(add_them_all, (void *) headers, ed.t, NULL); } break; } diff --git a/modules/proxy/ajp_header.c b/modules/proxy/ajp_header.c index 6fecb5a9..9130de9a 100644 --- a/modules/proxy/ajp_header.c +++ b/modules/proxy/ajp_header.c @@ -89,7 +89,7 @@ static int sc_for_req_header(const char *header_name) case 'C': if(strcmp(p, "OOKIE2") == 0) return SC_COOKIE2; - else if (strcmp(p, "OOKIE") == 0) + else if (strcmp(p, "OOKIE") == 0) return SC_COOKIE; else if(strcmp(p, "ONNECTION") == 0) return SC_CONNECTION; @@ -457,6 +457,11 @@ body_chunk := */ +static int addit_dammit(void *v, const char *key, const char *val) +{ + apr_table_addn(v, key, val); + return 1; +} static apr_status_t ajp_unmarshal_response(ajp_msg_t *msg, request_rec *r, @@ -493,7 +498,17 @@ static apr_status_t ajp_unmarshal_response(ajp_msg_t *msg, rc = ajp_msg_get_uint16(msg, &num_headers); if (rc == APR_SUCCESS) { - r->headers_out = apr_table_make(r->pool, num_headers); + apr_table_t *save_table; + + /* First, tuck away all already existing cookies */ + /* + * Could optimize here, but just in case we want to + * also save other headers, keep this logic. + */ + save_table = apr_table_make(r->pool, num_headers + 2); + apr_table_do(addit_dammit, save_table, r->headers_out, + "Set-Cookie", NULL); + r->headers_out = save_table; } else { r->headers_out = NULL; num_headers = 0; diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index 00bcfeba..45365364 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -71,6 +71,8 @@ static const char *set_worker_param(apr_pool_t *p, { int ival; + apr_interval_time_t timeout; + if (!strcasecmp(key, "loadfactor")) { /* Normalized load factor. Used with BalancerMamber, * it is a number between 1 and 100. @@ -92,7 +94,7 @@ static const char *set_worker_param(apr_pool_t *p, } else if (!strcasecmp(key, "ttl")) { /* Time in seconds that will destroy all the connections - * that exced the smax + * that exceed the smax */ ival = atoi(val); if (ival < 1) @@ -126,14 +128,15 @@ static const char *set_worker_param(apr_pool_t *p, worker->smax = ival; } else if (!strcasecmp(key, "acquire")) { - /* Acquire timeout in milliseconds. + /* Acquire in given unit (default is milliseconds). * If set this will be the maximum time to * wait for a free connection. */ - ival = atoi(val); - if (ival < 1) - return "Acquire must be at least one mili second"; - worker->acquire = apr_time_make(0, ival * 1000); + if (ap_timeout_parameter_parse(val, &timeout, "ms") != APR_SUCCESS) + return "Acquire timeout has wrong format"; + if (timeout < 1000) + return "Acquire must be at least one millisecond"; + worker->acquire = timeout; worker->acquire_set = 1; } else if (!strcasecmp(key, "timeout")) { @@ -267,14 +270,26 @@ static const char *set_worker_param(apr_pool_t *p, worker->lbset = ival; } else if (!strcasecmp(key, "ping")) { - /* Ping/Pong timeout in seconds. + /* Ping/Pong timeout in given unit (default is second). */ - ival = atoi(val); - if (ival < 1) - return "Ping/Pong timeout must be at least one second"; - worker->ping_timeout = apr_time_from_sec(ival); + if (ap_timeout_parameter_parse(val, &timeout, "s") != APR_SUCCESS) + return "Ping/Pong timeout has wrong format"; + if (timeout < 1000) + return "Ping/Pong timeout must be at least one millisecond"; + worker->ping_timeout = timeout; worker->ping_timeout_set = 1; } + else if (!strcasecmp(key, "connectiontimeout")) { + /* Request timeout in given unit (default is second). + * Defaults to connection timeout + */ + if (ap_timeout_parameter_parse(val, &timeout, "s") != APR_SUCCESS) + return "Connectiontimeout has wrong format"; + if (timeout < 1000) + return "Connectiontimeout must be at least one millisecond."; + worker->conn_timeout = timeout; + worker->conn_timeout_set = 1; + } else { return "unknown Worker parameter"; } @@ -338,6 +353,18 @@ static const char *set_balancer_param(proxy_server_conf *conf, } return "unknown lbmethod"; } + else if (!strcasecmp(key, "scolonpathdelim")) { + /* If set to 'on' then ';' will also be + * used as a session path separator/delim (ala + * mod_jk) + */ + if (!strcasecmp(val, "on")) + balancer->scolonsep = 1; + else if (!strcasecmp(val, "off")) + balancer->scolonsep = 0; + else + return "scolonpathdelim must be On|Off"; + } else { return "unknown Balancer parameter"; } diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h index fdb48bf3..04b71066 100644 --- a/modules/proxy/mod_proxy.h +++ b/modules/proxy/mod_proxy.h @@ -355,6 +355,8 @@ struct proxy_worker { char retry_set; char disablereuse; char disablereuse_set; + apr_interval_time_t conn_timeout; + char conn_timeout_set; }; /* @@ -382,6 +384,7 @@ struct proxy_balancer { apr_thread_mutex_t *mutex; /* Thread lock for updating lb params */ #endif void *context; /* general purpose storage */ + int scolonsep; /* true if ';' seps sticky session paths */ }; struct proxy_balancer_method { @@ -747,6 +750,29 @@ PROXY_DECLARE(void) ap_proxy_backend_broke(request_rec *r, #define PROXY_HAS_SCOREBOARD 0 #endif +/** + * Transform buckets from one bucket allocator to another one by creating a + * transient bucket for each data bucket and let it use the data read from + * the old bucket. Metabuckets are transformed by just recreating them. + * Attention: Currently only the following bucket types are handled: + * + * All data buckets + * FLUSH + * EOS + * + * If an other bucket type is found its type is logged as a debug message + * and APR_EGENERAL is returned. + * @param r current request record of client request. Only used for logging + * purposes + * @param from the brigade that contains the buckets to transform + * @param to the brigade that will receive the transformed buckets + * @return APR_SUCCESS if all buckets could be transformed APR_EGENERAL + * otherwise + */ +PROXY_DECLARE(apr_status_t) +ap_proxy_buckets_lifetime_transform(request_rec *r, apr_bucket_brigade *from, + apr_bucket_brigade *to); + #define PROXY_LBMETHOD "proxylbmethod" /* The number of dynamic workers that can be added when reconfiguring. diff --git a/modules/proxy/mod_proxy_ajp.c b/modules/proxy/mod_proxy_ajp.c index 80a6e0ab..c3b80e3d 100644 --- a/modules/proxy/mod_proxy_ajp.c +++ b/modules/proxy/mod_proxy_ajp.c @@ -116,6 +116,27 @@ static int is_idempotent(request_rec *r) } } +static apr_off_t get_content_length(request_rec * r) +{ + apr_off_t len = 0; + + if (r->clength > 0) { + return r->clength; + } + else if (r->main == NULL) { + const char *clp = apr_table_get(r->headers_in, "Content-Length"); + + if (clp) { + char *errp; + if (apr_strtoff(&len, clp, &errp, 10) || *errp || len < 0) { + len = 0; /* parse error */ + } + } + } + + return len; +} + /* * XXX: AJP Auto Flushing * @@ -151,6 +172,7 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, ajp_msg_t *msg; apr_size_t bufsiz = 0; char *buff; + char *send_body_chunk_buff; apr_uint16_t size; const char *tenc; int havebody = 1; @@ -166,6 +188,7 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, ap_get_module_config(r->server->module_config, &proxy_module); apr_size_t maxsize = AJP_MSG_BUFFER_SZ; int send_body = 0; + apr_off_t content_length = 0; if (psf->io_buffer_size_set) maxsize = psf->io_buffer_size; @@ -221,6 +244,8 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "proxy: request is chunked"); } else { + /* Get client provided Content-Length header */ + content_length = get_content_length(r); status = ap_get_brigade(r->input_filters, input_brigade, AP_MODE_READBYTES, APR_BLOCK_READ, maxsize - AJP_HEADER_SZ); @@ -277,6 +302,27 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, conn->worker->s->transferred += bufsiz; send_body = 1; } + else if (content_length > 0) { + ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server, + "proxy: read zero bytes, expecting" + " %" APR_OFF_T_FMT " bytes", + content_length); + status = ajp_send_data_msg(conn->sock, msg, 0); + if (status != APR_SUCCESS) { + /* We had a failure: Close connection to backend */ + conn->close++; + ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server, + "proxy: send failed to %pI (%s)", + conn->worker->cp->addr, + conn->worker->hostname); + return HTTP_INTERNAL_SERVER_ERROR; + } + else { + /* Client send zero bytes with C-L > 0 + */ + return HTTP_BAD_REQUEST; + } + } } /* read the response */ @@ -382,7 +428,7 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, break; case CMD_AJP13_SEND_BODY_CHUNK: /* AJP13_SEND_BODY_CHUNK: piece of data */ - status = ajp_parse_data(r, conn->data, &size, &buff); + status = ajp_parse_data(r, conn->data, &size, &send_body_chunk_buff); if (status == APR_SUCCESS) { /* AJP13_SEND_BODY_CHUNK with zero length * is explicit flush message @@ -398,7 +444,7 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, } } else { - e = apr_bucket_transient_create(buff, size, + e = apr_bucket_transient_create(send_body_chunk_buff, size, r->connection->bucket_alloc); APR_BRIGADE_INSERT_TAIL(output_brigade, e); @@ -550,6 +596,7 @@ static int proxy_ajp_handler(request_rec *r, proxy_worker *worker, conn_rec *origin = NULL; proxy_conn_rec *backend = NULL; const char *scheme = "AJP"; + int retry; proxy_dir_conf *dconf = ap_get_module_config(r->per_dir_config, &proxy_module); @@ -595,43 +642,54 @@ static int proxy_ajp_handler(request_rec *r, proxy_worker *worker, backend->is_ssl = 0; backend->close_on_recycle = 0; - /* Step One: Determine Who To Connect To */ - status = ap_proxy_determine_connection(p, r, conf, worker, backend, - uri, &url, proxyname, proxyport, - server_portstr, - sizeof(server_portstr)); - - if (status != OK) - goto cleanup; - - /* Step Two: Make the Connection */ - if (ap_proxy_connect_backend(scheme, backend, worker, r->server)) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, - "proxy: AJP: failed to make connection to backend: %s", - backend->hostname); - status = HTTP_SERVICE_UNAVAILABLE; - goto cleanup; - } + retry = 0; + while (retry < 2) { + char *locurl = url; + /* Step One: Determine Who To Connect To */ + status = ap_proxy_determine_connection(p, r, conf, worker, backend, + uri, &locurl, proxyname, proxyport, + server_portstr, + sizeof(server_portstr)); - /* Handle CPING/CPONG */ - if (worker->ping_timeout_set) { - status = ajp_handle_cping_cpong(backend->sock, r, - worker->ping_timeout); - if (status != APR_SUCCESS) { - backend->close++; - ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server, - "proxy: AJP: cping/cpong failed to %pI (%s)", - worker->cp->addr, - worker->hostname); + if (status != OK) + break; + + /* Step Two: Make the Connection */ + if (ap_proxy_connect_backend(scheme, backend, worker, r->server)) { + ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, + "proxy: AJP: failed to make connection to backend: %s", + backend->hostname); status = HTTP_SERVICE_UNAVAILABLE; - goto cleanup; + break; + } + + /* Handle CPING/CPONG */ + if (worker->ping_timeout_set) { + status = ajp_handle_cping_cpong(backend->sock, r, + worker->ping_timeout); + /* + * In case the CPING / CPONG failed for the first time we might be + * just out of luck and got a faulty backend connection, but the + * backend might be healthy nevertheless. So ensure that the backend + * TCP connection gets closed and try it once again. + */ + if (status != APR_SUCCESS) { + backend->close++; + ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server, + "proxy: AJP: cping/cpong failed to %pI (%s)", + worker->cp->addr, + worker->hostname); + status = HTTP_SERVICE_UNAVAILABLE; + retry++; + continue; + } } + /* Step Three: Process the Request */ + status = ap_proxy_ajp_request(p, r, backend, origin, dconf, uri, locurl, + server_portstr); + break; } - /* Step Three: Process the Request */ - status = ap_proxy_ajp_request(p, r, backend, origin, dconf, uri, url, - server_portstr); -cleanup: /* Do not close the socket */ ap_proxy_release_connection(scheme, backend, r->server); return status; diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index bcc47cfc..c0dc2af9 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -127,10 +127,14 @@ static int init_balancer_members(proxy_server_conf *conf, server_rec *s, * Something like 'JSESSIONID=12345...N' */ static char *get_path_param(apr_pool_t *pool, char *url, - const char *name) + const char *name, int scolon_sep) { char *path = NULL; + char *pathdelims = "?&"; + if (scolon_sep) { + pathdelims = ";?&"; + } for (path = strstr(url, name); path; path = strstr(path + 1, name)) { path += strlen(name); if (*path == '=') { @@ -140,7 +144,7 @@ static char *get_path_param(apr_pool_t *pool, char *url, ++path; if (strlen(path)) { char *q; - path = apr_strtok(apr_pstrdup(pool, path), "?&", &q); + path = apr_strtok(apr_pstrdup(pool, path), pathdelims, &q); return path; } } @@ -268,7 +272,7 @@ static proxy_worker *find_session_route(proxy_balancer *balancer, /* Try to find the sticky route inside url */ *sticky_used = sticky_path; - *route = get_path_param(r->pool, *url, sticky_path); + *route = get_path_param(r->pool, *url, sticky_path, balancer->scolonsep); if (!*route) { *route = get_cookie_param(r, sticky); *sticky_used = sticky; @@ -366,7 +370,9 @@ static proxy_worker *find_best_worker(proxy_balancer *balancer, } #endif } + return candidate; + } static int rewrite_url(request_rec *r, proxy_worker *worker, @@ -390,6 +396,33 @@ static int rewrite_url(request_rec *r, proxy_worker *worker, return OK; } +static void force_recovery(proxy_balancer *balancer, server_rec *s) +{ + int i; + int ok = 0; + proxy_worker *worker; + + worker = (proxy_worker *)balancer->workers->elts; + for (i = 0; i < balancer->workers->nelts; i++, worker++) { + if (!(worker->s->status & PROXY_WORKER_IN_ERROR)) { + ok = 1; + break; + } + } + if (!ok) { + /* If all workers are in error state force the recovery. + */ + worker = (proxy_worker *)balancer->workers->elts; + for (i = 0; i < balancer->workers->nelts; i++, worker++) { + ++worker->s->retries; + worker->s->status &= ~PROXY_WORKER_IN_ERROR; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "proxy: BALANCER: (%s). Forcing recovery for worker (%s)", + balancer->name, worker->hostname); + } + } +} + static int proxy_balancer_pre_request(proxy_worker **worker, proxy_balancer **balancer, request_rec *r, @@ -411,10 +444,7 @@ static int proxy_balancer_pre_request(proxy_worker **worker, !(*balancer = ap_proxy_get_balancer(r->pool, conf, *url))) return DECLINED; - /* Step 2: find the session route */ - - runtime = find_session_route(*balancer, r, &route, &sticky, url); - /* Lock the LoadBalancer + /* Step 2: Lock the LoadBalancer * XXX: perhaps we need the process lock here */ if ((rv = PROXY_THREAD_LOCK(*balancer)) != APR_SUCCESS) { @@ -423,6 +453,12 @@ static int proxy_balancer_pre_request(proxy_worker **worker, (*balancer)->name); return DECLINED; } + + /* Step 3: force recovery */ + force_recovery(*balancer, r->server); + + /* Step 4: find the session route */ + runtime = find_session_route(*balancer, r, &route, &sticky, url); if (runtime) { int i, total_factor = 0; proxy_worker *workers; @@ -507,6 +543,8 @@ static int proxy_balancer_pre_request(proxy_worker **worker, *worker = runtime; } + (*worker)->s->busy++; + /* Add balancer/worker info to env. */ apr_table_setn(r->subprocess_env, "BALANCER_NAME", (*balancer)->name); @@ -567,7 +605,11 @@ static int proxy_balancer_post_request(proxy_worker *worker, #endif + if (worker && worker->s->busy) + worker->s->busy--; + return OK; + } static void recalc_factors(proxy_balancer *balancer) @@ -860,9 +902,10 @@ static int balancer_handler(request_rec *r) ap_rvputs(r, "value=\"", ap_escape_uri(r->pool, wsel->name), "\">\n", NULL); ap_rvputs(r, "<input type=hidden name=\"b\" ", NULL); ap_rvputs(r, "value=\"", bsel->name + sizeof("balancer://") - 1, - "\">\n</form>\n", NULL); + "\">\n", NULL); ap_rvputs(r, "<input type=hidden name=\"nonce\" value=\"", balancer_nonce, "\">\n", NULL); + ap_rvputs(r, "</form>\n", NULL); ap_rputs("<hr />\n", r); } ap_rputs(ap_psignature("",r), r); @@ -992,6 +1035,10 @@ static proxy_worker *find_best_byrequests(proxy_balancer *balancer, if (mycandidate) { mycandidate->s->lbstatus -= total_factor; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, + "proxy: byrequests selected worker \"%s\" : busy %" APR_SIZE_T_FMT " : lbstatus %d", + mycandidate->name, mycandidate->s->busy, mycandidate->s->lbstatus); + } return mycandidate; @@ -1070,7 +1117,97 @@ static proxy_worker *find_best_bytraffic(proxy_balancer *balancer, cur_lbset++; } while (cur_lbset <= max_lbset && !mycandidate); + if (mycandidate) { + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, + "proxy: bytraffic selected worker \"%s\" : busy %" APR_SIZE_T_FMT, + mycandidate->name, mycandidate->s->busy); + + } + + return mycandidate; +} + +static proxy_worker *find_best_bybusyness(proxy_balancer *balancer, + request_rec *r) +{ + + int i; + proxy_worker *worker; + proxy_worker *mycandidate = NULL; + int cur_lbset = 0; + int max_lbset = 0; + int checking_standby; + int checked_standby; + + int total_factor = 0; + + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, + "proxy: Entering bybusyness for BALANCER (%s)", + balancer->name); + + /* First try to see if we have available candidate */ + do { + + checking_standby = checked_standby = 0; + while (!mycandidate && !checked_standby) { + + worker = (proxy_worker *)balancer->workers->elts; + for (i = 0; i < balancer->workers->nelts; i++, worker++) { + if (!checking_standby) { /* first time through */ + if (worker->s->lbset > max_lbset) + max_lbset = worker->s->lbset; + } + + if (worker->s->lbset > cur_lbset) + continue; + + if ( (checking_standby ? !PROXY_WORKER_IS_STANDBY(worker) : PROXY_WORKER_IS_STANDBY(worker)) ) + continue; + + /* If the worker is in error state run + * retry on that worker. It will be marked as + * operational if the retry timeout is elapsed. + * The worker might still be unusable, but we try + * anyway. + */ + if (!PROXY_WORKER_IS_USABLE(worker)) + ap_proxy_retry_worker("BALANCER", worker, r->server); + + /* Take into calculation only the workers that are + * not in error state or not disabled. + */ + if (PROXY_WORKER_IS_USABLE(worker)) { + + worker->s->lbstatus += worker->s->lbfactor; + total_factor += worker->s->lbfactor; + + if (!mycandidate + || worker->s->busy < mycandidate->s->busy + || (worker->s->busy == mycandidate->s->busy && worker->s->lbstatus > mycandidate->s->lbstatus)) + mycandidate = worker; + + } + + } + + checked_standby = checking_standby++; + + } + + cur_lbset++; + + } while (cur_lbset <= max_lbset && !mycandidate); + + if (mycandidate) { + mycandidate->s->lbstatus -= total_factor; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, + "proxy: bybusyness selected worker \"%s\" : busy %" APR_SIZE_T_FMT " : lbstatus %d", + mycandidate->name, mycandidate->s->busy, mycandidate->s->lbstatus); + + } + return mycandidate; + } /* @@ -1093,6 +1230,14 @@ static const proxy_balancer_method bytraffic = NULL }; +static const proxy_balancer_method bybusyness = +{ + "bybusyness", + &find_best_bybusyness, + NULL +}; + + static void ap_proxy_balancer_register_hook(apr_pool_t *p) { /* Only the mpm_winnt has child init hook handler. @@ -1109,6 +1254,7 @@ static void ap_proxy_balancer_register_hook(apr_pool_t *p) proxy_hook_canon_handler(proxy_balancer_canon, NULL, NULL, APR_HOOK_FIRST); ap_register_provider(p, PROXY_LBMETHOD, "bytraffic", "0", &bytraffic); ap_register_provider(p, PROXY_LBMETHOD, "byrequests", "0", &byrequests); + ap_register_provider(p, PROXY_LBMETHOD, "bybusyness", "0", &bybusyness); } module AP_MODULE_DECLARE_DATA proxy_balancer_module = { diff --git a/modules/proxy/mod_proxy_ftp.c b/modules/proxy/mod_proxy_ftp.c index 75a2054e..639f9f8d 100644 --- a/modules/proxy/mod_proxy_ftp.c +++ b/modules/proxy/mod_proxy_ftp.c @@ -318,6 +318,13 @@ static apr_status_t proxy_send_dir_filter(ap_filter_t *f, /* Save "scheme://site" prefix without password */ site = apr_uri_unparse(p, &f->r->parsed_uri, APR_URI_UNP_OMITPASSWORD | APR_URI_UNP_OMITPATHINFO); + /* + * In the reverse proxy case we usually have no site. So contruct + * one. + */ + if ((*site == '\0') && (r->proxyreq == PROXYREQ_REVERSE)) { + site = ap_construct_url(p, "", r); + } /* ... and path without query args */ path = apr_uri_unparse(p, &f->r->parsed_uri, APR_URI_UNP_OMITSITEPART | APR_URI_UNP_OMITQUERY); @@ -383,6 +390,7 @@ static apr_status_t proxy_send_dir_filter(ap_filter_t *f, c->bucket_alloc)); } if (wildcard != NULL) { + wildcard = ap_escape_html(p, wildcard); APR_BRIGADE_INSERT_TAIL(out, apr_bucket_pool_create(wildcard, strlen(wildcard), p, c->bucket_alloc)); @@ -961,7 +969,6 @@ static int proxy_ftp_handler(request_rec *r, proxy_worker *worker, } /* TODO: see if ftp could use determine_connection */ backend->addr = connect_addr; - backend->r = r; ap_set_module_config(c->conn_config, &proxy_ftp_module, backend); } @@ -1777,6 +1784,11 @@ static int proxy_ftp_handler(request_rec *r, proxy_worker *worker, return HTTP_INTERNAL_SERVER_ERROR; } + /* + * We do not do SSL over the data connection, even if the virtual host we + * are in might have SSL enabled + */ + ap_proxy_ssl_disable(data); /* set up the connection filters */ rc = ap_run_pre_connection(data, data_sock); if (rc != OK && rc != DONE) { diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index 3ca21895..b60db985 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -699,6 +699,14 @@ int ap_proxy_http_request(apr_pool_t *p, request_rec *r, if (apr_table_get(r->subprocess_env, "force-proxy-request-1.0")) { buf = apr_pstrcat(p, r->method, " ", url, " HTTP/1.0" CRLF, NULL); force10 = 1; + /* + * According to RFC 2616 8.2.3 we are not allowed to forward an + * Expect: 100-continue to an HTTP/1.0 server. Instead we MUST return + * a HTTP_EXPECTATION_FAILED + */ + if (r->expecting_100) { + return HTTP_EXPECTATION_FAILED; + } p_conn->close++; } else { buf = apr_pstrcat(p, r->method, " ", url, " HTTP/1.1" CRLF, NULL); @@ -1330,6 +1338,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, request_rec *rp; apr_bucket *e; apr_bucket_brigade *bb, *tmp_bb; + apr_bucket_brigade *pass_bb; int len, backasswards; int interim_response = 0; /* non-zero whilst interim 1xx responses * are being read. */ @@ -1342,6 +1351,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, const char *te = NULL; bb = apr_brigade_create(p, c->bucket_alloc); + pass_bb = apr_brigade_create(p, c->bucket_alloc); /* Get response from the remote server, and pass it up the * filter chain @@ -1367,6 +1377,10 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, r, "proxy: error reading status line from remote " "server %s", backend->hostname); + if (rc == APR_TIMEUP) { + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, + "proxy: read timeout"); + } /* * If we are a reverse proxy request shutdown the connection * WITHOUT ANY response to trigger a retry by the client @@ -1374,9 +1388,12 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, * BUT currently we should not do this if the request is the * first request on a keepalive connection as browsers like * seamonkey only display an empty page in this case and do - * not do a retry. + * not do a retry. We should also not do this on a + * connection which times out; instead handle as + * we normally would handle timeouts */ - if (r->proxyreq == PROXYREQ_REVERSE && c->keepalives) { + if (r->proxyreq == PROXYREQ_REVERSE && c->keepalives && + rc != APR_TIMEUP) { apr_bucket *eos; ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, @@ -1753,6 +1770,9 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, break; } + /* Switch the allocator lifetime of the buckets */ + ap_proxy_buckets_lifetime_transform(r, bb, pass_bb); + /* found the last brigade? */ if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(bb))) { /* signal that we must leave */ @@ -1760,7 +1780,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, } /* try send what we read */ - if (ap_pass_brigade(r->output_filters, bb) != APR_SUCCESS + if (ap_pass_brigade(r->output_filters, pass_bb) != APR_SUCCESS || c->aborted) { /* Ack! Phbtt! Die! User aborted! */ backend->close = 1; /* this causes socket close below */ @@ -1769,6 +1789,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, /* make sure we always clean up after ourselves */ apr_brigade_cleanup(bb); + apr_brigade_cleanup(pass_bb); } while (!finish); } @@ -1857,23 +1878,13 @@ static int proxy_http_handler(request_rec *r, proxy_worker *worker, const char *u; proxy_conn_rec *backend = NULL; int is_ssl = 0; - - /* Note: Memory pool allocation. - * A downstream keepalive connection is always connected to the existence - * (or not) of an upstream keepalive connection. If this is not done then - * load balancing against multiple backend servers breaks (one backend - * server ends up taking 100% of the load), and the risk is run of - * downstream keepalive connections being kept open unnecessarily. This - * keeps webservers busy and ties up resources. - * - * As a result, we allocate all sockets out of the upstream connection - * pool, and when we want to reuse a socket, we check first whether the - * connection ID of the current upstream connection is the same as that - * of the connection when the socket was opened. - */ - apr_pool_t *p = r->connection->pool; conn_rec *c = r->connection; - apr_uri_t *uri = apr_palloc(r->connection->pool, sizeof(*uri)); + /* + * Use a shorter-lived pool to reduce memory usage + * and avoid a memory leak + */ + apr_pool_t *p = r->pool; + apr_uri_t *uri = apr_palloc(p, sizeof(*uri)); /* find the scheme */ u = strchr(url, ':'); @@ -1881,7 +1892,7 @@ static int proxy_http_handler(request_rec *r, proxy_worker *worker, return DECLINED; if ((u - url) > 14) return HTTP_BAD_REQUEST; - scheme = apr_pstrndup(c->pool, url, u - url); + scheme = apr_pstrndup(p, url, u - url); /* scheme is lowercase */ ap_str_tolower(scheme); /* is it for us? */ @@ -1921,6 +1932,19 @@ static int proxy_http_handler(request_rec *r, proxy_worker *worker, ap_proxy_ssl_connection_cleanup(backend, r); } + /* + * In the case that we are handling a reverse proxy connection and this + * is not a request that is coming over an already kept alive connection + * with the client, do NOT reuse the connection to the backend, because + * we cannot forward a failure to the client in this case as the client + * does NOT expects this in this situation. + * Yes, this creates a performance penalty. + */ + if ((r->proxyreq == PROXYREQ_REVERSE) && (!c->keepalives) + && (apr_table_get(r->subprocess_env, "proxy-initial-not-pooled"))) { + backend->close = 1; + } + /* Step One: Determine Who To Connect To */ if ((status = ap_proxy_determine_connection(p, r, conf, worker, backend, uri, &url, proxyname, diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index e8309e46..24f5aa22 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -1377,7 +1377,6 @@ static apr_status_t conn_pool_cleanup(void *theworker) proxy_worker *worker = (proxy_worker *)theworker; if (worker->cp->res) { worker->cp->pool = NULL; - apr_reslist_destroy(worker->cp->res); } return APR_SUCCESS; } @@ -1433,6 +1432,7 @@ PROXY_DECLARE(const char *) ap_proxy_add_worker(proxy_worker **worker, (*worker)->id = proxy_lb_workers; (*worker)->flush_packets = flush_off; (*worker)->flush_wait = PROXY_FLUSH_WAIT; + (*worker)->smax = -1; /* Increase the total worker count */ proxy_lb_workers++; init_conn_pool(p, *worker); @@ -1453,6 +1453,7 @@ PROXY_DECLARE(proxy_worker *) ap_proxy_create_worker(apr_pool_t *p) proxy_worker *worker; worker = (proxy_worker *)apr_pcalloc(p, sizeof(proxy_worker)); worker->id = proxy_lb_workers; + worker->smax = -1; /* Increase the total worker count */ proxy_lb_workers++; init_conn_pool(p, worker); @@ -1623,9 +1624,6 @@ static apr_status_t connection_cleanup(void *theconn) { proxy_conn_rec *conn = (proxy_conn_rec *)theconn; proxy_worker *worker = conn->worker; - apr_bucket_brigade *bb; - conn_rec *c; - request_rec *r; /* * If the connection pool is NULL the worker @@ -1646,57 +1644,6 @@ static apr_status_t connection_cleanup(void *theconn) } #endif - r = conn->r; - if (conn->need_flush && r && (r->bytes_sent || r->eos_sent)) { - /* - * We need to ensure that buckets that may have been buffered in the - * network filters get flushed to the network. This is needed since - * these buckets have been created with the bucket allocator of the - * backend connection. This allocator either gets destroyed if - * conn->close is set or the worker address is not reusable which - * causes the connection to the backend to be closed or it will be used - * again by another frontend connection that wants to recycle the - * backend connection. - * In this case we could run into nasty race conditions (e.g. if the - * next user of the backend connection destroys the allocator before we - * sent the buckets to the network). - * - * Remark 1: Only do this if buckets where sent down the chain before - * that could still be buffered in the network filter. This is the case - * if we have sent an EOS bucket or if we actually sent buckets with - * data down the chain. In all other cases we either have not sent any - * buckets at all down the chain or we only sent meta buckets that are - * not EOS buckets down the chain. The only meta bucket that remains in - * this case is the flush bucket which would have removed all possibly - * buffered buckets in the network filter. - * If we sent a flush bucket in the case where not ANY buckets were - * sent down the chain, we break error handling which happens AFTER us. - * - * Remark 2: Doing a setaside does not help here as the buckets remain - * created by the wrong allocator in this case. - * - * Remark 3: Yes, this creates a possible performance penalty in the case - * of pipelined requests as we may send only a small amount of data over - * the wire. - */ - c = r->connection; - bb = apr_brigade_create(r->pool, c->bucket_alloc); - if (r->eos_sent) { - /* - * If we have already sent an EOS bucket send directly to the - * connection based filters. We just want to flush the buckets - * if something hasn't been sent to the network yet. - */ - ap_fflush(c->output_filters, bb); - } - else { - ap_fflush(r->output_filters, bb); - } - apr_brigade_destroy(bb); - conn->r = NULL; - conn->need_flush = 0; - } - /* determine if the connection need to be closed */ if (conn->close_on_recycle || conn->close || worker->disablereuse || !worker->is_address_reusable) { @@ -1924,7 +1871,7 @@ PROXY_DECLARE(apr_status_t) ap_proxy_initialize_worker(proxy_worker *worker, ser if (worker->hmax == 0 || worker->hmax > mpm_threads) { worker->hmax = mpm_threads; } - if (worker->smax == 0 || worker->smax > worker->hmax) { + if (worker->smax == -1 || worker->smax > worker->hmax) { worker->smax = worker->hmax; } /* Set min to be lower then smax */ @@ -2083,8 +2030,6 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r, apr_status_t err = APR_SUCCESS; apr_status_t uerr = APR_SUCCESS; - conn->r = r; - /* * Break up the URL to determine the host to connect to */ @@ -2169,6 +2114,11 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r, else { conn->addr = worker->cp->addr; } + /* Close a possible existing socket if we are told to do so */ + if (conn->close) { + socket_cleanup(conn); + conn->close = 0; + } if (err != APR_SUCCESS) { return ap_proxyerror(r, HTTP_BAD_GATEWAY, @@ -2325,8 +2275,11 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, "Failed to set"); } - /* Set a timeout on the socket */ - if (worker->timeout_set == 1) { + /* Set a timeout for connecting to the backend on the socket */ + if (worker->conn_timeout_set) { + apr_socket_timeout_set(newsock, worker->conn_timeout); + } + else if (worker->timeout_set == 1) { apr_socket_timeout_set(newsock, worker->timeout); } else if (conf->timeout_set == 1) { @@ -2364,6 +2317,17 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, continue; } + /* Set a timeout on the socket */ + if (worker->timeout_set == 1) { + apr_socket_timeout_set(newsock, worker->timeout); + } + else if (conf->timeout_set == 1) { + apr_socket_timeout_set(newsock, conf->timeout); + } + else { + apr_socket_timeout_set(newsock, s->timeout); + } + conn->sock = newsock; connected = 1; } @@ -2402,12 +2366,6 @@ PROXY_DECLARE(int) ap_proxy_connection_create(const char *proxy_function, return OK; } - /* - * We need to flush the buckets before we return the connection to the - * connection pool. See comment in connection_cleanup for why this is - * needed. - */ - conn->need_flush = 1; bucket_alloc = apr_bucket_alloc_create(conn->scpool); /* * The socket is now open, create a new backend server connection @@ -2500,3 +2458,54 @@ PROXY_DECLARE(void) ap_proxy_backend_broke(request_rec *r, e = apr_bucket_eos_create(c->bucket_alloc); APR_BRIGADE_INSERT_TAIL(brigade, e); } + +/* + * Transform buckets from one bucket allocator to another one by creating a + * transient bucket for each data bucket and let it use the data read from + * the old bucket. Metabuckets are transformed by just recreating them. + * Attention: Currently only the following bucket types are handled: + * + * All data buckets + * FLUSH + * EOS + * + * If an other bucket type is found its type is logged as a debug message + * and APR_EGENERAL is returned. + */ +PROXY_DECLARE(apr_status_t) +ap_proxy_buckets_lifetime_transform(request_rec *r, apr_bucket_brigade *from, + apr_bucket_brigade *to) +{ + apr_bucket *e; + apr_bucket *new; + const char *data; + apr_size_t bytes; + apr_status_t rv = APR_SUCCESS; + + apr_brigade_cleanup(to); + for (e = APR_BRIGADE_FIRST(from); + e != APR_BRIGADE_SENTINEL(from); + e = APR_BUCKET_NEXT(e)) { + if (!APR_BUCKET_IS_METADATA(e)) { + apr_bucket_read(e, &data, &bytes, APR_BLOCK_READ); + new = apr_bucket_transient_create(data, bytes, r->connection->bucket_alloc); + APR_BRIGADE_INSERT_TAIL(to, new); + } + else if (APR_BUCKET_IS_FLUSH(e)) { + new = apr_bucket_flush_create(r->connection->bucket_alloc); + APR_BRIGADE_INSERT_TAIL(to, new); + } + else if (APR_BUCKET_IS_EOS(e)) { + new = apr_bucket_eos_create(r->connection->bucket_alloc); + APR_BRIGADE_INSERT_TAIL(to, new); + } + else { + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, + "proxy: Unhandled bucket type of type %s in" + " ap_proxy_buckets_lifetime_transform", e->type->name); + rv = APR_EGENERAL; + } + } + return rv; +} + diff --git a/modules/ssl/ssl_engine_init.c b/modules/ssl/ssl_engine_init.c index 268f7f24..8e3cef8f 100644 --- a/modules/ssl/ssl_engine_init.c +++ b/modules/ssl/ssl_engine_init.c @@ -321,6 +321,9 @@ void ssl_init_Engine(server_rec *s, apr_pool_t *p) ssl_log_ssl_error(APLOG_MARK, APLOG_ERR, s); ssl_die(); } + ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, + "Init: loaded Crypto Device API `%s'", + mc->szCryptoDevice); ENGINE_free(e); } diff --git a/modules/ssl/ssl_scache_shmcb.c b/modules/ssl/ssl_scache_shmcb.c index 63717ce5..e778db04 100644 --- a/modules/ssl/ssl_scache_shmcb.c +++ b/modules/ssl/ssl_scache_shmcb.c @@ -26,308 +26,183 @@ #include "ssl_private.h" -/* +/* * This shared memory based SSL session cache implementation was * originally written by Geoff Thorpe <geoff geoffthorpe.net> for C2Net * Europe as a contribution to Ralf Engelschall's mod_ssl project. - */ - -/* - * The shared-memory segment header can be cast to and from the - * SHMCBHeader type, all other structures need to be initialised by - * utility functions. - * - * The "header" looks like this; - * - * data applying to the overall structure: - * - division_offset (unsigned int): - * how far into the shared memory segment the first division is. - * - division_size (unsigned int): - * how many bytes each division occupies. - * (NB: This includes the queue and the cache) - * - division_mask (unsigned char): - * the "mask" in the next line. Add one to this, - * and that's the number of divisions. - * - * data applying to within each division: - * - queue_size (unsigned int): - * how big each "queue" is. NB: The queue is the first block in each - * division and is followed immediately by the cache itself so so - * there's no cache_offset value. - * - * data applying to within each queue: - * - index_num (unsigned char): - * how many indexes in each cache's queue - * - index_offset (unsigned char): - * how far into the queue the first index is. - * - index_size: - * how big each index is. - * - * data applying to within each cache: - * - cache_data_offset (unsigned int): - * how far into the cache the session-data array is stored. - * - cache_data_size (unsigned int): - * how big each cache's data block is. - * - * statistics data (this will eventually be per-division but right now - * there's only one mutex): - * - stores (unsigned long): - * how many stores have been performed in the cache. - * - expiries (unsigned long): - * how many session have been expired from the cache. - * - scrolled (unsigned long): - * how many sessions have been scrolled out of full cache during a - * "store" operation. This is different to the "removes" stats as - * they are requested by mod_ssl/Apache, these are done because of - * cache logistics. (NB: Also, this value should be deducible from - * the others if my code has no bugs, but I count it anyway - plus - * it helps debugging :-). - * - retrieves_hit (unsigned long): - * how many session-retrieves have succeeded. - * - retrieves_miss (unsigned long): - * how many session-retrieves have failed. - * - removes_hit (unsigned long): - * - removes_miss (unsigned long): - * - * Following immediately after the header is an array of "divisions". - * Each division is simply a "queue" immediately followed by its - * corresponding "cache". Each division handles some pre-defined band - * of sessions by using the "division_mask" in the header. Eg. if - * division_mask=0x1f then there are 32 divisions, the first of which - * will store sessions whose least-significant 5 bits are 0, the second - * stores session whose LS 5 bits equal 1, etc. A queue is an indexing - * structure referring to its corresponding cache. - * - * A "queue" looks like this; * - * - first_pos (unsigned int): - * the location within the array of indexes where the virtual - * "left-hand-edge" of the cyclic buffer is. - * - pos_count (unsigned int): - * the number of indexes occupied from first_pos onwards. - * - * ...followed by an array of indexes, each of which can be - * memcpy'd to and from an SHMCBIndex, and look like this; - * - * - expires (time_t): - * the time() value at which this session expires. - * - offset (unsigned int): - * the offset within the cache data block where the corresponding - * session is stored. - * - s_id2 (unsigned char): - * the second byte of the session_id, stored as an optimisation to - * reduce the number of d2i_SSL_SESSION calls that are made when doing - * a lookup. - * - removed (unsigned char): - * a byte used to indicate whether a session has been "passively" - * removed. Ie. it is still in the cache but is to be disregarded by - * any "retrieve" operation. - * - * A "cache" looks like this; - * - * - first_pos (unsigned int): - * the location within the data block where the virtual - * "left-hand-edge" of the cyclic buffer is. - * - pos_count (unsigned int): - * the number of bytes used in the data block from first_pos onwards. - * - * ...followed by the data block in which actual DER-encoded SSL - * sessions are stored. + * Since rewritten by GT to not use alignment-fudging memcpys and reduce + * complexity. */ /* - * Header - can be memcpy'd to and from the front of the shared - * memory segment. NB: The first copy (commented out) has the - * elements in a meaningful order, but due to data-alignment - * braindeadness, the second (uncommented) copy has the types grouped - * so as to decrease "struct-bloat". sigh. + * Header structure - the start of the shared-mem segment */ typedef struct { - unsigned long num_stores; - unsigned long num_expiries; - unsigned long num_scrolled; - unsigned long num_retrieves_hit; - unsigned long num_retrieves_miss; - unsigned long num_removes_hit; - unsigned long num_removes_miss; - unsigned int division_offset; - unsigned int division_size; - unsigned int queue_size; - unsigned int cache_data_offset; - unsigned int cache_data_size; - unsigned char division_mask; + /* Stats for cache operations */ + unsigned long stat_stores; + unsigned long stat_expiries; + unsigned long stat_scrolled; + unsigned long stat_retrieves_hit; + unsigned long stat_retrieves_miss; + unsigned long stat_removes_hit; + unsigned long stat_removes_miss; + /* Number of subcaches */ + unsigned int subcache_num; + /* How many indexes each subcache's queue has */ unsigned int index_num; - unsigned int index_offset; - unsigned int index_size; + /* How large each subcache is, including the queue and data */ + unsigned int subcache_size; + /* How far into each subcache the data area is (optimisation) */ + unsigned int subcache_data_offset; + /* How large the data area in each subcache is (optimisation) */ + unsigned int subcache_data_size; } SHMCBHeader; -/* - * Index - can be memcpy'd to and from an index inside each - * queue's index array. +/* + * Subcache structure - the start of each subcache, followed by + * indexes then data */ typedef struct { + /* The start position and length of the cyclic buffer of indexes */ + unsigned int idx_pos, idx_used; + /* Same for the data area */ + unsigned int data_pos, data_used; +} SHMCBSubcache; + +/* + * Index structure - each subcache has an array of these + */ +typedef struct { + /* absolute time this entry expires */ time_t expires; - unsigned int offset; + /* location within the subcache's data area */ + unsigned int data_pos; + /* size (most logic ignores this, we keep it only to minimise memcpy) */ + unsigned int data_used; + /* Optimisation to prevent ASN decoding unless a match is likely */ unsigned char s_id2; + /* Used to mark explicitly-removed sessions */ unsigned char removed; } SHMCBIndex; -/* - * Queue - must be populated by a call to shmcb_get_division - * and the structure's pointers are used for updating (ie. - * the structure doesn't need any "set" to update values). - */ -typedef struct { - SHMCBHeader *header; - unsigned int *first_pos; - unsigned int *pos_count; - SHMCBIndex *indexes; -} SHMCBQueue; - -/* - * Cache - same comment as for Queue. 'Queue's are in a 1-1 - * correspondance with 'Cache's and are usually carried round - * in a pair, they are only seperated for clarity. - */ -typedef struct { - SHMCBHeader *header; - unsigned int *first_pos; - unsigned int *pos_count; - unsigned char *data; -} SHMCBCache; -/* - * Forward function prototypes. +/* The SHM data segment is of fixed size and stores data as follows. + * + * [ SHMCBHeader | Subcaches ] + * + * The SHMCBHeader header structure stores metadata concerning the + * cache and the contained subcaches. + * + * Subcaches is a hash table of header->subcache_num SHMCBSubcache + * structures. The hash table is indexed by SHMCB_MASK(id). Each + * SHMCBSubcache structure has a fixed size (header->subcache_size), + * which is determined at creation time, and looks like the following: + * + * [ SHMCBSubcache | Indexes | Data ] + * + * Each subcache is prefixed by the SHMCBSubcache structure. + * + * The subcache's "Data" segment is a single cyclic data buffer, of + * total size header->subcache_data_size; data inside is referenced + * using byte offsets. The offset marking the beginning of the cyclic + * buffer is subcache->data_pos the buffer's length is + * subcache->data_used. + * + * "Indexes" is an array of header->index_num SHMCBIndex structures, + * which is used as a cyclic queue; subcache->idx_pos gives the array + * index of the first in use, subcache->idx_used gives the number in + * use. Both ->idx_* values have a range of [0, header->index_num) + * + * Each in-use SHMCBIndex structure represents a single SSL session. */ -/* Functions for working around data-alignment-picky systems (sparcs, - Irix, etc). These use "memcpy" as a way of foxing these systems into - treating the composite types as byte-arrays rather than higher-level - primitives that it prefers to have 4-(or 8-)byte aligned. I don't - envisage this being a performance issue as a couple of 2 or 4 byte - memcpys can hardly make a dent on the massive memmove operations this - cache technique avoids, nor the overheads of ASN en/decoding. */ -static unsigned int shmcb_get_safe_uint(unsigned int *); -static void shmcb_set_safe_uint_ex(unsigned char *, const unsigned char *); -#define shmcb_set_safe_uint(pdest, src) \ - do { \ - unsigned int tmp_uint = src; \ - shmcb_set_safe_uint_ex((unsigned char *)pdest, \ - (const unsigned char *)(&tmp_uint)); \ - } while(0) -#if 0 /* Unused so far */ -static unsigned long shmcb_get_safe_ulong(unsigned long *); -static void shmcb_set_safe_ulong_ex(unsigned char *, const unsigned char *); -#define shmcb_set_safe_ulong(pdest, src) \ - do { \ - unsigned long tmp_ulong = src; \ - shmcb_set_safe_ulong_ex((unsigned char *)pdest, \ - (const unsigned char *)(&tmp_ulong)); \ - } while(0) -#endif -static time_t shmcb_get_safe_time(time_t *); -static void shmcb_set_safe_time_ex(unsigned char *, const unsigned char *); -#define shmcb_set_safe_time(pdest, src) \ - do { \ - time_t tmp_time = src; \ - shmcb_set_safe_time_ex((unsigned char *)pdest, \ - (const unsigned char *)(&tmp_time)); \ - } while(0) - -/* This is used to persuade the compiler from using an inline memset() - * which has no respect for alignment, since the size parameter is - * often a compile-time constant. GCC >= 4 will aggressively inline - * static functions, so it's marked as explicitly not-inline. */ -#if defined(__GNUC__) && __GNUC__ > 3 -__attribute__((__noinline__)) -#endif -static void shmcb_safe_clear(void *ptr, size_t size) -{ - memset(ptr, 0, size); -} - -/* Underlying functions for session-caching */ -static BOOL shmcb_init_memory(server_rec *, void *, unsigned int); -static BOOL shmcb_store_session(server_rec *, void *, UCHAR *, int, SSL_SESSION *, time_t); -static SSL_SESSION *shmcb_retrieve_session(server_rec *, void *, UCHAR *, int); -static BOOL shmcb_remove_session(server_rec *, void *, UCHAR *, int); - -/* Utility functions for manipulating the structures */ -static void shmcb_get_header(void *, SHMCBHeader **); -static BOOL shmcb_get_division(SHMCBHeader *, SHMCBQueue *, SHMCBCache *, unsigned int); -static SHMCBIndex *shmcb_get_index(const SHMCBQueue *, unsigned int); -static unsigned int shmcb_expire_division(server_rec *, SHMCBQueue *, SHMCBCache *); -static BOOL shmcb_insert_encoded_session(server_rec *, SHMCBQueue *, SHMCBCache *, unsigned char *, unsigned int, unsigned char *, time_t); -static SSL_SESSION *shmcb_lookup_session_id(server_rec *, SHMCBQueue *, SHMCBCache *, UCHAR *, unsigned int); -static BOOL shmcb_remove_session_id(server_rec *, SHMCBQueue *, SHMCBCache *, UCHAR *, unsigned int); +/* This macro takes a pointer to the header and a zero-based index and returns + * a pointer to the corresponding subcache. */ +#define SHMCB_SUBCACHE(pHeader, num) \ + (SHMCBSubcache *)(((unsigned char *)(pHeader)) + \ + sizeof(SHMCBHeader) + \ + (num) * ((pHeader)->subcache_size)) + +/* This macro takes a pointer to the header and a session id and returns a + * pointer to the corresponding subcache. */ +#define SHMCB_MASK(pHeader, id) \ + SHMCB_SUBCACHE((pHeader), *(id) & ((pHeader)->subcache_num - 1)) + +/* This macro takes the same params as the last, generating two outputs for use + * in ap_log_error(...). */ +#define SHMCB_MASK_DBG(pHeader, id) \ + *(id), (*(id) & ((pHeader)->subcache_num - 1)) + +/* This macro takes a pointer to a subcache and a zero-based index and returns + * a pointer to the corresponding SHMCBIndex. */ +#define SHMCB_INDEX(pSubcache, num) \ + ((SHMCBIndex *)(((unsigned char *)pSubcache) + \ + sizeof(SHMCBSubcache)) + num) + +/* This macro takes a pointer to the header and a subcache and returns a + * pointer to the corresponding data area. */ +#define SHMCB_DATA(pHeader, pSubcache) \ + ((unsigned char *)(pSubcache) + (pHeader)->subcache_data_offset) /* - * Data-alignment functions (a.k.a. avoidance tactics) - * - * NB: On HPUX (and possibly others) there is a *very* mischievous little - * "optimisation" in the compilers where it will convert the following; - * memcpy(dest_ptr, &source, sizeof(unsigned int)); - * (where dest_ptr is of type (unsigned int *) and source is (unsigned int)) - * into; - * *dest_ptr = source; (or *dest_ptr = *(&source), not sure). - * Either way, it completely destroys the whole point of these _safe_ - * functions, because the assignment operation will fall victim to the - * architecture's byte-alignment dictations, whereas the memcpy (as a - * byte-by-byte copy) should not. sigh. So, if you're wondering about the - * apparently unnecessary conversions to (unsigned char *) in these - * functions, you now have an explanation. Don't just revert them back and - * say "ooh look, it still works" - if you try it on HPUX (well, 32-bit - * HPUX 11.00 at least) you may find it fails with a SIGBUS. :-( + * Cyclic functions - assists in "wrap-around"/modulo logic */ -static unsigned int shmcb_get_safe_uint(unsigned int *ptr) -{ - unsigned int ret; - shmcb_set_safe_uint_ex((unsigned char *)(&ret), - (const unsigned char *)ptr); - return ret; -} +/* Addition modulo 'mod' */ +#define SHMCB_CYCLIC_INCREMENT(val,inc,mod) \ + (((val) + (inc)) % (mod)) -static void shmcb_set_safe_uint_ex(unsigned char *dest, - const unsigned char *src) -{ - memcpy(dest, src, sizeof(unsigned int)); -} +/* Subtraction (or "distance between") modulo 'mod' */ +#define SHMCB_CYCLIC_SPACE(val1,val2,mod) \ + ((val2) >= (val1) ? ((val2) - (val1)) : \ + ((val2) + (mod) - (val1))) -#if 0 /* Unused so far */ -static unsigned long shmcb_get_safe_ulong(unsigned long *ptr) +/* A "normal-to-cyclic" memcpy. */ +static void shmcb_cyclic_ntoc_memcpy(unsigned int buf_size, unsigned char *data, + unsigned int dest_offset, unsigned char *src, + unsigned int src_len) { - unsigned long ret; - shmcb_set_safe_ulong_ex((unsigned char *)(&ret), - (const unsigned char *)ptr); - return ret; + if (dest_offset + src_len < buf_size) + /* It be copied all in one go */ + memcpy(data + dest_offset, src, src_len); + else { + /* Copy the two splits */ + memcpy(data + dest_offset, src, buf_size - dest_offset); + memcpy(data, src + buf_size - dest_offset, + src_len + dest_offset - buf_size); + } } -static void shmcb_set_safe_ulong_ex(unsigned char *dest, - const unsigned char *src) +/* A "cyclic-to-normal" memcpy. */ +static void shmcb_cyclic_cton_memcpy(unsigned int buf_size, unsigned char *dest, + unsigned char *data, unsigned int src_offset, + unsigned int src_len) { - memcpy(dest, src, sizeof(unsigned long)); + if (src_offset + src_len < buf_size) + /* It be copied all in one go */ + memcpy(dest, data + src_offset, src_len); + else { + /* Copy the two splits */ + memcpy(dest, data + src_offset, buf_size - src_offset); + memcpy(dest + buf_size - src_offset, data, + src_len + src_offset - buf_size); + } } -#endif -static time_t shmcb_get_safe_time(time_t * ptr) -{ - time_t ret; - shmcb_set_safe_time_ex((unsigned char *)(&ret), - (const unsigned char *)ptr); - return ret; -} +/* Prototypes for low-level subcache operations */ +static void shmcb_subcache_expire(server_rec *, SHMCBHeader *, SHMCBSubcache *); +static BOOL shmcb_subcache_store(server_rec *, SHMCBHeader *, SHMCBSubcache *, + UCHAR *, unsigned int, UCHAR *, time_t); +static SSL_SESSION *shmcb_subcache_retrieve(server_rec *, SHMCBHeader *, SHMCBSubcache *, + UCHAR *, unsigned int); +static BOOL shmcb_subcache_remove(server_rec *, SHMCBHeader *, SHMCBSubcache *, + UCHAR *, unsigned int); -static void shmcb_set_safe_time_ex(unsigned char *dest, - const unsigned char *src) -{ - memcpy(dest, src, sizeof(time_t)); -} /* -** -** High-Level "handlers" as per ssl_scache.c -** -*/ + * High-Level "handlers" as per ssl_scache.c + * subcache internals are deferred to shmcb_subcache_*** functions lower down + */ void ssl_scache_shmcb_init(server_rec *s, apr_pool_t *p) { @@ -335,10 +210,10 @@ void ssl_scache_shmcb_init(server_rec *s, apr_pool_t *p) void *shm_segment; apr_size_t shm_segsize; apr_status_t rv; + SHMCBHeader *header; + unsigned int num_subcache, num_idx, loop; - /* - * Create shared memory segment - */ + /* Create shared memory segment */ if (mc->szSessionCacheDataFile == NULL) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "SSLSessionCache required"); @@ -346,10 +221,9 @@ void ssl_scache_shmcb_init(server_rec *s, apr_pool_t *p) } /* Use anonymous shm by default, fall back on name-based. */ - rv = apr_shm_create(&(mc->pSessionCacheDataMM), - mc->nSessionCacheDataSize, + rv = apr_shm_create(&(mc->pSessionCacheDataMM), + mc->nSessionCacheDataSize, NULL, mc->pPool); - if (APR_STATUS_IS_ENOTIMPL(rv)) { /* For a name-based segment, remove it first in case of a * previous unclean shutdown. */ @@ -362,32 +236,95 @@ void ssl_scache_shmcb_init(server_rec *s, apr_pool_t *p) } if (rv != APR_SUCCESS) { - char buf[100]; - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "Cannot allocate shared memory: (%d)%s", rv, - apr_strerror(rv, buf, sizeof(buf))); + ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, + "could not allocate shared memory for shmcb " + "session cache"); ssl_die(); } + shm_segment = apr_shm_baseaddr_get(mc->pSessionCacheDataMM); shm_segsize = apr_shm_size_get(mc->pSessionCacheDataMM); - + if (shm_segsize < (5 * sizeof(SHMCBHeader))) { + /* the segment is ridiculously small, bail out */ + ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, + "shared memory segment too small"); + ssl_die(); + } ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, "shmcb_init allocated %" APR_SIZE_T_FMT " bytes of shared memory", shm_segsize); - if (!shmcb_init_memory(s, shm_segment, shm_segsize)) { + /* Discount the header */ + shm_segsize -= sizeof(SHMCBHeader); + /* Select the number of subcaches to create and how many indexes each + * should contain based on the size of the memory (the header has already + * been subtracted). Typical non-client-auth sslv3/tlsv1 sessions are + * around 150 bytes, so erring to division by 120 helps ensure we would + * exhaust data storage before index storage (except sslv2, where it's + * *slightly* the other way). From there, we select the number of subcaches + * to be a power of two, such that the number of indexes per subcache at + * least twice the number of subcaches. */ + num_idx = (shm_segsize) / 120; + num_subcache = 256; + while ((num_idx / num_subcache) < (2 * num_subcache)) + num_subcache /= 2; + num_idx /= num_subcache; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "for %" APR_SIZE_T_FMT " bytes (%" APR_SIZE_T_FMT + " including header), recommending %u subcaches, " + "%u indexes each", shm_segsize, + shm_segsize + sizeof(SHMCBHeader), num_subcache, num_idx); + if (num_idx < 5) { + /* we're still too small, bail out */ ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "Failure initialising 'shmcb' shared memory"); + "shared memory segment too small"); ssl_die(); } + /* OK, we're sorted */ + header = shm_segment; + header->stat_stores = 0; + header->stat_expiries = 0; + header->stat_scrolled = 0; + header->stat_retrieves_hit = 0; + header->stat_retrieves_miss = 0; + header->stat_removes_hit = 0; + header->stat_removes_miss = 0; + header->subcache_num = num_subcache; + /* Convert the subcache size (in bytes) to a value that is suitable for + * structure alignment on the host platform, by rounding down if necessary. + * This assumes that sizeof(unsigned long) provides an appropriate + * alignment unit. */ + header->subcache_size = ((size_t)(shm_segsize / num_subcache) & + ~(size_t)(sizeof(unsigned long) - 1)); + header->subcache_data_offset = sizeof(SHMCBSubcache) + + num_idx * sizeof(SHMCBIndex); + header->subcache_data_size = header->subcache_size - + header->subcache_data_offset; + header->index_num = num_idx; + + /* Output trace info */ + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "shmcb_init_memory choices follow"); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "subcache_num = %u", header->subcache_num); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "subcache_size = %u", header->subcache_size); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "subcache_data_offset = %u", header->subcache_data_offset); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "subcache_data_size = %u", header->subcache_data_size); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "index_num = %u", header->index_num); + /* The header is done, make the caches empty */ + for (loop = 0; loop < header->subcache_num; loop++) { + SHMCBSubcache *subcache = SHMCB_SUBCACHE(header, loop); + subcache->idx_pos = subcache->idx_used = 0; + subcache->data_pos = subcache->data_used = 0; + } ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, "Shared memory session cache initialised"); - - /* - * Success ... - */ + /* Success ... */ mc->tSessionCacheDataTable = shm_segment; - return; } void ssl_scache_shmcb_kill(server_rec *s) @@ -406,19 +343,41 @@ BOOL ssl_scache_shmcb_store(server_rec *s, UCHAR *id, int idlen, { SSLModConfigRec *mc = myModConfig(s); BOOL to_return = FALSE; + unsigned char encoded[SSL_SESSION_MAX_DER]; + unsigned char *ptr_encoded; + unsigned int len_encoded; + SHMCBHeader *header = mc->tSessionCacheDataTable; + SHMCBSubcache *subcache = SHMCB_MASK(header, id); ssl_mutex_on(s); - if (!shmcb_store_session(s, mc->tSessionCacheDataTable, id, idlen, - pSession, timeout)) - /* in this cache engine, "stores" should never fail. */ + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "ssl_scache_shmcb_store (0x%02x -> subcache %d)", + SHMCB_MASK_DBG(header, id)); + if (idlen < 4) { + ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "unusably short session_id provided " + "(%u bytes)", idlen); + goto done; + } + /* Serialise the session. */ + len_encoded = i2d_SSL_SESSION(pSession, NULL); + if (len_encoded > SSL_SESSION_MAX_DER) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "'shmcb' code was unable to store a " - "session in the cache."); - else { - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "shmcb_store successful"); - to_return = TRUE; + "session is too big (%u bytes)", len_encoded); + goto done; } + ptr_encoded = encoded; + len_encoded = i2d_SSL_SESSION(pSession, &ptr_encoded); + if (!shmcb_subcache_store(s, header, subcache, encoded, + len_encoded, id, timeout)) { + ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, + "can't store a session!"); + goto done; + } + header->stat_stores++; + to_return = TRUE; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "leaving ssl_scache_shmcb_store successfully"); +done: ssl_mutex_off(s); return to_return; } @@ -426,698 +385,235 @@ BOOL ssl_scache_shmcb_store(server_rec *s, UCHAR *id, int idlen, SSL_SESSION *ssl_scache_shmcb_retrieve(server_rec *s, UCHAR *id, int idlen) { SSLModConfigRec *mc = myModConfig(s); - SSL_SESSION *pSession; + SSL_SESSION *pSession = NULL; + SHMCBHeader *header = mc->tSessionCacheDataTable; + SHMCBSubcache *subcache = SHMCB_MASK(header, id); ssl_mutex_on(s); - pSession = shmcb_retrieve_session(s, mc->tSessionCacheDataTable, id, idlen); - ssl_mutex_off(s); - if (pSession) - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "shmcb_retrieve had a hit"); - else { - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "shmcb_retrieve had a miss"); - ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, - "Client requested a 'session-resume' but " - "we have no such session."); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "ssl_scache_shmcb_retrieve (0x%02x -> subcache %d)", + SHMCB_MASK_DBG(header, id)); + if (idlen < 4) { + ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "unusably short session_id provided " + "(%u bytes)", idlen); + goto done; } + /* Get the session corresponding to the session_id or NULL if it doesn't + * exist (or is flagged as "removed"). */ + pSession = shmcb_subcache_retrieve(s, header, subcache, id, idlen); + if (pSession) + header->stat_retrieves_hit++; + else + header->stat_retrieves_miss++; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "leaving ssl_scache_shmcb_retrieve successfully"); +done: + ssl_mutex_off(s); return pSession; } void ssl_scache_shmcb_remove(server_rec *s, UCHAR *id, int idlen) { SSLModConfigRec *mc = myModConfig(s); + SHMCBHeader *header = mc->tSessionCacheDataTable; + SHMCBSubcache *subcache = SHMCB_MASK(header, id); ssl_mutex_on(s); - shmcb_remove_session(s, mc->tSessionCacheDataTable, id, idlen); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "ssl_scache_shmcb_remove (0x%02x -> subcache %d)", + SHMCB_MASK_DBG(header, id)); + if (idlen < 4) { + ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "unusably short session_id provided " + "(%u bytes)", idlen); + goto done; + } + if (shmcb_subcache_remove(s, header, subcache, id, idlen)) + header->stat_removes_hit++; + else + header->stat_removes_miss++; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "leaving ssl_scache_shmcb_remove successfully"); +done: ssl_mutex_off(s); } void ssl_scache_shmcb_status(request_rec *r, int flags, apr_pool_t *p) { - SSLModConfigRec *mc = myModConfig(r->server); - SHMCBHeader *header; - SHMCBQueue queue; - SHMCBCache cache; - SHMCBIndex *idx; - unsigned int loop, total, cache_total, non_empty_divisions; + server_rec *s = r->server; + SSLModConfigRec *mc = myModConfig(s); + void *shm_segment = apr_shm_baseaddr_get(mc->pSessionCacheDataMM); + SHMCBHeader *header = shm_segment; + unsigned int loop, total = 0, cache_total = 0, non_empty_subcaches = 0; + time_t idx_expiry, min_expiry = 0, max_expiry = 0, average_expiry = 0; + time_t now = time(NULL); + double expiry_total = 0; int index_pct, cache_pct; - double expiry_total; - time_t average_expiry, now, max_expiry, min_expiry, idxexpiry; ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "inside shmcb_status"); - - /* Get the header structure. */ - shmcb_get_header(mc->tSessionCacheDataTable, &header); - total = cache_total = non_empty_divisions = 0; - average_expiry = max_expiry = min_expiry = 0; - expiry_total = 0; - - /* It may seem strange to grab "now" at this point, but in theory - * we should never have a negative threshold but grabbing "now" after - * the loop (which performs expiries) could allow that chance. */ - now = time(NULL); - for (loop = 0; loop <= header->division_mask; loop++) { - if (shmcb_get_division(header, &queue, &cache, loop)) { - shmcb_expire_division(r->server, &queue, &cache); - total += shmcb_get_safe_uint(queue.pos_count); - cache_total += shmcb_get_safe_uint(cache.pos_count); - if (shmcb_get_safe_uint(queue.pos_count) > 0) { - idx = shmcb_get_index(&queue, - shmcb_get_safe_uint(queue.first_pos)); - non_empty_divisions++; - idxexpiry = shmcb_get_safe_time(&(idx->expires)); - expiry_total += (double) idxexpiry; - max_expiry = (idxexpiry > max_expiry ? idxexpiry : - max_expiry); - if (min_expiry == 0) - min_expiry = idxexpiry; - else - min_expiry = (idxexpiry < min_expiry ? idxexpiry : - min_expiry); - } + /* Perform the iteration inside the mutex to avoid corruption or invalid + * pointer arithmetic. The rest of our logic uses read-only header data so + * doesn't need the lock. */ + ssl_mutex_on(s); + /* Iterate over the subcaches */ + for (loop = 0; loop < header->subcache_num; loop++) { + SHMCBSubcache *subcache = SHMCB_SUBCACHE(header, loop); + shmcb_subcache_expire(s, header, subcache); + total += subcache->idx_used; + cache_total += subcache->data_used; + if (subcache->idx_used) { + SHMCBIndex *idx = SHMCB_INDEX(subcache, subcache->idx_pos); + non_empty_subcaches++; + idx_expiry = idx->expires; + expiry_total += (double)idx_expiry; + max_expiry = ((idx_expiry > max_expiry) ? idx_expiry : max_expiry); + if (!min_expiry) + min_expiry = idx_expiry; + else + min_expiry = ((idx_expiry < min_expiry) ? idx_expiry : min_expiry); } } - index_pct = (100 * total) / (header->index_num * (header->division_mask + 1)); - cache_pct = (100 * cache_total) / (header->cache_data_size * (header->division_mask + 1)); + ssl_mutex_off(s); + index_pct = (100 * total) / (header->index_num * + header->subcache_num); + cache_pct = (100 * cache_total) / (header->subcache_data_size * + header->subcache_num); + /* Generate HTML */ ap_rprintf(r, "cache type: <b>SHMCB</b>, shared memory: <b>%d</b> " "bytes, current sessions: <b>%d</b><br>", mc->nSessionCacheDataSize, total); - ap_rprintf(r, "sub-caches: <b>%d</b>, indexes per sub-cache: " - "<b>%d</b><br>", (int) header->division_mask + 1, - (int) header->index_num); - if (non_empty_divisions != 0) { - average_expiry = (time_t)(expiry_total / (double)non_empty_divisions); + ap_rprintf(r, "subcaches: <b>%d</b>, indexes per subcache: <b>%d</b><br>", + header->subcache_num, header->index_num); + if (non_empty_subcaches) { + average_expiry = (time_t)(expiry_total / (double)non_empty_subcaches); ap_rprintf(r, "time left on oldest entries' SSL sessions: "); if (now < average_expiry) ap_rprintf(r, "avg: <b>%d</b> seconds, (range: %d...%d)<br>", - (int)(average_expiry - now), (int) (min_expiry - now), + (int)(average_expiry - now), + (int)(min_expiry - now), (int)(max_expiry - now)); else - ap_rprintf(r, "expiry threshold: <b>Calculation Error!</b>" - "<br>"); - + ap_rprintf(r, "expiry_threshold: <b>Calculation error!</b><br>"); } - ap_rprintf(r, "index usage: <b>%d%%</b>, cache usage: <b>%d%%</b>" - "<br>", index_pct, cache_pct); + + ap_rprintf(r, "index usage: <b>%d%%</b>, cache usage: <b>%d%%</b><br>", + index_pct, cache_pct); ap_rprintf(r, "total sessions stored since starting: <b>%lu</b><br>", - header->num_stores); + header->stat_stores); ap_rprintf(r, "total sessions expired since starting: <b>%lu</b><br>", - header->num_expiries); - ap_rprintf(r, "total (pre-expiry) sessions scrolled out of the " - "cache: <b>%lu</b><br>", header->num_scrolled); + header->stat_expiries); + ap_rprintf(r, "total (pre-expiry) sessions scrolled out of the cache: " + "<b>%lu</b><br>", header->stat_scrolled); ap_rprintf(r, "total retrieves since starting: <b>%lu</b> hit, " - "<b>%lu</b> miss<br>", header->num_retrieves_hit, - header->num_retrieves_miss); + "<b>%lu</b> miss<br>", header->stat_retrieves_hit, + header->stat_retrieves_miss); ap_rprintf(r, "total removes since starting: <b>%lu</b> hit, " - "<b>%lu</b> miss<br>", header->num_removes_hit, - header->num_removes_miss); + "<b>%lu</b> miss<br>", header->stat_removes_hit, + header->stat_removes_miss); ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "leaving shmcb_status"); - return; } /* -** -** Memory manipulation and low-level cache operations -** -*/ - -static BOOL shmcb_init_memory( - server_rec *s, void *shm_mem, - unsigned int shm_mem_size) -{ - SHMCBHeader *header; - SHMCBQueue queue; - SHMCBCache cache; - unsigned int temp, loop, granularity; - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "entered shmcb_init_memory()"); - - /* Calculate some sizes... */ - temp = sizeof(SHMCBHeader); - - /* If the segment is ridiculously too small, bail out */ - if (shm_mem_size < (2*temp)) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shared memory segment too small"); - return FALSE; - } - - /* Make temp the amount of memory without the header */ - temp = shm_mem_size - temp; - - /* Work on the basis that you need 10 bytes index for each session - * (approx 150 bytes), which is to divide temp by 160 - and then - * make sure we err on having too index space to burn even when - * the cache is full, which is a lot less stupid than having - * having not enough index space to utilise the whole cache!. */ - temp /= 120; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "for %u bytes, recommending %u indexes", - shm_mem_size, temp); - - /* We should divide these indexes evenly amongst the queues. Try - * to get it so that there are roughly half the number of divisions - * as there are indexes in each division. */ - granularity = 256; - while ((temp / granularity) < (2 * granularity)) - granularity /= 2; - - /* So we have 'granularity' divisions, set 'temp' equal to the - * number of indexes in each division. */ - temp /= granularity; - - /* Too small? Bail ... */ - if (temp < 5) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shared memory segment too small"); - return FALSE; - } - - /* OK, we're sorted - from here on in, the return should be TRUE */ - header = (SHMCBHeader *)shm_mem; - header->division_mask = (unsigned char)(granularity - 1); - header->division_offset = sizeof(SHMCBHeader); - header->index_num = temp; - header->index_offset = (2 * sizeof(unsigned int)); - header->index_size = sizeof(SHMCBIndex); - header->queue_size = header->index_offset + - (header->index_num * header->index_size); - - /* Now calculate the space for each division */ - temp = shm_mem_size - header->division_offset; - header->division_size = temp / granularity; - - /* Calculate the space left in each division for the cache */ - temp -= header->queue_size; - header->cache_data_offset = (2 * sizeof(unsigned int)); - header->cache_data_size = header->division_size - - header->queue_size - header->cache_data_offset; - - /* Output trace info */ - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "shmcb_init_memory choices follow"); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "division_mask = 0x%02X", header->division_mask); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "division_offset = %u", header->division_offset); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "division_size = %u", header->division_size); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "queue_size = %u", header->queue_size); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "index_num = %u", header->index_num); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "index_offset = %u", header->index_offset); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "index_size = %u", header->index_size); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "cache_data_offset = %u", header->cache_data_offset); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "cache_data_size = %u", header->cache_data_size); - - /* The header is done, make the caches empty */ - for (loop = 0; loop < granularity; loop++) { - if (!shmcb_get_division(header, &queue, &cache, loop)) - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "shmcb_init_memory, " "internal error"); - shmcb_set_safe_uint(cache.first_pos, 0); - shmcb_set_safe_uint(cache.pos_count, 0); - shmcb_set_safe_uint(queue.first_pos, 0); - shmcb_set_safe_uint(queue.pos_count, 0); - } - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "leaving shmcb_init_memory()"); - return TRUE; -} + * Subcache-level cache operations + */ -static BOOL shmcb_store_session( - server_rec *s, void *shm_segment, UCHAR *id, - int idlen, SSL_SESSION * pSession, - time_t timeout) +static void shmcb_subcache_expire(server_rec *s, SHMCBHeader *header, + SHMCBSubcache *subcache) { - SHMCBHeader *header; - SHMCBQueue queue; - SHMCBCache cache; - unsigned char masked_index; - unsigned char encoded[SSL_SESSION_MAX_DER]; - unsigned char *ptr_encoded; - unsigned int len_encoded; - time_t expiry_time; - unsigned char *session_id = SSL_SESSION_get_session_id(pSession); - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "inside shmcb_store_session"); - - /* Get the header structure, which division this session will fall into etc. */ - shmcb_get_header(shm_segment, &header); - masked_index = session_id[0] & header->division_mask; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "session_id[0]=%u, masked index=%u", - session_id[0], masked_index); - if (!shmcb_get_division(header, &queue, &cache, (unsigned int)masked_index)) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shmcb_store_session internal error"); - return FALSE; - } + time_t now = time(NULL); + unsigned int loop = 0; + unsigned int new_idx_pos = subcache->idx_pos; + SHMCBIndex *idx = NULL; - /* Serialise the session, work out how much we're dealing - * with. NB: This check could be removed if we're not paranoid - * or we find some assurance that it will never be necessary. */ - len_encoded = i2d_SSL_SESSION(pSession, NULL); - if (len_encoded > SSL_SESSION_MAX_DER) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "session is too big (%u bytes)", len_encoded); - return FALSE; + while (loop < subcache->idx_used) { + idx = SHMCB_INDEX(subcache, new_idx_pos); + if (idx->expires > now) + /* it hasn't expired yet, we're done iterating */ + break; + loop++; + new_idx_pos = SHMCB_CYCLIC_INCREMENT(new_idx_pos, 1, header->index_num); } - ptr_encoded = encoded; - len_encoded = i2d_SSL_SESSION(pSession, &ptr_encoded); - expiry_time = timeout; - if (!shmcb_insert_encoded_session(s, &queue, &cache, encoded, - len_encoded, session_id, - expiry_time)) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "can't store a session!"); - return FALSE; + if (!loop) + /* Nothing to do */ + return; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "will be expiring %u sessions", loop); + if (loop == subcache->idx_used) { + /* We're expiring everything, piece of cake */ + subcache->idx_used = 0; + subcache->data_used = 0; + } else { + /* There remain other indexes, so we can use idx to adjust 'data' */ + unsigned int diff = SHMCB_CYCLIC_SPACE(subcache->data_pos, + idx->data_pos, + header->subcache_data_size); + /* Adjust the indexes */ + subcache->idx_used -= loop; + subcache->idx_pos = new_idx_pos; + /* Adjust the data area */ + subcache->data_used -= diff; + subcache->data_pos = idx->data_pos; } + header->stat_expiries += loop; ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "leaving shmcb_store successfully"); - header->num_stores++; - return TRUE; + "we now have %u sessions", subcache->idx_used); } -static SSL_SESSION *shmcb_retrieve_session( - server_rec *s, void *shm_segment, - UCHAR *id, int idlen) +static BOOL shmcb_subcache_store(server_rec *s, SHMCBHeader *header, + SHMCBSubcache *subcache, + UCHAR *data, unsigned int data_len, + UCHAR *id, time_t expiry) { - SHMCBHeader *header; - SHMCBQueue queue; - SHMCBCache cache; - unsigned char masked_index; - SSL_SESSION *pSession; - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "inside shmcb_retrieve_session"); - if (idlen < 2) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "unusably short session_id provided " - "(%u bytes)", idlen); - return FALSE; - } + unsigned int new_offset, new_idx; + SHMCBIndex *idx; - /* Get the header structure, which division this session lookup - * will come from etc. */ - shmcb_get_header(shm_segment, &header); - masked_index = id[0] & header->division_mask; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "id[0]=%u, masked index=%u", id[0], masked_index); - if (!shmcb_get_division(header, &queue, &cache, (unsigned int) masked_index)) { + /* Sanity check the input */ + if ((data_len > header->subcache_data_size) || (data_len > SSL_SESSION_MAX_DER)) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shmcb_retrieve_session internal error"); - header->num_retrieves_miss++; - return FALSE; - } - - /* Get the session corresponding to the session_id or NULL if it - * doesn't exist (or is flagged as "removed"). */ - pSession = shmcb_lookup_session_id(s, &queue, &cache, id, idlen); - if (pSession) - header->num_retrieves_hit++; - else - header->num_retrieves_miss++; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "leaving shmcb_retrieve_session"); - return pSession; -} - -static BOOL shmcb_remove_session( - server_rec *s, void *shm_segment, - UCHAR *id, int idlen) -{ - SHMCBHeader *header; - SHMCBQueue queue; - SHMCBCache cache; - unsigned char masked_index; - BOOL res; - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "inside shmcb_remove_session"); - if (id == NULL) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "remove called with NULL session_id!"); - return FALSE; - } - - /* Get the header structure, which division this session remove - * will happen in etc. */ - shmcb_get_header(shm_segment, &header); - masked_index = id[0] & header->division_mask; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "id[0]=%u, masked index=%u", id[0], masked_index); - if (!shmcb_get_division(header, &queue, &cache, (unsigned int)masked_index)) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "shmcb_remove_session, internal error"); - header->num_removes_miss++; + "inserting session larger (%d) than subcache data area (%d)", + data_len, header->subcache_data_size); return FALSE; } - res = shmcb_remove_session_id(s, &queue, &cache, id, idlen); - if (res) - header->num_removes_hit++; - else - header->num_removes_miss++; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "leaving shmcb_remove_session"); - return res; -} - - -/* -** -** Weirdo cyclic buffer functions -** -*/ - -/* This gets used in the cyclic "index array" (in the 'Queue's) and - * in the cyclic 'Cache's too ... you provide the "width" of the - * cyclic store, the starting position and how far to move (with - * wrapping if necessary). Basically it's addition modulo buf_size. */ -static unsigned int shmcb_cyclic_increment( - unsigned int buf_size, - unsigned int start_pos, - unsigned int to_add) -{ - start_pos += to_add; - while (start_pos >= buf_size) - start_pos -= buf_size; - return start_pos; -} - -/* Given two positions in a cyclic buffer, calculate the "distance". - * This is to cover the case ("non-trivial") where the 'next' offset - * is to the left of the 'start' offset. NB: This calculates the - * space inclusive of one end-point but not the other. There is an - * ambiguous case (which is why we use the <start_pos,offset> - * coordinate system rather than <start_pos,end_pos> one) when 'start' - * is the same as 'next'. It could indicate the buffer is full or it - * can indicate the buffer is empty ... I choose the latter as it's - * easier and usually necessary to check if the buffer is full anyway - * before doing incremental logic (which is this useful for), but we - * definitely need the empty case handled - in fact it's our starting - * state!! */ -static unsigned int shmcb_cyclic_space( - unsigned int buf_size, - unsigned int start_offset, - unsigned int next_offset) -{ - /* Is it the trivial case? */ - if (start_offset <= next_offset) - return (next_offset - start_offset); /* yes */ - else - return ((buf_size - start_offset) + next_offset); /* no */ -} - -/* A "normal-to-cyclic" memcpy ... this takes a linear block of - * memory and copies it onto a cyclic buffer. The purpose and - * function of this is pretty obvious, you need to cover the case - * that the destination (cyclic) buffer has to wrap round. */ -static void shmcb_cyclic_ntoc_memcpy( - unsigned int buf_size, - unsigned char *data, - unsigned int dest_offset, - unsigned char *src, unsigned int src_len) -{ - /* Cover the case that src_len > buf_size */ - if (src_len > buf_size) - src_len = buf_size; - - /* Can it be copied all in one go? */ - if (dest_offset + src_len < buf_size) - /* yes */ - memcpy(data + dest_offset, src, src_len); - else { - /* no */ - memcpy(data + dest_offset, src, buf_size - dest_offset); - memcpy(data, src + buf_size - dest_offset, - src_len + dest_offset - buf_size); - } - return; -} -/* A "cyclic-to-normal" memcpy ... given the last function, this - * one's purpose is clear, it copies out of a cyclic buffer handling - * wrapping. */ -static void shmcb_cyclic_cton_memcpy( - unsigned int buf_size, - unsigned char *dest, - unsigned char *data, - unsigned int src_offset, - unsigned int src_len) -{ - /* Cover the case that src_len > buf_size */ - if (src_len > buf_size) - src_len = buf_size; + /* If there are entries to expire, ditch them first. */ + shmcb_subcache_expire(s, header, subcache); - /* Can it be copied all in one go? */ - if (src_offset + src_len < buf_size) - /* yes */ - memcpy(dest, data + src_offset, src_len); - else { - /* no */ - memcpy(dest, data + src_offset, buf_size - src_offset); - memcpy(dest + buf_size - src_offset, data, - src_len + src_offset - buf_size); - } - return; -} + /* Loop until there is enough space to insert */ + if (header->subcache_data_size - subcache->data_used < data_len + || subcache->idx_used == header->index_num) { + unsigned int loop = 0; -/* Here's the cool hack that makes it all work ... by simply - * making the first collection of bytes *be* our header structure - * (casting it into the C structure), we have the perfect way to - * maintain state in a shared-memory session cache from one call - * (and process) to the next, use the shared memory itself! The - * original mod_ssl shared-memory session cache uses variables - * inside the context, but we simply use that for storing the - * pointer to the shared memory itself. And don't forget, after - * Apache's initialisation, this "header" is constant/read-only - * so we can read it outside any locking. - * <grin> - sometimes I just *love* coding y'know?! */ -static void shmcb_get_header(void *shm_mem, SHMCBHeader **header) -{ - *header = (SHMCBHeader *)shm_mem; - return; -} - -/* This is what populates our "interesting" structures. Given a - * pointer to the header, and an index into the appropriate - * division (this must have already been masked using the - * division_mask by the caller!), we can populate the provided - * SHMCBQueue and SHMCBCache structures with values and - * pointers to the underlying shared memory. Upon returning - * (if not FALSE), the caller can meddle with the pointer - * values and they will map into the shared-memory directly, - * as such there's no need to "free" or "set" the Queue or - * Cache values, they were themselves references to the *real* - * data. */ -static BOOL shmcb_get_division( - SHMCBHeader *header, SHMCBQueue *queue, - SHMCBCache *cache, unsigned int idx) -{ - unsigned char *pQueue; - unsigned char *pCache; - - /* bounds check */ - if (idx > (unsigned int) header->division_mask) - return FALSE; - - /* Locate the blocks of memory storing the corresponding data */ - pQueue = ((unsigned char *) header) + header->division_offset + - (idx * header->division_size); - pCache = pQueue + header->queue_size; - - /* Populate the structures with appropriate pointers */ - queue->first_pos = (unsigned int *) pQueue; - - /* Our structures stay packed, no matter what the system's - * data-alignment regime is. */ - queue->pos_count = (unsigned int *) (pQueue + sizeof(unsigned int)); - queue->indexes = (SHMCBIndex *) (pQueue + (2 * sizeof(unsigned int))); - cache->first_pos = (unsigned int *) pCache; - cache->pos_count = (unsigned int *) (pCache + sizeof(unsigned int)); - cache->data = (unsigned char *) (pCache + (2 * sizeof(unsigned int))); - queue->header = cache->header = header; - - return TRUE; -} - -/* This returns a pointer to the piece of shared memory containing - * a specified 'Index'. SHMCBIndex, like SHMCBHeader, is a fixed - * width non-referencing structure of primitive types that can be - * cast onto the corresponding block of shared memory. Thus, by - * returning a cast pointer to that section of shared memory, the - * caller can read and write values to and from the "structure" and - * they are actually reading and writing the underlying shared - * memory. */ -static SHMCBIndex *shmcb_get_index( - const SHMCBQueue *queue, unsigned int idx) -{ - /* bounds check */ - if (idx > queue->header->index_num) - return NULL; - - /* Return a pointer to the index. NB: I am being horribly pendantic - * here so as to avoid any potential data-alignment assumptions being - * placed on the pointer arithmetic by the compiler (sigh). */ - return (SHMCBIndex *)(((unsigned char *) queue->indexes) + - (idx * sizeof(SHMCBIndex))); -} - -/* This functions rolls expired cache (and index) entries off the front - * of the cyclic buffers in a division. The function returns the number - * of expired sessions. */ -static unsigned int shmcb_expire_division( - server_rec *s, SHMCBQueue *queue, SHMCBCache *cache) -{ - SHMCBIndex *idx; - time_t now; - unsigned int loop, index_num, pos_count, new_pos; - SHMCBHeader *header; - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "entering shmcb_expire_division"); - - /* We must calculate num and space ourselves based on expiry times. */ - now = time(NULL); - loop = 0; - new_pos = shmcb_get_safe_uint(queue->first_pos); - - /* Cache useful values */ - header = queue->header; - index_num = header->index_num; - pos_count = shmcb_get_safe_uint(queue->pos_count); - while (loop < pos_count) { - idx = shmcb_get_index(queue, new_pos); - if (shmcb_get_safe_time(&(idx->expires)) > now) - /* it hasn't expired yet, we're done iterating */ - break; - /* This one should be expired too. Shift to the next entry. */ - loop++; - new_pos = shmcb_cyclic_increment(index_num, new_pos, 1); - } - - /* Find the new_offset and make the expiries happen. */ - if (loop > 0) { - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "will be expiring %u sessions", loop); - /* We calculate the new_offset by "peeking" (or in the - * case it's the last entry, "sneaking" ;-). */ - if (loop == pos_count) { - /* We are expiring everything! This is easy to do... */ - shmcb_set_safe_uint(queue->pos_count, 0); - shmcb_set_safe_uint(cache->pos_count, 0); - } - else { - /* The Queue is easy to adjust */ - shmcb_set_safe_uint(queue->pos_count, - shmcb_get_safe_uint(queue->pos_count) - loop); - shmcb_set_safe_uint(queue->first_pos, new_pos); - /* peek to the start of the next session */ - idx = shmcb_get_index(queue, new_pos); - /* We can use shmcb_cyclic_space because we've guaranteed - * we don't fit the ambiguous full/empty case. */ - shmcb_set_safe_uint(cache->pos_count, - shmcb_get_safe_uint(cache->pos_count) - - shmcb_cyclic_space(header->cache_data_size, - shmcb_get_safe_uint(cache->first_pos), - shmcb_get_safe_uint(&(idx->offset)))); - shmcb_set_safe_uint(cache->first_pos, shmcb_get_safe_uint(&(idx->offset))); - } + idx = SHMCB_INDEX(subcache, subcache->idx_pos); ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "we now have %u sessions", - shmcb_get_safe_uint(queue->pos_count)); - } - header->num_expiries += loop; - return loop; -} - -/* Inserts a new encoded session into a queue/cache pair - expiring - * (early or otherwise) any leading sessions as necessary to ensure - * there is room. An error return (FALSE) should only happen in the - * event of surreal values being passed on, or ridiculously small - * cache sizes. NB: For tracing purposes, this function is also given - * the server_rec to allow "ssl_log()". */ -static BOOL shmcb_insert_encoded_session( - server_rec *s, SHMCBQueue * queue, - SHMCBCache * cache, - unsigned char *encoded, - unsigned int encoded_len, - unsigned char *session_id, - time_t expiry_time) -{ - SHMCBHeader *header; - SHMCBIndex *idx = NULL; - unsigned int gap, new_pos, loop, new_offset; - int need; - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "entering shmcb_insert_encoded_session, " - "*queue->pos_count = %u", - shmcb_get_safe_uint(queue->pos_count)); - - /* If there's entries to expire, ditch them first thing. */ - shmcb_expire_division(s, queue, cache); - header = cache->header; - gap = header->cache_data_size - shmcb_get_safe_uint(cache->pos_count); - if (gap < encoded_len) { - new_pos = shmcb_get_safe_uint(queue->first_pos); - loop = 0; - need = (int) encoded_len - (int) gap; - while ((need > 0) && (loop + 1 < shmcb_get_safe_uint(queue->pos_count))) { - new_pos = shmcb_cyclic_increment(header->index_num, new_pos, 1); - loop += 1; - idx = shmcb_get_index(queue, new_pos); - need = (int) encoded_len - (int) gap - - shmcb_cyclic_space(header->cache_data_size, - shmcb_get_safe_uint(cache->first_pos), - shmcb_get_safe_uint(&(idx->offset))); - } - if (loop > 0) { - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "about to scroll %u sessions from %u", - loop, shmcb_get_safe_uint(queue->pos_count)); - /* We are removing "loop" items from the cache. */ - shmcb_set_safe_uint(cache->pos_count, - shmcb_get_safe_uint(cache->pos_count) - - shmcb_cyclic_space(header->cache_data_size, - shmcb_get_safe_uint(cache->first_pos), - shmcb_get_safe_uint(&(idx->offset)))); - shmcb_set_safe_uint(cache->first_pos, shmcb_get_safe_uint(&(idx->offset))); - shmcb_set_safe_uint(queue->pos_count, shmcb_get_safe_uint(queue->pos_count) - loop); - shmcb_set_safe_uint(queue->first_pos, new_pos); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "now only have %u sessions", - shmcb_get_safe_uint(queue->pos_count)); - /* Update the stats!!! */ - header->num_scrolled += loop; - } - } + "about to force-expire, subcache: idx_used=%d, " + "data_used=%d", subcache->idx_used, subcache->data_used); + do { + SHMCBIndex *idx2; + + /* Adjust the indexes by one */ + subcache->idx_pos = SHMCB_CYCLIC_INCREMENT(subcache->idx_pos, 1, + header->index_num); + subcache->idx_used--; + if (!subcache->idx_used) { + /* There's nothing left */ + subcache->data_used = 0; + break; + } + /* Adjust the data */ + idx2 = SHMCB_INDEX(subcache, subcache->idx_pos); + subcache->data_used -= SHMCB_CYCLIC_SPACE(idx->data_pos, idx2->data_pos, + header->subcache_data_size); + subcache->data_pos = idx2->data_pos; + /* Stats */ + header->stat_scrolled++; + /* Loop admin */ + idx = idx2; + loop++; + } while (header->subcache_data_size - subcache->data_used < data_len); - /* probably unecessary checks, but I'll leave them until this code - * is verified. */ - if (shmcb_get_safe_uint(cache->pos_count) + encoded_len > - header->cache_data_size) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shmcb_insert_encoded_session internal error"); - return FALSE; - } - if (shmcb_get_safe_uint(queue->pos_count) == header->index_num) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shmcb_insert_encoded_session internal error"); - return FALSE; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "finished force-expire, subcache: idx_used=%d, " + "data_used=%d", subcache->idx_used, subcache->data_used); } - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "we have %u bytes and %u indexes free - enough", - header->cache_data_size - - shmcb_get_safe_uint(cache->pos_count), header->index_num - - shmcb_get_safe_uint(queue->pos_count)); - /* HERE WE ASSUME THAT THE NEW SESSION SHOULD GO ON THE END! I'M NOT * CHECKING WHETHER IT SHOULD BE GENUINELY "INSERTED" SOMEWHERE. @@ -1129,220 +625,145 @@ static BOOL shmcb_insert_encoded_session( * would make this stuff *MUCH* more efficient. Mind you, it's very * efficient right now because I'm ignoring this problem!!! */ - - /* Increment to the first unused byte */ - new_offset = shmcb_cyclic_increment(header->cache_data_size, - shmcb_get_safe_uint(cache->first_pos), - shmcb_get_safe_uint(cache->pos_count)); - /* Copy the DER-encoded session into place */ - shmcb_cyclic_ntoc_memcpy(header->cache_data_size, cache->data, - new_offset, encoded, encoded_len); - /* Get the new index that this session is stored in. */ - new_pos = shmcb_cyclic_increment(header->index_num, - shmcb_get_safe_uint(queue->first_pos), - shmcb_get_safe_uint(queue->pos_count)); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "storing in index %u, at offset %u", - new_pos, new_offset); - idx = shmcb_get_index(queue, new_pos); - if (idx == NULL) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shmcb_insert_encoded_session internal error"); - return FALSE; - } - shmcb_safe_clear(idx, sizeof(SHMCBIndex)); - shmcb_set_safe_time(&(idx->expires), expiry_time); - shmcb_set_safe_uint(&(idx->offset), new_offset); - - /* idx->removed = (unsigned char)0; */ /* Not needed given the memset above. */ - idx->s_id2 = session_id[1]; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "session_id[0]=%u, idx->s_id2=%u", - session_id[0], session_id[1]); - - /* All that remains is to adjust the cache's and queue's "pos_count"s. */ - shmcb_set_safe_uint(cache->pos_count, - shmcb_get_safe_uint(cache->pos_count) + encoded_len); - shmcb_set_safe_uint(queue->pos_count, - shmcb_get_safe_uint(queue->pos_count) + 1); - - /* And just for good debugging measure ... */ - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "leaving now with %u bytes in the cache and %u indexes", - shmcb_get_safe_uint(cache->pos_count), - shmcb_get_safe_uint(queue->pos_count)); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "leaving shmcb_insert_encoded_session"); + /* Insert the data */ + new_offset = SHMCB_CYCLIC_INCREMENT(subcache->data_pos, subcache->data_used, + header->subcache_data_size); + shmcb_cyclic_ntoc_memcpy(header->subcache_data_size, + SHMCB_DATA(header, subcache), new_offset, + data, data_len); + subcache->data_used += data_len; + /* Insert the index */ + new_idx = SHMCB_CYCLIC_INCREMENT(subcache->idx_pos, subcache->idx_used, + header->index_num); + idx = SHMCB_INDEX(subcache, new_idx); + idx->expires = expiry; + idx->data_pos = new_offset; + idx->data_used = data_len; + idx->s_id2 = id[1]; + idx->removed = 0; + subcache->idx_used++; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "insert happened at idx=%d, data=%d", new_idx, new_offset); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "finished insert, subcache: idx_pos/idx_used=%d/%d, " + "data_pos/data_used=%d/%d", + subcache->idx_pos, subcache->idx_used, + subcache->data_pos, subcache->data_used); return TRUE; } -/* Performs a lookup into a queue/cache pair for a - * session_id. If found, the session is deserialised - * and returned, otherwise NULL. */ -static SSL_SESSION *shmcb_lookup_session_id( - server_rec *s, SHMCBQueue *queue, - SHMCBCache *cache, UCHAR *id, - unsigned int idlen) +static SSL_SESSION *shmcb_subcache_retrieve(server_rec *s, SHMCBHeader *header, + SHMCBSubcache *subcache, UCHAR *id, + unsigned int idlen) { - unsigned char tempasn[SSL_SESSION_MAX_DER]; - SHMCBIndex *idx; - SHMCBHeader *header; - SSL_SESSION *pSession = NULL; - unsigned int curr_pos, loop, count; - MODSSL_D2I_SSL_SESSION_CONST unsigned char *ptr; - time_t now; - - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "entering shmcb_lookup_session_id"); - - /* If there are entries to expire, ditch them first thing. */ - shmcb_expire_division(s, queue, cache); - now = time(NULL); - curr_pos = shmcb_get_safe_uint(queue->first_pos); - count = shmcb_get_safe_uint(queue->pos_count); - header = queue->header; - for (loop = 0; loop < count; loop++) { - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "loop=%u, count=%u, curr_pos=%u", - loop, count, curr_pos); - idx = shmcb_get_index(queue, curr_pos); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "idx->s_id2=%u, id[1]=%u, offset=%u", - idx->s_id2, id[1], shmcb_get_safe_uint(&(idx->offset))); - /* Only look into the session further if; - * (a) the second byte of the session_id matches, - * (b) the "removed" flag isn't set, - * (c) the session hasn't expired yet. - * We do (c) like this so that it saves us having to - * do natural expiries ... naturally expired sessions - * scroll off the front anyway when the cache is full and - * "rotating", the only real issue that remains is the - * removal or disabling of forcibly killed sessions. */ - if ((idx->s_id2 == id[1]) && !idx->removed && - (shmcb_get_safe_time(&(idx->expires)) > now)) { - unsigned int session_id_length; - unsigned char *session_id; + unsigned int pos; + unsigned int loop = 0; + + /* If there are entries to expire, ditch them first. */ + shmcb_subcache_expire(s, header, subcache); + pos = subcache->idx_pos; + + while (loop < subcache->idx_used) { + SHMCBIndex *idx = SHMCB_INDEX(subcache, pos); + + /* Only consider 'idx' if; + * (a) the s_id2 byte matches + * (b) the "removed" flag isn't set. + */ + if ((idx->s_id2 == id[1]) && !idx->removed) { + SSL_SESSION *pSession; + unsigned char *s_id; + unsigned int s_idlen; + unsigned char tempasn[SSL_SESSION_MAX_DER]; + MODSSL_D2I_SSL_SESSION_CONST unsigned char *ptr = tempasn; ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "at index %u, found possible session match", - curr_pos); - shmcb_cyclic_cton_memcpy(header->cache_data_size, - tempasn, cache->data, - shmcb_get_safe_uint(&(idx->offset)), - SSL_SESSION_MAX_DER); - ptr = tempasn; - pSession = d2i_SSL_SESSION(NULL, &ptr, SSL_SESSION_MAX_DER); - session_id_length = SSL_SESSION_get_session_id_length(pSession); - session_id = SSL_SESSION_get_session_id(pSession); - - if (pSession == NULL) { + "possible match at idx=%d, data=%d", pos, idx->data_pos); + /* Copy the data */ + shmcb_cyclic_cton_memcpy(header->subcache_data_size, + tempasn, SHMCB_DATA(header, subcache), + idx->data_pos, idx->data_used); + /* Decode the session */ + pSession = d2i_SSL_SESSION(NULL, &ptr, idx->data_used); + if (!pSession) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "scach2_lookup_session_id internal error"); + "shmcb_subcache_retrieve internal error"); return NULL; } - if ((session_id_length == idlen) && - (memcmp(session_id, id, idlen) == 0)) { + s_id = SSL_SESSION_get_session_id(pSession); + s_idlen = SSL_SESSION_get_session_id_length(pSession); + if (s_idlen == idlen && memcmp(s_id, id, idlen) == 0) { + /* Found the matching session */ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "a match!"); + "shmcb_subcache_retrieve returning matching session"); return pSession; } - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "not a match"); SSL_SESSION_free(pSession); - pSession = NULL; } - curr_pos = shmcb_cyclic_increment(header->index_num, curr_pos, 1); + /* Increment */ + loop++; + pos = SHMCB_CYCLIC_INCREMENT(pos, 1, header->index_num); } + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "no matching sessions were found"); + "shmcb_subcache_retrieve found no match"); return NULL; } -static BOOL shmcb_remove_session_id( - server_rec *s, SHMCBQueue *queue, - SHMCBCache *cache, UCHAR *id, unsigned int idlen) +static BOOL shmcb_subcache_remove(server_rec *s, SHMCBHeader *header, + SHMCBSubcache *subcache, + UCHAR *id, unsigned int idlen) { - unsigned char tempasn[SSL_SESSION_MAX_DER]; - SSL_SESSION *pSession = NULL; - SHMCBIndex *idx; - SHMCBHeader *header; - unsigned int curr_pos, loop, count; - MODSSL_D2I_SSL_SESSION_CONST unsigned char *ptr; + unsigned int pos; + unsigned int loop = 0; BOOL to_return = FALSE; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "entering shmcb_remove_session_id"); - - /* If there's entries to expire, ditch them first thing. */ - /* shmcb_expire_division(s, queue, cache); */ - - /* Regarding the above ... hmmm ... I know my expiry code is slightly - * "faster" than all this remove stuff ... but if the higher level - * code calls a "remove" operation (and this *only* seems to happen - * when it has spotted an expired session before we had a chance to) - * then it should get credit for a remove (stats-wise). Also, in the - * off-chance that the server *requests* a renegotiate and wants to - * wipe the session clean we should give that priority over our own - * routine expiry handling. So I've moved the expiry check to *after* - * this general remove stuff. */ - curr_pos = shmcb_get_safe_uint(queue->first_pos); - count = shmcb_get_safe_uint(queue->pos_count); - header = cache->header; - for (loop = 0; loop < count; loop++) { - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "loop=%u, count=%u, curr_pos=%u", - loop, count, curr_pos); - idx = shmcb_get_index(queue, curr_pos); - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "idx->s_id2=%u, id[1]=%u", idx->s_id2, - id[1]); - /* Only look into the session further if the second byte of the - * session_id matches. */ - if (idx->s_id2 == id[1]) { - unsigned int session_id_length; - unsigned char *session_id; + /* Unlike the others, we don't do an expire-run first. This is to keep + * consistent statistics where a "remove" operation may actually be the + * higher layer spotting an expiry issue prior to us. Our caller is + * handling stats, so a failure return would be inconsistent if the + * intended session was in fact removed by an expiry run. */ + + pos = subcache->idx_pos; + while (!to_return && (loop < subcache->idx_used)) { + SHMCBIndex *idx = SHMCB_INDEX(subcache, pos); + /* Only consider 'idx' if the s_id2 byte matches and it's not already + * removed - easiest way to avoid costly ASN decodings. */ + if ((idx->s_id2 == id[1]) && !idx->removed) { + SSL_SESSION *pSession; + unsigned char *s_id; + unsigned int s_idlen; + unsigned char tempasn[SSL_SESSION_MAX_DER]; + MODSSL_D2I_SSL_SESSION_CONST unsigned char *ptr = tempasn; ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "at index %u, found possible " - "session match", curr_pos); - shmcb_cyclic_cton_memcpy(header->cache_data_size, - tempasn, cache->data, - shmcb_get_safe_uint(&(idx->offset)), - SSL_SESSION_MAX_DER); - ptr = tempasn; - pSession = d2i_SSL_SESSION(NULL, &ptr, SSL_SESSION_MAX_DER); - if (pSession == NULL) { + "possible match at idx=%d, data=%d", pos, idx->data_pos); + /* Copy the data */ + shmcb_cyclic_cton_memcpy(header->subcache_data_size, + tempasn, SHMCB_DATA(header, subcache), + idx->data_pos, idx->data_used); + /* Decode the session */ + pSession = d2i_SSL_SESSION(NULL, &ptr, idx->data_used); + if (!pSession) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "shmcb_remove_session_id, internal error"); - goto end; + "shmcb_subcache_remove internal error"); + return FALSE; } - session_id_length = SSL_SESSION_get_session_id_length(pSession); - session_id = SSL_SESSION_get_session_id(pSession); - - if ((session_id_length == idlen) - && (memcmp(id, session_id, idlen) == 0)) { - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "a match!"); - /* Scrub out this session "quietly" */ - idx->removed = (unsigned char) 1; - SSL_SESSION_free(pSession); + s_id = SSL_SESSION_get_session_id(pSession); + s_idlen = SSL_SESSION_get_session_id_length(pSession); + if (s_idlen == idlen && memcmp(s_id, id, idlen) == 0) { + /* Found the matching session, remove it quietly. */ + idx->removed = 1; to_return = TRUE; - goto end; + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "shmcb_subcache_remove removing matching session"); } - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "not a match"); SSL_SESSION_free(pSession); - pSession = NULL; } - curr_pos = shmcb_cyclic_increment(header->index_num, curr_pos, 1); + /* Increment */ + loop++; + pos = SHMCB_CYCLIC_INCREMENT(pos, 1, header->index_num); } - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "no matching sessions were found"); - /* If there's entries to expire, ditch them now. */ - shmcb_expire_division(s, queue, cache); -end: - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, - "leaving shmcb_remove_session_id"); return to_return; } diff --git a/modules/ssl/ssl_util.c b/modules/ssl/ssl_util.c index 88410849..e4387e61 100644 --- a/modules/ssl/ssl_util.c +++ b/modules/ssl/ssl_util.c @@ -305,6 +305,114 @@ static void ssl_util_thr_lock(int mode, int type, } } +/* Dynamic lock structure */ +struct CRYPTO_dynlock_value { + apr_pool_t *pool; + const char* file; + int line; + apr_thread_mutex_t *mutex; +}; + +/* Global reference to the pool passed into ssl_util_thread_setup() */ +apr_pool_t *dynlockpool = NULL; + +/* + * Dynamic lock creation callback + */ +static struct CRYPTO_dynlock_value *ssl_dyn_create_function(const char *file, + int line) +{ + struct CRYPTO_dynlock_value *value; + apr_pool_t *p; + apr_status_t rv; + + /* + * We need a pool to allocate our mutex. Since we can't clear + * allocated memory from a pool, create a subpool that we can blow + * away in the destruction callback. + */ + rv = apr_pool_create(&p, dynlockpool); + if (rv != APR_SUCCESS) { + ap_log_perror(file, line, APLOG_ERR, rv, dynlockpool, + "Failed to create subpool for dynamic lock"); + return NULL; + } + + ap_log_perror(file, line, APLOG_DEBUG, 0, p, + "Creating dynamic lock"); + + value = (struct CRYPTO_dynlock_value *)apr_palloc(p, + sizeof(struct CRYPTO_dynlock_value)); + if (!value) { + ap_log_perror(file, line, APLOG_ERR, 0, p, + "Failed to allocate dynamic lock structure"); + return NULL; + } + + value->pool = p; + /* Keep our own copy of the place from which we were created, + using our own pool. */ + value->file = apr_pstrdup(p, file); + value->line = line; + rv = apr_thread_mutex_create(&(value->mutex), APR_THREAD_MUTEX_DEFAULT, + p); + if (rv != APR_SUCCESS) { + ap_log_perror(file, line, APLOG_ERR, rv, p, + "Failed to create thread mutex for dynamic lock"); + apr_pool_destroy(p); + return NULL; + } + return value; +} + +/* + * Dynamic locking and unlocking function + */ + +static void ssl_dyn_lock_function(int mode, struct CRYPTO_dynlock_value *l, + const char *file, int line) +{ + apr_status_t rv; + + if (mode & CRYPTO_LOCK) { + ap_log_perror(file, line, APLOG_DEBUG, 0, l->pool, + "Acquiring mutex %s:%d", l->file, l->line); + rv = apr_thread_mutex_lock(l->mutex); + ap_log_perror(file, line, APLOG_DEBUG, rv, l->pool, + "Mutex %s:%d acquired!", l->file, l->line); + } + else { + ap_log_perror(file, line, APLOG_DEBUG, 0, l->pool, + "Releasing mutex %s:%d", l->file, l->line); + rv = apr_thread_mutex_unlock(l->mutex); + ap_log_perror(file, line, APLOG_DEBUG, rv, l->pool, + "Mutex %s:%d released!", l->file, l->line); + } +} + +/* + * Dynamic lock destruction callback + */ +static void ssl_dyn_destroy_function(struct CRYPTO_dynlock_value *l, + const char *file, int line) +{ + apr_status_t rv; + + ap_log_perror(file, line, APLOG_DEBUG, 0, l->pool, + "Destroying dynamic lock %s:%d", l->file, l->line); + rv = apr_thread_mutex_destroy(l->mutex); + if (rv != APR_SUCCESS) { + ap_log_perror(file, line, APLOG_ERR, rv, l->pool, + "Failed to destroy mutex for dynamic lock %s:%d", + l->file, l->line); + } + + /* Trust that whomever owned the CRYPTO_dynlock_value we were + * passed has no future use for it... + */ + apr_pool_destroy(l->pool); +} + static unsigned long ssl_util_thr_id(void) { /* OpenSSL needs this to return an unsigned long. On OS/390, the pthread @@ -327,6 +435,12 @@ static apr_status_t ssl_util_thread_cleanup(void *data) { CRYPTO_set_locking_callback(NULL); CRYPTO_set_id_callback(NULL); + + CRYPTO_set_dynlock_create_callback(NULL); + CRYPTO_set_dynlock_lock_callback(NULL); + CRYPTO_set_dynlock_destroy_callback(NULL); + + dynlockpool = NULL; /* Let the registered mutex cleanups do their own thing */ @@ -347,6 +461,14 @@ void ssl_util_thread_setup(apr_pool_t *p) CRYPTO_set_id_callback(ssl_util_thr_id); CRYPTO_set_locking_callback(ssl_util_thr_lock); + + /* Set up dynamic locking scaffolding for OpenSSL to use at its + * convenience. + */ + dynlockpool = p; + CRYPTO_set_dynlock_create_callback(ssl_dyn_create_function); + CRYPTO_set_dynlock_lock_callback(ssl_dyn_lock_function); + CRYPTO_set_dynlock_destroy_callback(ssl_dyn_destroy_function); apr_pool_cleanup_register(p, NULL, ssl_util_thread_cleanup, apr_pool_cleanup_null); diff --git a/os/unix/unixd.c b/os/unix/unixd.c index ae140093..7a306be6 100644 --- a/os/unix/unixd.c +++ b/os/unix/unixd.c @@ -117,6 +117,30 @@ AP_DECLARE(int) unixd_setup_child(void) if (set_group_privs()) { return -1; } + + if (NULL != unixd_config.chroot_dir) { + if (geteuid()) { + ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL, + "Cannot chroot when not started as root"); + return -1; + } + if (chdir(unixd_config.chroot_dir) != 0) { + ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL, + "Can't chdir to %s", unixd_config.chroot_dir); + return -1; + } + if (chroot(unixd_config.chroot_dir) != 0) { + ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL, + "Can't chroot to %s", unixd_config.chroot_dir); + return -1; + } + if (chdir("/") != 0) { + ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL, + "Can't chdir to new root"); + return -1; + } + } + #ifdef MPE /* Only try to switch if we're running as MANAGER.SYS */ if (geteuid() == 1 && unixd_config.user_id > 1) { @@ -198,6 +222,20 @@ AP_DECLARE(const char *) unixd_set_group(cmd_parms *cmd, void *dummy, return NULL; } +AP_DECLARE(const char *) unixd_set_chroot_dir(cmd_parms *cmd, void *dummy, + const char *arg) +{ + const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); + if (err != NULL) { + return err; + } + if (!ap_is_directory(cmd->pool, arg)) { + return "ChrootDir must be a valid directory"; + } + + unixd_config.chroot_dir = arg; + return NULL; +} AP_DECLARE(void) unixd_pre_config(apr_pool_t *ptemp) { @@ -206,6 +244,8 @@ AP_DECLARE(void) unixd_pre_config(apr_pool_t *ptemp) unixd_config.user_name = DEFAULT_USER; unixd_config.user_id = ap_uname2id(DEFAULT_USER); unixd_config.group_id = ap_gname2id(DEFAULT_GROUP); + + unixd_config.chroot_dir = NULL; /* none */ /* Check for suexec */ unixd_config.suexec_enabled = 0; diff --git a/os/unix/unixd.h b/os/unix/unixd.h index 8f781dcc..833cc8f0 100644 --- a/os/unix/unixd.h +++ b/os/unix/unixd.h @@ -72,6 +72,7 @@ typedef struct { uid_t user_id; gid_t group_id; int suexec_enabled; + const char *chroot_dir; } unixd_config_rec; AP_DECLARE_DATA extern unixd_config_rec unixd_config; @@ -81,6 +82,9 @@ AP_DECLARE(const char *) unixd_set_user(cmd_parms *cmd, void *dummy, const char *arg); AP_DECLARE(const char *) unixd_set_group(cmd_parms *cmd, void *dummy, const char *arg); +AP_DECLARE(const char *) unixd_set_chroot_dir(cmd_parms *cmd, void *dummy, + const char *arg); + #if defined(RLIMIT_CPU) || defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_NPROC) || defined(RLIMIT_AS) AP_DECLARE(void) unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit, const char *arg, const char * arg2, int type); @@ -111,7 +115,9 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr, apr_po AP_INIT_TAKE1("User", unixd_set_user, NULL, RSRC_CONF, \ "Effective user id for this server"), \ AP_INIT_TAKE1("Group", unixd_set_group, NULL, RSRC_CONF, \ - "Effective group id for this server") + "Effective group id for this server"), \ +AP_INIT_TAKE1("ChrootDir", unixd_set_chroot_dir, NULL, RSRC_CONF, \ + "The directory to chroot(2) into") #endif /** @} */ diff --git a/server/config.c b/server/config.c index d10f4afe..9747c284 100644 --- a/server/config.c +++ b/server/config.c @@ -378,6 +378,7 @@ AP_CORE_DECLARE(int) ap_invoke_handler(request_rec *r) "handler \"%s\" not found for: %s", r->handler, r->filename); } if ((result != OK) && (result != DONE) && (result != DECLINED) + && (result != AP_FILTER_ERROR) && !ap_is_HTTP_VALID_RESPONSE(result)) { /* If a module is deliberately returning something else * (request_rec in non-HTTP or proprietary extension?) diff --git a/server/main.c b/server/main.c index 22c0b683..24a54d3f 100644 --- a/server/main.c +++ b/server/main.c @@ -254,9 +254,19 @@ static void show_compile_settings(void) #endif } +#define TASK_SWITCH_SLEEP 10000 + static void destroy_and_exit_process(process_rec *process, int process_exit_value) { + /* + * Sleep for TASK_SWITCH_SLEEP micro seconds to cause a task switch on + * OS layer and thus give possibly started piped loggers a chance to + * process their input. Otherwise it is possible that they get killed + * by us before they can do so. In this case maybe valueable log messages + * might get lost. + */ + apr_sleep(TASK_SWITCH_SLEEP); apr_pool_destroy(process->pool); /* and destroy all descendent pools */ apr_terminate(); exit(process_exit_value); diff --git a/server/mpm/experimental/event/event.c b/server/mpm/experimental/event/event.c index 261468ea..bbee899e 100644 --- a/server/mpm/experimental/event/event.c +++ b/server/mpm/experimental/event/event.c @@ -650,7 +650,7 @@ static int process_socket(apr_pool_t * p, apr_socket_t * sock, ap_lingering_close(c); apr_pool_clear(p); ap_push_pool(worker_queue_info, p); - return 1; + return 0; } else if (cs->state == CONN_STATE_CHECK_REQUEST_LINE_READABLE) { apr_status_t rc; @@ -680,7 +680,7 @@ static int process_socket(apr_pool_t * p, apr_socket_t * sock, AP_DEBUG_ASSERT(rc == APR_SUCCESS); } } - return 0; + return 1; } /* requests_this_child has gone to zero or below. See if the admin coded diff --git a/server/mpm/worker/fdqueue.c b/server/mpm/worker/fdqueue.c index d46dd536..dfbe8c47 100644 --- a/server/mpm/worker/fdqueue.c +++ b/server/mpm/worker/fdqueue.c @@ -155,7 +155,15 @@ apr_status_t ap_queue_info_wait_for_idler(fd_queue_info_t *queue_info, * region, one of two things may have happened: * - If the idle worker count is still zero, the * workers are all still busy, so it's safe to - * block on a condition variable. + * block on a condition variable, BUT + * we need to check for idle worker count again + * when we are signaled since it can happen that + * we are signaled by a worker thread that went idle + * but received a context switch before it could + * tell us. If it does signal us later once it is on + * CPU again there might be no idle worker left. + * See + * https://issues.apache.org/bugzilla/show_bug.cgi?id=45605#c4 * - If the idle worker count is nonzero, then a * worker has become idle since the first check * of queue_info->idlers above. It's possible @@ -166,7 +174,7 @@ apr_status_t ap_queue_info_wait_for_idler(fd_queue_info_t *queue_info, * now nonzero, it's safe for this function to * return immediately. */ - if (queue_info->idlers == 0) { + while (queue_info->idlers == 0) { rv = apr_thread_cond_wait(queue_info->wait_for_idler, queue_info->idlers_mutex); if (rv != APR_SUCCESS) { diff --git a/server/util.c b/server/util.c index e1be3d18..3c927c23 100644 --- a/server/util.c +++ b/server/util.c @@ -2146,3 +2146,71 @@ AP_DECLARE(char *) ap_append_pid(apr_pool_t *p, const char *string, delim, getpid()); } + +/** + * Parse a given timeout parameter string into an apr_interval_time_t value. + * The unit of the time interval is given as postfix string to the numeric + * string. Currently the following units are understood: + * + * ms : milliseconds + * s : seconds + * mi[n] : minutes + * h : hours + * + * If no unit is contained in the given timeout parameter the default_time_unit + * will be used instead. + * @param timeout_parameter The string containing the timeout parameter. + * @param timeout The timeout value to be returned. + * @param default_time_unit The default time unit to use if none is specified + * in timeout_parameter. + * @return Status value indicating whether the parsing was successful or not. + */ +AP_DECLARE(apr_status_t) ap_timeout_parameter_parse( + const char *timeout_parameter, + apr_interval_time_t *timeout, + const char *default_time_unit) +{ + char *endp; + const char *time_str; + apr_int64_t tout; + + tout = apr_strtoi64(timeout_parameter, &endp, 10); + if (errno) { + return errno; + } + if (!endp || !*endp) { + time_str = default_time_unit; + } + else { + time_str = endp; + } + + switch (*time_str) { + /* Time is in seconds */ + case 's': + *timeout = (apr_interval_time_t) apr_time_from_sec(tout); + break; + case 'h': + /* Time is in hours */ + *timeout = (apr_interval_time_t) apr_time_from_sec(tout * 3600); + break; + case 'm': + switch (*(++time_str)) { + /* Time is in miliseconds */ + case 's': + *timeout = (apr_interval_time_t) tout * 1000; + break; + /* Time is in minutes */ + case 'i': + *timeout = (apr_interval_time_t) apr_time_from_sec(tout * 60); + break; + default: + return APR_EGENERAL; + } + break; + default: + return APR_EGENERAL; + } + return APR_SUCCESS; +} + diff --git a/srclib/apr-util/CHANGES b/srclib/apr-util/CHANGES index fb5c8b5a..271f1105 100644 --- a/srclib/apr-util/CHANGES +++ b/srclib/apr-util/CHANGES @@ -1,4 +1,49 @@ -*- coding: utf-8 -*- +Changes with APR-util 1.3.4 + + *) Fix a memory leak introduced in r683756 and a free call to a non malloced + pointer in the case that the platform has no threads. + [Jeff Trawick, Ruediger Pluem] + +Changes with APR-util 1.3.3 + + *) Add Berkeley DB 4.7 support. + [Arfrever Frehtes Taifersar Arahesis <arfrever.fta gmail.com>] + + *) PostgreSQL rows (internally) start from zero, not one. Account for it in + row fetching function. [Bojan Smojver] + + *) Detection of PostgreSQL may fail if LIBS contains all libs returned by + pg_config. Use it only as the last resort. [Bojan Smojver] + + *) When searching for DSOs, look in apr-util-APU_MAJOR_VERSION subdirectory + of each component of APR_DSOPATH. PR 45327 + [Joe Orton, William Rowe, Bojan Smojver] + + *) Give MySQL DBD driver reconnect option. PR 45407 + [Bojan Smojver] + +Changes with APR-util 1.3.2 + + *) Fix parameter parsing error in ODBC DBD driver. [Tom Donovan] + + *) Older OpenLDAP implementations may have ldap_set_rebind_proc() with two + args. Provide detection code and alternative implementation. + [Ruediger Pluem] + + *) Use pool memory when setting DBD driver name into the hash. + [Bojan Smojver] + +Changes with APR-util 1.3.1 + + *) Add ODBC DBD Driver. [Tom Donovan] + + *) Fix build of the FreeTDS and MySQL drivers. [Bojan Smojver] + + *) Fix build failure for no modules (--disable-dso). [Jean-Frederic Clere] + + *) Fix win32 build failure for no modules (empty DBD_LIST). [William Rowe] + Changes with APR-util 1.3.0 *) apr_reslist: destroy all resources in apr_cleanup (don't give up on error). diff --git a/srclib/apr-util/Makefile.in b/srclib/apr-util/Makefile.in index 0241e573..9f78a92b 100644 --- a/srclib/apr-util/Makefile.in +++ b/srclib/apr-util/Makefile.in @@ -35,6 +35,8 @@ LDADD_dbd_oracle = @LDADD_dbd_oracle@ LDADD_dbd_sqlite2 = @LDADD_dbd_sqlite2@ LDADD_dbd_sqlite3 = @LDADD_dbd_sqlite3@ LDADD_dbd_mysql = @LDADD_dbd_mysql@ +LDADD_dbd_freetds = @LDADD_dbd_freetds@ +LDADD_dbd_odbc = @LDADD_dbd_odbc@ LDADD_ldap = @LDADD_ldap@ TARGETS = $(TARGET_LIB) aprutil.exp apu-config.out $(APU_MODULES) diff --git a/srclib/apr-util/Makefile.win b/srclib/apr-util/Makefile.win index 0a20714d..f7b9ee2c 100644 --- a/srclib/apr-util/Makefile.win +++ b/srclib/apr-util/Makefile.win @@ -34,6 +34,7 @@ # # Provide a DBD_LIST argument after configuring LIB and INCLUDE with # the SDK paths of the corresponding client support libraries. +# ODBC is always built on Windows, so it does not get included in DBD_LIST # Note that at this time, none of these are supported on win32, per say. # # DBD_LIST="sqlite3 pgsql oracle mysql freetds" @@ -187,18 +188,18 @@ buildall: cd ..\..\.. $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - $(ARCH)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - $(ARCH)" RECURSE=0 $(CTARGET) - cd ldap + cd ldap $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - $(ARCH)" RECURSE=0 $(CTARGET) - cd .. - cd dbd - for %d in ($(DBD_LIST)) do \ + cd .. + cd dbd + for %d in (odbc $(DBD_LIST)) do \ $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - $(ARCH)" RECURSE=0 $(CTARGET) - cd .. + cd .. !ELSEIF $(USESLN) == 1 clean: - -for %d in ($(DBD_LIST)) do \ + -for %d in (odbc $(DBD_LIST)) do \ devenv aprutil.sln /useenv /clean "$(SLNARCH)" /project apr_dbd_%d -devenv aprutil.sln /useenv /clean "$(SLNARCH)" /project apr_ldap -devenv aprutil.sln /useenv /clean "$(SLNARCH)" /project libaprutil @@ -220,14 +221,14 @@ buildall: devenv aprutil.sln /useenv /build "$(SLNARCH)" /project aprutil devenv aprutil.sln /useenv /build "$(SLNARCH)" /project libaprutil devenv aprutil.sln /useenv /build "$(SLNARCH)" /project apr_ldap - for %d in ($(DBD_LIST)) do \ + for %d in (odbc $(DBD_LIST)) do \ devenv aprutil.sln /useenv /build "$(SLNARCH)" /project apr_dbd_%d !ELSE # $(USEDSP) == 1 clean: - -for %d in ($(DBD_LIST)) do \ + -for %d in (odbc $(DBD_LIST)) do \ msdev aprutil.dsw /USEENV /MAKE "apr_dbd_%d - $(ARCH)" /CLEAN -msdev aprutil.dsw /USEENV /MAKE "apr_ldap - $(ARCH)" /CLEAN -msdev aprutil.dsw /USEENV /MAKE "libaprutil - $(ARCH)" /CLEAN @@ -249,7 +250,7 @@ buildall: @msdev aprutil.dsw /USEENV /MAKE "libapr_app - $(ARCH)" @msdev aprutil.dsw /USEENV /MAKE "libaprutil - $(ARCH)" @msdev aprutil.dsw /USEENV /MAKE "apr_ldap - $(ARCH)" - @for %d in ($(DBD_LIST)) do \ + @for %d in (odbc $(DBD_LIST)) do \ msdev aprutil.dsw /USEENV /MAKE "apr_dbd_%d - $(ARCH)" !ENDIF @@ -307,7 +308,7 @@ install: copy $(APU_PATH)\$(ARCHPATH)\libaprutil-1.pdb "$(PREFIX)\bin\" <.y copy $(APU_PATH)\ldap\$(ARCHPATH)\apr_ldap-1.dll "$(PREFIX)\bin\" <.y copy $(APU_PATH)\ldap\$(ARCHPATH)\apr_ldap-1.pdb "$(PREFIX)\bin\" <.y - for %d in ($(DBD_LIST)) do ( \ + for %d in (odbc $(DBD_LIST)) do ( \ copy $(APU_PATH)\dbd\$(ARCHPATH)\apr_dbd_%d-1.dll "$(PREFIX)\bin\" <.y && \ copy $(APU_PATH)\dbd\$(ARCHPATH)\apr_dbd_%d-1.pdb "$(PREFIX)\bin\" <.y \ ) diff --git a/srclib/apr-util/aprutil.dsp b/srclib/apr-util/aprutil.dsp index 37e995be..84c79f76 100644 --- a/srclib/apr-util/aprutil.dsp +++ b/srclib/apr-util/aprutil.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Intermediate_Dir "LibR" # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /c +# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "HAVE_SQL_H" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe @@ -67,7 +67,7 @@ LIB32=link.exe -lib # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /c +# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "HAVE_SQL_H" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe @@ -90,7 +90,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "x64\LibR" # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c -# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /c +# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "HAVE_SQL_H" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe @@ -114,7 +114,7 @@ LIB32=link.exe -lib # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /EHsc /c -# ADD CPP /nologo /MDd /W3 /Zi /Od /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /EHsc /c +# ADD CPP /nologo /MDd /W3 /Zi /Od /I "./include" /I "../apr/include" /I "./include/private" /I "../apr-iconv/include" /I "./dbm/sdbm" /I "./xml/expat/lib" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "API_DECLARE_STATIC" /D "APU_USE_SDBM" /D "HAVE_SQL_H" /D "XML_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\aprutil-1" /FD /EHsc /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe @@ -231,6 +231,10 @@ SOURCE=.\dbd\apr_dbd_mysql.c # End Source File # Begin Source File +SOURCE=.\dbd\apr_dbd_odbc.c +# End Source File +# Begin Source File + SOURCE=.\dbd\apr_dbd_oracle.c # End Source File # Begin Source File diff --git a/srclib/apr-util/aprutil.dsw b/srclib/apr-util/aprutil.dsw index b225b8b9..daf82e1e 100644 --- a/srclib/apr-util/aprutil.dsw +++ b/srclib/apr-util/aprutil.dsw @@ -66,6 +66,24 @@ Package=<4> ############################################################################### +Project: "apr_dbd_odbc"=".\dbd\apr_dbd_odbc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + Project: "apr_dbd_oracle"=".\dbd\apr_dbd_oracle.dsp" - Package Owner=<4> Package=<5> diff --git a/srclib/apr-util/build-outputs.mk b/srclib/apr-util/build-outputs.mk index 296a8254..47d3d3ad 100644 --- a/srclib/apr-util/build-outputs.mk +++ b/srclib/apr-util/build-outputs.mk @@ -1,43 +1,43 @@ # 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_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_flush.lo: buckets/apr_buckets_flush.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_pipe.lo: buckets/apr_buckets_pipe.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_simple.lo: buckets/apr_buckets_simple.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_refcount.lo: buckets/apr_buckets_refcount.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_file.lo: buckets/apr_buckets_file.c .make.dirs include/apr_buckets.h +buckets/apr_buckets.lo: buckets/apr_buckets.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_heap.lo: buckets/apr_buckets_heap.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_md4.lo: crypto/apr_md4.c .make.dirs include/apr_md4.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/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/uuid.lo: crypto/uuid.c .make.dirs include/apr_uuid.h -dbm/apr_dbm.lo: dbm/apr_dbm.c .make.dirs include/apr_dbm.h include/private/apr_dbm_private.h -dbm/apr_dbm_berkeleydb.lo: dbm/apr_dbm_berkeleydb.c .make.dirs include/apr_dbm.h include/private/apr_dbm_private.h -dbm/apr_dbm_gdbm.lo: dbm/apr_dbm_gdbm.c .make.dirs include/apr_dbm.h include/private/apr_dbm_private.h dbm/apr_dbm_ndbm.lo: dbm/apr_dbm_ndbm.c .make.dirs include/apr_dbm.h include/private/apr_dbm_private.h +dbm/apr_dbm_berkeleydb.lo: dbm/apr_dbm_berkeleydb.c .make.dirs include/apr_dbm.h include/private/apr_dbm_private.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/sdbm/sdbm.lo: dbm/sdbm/sdbm.c .make.dirs include/apr_sdbm.h -dbm/sdbm/sdbm_hash.lo: dbm/sdbm/sdbm_hash.c .make.dirs include/apr_sdbm.h +dbm/apr_dbm.lo: dbm/apr_dbm.c .make.dirs include/apr_dbm.h include/private/apr_dbm_private.h +dbm/apr_dbm_gdbm.lo: dbm/apr_dbm_gdbm.c .make.dirs 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 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.lo: dbm/sdbm/sdbm.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 ldap/apr_ldap_url.lo: ldap/apr_ldap_url.c .make.dirs -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/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 -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/private/apu_internal.h include/apu_version.h +misc/apr_date.lo: misc/apr_date.c .make.dirs include/apr_date.h misc/apu_version.lo: misc/apu_version.c .make.dirs include/apu_version.h +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 +misc/apr_queue.lo: misc/apr_queue.c .make.dirs include/apr_queue.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 @@ -45,7 +45,7 @@ strmatch/apr_strmatch.lo: strmatch/apr_strmatch.c .make.dirs include/apr_strmatc 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 -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 dbm/apr_dbm.lo dbm/apr_dbm_berkeleydb.lo dbm/apr_dbm_gdbm.lo dbm/apr_dbm_ndbm.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 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 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_mmap.lo buckets/apr_buckets_flush.lo buckets/apr_buckets_alloc.lo buckets/apr_buckets_pipe.lo buckets/apr_buckets_simple.lo buckets/apr_buckets_eos.lo buckets/apr_buckets_refcount.lo buckets/apr_buckets_pool.lo buckets/apr_buckets_file.lo buckets/apr_buckets.lo buckets/apr_buckets_socket.lo buckets/apr_buckets_heap.lo crypto/getuuid.lo crypto/apr_md4.lo crypto/apr_sha1.lo crypto/apr_md5.lo crypto/uuid.lo dbm/apr_dbm_ndbm.lo dbm/apr_dbm_berkeleydb.lo dbm/apr_dbm_sdbm.lo dbm/apr_dbm.lo dbm/apr_dbm_gdbm.lo dbm/sdbm/sdbm_lock.lo dbm/sdbm/sdbm_pair.lo dbm/sdbm/sdbm_hash.lo dbm/sdbm/sdbm.lo encoding/apr_base64.lo hooks/apr_hooks.lo ldap/apr_ldap_stub.lo ldap/apr_ldap_url.lo misc/apr_reslist.lo misc/apr_rmm.lo misc/apr_date.lo misc/apu_version.lo misc/apu_dso.lo misc/apr_thread_pool.lo misc/apr_queue.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_unix = $(OBJECTS_all) @@ -59,7 +59,7 @@ OBJECTS_os390 = $(OBJECTS_all) OBJECTS_win32 = $(OBJECTS_all) -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_dbm_private.h $(top_srcdir)/include/private/apu_internal.h +HEADERS = $(top_srcdir)/include/apr_uuid.h $(top_srcdir)/include/apr_uri.h $(top_srcdir)/include/apr_md4.h $(top_srcdir)/include/apr_rmm.h $(top_srcdir)/include/apr_dbm.h $(top_srcdir)/include/apr_xml.h $(top_srcdir)/include/apr_thread_pool.h $(top_srcdir)/include/apr_ldap_rebind.h $(top_srcdir)/include/apr_sha1.h $(top_srcdir)/include/apr_anylock.h $(top_srcdir)/include/apr_dbd.h $(top_srcdir)/include/apr_ldap_url.h $(top_srcdir)/include/apr_hooks.h $(top_srcdir)/include/apr_sdbm.h $(top_srcdir)/include/apr_strmatch.h $(top_srcdir)/include/apr_ldap_option.h $(top_srcdir)/include/apr_ldap_init.h $(top_srcdir)/include/apu_version.h $(top_srcdir)/include/apr_memcache.h $(top_srcdir)/include/apr_base64.h $(top_srcdir)/include/apr_reslist.h $(top_srcdir)/include/apr_md5.h $(top_srcdir)/include/apr_optional.h $(top_srcdir)/include/apr_xlate.h $(top_srcdir)/include/apr_queue.h $(top_srcdir)/include/apr_optional_hooks.h $(top_srcdir)/include/apr_buckets.h $(top_srcdir)/include/apr_date.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 SOURCE_DIRS = xml dbd dbm encoding hooks buckets misc crypto uri strmatch memcache dbm/sdbm ldap xlate $(EXTRA_SOURCE_DIRS) @@ -107,6 +107,12 @@ 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 +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 + $(LINK_MODULE) -o $@ $(OBJECTS_dbd_odbc) $(LDADD_dbd_odbc) + BUILD_DIRS = buckets crypto dbd dbm dbm/sdbm encoding hooks ldap memcache misc strmatch uri xlate xml .make.dirs: $(srcdir)/build-outputs.mk diff --git a/srclib/apr-util/build.conf b/srclib/apr-util/build.conf index abc8449a..27a12ec7 100644 --- a/srclib/apr-util/build.conf +++ b/srclib/apr-util/build.conf @@ -28,7 +28,7 @@ platform_dirs = # the public headers headers = include/*.h include/private/*.h -modules = ldap dbd_pgsql dbd_sqlite2 dbd_sqlite3 dbd_oracle dbd_mysql dbd_freetds +modules = ldap dbd_pgsql dbd_sqlite2 dbd_sqlite3 dbd_oracle dbd_mysql dbd_freetds dbd_odbc # gen_uri_delim.c @@ -59,6 +59,10 @@ target = dbd/apr_dbd_mysql.la paths = dbd/apr_dbd_freetds.c target = dbd/apr_dbd_freetds.la +[dbd_odbc] +paths = dbd/apr_dbd_odbc.c +target = dbd/apr_dbd_odbc.la + [ldap] paths = ldap/apr_ldap_init.c \ ldap/apr_ldap_option.c \ diff --git a/srclib/apr-util/build/apr_common.m4 b/srclib/apr-util/build/apr_common.m4 index 2afb4666..4b3f6586 100644 --- a/srclib/apr-util/build/apr_common.m4 +++ b/srclib/apr-util/build/apr_common.m4 @@ -158,9 +158,12 @@ changequote([, ])dnl done ]) - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it + dnl autoconf doesn't add --silent to ac_configure_args; explicitly pass it test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + dnl AC_CONFIG_SUBDIRS silences option warnings, emulate this for 2.62 + apr_configure_args="--disable-option-checking $apr_configure_args" + dnl The eval makes quoting arguments work - specifically the second argument dnl where the quoting mechanisms used is "" rather than []. dnl diff --git a/srclib/apr-util/build/apu-conf.m4 b/srclib/apr-util/build/apu-conf.m4 index 6ea75ffd..f000b4f8 100644 --- a/srclib/apr-util/build/apu-conf.m4 +++ b/srclib/apr-util/build/apu-conf.m4 @@ -356,6 +356,36 @@ dnl The iPlanet C SDK 5.0 is as yet untested... LIBS=$save_libs ]) +if test "$apu_has_ldap_openldap" = "1"; then + save_cppflags="$CPPFLAGS" + save_ldflags="$LDFLAGS" + save_libs="$LIBS" + + CPPFLAGS="$CPPFLAGS $APRUTIL_INCLUDES" + LDFLAGS="$LDFLAGS $APRUTIL_LDFLAGS" + AC_CACHE_CHECK([style of ldap_set_rebind_proc routine], ac_cv_ldap_set_rebind_proc_style, + APR_TRY_COMPILE_NO_WARNING([ + #ifdef HAVE_LBER_H + #include <lber.h> + #endif + #ifdef HAVE_LDAP_H + #include <ldap.h> + #endif + ], [ + int tmp = ldap_set_rebind_proc((LDAP *)0, (LDAP_REBIND_PROC *)0, (void *)0); + /* use tmp to suppress the warning */ + tmp=0; + ], ac_cv_ldap_set_rebind_proc_style=three, ac_cv_ldap_set_rebind_proc_style=two)) + + if test "$ac_cv_ldap_set_rebind_proc_style" = "three"; then + AC_DEFINE(LDAP_SET_REBIND_PROC_THREE, 1, [Define if ldap_set_rebind_proc takes three arguments]) + fi + + CPPFLAGS="$save_cppflags" + LDFLAGS="$save_ldflags" + LIBS="$save_libs" +fi + AC_SUBST(ldap_h) AC_SUBST(lber_h) AC_SUBST(ldap_ssl_h) diff --git a/srclib/apr-util/build/dbd.m4 b/srclib/apr-util/build/dbd.m4 index ad6d7ffd..415b170e 100644 --- a/srclib/apr-util/build/dbd.m4 +++ b/srclib/apr-util/build/dbd.m4 @@ -35,16 +35,32 @@ AC_DEFUN([APU_CHECK_DBD], [ if test "x$PGSQL_CONFIG" != 'x'; then pgsql_CPPFLAGS="-I`$PGSQL_CONFIG --includedir`" pgsql_LDFLAGS="-L`$PGSQL_CONFIG --libdir`" - pgsql_LIBS="`$PGSQL_CONFIG --libs`" APR_ADDTO(CPPFLAGS, [$pgsql_CPPFLAGS]) APR_ADDTO(LDFLAGS, [$pgsql_LDFLAGS]) - APR_ADDTO(LIBS, [$pgsql_LIBS]) fi - AC_CHECK_HEADERS(libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) + AC_CHECK_HEADERS(libpq-fe.h, [ + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1],[ + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + APR_ADDTO(LIBS, [$pgsql_LIBS]) + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]) + fi + ]) + ]) if test "$apu_have_pgsql" = "0"; then - AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) + AC_CHECK_HEADERS(postgresql/libpq-fe.h, [ + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1],[ + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + APR_ADDTO(LIBS, [$pgsql_LIBS]) + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]) + fi + ]) + ]) fi if test "$apu_have_pgsql" != "0" && test "x$PGSQL_CONFIG" != 'x'; then APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$pgsql_CPPFLAGS]) @@ -56,7 +72,6 @@ AC_DEFUN([APU_CHECK_DBD], [ if test "x$PGSQL_CONFIG" != 'x'; then pgsql_CPPFLAGS="-I`$PGSQL_CONFIG --includedir`" pgsql_LDFLAGS="-L`$PGSQL_CONFIG --libdir`" - pgsql_LIBS="`$PGSQL_CONFIG --libs`" else pgsql_CPPFLAGS="-I$withval/include" pgsql_LDFLAGS="-L$withval/lib " @@ -64,12 +79,29 @@ AC_DEFUN([APU_CHECK_DBD], [ APR_ADDTO(CPPFLAGS, [$pgsql_CPPFLAGS]) APR_ADDTO(LDFLAGS, [$pgsql_LDFLAGS]) - APR_ADDTO(LIBS, [$pgsql_LIBS]) AC_MSG_NOTICE(checking for pgsql in $withval) - AC_CHECK_HEADERS(libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) + AC_CHECK_HEADERS(libpq-fe.h, [ + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1],[ + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + APR_ADDTO(LIBS, [$pgsql_LIBS]) + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]) + fi + ]) + ]) if test "$apu_have_pgsql" != "1"; then - AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) + AC_CHECK_HEADERS(postgresql/libpq-fe.h, [ + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1],[ + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + APR_ADDTO(LIBS, [$pgsql_LIBS]) + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]) + fi + ]) + ]) fi if test "$apu_have_pgsql" != "0"; then APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$pgsql_CPPFLAGS]) @@ -80,16 +112,32 @@ AC_DEFUN([APU_CHECK_DBD], [ if test "x$PGSQL_CONFIG" != 'x'; then pgsql_CPPFLAGS="-I`$PGSQL_CONFIG --includedir`" pgsql_LDFLAGS="-L`$PGSQL_CONFIG --libdir`" - pgsql_LIBS="`$PGSQL_CONFIG --libs`" APR_ADDTO(CPPFLAGS, [$pgsql_CPPFLAGS]) APR_ADDTO(LDFLAGS, [$pgsql_LDFLAGS]) - APR_ADDTO(LIBS, [$pgsql_LIBS]) fi - AC_CHECK_HEADERS(libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) + AC_CHECK_HEADERS(libpq-fe.h, [ + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1],[ + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + APR_ADDTO(LIBS, [$pgsql_LIBS]) + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]) + fi + ]) + ]) if test "$apu_have_pgsql" = "0"; then - AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) + AC_CHECK_HEADERS(postgresql/libpq-fe.h, [ + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1],[ + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + APR_ADDTO(LIBS, [$pgsql_LIBS]) + AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1]) + fi + ]) + ]) fi if test "$apu_have_pgsql" != "0" && test "x$PGSQL_CONFIG" != 'x'; then APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$pgsql_CPPFLAGS]) @@ -387,3 +435,89 @@ AC_DEFUN([APU_CHECK_DBD_FREETDS], [ ]) dnl +AC_DEFUN([APU_CHECK_DBD_ODBC], [ + apu_have_odbc=0 + + old_libs="$LIBS" + old_cppflags="$CPPFLAGS" + old_ldflags="$LDFLAGS" + + AC_ARG_WITH([odbc], APR_HELP_STRING([--with-odbc=DIR], [specify ODBC location]), + [ + if test "$withval" = "yes"; then + AC_PATH_PROG([ODBC_CONFIG],[odbc_config]) + if test "x$ODBC_CONFIG" != 'x'; then + odbc_CPPFLAGS="-I`$ODBC_CONFIG --include-prefix`" + odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`" + odbc_LIBS="`$ODBC_CONFIG --libs`" + + APR_ADDTO(CPPFLAGS, [$odbc_CPPFLAGS]) + APR_ADDTO(LDFLAGS, [$odbc_LDFLAGS]) + APR_ADDTO(LIBS, [$odbc_LIBS]) + fi + + AC_CHECK_HEADERS(sql.h, AC_CHECK_LIB(odbc, SQLAllocHandle, [apu_have_odbc=1])) + if test "$apu_have_odbc" = "0"; then + AC_CHECK_HEADERS(odbc/sql.h, AC_CHECK_LIB(odbc, SQLAllocHandle, [apu_have_odbc=1])) + fi + if test "$apu_have_odbc" != "0" && test "x$ODBC_CONFIG" != 'x'; then + APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$odbc_CPPFLAGS]) + fi + elif test "$withval" = "no"; then + : + else + AC_PATH_PROG([ODBC_CONFIG],[odbc_config],,[$withval/bin]) + if test "x$ODBC_CONFIG" != 'x'; then + odbc_CPPFLAGS="-I`$ODBC_CONFIG --include-prefix`" + odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`" + odbc_LIBS="`$ODBC_CONFIG --libs`" + else + odbc_CPPFLAGS="-I$withval/include" + odbc_LDFLAGS="-L$withval/lib " + fi + + APR_ADDTO(CPPFLAGS, [$odbc_CPPFLAGS]) + APR_ADDTO(LDFLAGS, [$odbc_LDFLAGS]) + APR_ADDTO(LIBS, [$odbc_LIBS]) + + AC_MSG_NOTICE(checking for odbc in $withval) + AC_CHECK_HEADERS(sql.h, AC_CHECK_LIB(odbc, SQLAllocHandle, [apu_have_odbc=1])) + if test "$apu_have_odbc" = "0"; then + AC_CHECK_HEADERS(odbc/sql.h, AC_CHECK_LIB(odbc, SQLAllocHandle, [apu_have_odbc=1])) + fi + if test "$apu_have_odbc" != "0" && test "x$ODBC_CONFIG" != 'x'; then + APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$odbc_CPPFLAGS]) + fi + fi + ], [ + AC_PATH_PROG([ODBC_CONFIG],[odbc_config]) + if test "x$ODBC_CONFIG" != 'x'; then + odbc_CPPFLAGS="-I`$ODBC_CONFIG --include-prefix`" + odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`" + odbc_LIBS="`$ODBC_CONFIG --libs`" + + APR_ADDTO(CPPFLAGS, [$odbc_CPPFLAGS]) + APR_ADDTO(LDFLAGS, [$odbc_LDFLAGS]) + APR_ADDTO(LIBS, [$odbc_LIBS]) + fi + + AC_CHECK_HEADERS(sql.h, AC_CHECK_LIB(odbc, SQLAllocHandle, [apu_have_odbc=1])) + if test "$apu_have_odbc" = "0"; then + AC_CHECK_HEADERS(odbc/sql.h, AC_CHECK_LIB(odbc, SQLAllocHandle, [apu_have_odbc=1])) + fi + if test "$apu_have_odbc" != "0" && test "x$ODBC_CONFIG" != 'x'; then + APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$odbc_CPPFLAGS]) + fi + ]) + AC_SUBST(apu_have_odbc) + dnl Since we have already done the AC_CHECK_LIB tests, if we have it, + dnl we know the library is there. + if test "$apu_have_odbc" = "1"; then + LDADD_dbd_odbc="$odbc_LDFLAGS -lodbc $odbc_LIBS" + fi + AC_SUBST(LDADD_dbd_odbc) + + LIBS="$old_libs" + CPPFLAGS="$old_cppflags" + LDFLAGS="$old_ldflags" +]) diff --git a/srclib/apr-util/build/dbm.m4 b/srclib/apr-util/build/dbm.m4 index c9d1792d..6998eee3 100644 --- a/srclib/apr-util/build/dbm.m4 +++ b/srclib/apr-util/build/dbm.m4 @@ -503,6 +503,25 @@ AC_DEFUN([APU_CHECK_DB46], [ apu_db_version=4 fi ]) +dnl +dnl APU_CHECK_DB47: is DB4.7 present? +dnl +dnl if present: sets apu_db_header, apu_db_lib, and apu_db_version +dnl +AC_DEFUN([APU_CHECK_DB47], [ + places=$1 + if test -z "$places"; then + places="std /usr/local/BerkeleyDB.4.7 /boot/home/config" + fi + APU_CHECK_BERKELEY_DB("4", "7", "-1", + "$places", + "db47/db.h db4/db.h db.h", + "db-4.7 db4-4.7 db47 db4 db" + ) + if test "$apu_have_db" = "1"; then + apu_db_version=4 + fi +]) AC_DEFUN([APU_CHECK_DB], [ requested=$1 @@ -581,6 +600,12 @@ AC_DEFUN([APU_CHECK_DB], [ AC_MSG_ERROR(Berkeley db4 not found) fi ;; + db47) + APU_CHECK_DB47("$check_places") + if test "$apu_db_version" != "4"; then + AC_MSG_ERROR(Berkeley db4 not found) + fi + ;; default) APU_CHECK_DB_ALL("$check_places") ;; @@ -588,32 +613,35 @@ AC_DEFUN([APU_CHECK_DB], [ ]) dnl -dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 4.6 to 1. +dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 4.7 to 1. dnl AC_DEFUN([APU_CHECK_DB_ALL], [ all_places=$1 - 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 @@ -651,11 +679,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}])], + DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47}])], [ 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]) + One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47]) fi requested="$withval" ], [ @@ -850,6 +878,10 @@ AC_DEFUN([APU_CHECK_DBM], [ apu_use_db=1 apu_default_dbm=db4 ;; + db47) + apu_use_db=1 + apu_default_dbm=db4 + ;; default) dnl ### use more sophisticated DBMs for the default? apu_default_dbm="sdbm (default)" @@ -857,7 +889,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]) + Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47]) ;; esac diff --git a/srclib/apr-util/build/dso.m4 b/srclib/apr-util/build/dso.m4 index 0bbad829..8f389150 100644 --- a/srclib/apr-util/build/dso.m4 +++ b/srclib/apr-util/build/dso.m4 @@ -34,6 +34,7 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [ test $apu_have_sqlite2 = 1 && objs="$objs dbd/apr_dbd_sqlite2.lo" test $apu_have_sqlite3 = 1 && objs="$objs dbd/apr_dbd_sqlite3.lo" test $apu_have_freetds = 1 && objs="$objs dbd/apr_dbd_freetds.lo" + test $apu_have_odbc = 1 && objs="$objs dbd/apr_dbd_odbc.lo" test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_init.lo" test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_option.lo" test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_rebind.lo" @@ -53,9 +54,9 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [ done fi - APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds" + APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $LDADD_dbd_odbc" APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_ldap" - APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds" + APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $LDADD_dbd_odbc" APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_ldap" else AC_DEFINE([APU_DSO_BUILD], 1, [Define if modular components are built as DSOs]) @@ -67,8 +68,11 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [ test $apu_have_sqlite2 = 1 && dsos="$dsos dbd/apr_dbd_sqlite2.la" test $apu_have_sqlite3 = 1 && dsos="$dsos dbd/apr_dbd_sqlite3.la" test $apu_have_freetds = 1 && dsos="$dsos dbd/apr_dbd_freetds.la" + test $apu_have_odbc = 1 && dsos="$dsos dbd/apr_dbd_odbc.la" test $apu_has_ldap = 1 && dsos="$dsos ldap/apr_ldap.la" - APU_MODULES="$APU_MODULES $dsos" + if test -n "$dsos"; then + APU_MODULES="$APU_MODULES $dsos" + fi fi ]) diff --git a/srclib/apr-util/configure b/srclib/apr-util/configure index 0cb32a11..e38f6eec 100755 --- a/srclib/apr-util/configure +++ b/srclib/apr-util/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62. +# Generated by GNU Autoconf 2.63. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -635,145 +635,148 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -APU_CONFIG_LOCATION -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -target -target_cpu -target_vendor -target_os -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -LT_NO_INSTALL -top_builddir -abs_srcdir -abs_builddir -APRUTIL_DOTTED_VERSION -APRUTIL_MAJOR_VERSION -APU_LTVERSION -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -APR_INCLUDES -APR_LIBS -APR_BUILD_DIR -apr_shlibpath_var -APR_ICONV_DIR -CPP -GREP -EGREP -ldap_h -lber_h -ldap_ssl_h -apu_has_ldapssl_client_init -apu_has_ldapssl_client_deinit -apu_has_ldapssl_add_trusted_cert -apu_has_ldap_start_tls_s -apu_has_ldapssl_init -apu_has_ldap_sslinit -apu_has_ldapssl_install_routines -apu_has_ldap -apu_has_ldap_openldap -apu_has_ldap_solaris -apu_has_ldap_novell -apu_has_ldap_microsoft -apu_has_ldap_netscape -apu_has_ldap_mozilla -apu_has_ldap_tivoli -apu_has_ldap_zos -apu_has_ldap_other -LDADD_ldap -apu_use_sdbm -apu_use_gdbm -apu_use_ndbm -apu_use_db -apu_have_sdbm -apu_have_gdbm -apu_have_ndbm -apu_have_db -apu_db_header -apu_db_version -PGSQL_CONFIG -apu_have_pgsql -LDADD_dbd_pgsql -MYSQL_CONFIG -apu_have_mysql -LDADD_dbd_mysql -apu_have_sqlite3 -LDADD_dbd_sqlite3 -apu_have_sqlite2 -LDADD_dbd_sqlite2 -apu_have_oracle -LDADD_dbd_oracle -apu_have_freetds -LDADD_dbd_freetds -APR_XML_DIR -have_iconv -have_apr_iconv -so_ext -lib_target -APRUTIL_LIBNAME -APU_HAVE_MODULES -APU_DSO_LIBDIR -APU_MODULES -EXTRA_OBJECTS -APRUTIL_EXPORT_LIBS -APRUTIL_PRIV_INCLUDES -APRUTIL_INCLUDES -APRUTIL_LDFLAGS -APRUTIL_LIBS -INCLUDE_RULES -INCLUDE_OUTPUTS +ac_subst_vars='LTLIBOBJS LIBOBJS -LTLIBOBJS' +INCLUDE_OUTPUTS +INCLUDE_RULES +APRUTIL_LIBS +APRUTIL_LDFLAGS +APRUTIL_INCLUDES +APRUTIL_PRIV_INCLUDES +APRUTIL_EXPORT_LIBS +EXTRA_OBJECTS +APU_MODULES +APU_DSO_LIBDIR +APU_HAVE_MODULES +APRUTIL_LIBNAME +lib_target +so_ext +have_apr_iconv +have_iconv +APR_XML_DIR +LDADD_dbd_odbc +apu_have_odbc +ODBC_CONFIG +LDADD_dbd_freetds +apu_have_freetds +LDADD_dbd_oracle +apu_have_oracle +LDADD_dbd_sqlite2 +apu_have_sqlite2 +LDADD_dbd_sqlite3 +apu_have_sqlite3 +LDADD_dbd_mysql +apu_have_mysql +MYSQL_CONFIG +LDADD_dbd_pgsql +apu_have_pgsql +PGSQL_CONFIG +apu_db_version +apu_db_header +apu_have_db +apu_have_ndbm +apu_have_gdbm +apu_have_sdbm +apu_use_db +apu_use_ndbm +apu_use_gdbm +apu_use_sdbm +LDADD_ldap +apu_has_ldap_other +apu_has_ldap_zos +apu_has_ldap_tivoli +apu_has_ldap_mozilla +apu_has_ldap_netscape +apu_has_ldap_microsoft +apu_has_ldap_novell +apu_has_ldap_solaris +apu_has_ldap_openldap +apu_has_ldap +apu_has_ldapssl_install_routines +apu_has_ldap_sslinit +apu_has_ldapssl_init +apu_has_ldap_start_tls_s +apu_has_ldapssl_add_trusted_cert +apu_has_ldapssl_client_deinit +apu_has_ldapssl_client_init +ldap_ssl_h +lber_h +ldap_h +EGREP +GREP +CPP +APR_ICONV_DIR +apr_shlibpath_var +APR_BUILD_DIR +APR_LIBS +APR_INCLUDES +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +APU_LTVERSION +APRUTIL_MAJOR_VERSION +APRUTIL_DOTTED_VERSION +abs_builddir +abs_srcdir +top_builddir +LT_NO_INSTALL +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +APU_CONFIG_LOCATION +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -794,6 +797,7 @@ with_sqlite2 with_oracle_include with_oracle with_freetds +with_odbc with_expat with_iconv enable_util_dso @@ -1229,9 +1233,9 @@ fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1284,7 +1288,7 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: Working directory cannot be determined" >&2 + { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 @@ -1444,7 +1448,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} + DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47} --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', @@ -1467,6 +1471,7 @@ Optional Packages: path to Oracle include files --with-oracle=DIR enable Oracle DBD driver; giving ORACLE_HOME as DIR --with-freetds=DIR specify FreeTDS location + --with-odbc=DIR specify ODBC location --with-expat=DIR specify Expat location, or 'builtin' --with-iconv=DIR path to iconv installation @@ -1546,7 +1551,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.62 +generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -1560,7 +1565,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -1683,8 +1688,8 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -1887,6 +1892,8 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 @@ -2126,6 +2133,8 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + rm -f config.nice cat >config.nice<<EOF #! /bin/sh @@ -2764,12 +2773,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2968,12 +2973,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2983,11 +2984,13 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 @@ -3117,11 +3120,13 @@ if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext @@ -3149,13 +3154,15 @@ $as_echo "$ac_try_echo") >&5 if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi @@ -3198,11 +3205,13 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext @@ -3256,11 +3265,13 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext @@ -3996,8 +4007,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -4078,8 +4089,9 @@ rm -f confcache done - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it - test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + + apr_configure_args="--disable-option-checking $apr_configure_args" if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir $apache_apr_flags \ --prefix=$prefix \ @@ -4119,7 +4131,7 @@ fi APRUTIL_EXPORT_LIBS="$abs_srcdir/$apu_apriconv_dir/lib/libapriconv.la \ $APRUTIL_EXPORT_LIBS" - APRUTIL_INCLUDES="-I$abs_srcdir/apu_apriconv_dir/include \ + APRUTIL_INCLUDES="-I$abs_srcdir/$apu_apriconv_dir/include \ $APRUTIL_INCLUDES" APR_ICONV_DIR="$apu_apriconv_dir" else @@ -4354,11 +4366,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -4741,8 +4755,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -4919,8 +4934,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -4991,8 +5007,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -5064,8 +5081,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -5137,8 +5155,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -5210,8 +5229,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -5283,8 +5303,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -5356,8 +5377,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -5429,8 +5451,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -5514,8 +5537,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -5586,8 +5610,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -5659,8 +5684,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -5732,8 +5758,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -5805,8 +5832,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -5878,8 +5906,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -5951,8 +5980,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -6024,8 +6054,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -6109,8 +6140,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -6181,8 +6213,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -6254,8 +6287,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -6327,8 +6361,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -6400,8 +6435,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -6473,8 +6509,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -6546,8 +6583,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -6619,8 +6657,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -6704,8 +6743,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -6776,8 +6816,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -6849,8 +6890,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -6922,8 +6964,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -6995,8 +7038,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -7068,8 +7112,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -7141,8 +7186,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -7214,8 +7260,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -7299,8 +7346,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -7371,8 +7419,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -7444,8 +7493,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -7517,8 +7567,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -7590,8 +7641,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -7663,8 +7715,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -7736,8 +7789,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -7809,8 +7863,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -7894,8 +7949,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -7966,8 +8022,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -8039,8 +8096,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -8112,8 +8170,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -8185,8 +8244,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -8258,8 +8318,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -8331,8 +8392,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -8404,8 +8466,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -8489,8 +8552,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -8561,8 +8625,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -8634,8 +8699,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -8707,8 +8773,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -8780,8 +8847,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -8853,8 +8921,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -8926,8 +8995,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -8999,8 +9069,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -9084,8 +9155,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -9156,8 +9228,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -9229,8 +9302,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -9302,8 +9376,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -9375,8 +9450,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -9448,8 +9524,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -9521,8 +9598,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -9594,8 +9672,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -9679,8 +9758,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -9751,8 +9831,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -9824,8 +9905,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -9897,8 +9979,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -9970,8 +10053,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -10043,8 +10127,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -10116,8 +10201,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -10189,8 +10275,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -10274,8 +10361,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -10346,8 +10434,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -10419,8 +10508,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -10492,8 +10582,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -10565,8 +10656,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -10638,8 +10730,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -10711,8 +10804,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -10784,8 +10878,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -10869,8 +10964,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -10941,8 +11037,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -11014,8 +11111,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -11087,8 +11185,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -11160,8 +11259,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -11233,8 +11333,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -11306,8 +11407,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -11379,8 +11481,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -11465,8 +11568,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -11537,8 +11641,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -11610,8 +11715,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -11683,8 +11789,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -11756,8 +11863,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -11829,8 +11937,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -11902,8 +12011,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -11975,8 +12085,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -12060,8 +12171,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -12132,8 +12244,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -12205,8 +12318,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -12278,8 +12392,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -12351,8 +12466,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -12424,8 +12540,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -12497,8 +12614,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -12570,8 +12688,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -12655,8 +12774,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -12727,8 +12847,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -12800,8 +12921,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -12873,8 +12995,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -12946,8 +13069,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -13019,8 +13143,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -13092,8 +13217,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -13165,8 +13291,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -13250,8 +13377,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then LDADD_ldap="-l${ldaplib} ${extralib}" as_ac_Lib=`$as_echo "ac_cv_lib_${ldaplib}''_ldapssl_client_init" | $as_tr_sh` @@ -13322,8 +13450,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_init="1" fi @@ -13395,8 +13524,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_client_deinit="1" fi @@ -13468,8 +13598,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_add_trusted_cert="1" fi @@ -13541,8 +13672,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_start_tls_s="1" fi @@ -13614,8 +13746,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldap_sslinit="1" fi @@ -13687,8 +13820,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_init="1" fi @@ -13760,8 +13894,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then apu_has_ldapssl_install_routines="1" fi @@ -13842,7 +13977,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_lber_ber_init" >&5 $as_echo "$ac_cv_lib_lber_ber_init" >&6; } -if test $ac_cv_lib_lber_ber_init = yes; then +if test "x$ac_cv_lib_lber_ber_init" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBLBER 1 _ACEOF @@ -13987,8 +14122,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -14191,8 +14327,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -14381,6 +14518,88 @@ $as_echo "$apr_cv_ldap_toolkit" >&6; } fi +if test "$apu_has_ldap_openldap" = "1"; then + save_cppflags="$CPPFLAGS" + save_ldflags="$LDFLAGS" + save_libs="$LIBS" + + CPPFLAGS="$CPPFLAGS $APRUTIL_INCLUDES" + LDFLAGS="$LDFLAGS $APRUTIL_LDFLAGS" + { $as_echo "$as_me:$LINENO: checking style of ldap_set_rebind_proc routine" >&5 +$as_echo_n "checking style of ldap_set_rebind_proc routine... " >&6; } +if test "${ac_cv_ldap_set_rebind_proc_style+set}" = set; then + $as_echo_n "(cached) " >&6 +else + apr_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $CFLAGS_WARN" + if test "$ac_cv_c_compiler_gnu" = "yes"; then + CFLAGS="$CFLAGS -Werror" + fi + cat >conftest.$ac_ext <<_ACEOF +#include "confdefs.h" + + + #ifdef HAVE_LBER_H + #include <lber.h> + #endif + #ifdef HAVE_LDAP_H + #include <ldap.h> + #endif + + int main(int argc, const char *const *argv) { + + int tmp = ldap_set_rebind_proc((LDAP *)0, (LDAP_REBIND_PROC *)0, (void *)0); + /* use tmp to suppress the warning */ + tmp=0; + + return 0; } +_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_cv_ldap_set_rebind_proc_style=three +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_ldap_set_rebind_proc_style=two +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$apr_save_CFLAGS + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_ldap_set_rebind_proc_style" >&5 +$as_echo "$ac_cv_ldap_set_rebind_proc_style" >&6; } + + if test "$ac_cv_ldap_set_rebind_proc_style" = "three"; then + +cat >>confdefs.h <<\_ACEOF +#define LDAP_SET_REBIND_PROC_THREE 1 +_ACEOF + + fi + + CPPFLAGS="$save_cppflags" + LDFLAGS="$save_ldflags" + LIBS="$save_libs" +fi + @@ -14423,9 +14642,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" >&5 + One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47" >&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" >&2;} + One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47" >&2;} { (exit 1); exit 1; }; } fi requested="$withval" @@ -14570,7 +14789,7 @@ fi $as_echo "$ac_cv_header_gdbm_h" >&6; } fi -if test $ac_cv_header_gdbm_h = yes; then +if test "x$ac_cv_header_gdbm_h" = x""yes; then { $as_echo "$as_me:$LINENO: checking for gdbm_open in -lgdbm" >&5 $as_echo_n "checking for gdbm_open in -lgdbm... " >&6; } if test "${ac_cv_lib_gdbm_gdbm_open+set}" = set; then @@ -14636,7 +14855,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gdbm_gdbm_open" >&5 $as_echo "$ac_cv_lib_gdbm_gdbm_open" >&6; } -if test $ac_cv_lib_gdbm_gdbm_open = yes; then +if test "x$ac_cv_lib_gdbm_gdbm_open" = x""yes; then apu_have_gdbm=1 fi @@ -14780,7 +14999,7 @@ fi $as_echo "$ac_cv_header_gdbm_h" >&6; } fi -if test $ac_cv_header_gdbm_h = yes; then +if test "x$ac_cv_header_gdbm_h" = x""yes; then { $as_echo "$as_me:$LINENO: checking for gdbm_open in -lgdbm" >&5 $as_echo_n "checking for gdbm_open in -lgdbm... " >&6; } if test "${ac_cv_lib_gdbm_gdbm_open+set}" = set; then @@ -14846,7 +15065,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gdbm_gdbm_open" >&5 $as_echo "$ac_cv_lib_gdbm_gdbm_open" >&6; } -if test $ac_cv_lib_gdbm_gdbm_open = yes; then +if test "x$ac_cv_lib_gdbm_gdbm_open" = x""yes; then apu_have_gdbm=1 fi @@ -15067,7 +15286,7 @@ fi $as_echo "$ac_cv_header_ndbm_h" >&6; } fi -if test $ac_cv_header_ndbm_h = yes; then +if test "x$ac_cv_header_ndbm_h" = x""yes; then { $as_echo "$as_me:$LINENO: checking for dbm_open in -lc" >&5 $as_echo_n "checking for dbm_open in -lc... " >&6; } if test "${ac_cv_lib_c_dbm_open+set}" = set; then @@ -15133,7 +15352,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_dbm_open" >&5 $as_echo "$ac_cv_lib_c_dbm_open" >&6; } -if test $ac_cv_lib_c_dbm_open = yes; then +if test "x$ac_cv_lib_c_dbm_open" = x""yes; then apu_have_ndbm=1;apu_ndbm_lib=c else { $as_echo "$as_me:$LINENO: checking for dbm_open in -ldbm" >&5 @@ -15201,7 +15420,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dbm_dbm_open" >&5 $as_echo "$ac_cv_lib_dbm_dbm_open" >&6; } -if test $ac_cv_lib_dbm_dbm_open = yes; then +if test "x$ac_cv_lib_dbm_dbm_open" = x""yes; then apu_have_ndbm=1;apu_ndbm_lib=dbm else { $as_echo "$as_me:$LINENO: checking for dbm_open in -ldb" >&5 @@ -15269,7 +15488,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_db_dbm_open" >&5 $as_echo "$ac_cv_lib_db_dbm_open" >&6; } -if test $ac_cv_lib_db_dbm_open = yes; then +if test "x$ac_cv_lib_db_dbm_open" = x""yes; then apu_have_ndbm=1;apu_ndbm_lib=db else { $as_echo "$as_me:$LINENO: checking for __db_ndbm_open in -ldb" >&5 @@ -15337,7 +15556,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_db___db_ndbm_open" >&5 $as_echo "$ac_cv_lib_db___db_ndbm_open" >&6; } -if test $ac_cv_lib_db___db_ndbm_open = yes; then +if test "x$ac_cv_lib_db___db_ndbm_open" = x""yes; then apu_have_ndbm=1;apu_ndbm_lib=db fi @@ -15448,6 +15667,630 @@ if test "${with_berkeley_db+set}" = set; then places="$all_places" if test -z "$places"; then + places="std /usr/local/BerkeleyDB.4.7 /boot/home/config" + fi + + bdb_version="4" + if test ""7"" != "-1"; then + bdb_version="$bdb_version."7"" + if test ""-1"" != "-1"; then + bdb_version="$bdb_version."-1"" + fi + fi + bdb_places="$places" + bdb_default_search_headers="db47/db.h db4/db.h db.h" + bdb_default_search_lib_names="db-4.7 db4-4.7 db47 db4 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 ""4"" = "3" -o ""4"" = "4"; 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_"4"_"7"_"-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="4" + apu_check_berkeley_db_minor="7" + 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 ""4"" = "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 ""4"" = "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=4 + fi + + if test "$apu_db_version" != "4"; then + + places="$all_places" + if test -z "$places"; then places="std /usr/local/BerkeleyDB.4.6 /boot/home/config" fi @@ -15650,8 +16493,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -15845,8 +16689,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -15922,8 +16767,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -16065,7 +16911,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 @@ -16271,8 +17117,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -16466,8 +17313,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -16543,8 +17391,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -16686,7 +17535,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 @@ -16892,8 +17741,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -17087,8 +17937,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -17164,8 +18015,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -17307,7 +18159,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 @@ -17513,8 +18365,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -17708,8 +18561,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -17785,8 +18639,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -17928,7 +18783,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 @@ -18134,8 +18989,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -18329,8 +19185,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -18406,8 +19263,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -18549,7 +19407,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 @@ -18755,8 +19613,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -18950,8 +19809,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -19027,8 +19887,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -19170,7 +20031,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 @@ -19376,8 +20237,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -19571,8 +20433,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -19648,8 +20511,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -19791,7 +20655,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 @@ -19997,8 +20861,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "3" = "3" -o "3" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -20192,8 +21057,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -20269,8 +21135,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -20412,7 +21279,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 @@ -20618,8 +21485,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "2" = "3" -o "2" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -20813,8 +21681,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -20890,8 +21759,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -21033,7 +21903,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 @@ -21239,8 +22109,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "1" = "3" -o "1" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -21434,8 +22305,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -21511,8 +22383,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -21654,7 +22527,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 @@ -21860,8 +22733,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "1" = "3" -o "1" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -22055,8 +22929,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -22132,8 +23007,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -22275,6 +23151,7 @@ fi apu_db_version=185 fi + fi fi fi fi @@ -22507,8 +23384,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "1" = "3" -o "1" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -22702,8 +23580,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -22779,8 +23658,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -23134,8 +24014,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "1" = "3" -o "1" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -23329,8 +24210,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -23406,8 +24288,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -23761,8 +24644,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "2" = "3" -o "2" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -23956,8 +24840,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -24033,8 +24918,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -24388,8 +25274,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "3" = "3" -o "3" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -24583,8 +25470,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -24660,8 +25548,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -25015,8 +25904,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -25210,8 +26100,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -25287,8 +26178,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -25642,8 +26534,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -25837,8 +26730,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -25914,8 +26808,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -26269,8 +27164,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -26464,8 +27360,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -26541,8 +27438,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -26896,8 +27794,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -27091,8 +27990,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -27168,8 +28068,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -27523,8 +28424,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -27718,8 +28620,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -27795,8 +28698,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -28150,8 +29054,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -28345,8 +29250,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -28422,8 +29328,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -28777,8 +29684,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -28972,8 +29880,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -29049,8 +29958,639 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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=4 + fi + + if test "$apu_db_version" != "4"; then + { { $as_echo "$as_me:$LINENO: error: Berkeley db4 not found" >&5 +$as_echo "$as_me: error: Berkeley db4 not found" >&2;} + { (exit 1); exit 1; }; } + fi + ;; + db47) + + places="$check_places" + if test -z "$places"; then + places="std /usr/local/BerkeleyDB.4.7 /boot/home/config" + fi + + bdb_version="4" + if test ""7"" != "-1"; then + bdb_version="$bdb_version."7"" + if test ""-1"" != "-1"; then + bdb_version="$bdb_version."-1"" + fi + fi + bdb_places="$places" + bdb_default_search_headers="db47/db.h db4/db.h db.h" + bdb_default_search_lib_names="db-4.7 db4-4.7 db47 db4 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 ""4"" = "3" -o ""4"" = "4"; 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_"4"_"7"_"-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="4" + apu_check_berkeley_db_minor="7" + 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 ""4"" = "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 ""4"" = "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 @@ -29205,6 +30745,630 @@ $as_echo "$as_me: error: Berkeley db4 not found" >&2;} places="$all_places" if test -z "$places"; then + places="std /usr/local/BerkeleyDB.4.7 /boot/home/config" + fi + + bdb_version="4" + if test ""7"" != "-1"; then + bdb_version="$bdb_version."7"" + if test ""-1"" != "-1"; then + bdb_version="$bdb_version."-1"" + fi + fi + bdb_places="$places" + bdb_default_search_headers="db47/db.h db4/db.h db.h" + bdb_default_search_lib_names="db-4.7 db4-4.7 db47 db4 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 ""4"" = "3" -o ""4"" = "4"; 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_"4"_"7"_"-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="4" + apu_check_berkeley_db_minor="7" + 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 ""4"" = "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 ""4"" = "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=4 + fi + + if test "$apu_db_version" != "4"; then + + places="$all_places" + if test -z "$places"; then places="std /usr/local/BerkeleyDB.4.6 /boot/home/config" fi @@ -29407,8 +31571,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -29602,8 +31767,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -29679,8 +31845,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -29822,7 +31989,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 @@ -30028,8 +32195,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -30223,8 +32391,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -30300,8 +32469,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -30443,7 +32613,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 @@ -30649,8 +32819,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -30844,8 +33015,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -30921,8 +33093,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -31064,7 +33237,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 @@ -31270,8 +33443,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -31465,8 +33639,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -31542,8 +33717,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -31685,7 +33861,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 @@ -31891,8 +34067,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -32086,8 +34263,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -32163,8 +34341,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -32306,7 +34485,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 @@ -32512,8 +34691,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -32707,8 +34887,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -32784,8 +34965,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -32927,7 +35109,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 @@ -33133,8 +35315,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test ""4"" = "3" -o ""4"" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -33328,8 +35511,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -33405,8 +35589,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -33548,7 +35733,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 @@ -33754,8 +35939,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "3" = "3" -o "3" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -33949,8 +36135,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -34026,8 +36213,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -34169,7 +36357,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 @@ -34375,8 +36563,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "2" = "3" -o "2" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -34570,8 +36759,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -34647,8 +36837,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -34790,7 +36981,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 @@ -34996,8 +37187,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "1" = "3" -o "1" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -35191,8 +37383,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -35268,8 +37461,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -35411,7 +37605,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 @@ -35617,8 +37811,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then if test "1" = "3" -o "1" = "4"; then # We generate a separate cache variable for each prefix and libname @@ -35812,8 +38007,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -35889,8 +38085,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` = yes; then +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 @@ -36032,6 +38229,7 @@ fi apu_db_version=185 fi + fi fi fi fi @@ -36130,15 +38328,19 @@ fi apu_use_db=1 apu_default_dbm=db4 ;; + db47) + apu_use_db=1 + apu_default_dbm=db4 + ;; 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" >&5 + Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47" >&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" >&2;} + Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47" >&2;} { (exit 1); exit 1; }; } ;; esac @@ -36394,7 +38596,6 @@ fi if test "x$PGSQL_CONFIG" != 'x'; then pgsql_CPPFLAGS="-I`$PGSQL_CONFIG --includedir`" pgsql_LDFLAGS="-L`$PGSQL_CONFIG --libdir`" - pgsql_LIBS="`$PGSQL_CONFIG --libs`" if test "x$CPPFLAGS" = "x"; then @@ -36438,27 +38639,6 @@ fi done fi - - if test "x$LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" - LIBS="$pgsql_LIBS" - else - apr_addto_bugger="$pgsql_LIBS" - 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 - fi @@ -36596,12 +38776,107 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 + + { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 +$as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } +if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $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 PQsendQueryPrepared (); +int +main () +{ +return PQsendQueryPrepared (); + ; + 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_pq_PQsendQueryPrepared=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_pq_PQsendQueryPrepared=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_pq_PQsendQueryPrepared" >&5 +$as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then + apu_have_pgsql=1 +else + + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" + LIBS="$pgsql_LIBS" + else + apr_addto_bugger="$pgsql_LIBS" + 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 PQsendQueryPrepared in -lpq" >&5 $as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then $as_echo_n "(cached) " >&6 @@ -36666,10 +38941,15 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQsendQueryPrepared" >&5 $as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } -if test $ac_cv_lib_pq_PQsendQueryPrepared = yes; then +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then apu_have_pgsql=1 fi + fi + +fi + + fi done @@ -36810,12 +39090,107 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 + + { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 +$as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } +if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $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 PQsendQueryPrepared (); +int +main () +{ +return PQsendQueryPrepared (); + ; + 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_pq_PQsendQueryPrepared=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_pq_PQsendQueryPrepared=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_pq_PQsendQueryPrepared" >&5 +$as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then + apu_have_pgsql=1 +else + + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" + LIBS="$pgsql_LIBS" + else + apr_addto_bugger="$pgsql_LIBS" + 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 PQsendQueryPrepared in -lpq" >&5 $as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then $as_echo_n "(cached) " >&6 @@ -36880,10 +39255,15 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQsendQueryPrepared" >&5 $as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } -if test $ac_cv_lib_pq_PQsendQueryPrepared = yes; then +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then apu_have_pgsql=1 fi + fi + +fi + + fi done @@ -36958,7 +39338,6 @@ fi if test "x$PGSQL_CONFIG" != 'x'; then pgsql_CPPFLAGS="-I`$PGSQL_CONFIG --includedir`" pgsql_LDFLAGS="-L`$PGSQL_CONFIG --libdir`" - pgsql_LIBS="`$PGSQL_CONFIG --libs`" else pgsql_CPPFLAGS="-I$withval/include" pgsql_LDFLAGS="-L$withval/lib " @@ -37007,27 +39386,6 @@ fi fi - if test "x$LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" - LIBS="$pgsql_LIBS" - else - apr_addto_bugger="$pgsql_LIBS" - 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 pgsql in $withval" >&5 $as_echo "$as_me: checking for pgsql in $withval" >&6;} @@ -37165,12 +39523,107 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 + + { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 +$as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } +if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $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 PQsendQueryPrepared (); +int +main () +{ +return PQsendQueryPrepared (); + ; + 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_pq_PQsendQueryPrepared=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_pq_PQsendQueryPrepared=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_pq_PQsendQueryPrepared" >&5 +$as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then + apu_have_pgsql=1 +else + + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" + LIBS="$pgsql_LIBS" + else + apr_addto_bugger="$pgsql_LIBS" + 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 PQsendQueryPrepared in -lpq" >&5 $as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then $as_echo_n "(cached) " >&6 @@ -37235,10 +39688,15 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQsendQueryPrepared" >&5 $as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } -if test $ac_cv_lib_pq_PQsendQueryPrepared = yes; then +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then apu_have_pgsql=1 fi + fi + +fi + + fi done @@ -37379,12 +39837,14 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 + + { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 $as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then $as_echo_n "(cached) " >&6 @@ -37449,10 +39909,108 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQsendQueryPrepared" >&5 $as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } -if test $ac_cv_lib_pq_PQsendQueryPrepared = yes; then +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then + apu_have_pgsql=1 +else + + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" + LIBS="$pgsql_LIBS" + else + apr_addto_bugger="$pgsql_LIBS" + 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 PQsendQueryPrepared in -lpq" >&5 +$as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } +if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $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 PQsendQueryPrepared (); +int +main () +{ +return PQsendQueryPrepared (); + ; + 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_pq_PQsendQueryPrepared=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_pq_PQsendQueryPrepared=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_pq_PQsendQueryPrepared" >&5 +$as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then apu_have_pgsql=1 fi + fi + +fi + + fi done @@ -37528,7 +40086,6 @@ fi if test "x$PGSQL_CONFIG" != 'x'; then pgsql_CPPFLAGS="-I`$PGSQL_CONFIG --includedir`" pgsql_LDFLAGS="-L`$PGSQL_CONFIG --libdir`" - pgsql_LIBS="`$PGSQL_CONFIG --libs`" if test "x$CPPFLAGS" = "x"; then @@ -37572,27 +40129,6 @@ fi done fi - - if test "x$LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" - LIBS="$pgsql_LIBS" - else - apr_addto_bugger="$pgsql_LIBS" - 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 - fi @@ -37730,12 +40266,107 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 + + { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 +$as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } +if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $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 PQsendQueryPrepared (); +int +main () +{ +return PQsendQueryPrepared (); + ; + 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_pq_PQsendQueryPrepared=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_pq_PQsendQueryPrepared=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_pq_PQsendQueryPrepared" >&5 +$as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then + apu_have_pgsql=1 +else + + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" + LIBS="$pgsql_LIBS" + else + apr_addto_bugger="$pgsql_LIBS" + 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 PQsendQueryPrepared in -lpq" >&5 $as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then $as_echo_n "(cached) " >&6 @@ -37800,10 +40431,15 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQsendQueryPrepared" >&5 $as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } -if test $ac_cv_lib_pq_PQsendQueryPrepared = yes; then +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then apu_have_pgsql=1 fi + fi + +fi + + fi done @@ -37944,12 +40580,107 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 + + { $as_echo "$as_me:$LINENO: checking for PQsendQueryPrepared in -lpq" >&5 +$as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } +if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $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 PQsendQueryPrepared (); +int +main () +{ +return PQsendQueryPrepared (); + ; + 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_pq_PQsendQueryPrepared=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_pq_PQsendQueryPrepared=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_pq_PQsendQueryPrepared" >&5 +$as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then + apu_have_pgsql=1 +else + + if test "x$PGSQL_CONFIG" != 'x'; then + unset ac_cv_lib_pq_PQsendQueryPrepared + pgsql_LIBS="`$PGSQL_CONFIG --libs`" + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$pgsql_LIBS\"" + LIBS="$pgsql_LIBS" + else + apr_addto_bugger="$pgsql_LIBS" + 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 PQsendQueryPrepared in -lpq" >&5 $as_echo_n "checking for PQsendQueryPrepared in -lpq... " >&6; } if test "${ac_cv_lib_pq_PQsendQueryPrepared+set}" = set; then $as_echo_n "(cached) " >&6 @@ -38014,10 +40745,15 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQsendQueryPrepared" >&5 $as_echo "$ac_cv_lib_pq_PQsendQueryPrepared" >&6; } -if test $ac_cv_lib_pq_PQsendQueryPrepared = yes; then +if test "x$ac_cv_lib_pq_PQsendQueryPrepared" = x""yes; then apu_have_pgsql=1 fi + fi + +fi + + fi done @@ -38295,8 +41031,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -38365,7 +41102,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mysqlclient_r_mysql_init" >&5 $as_echo "$ac_cv_lib_mysqlclient_r_mysql_init" >&6; } -if test $ac_cv_lib_mysqlclient_r_mysql_init = yes; then +if test "x$ac_cv_lib_mysqlclient_r_mysql_init" = x""yes; then apu_have_mysql=1 fi @@ -38509,8 +41246,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -38579,7 +41317,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mysqlclient_r_mysql_init" >&5 $as_echo "$ac_cv_lib_mysqlclient_r_mysql_init" >&6; } -if test $ac_cv_lib_mysqlclient_r_mysql_init = yes; then +if test "x$ac_cv_lib_mysqlclient_r_mysql_init" = x""yes; then apu_have_mysql=1 fi @@ -38864,8 +41602,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -38934,7 +41673,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mysqlclient_r_mysql_init" >&5 $as_echo "$ac_cv_lib_mysqlclient_r_mysql_init" >&6; } -if test $ac_cv_lib_mysqlclient_r_mysql_init = yes; then +if test "x$ac_cv_lib_mysqlclient_r_mysql_init" = x""yes; then apu_have_mysql=1 fi @@ -39079,8 +41818,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -39149,7 +41889,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mysqlclient_r_mysql_init" >&5 $as_echo "$ac_cv_lib_mysqlclient_r_mysql_init" >&6; } -if test $ac_cv_lib_mysqlclient_r_mysql_init = yes; then +if test "x$ac_cv_lib_mysqlclient_r_mysql_init" = x""yes; then apu_have_mysql=1 fi @@ -39344,8 +42084,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -39414,7 +42155,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_open" >&5 $as_echo "$ac_cv_lib_sqlite3_sqlite3_open" >&6; } -if test $ac_cv_lib_sqlite3_sqlite3_open = yes; then +if test "x$ac_cv_lib_sqlite3_sqlite3_open" = x""yes; then apu_have_sqlite3=1 fi @@ -39608,8 +42349,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -39678,7 +42420,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_open" >&5 $as_echo "$ac_cv_lib_sqlite3_sqlite3_open" >&6; } -if test $ac_cv_lib_sqlite3_sqlite3_open = yes; then +if test "x$ac_cv_lib_sqlite3_sqlite3_open" = x""yes; then apu_have_sqlite3=1 fi @@ -39848,8 +42590,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -39918,7 +42661,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_open" >&5 $as_echo "$ac_cv_lib_sqlite3_sqlite3_open" >&6; } -if test $ac_cv_lib_sqlite3_sqlite3_open = yes; then +if test "x$ac_cv_lib_sqlite3_sqlite3_open" = x""yes; then apu_have_sqlite3=1 fi @@ -40088,8 +42831,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -40158,7 +42902,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite_sqlite_open" >&5 $as_echo "$ac_cv_lib_sqlite_sqlite_open" >&6; } -if test $ac_cv_lib_sqlite_sqlite_open = yes; then +if test "x$ac_cv_lib_sqlite_sqlite_open" = x""yes; then apu_have_sqlite2=1 fi @@ -40352,8 +43096,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -40422,7 +43167,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite_sqlite_open" >&5 $as_echo "$ac_cv_lib_sqlite_sqlite_open" >&6; } -if test $ac_cv_lib_sqlite_sqlite_open = yes; then +if test "x$ac_cv_lib_sqlite_sqlite_open" = x""yes; then apu_have_sqlite2=1 fi @@ -40592,8 +43337,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -40662,7 +43408,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite_sqlite_open" >&5 $as_echo "$ac_cv_lib_sqlite_sqlite_open" >&6; } -if test $ac_cv_lib_sqlite_sqlite_open = yes; then +if test "x$ac_cv_lib_sqlite_sqlite_open" = x""yes; then apu_have_sqlite2=1 fi @@ -40885,8 +43631,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -40955,7 +43702,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_clntsh_OCIEnvCreate" >&5 $as_echo "$ac_cv_lib_clntsh_OCIEnvCreate" >&6; } -if test $ac_cv_lib_clntsh_OCIEnvCreate = yes; then +if test "x$ac_cv_lib_clntsh_OCIEnvCreate" = x""yes; then apu_have_oracle=1 else @@ -41047,7 +43794,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_clntsh_OCIEnvCreate" >&5 $as_echo "$ac_cv_lib_clntsh_OCIEnvCreate" >&6; } -if test $ac_cv_lib_clntsh_OCIEnvCreate = yes; then +if test "x$ac_cv_lib_clntsh_OCIEnvCreate" = x""yes; then apu_have_oracle=1 fi @@ -41269,8 +44016,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -41339,7 +44087,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_clntsh_OCIEnvCreate" >&5 $as_echo "$ac_cv_lib_clntsh_OCIEnvCreate" >&6; } -if test $ac_cv_lib_clntsh_OCIEnvCreate = yes; then +if test "x$ac_cv_lib_clntsh_OCIEnvCreate" = x""yes; then apu_have_oracle=1 else @@ -41431,7 +44179,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_clntsh_OCIEnvCreate" >&5 $as_echo "$ac_cv_lib_clntsh_OCIEnvCreate" >&6; } -if test $ac_cv_lib_clntsh_OCIEnvCreate = yes; then +if test "x$ac_cv_lib_clntsh_OCIEnvCreate" = x""yes; then apu_have_oracle=1 fi @@ -41652,8 +44400,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -41722,7 +44471,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sybdb_tdsdbopen" >&5 $as_echo "$ac_cv_lib_sybdb_tdsdbopen" >&6; } -if test $ac_cv_lib_sybdb_tdsdbopen = yes; then +if test "x$ac_cv_lib_sybdb_tdsdbopen" = x""yes; then apu_have_freetds=1 fi @@ -41916,8 +44665,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -41986,7 +44736,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sybdb_tdsdbopen" >&5 $as_echo "$ac_cv_lib_sybdb_tdsdbopen" >&6; } -if test $ac_cv_lib_sybdb_tdsdbopen = yes; then +if test "x$ac_cv_lib_sybdb_tdsdbopen" = x""yes; then apu_have_freetds=1 fi @@ -42156,8 +44906,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -42226,7 +44977,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sybdb_tdsdbopen" >&5 $as_echo "$ac_cv_lib_sybdb_tdsdbopen" >&6; } -if test $ac_cv_lib_sybdb_tdsdbopen = yes; then +if test "x$ac_cv_lib_sybdb_tdsdbopen" = x""yes; then apu_have_freetds=1 fi @@ -42250,6 +45001,1732 @@ fi LDFLAGS="$old_ldflags" + apu_have_odbc=0 + + old_libs="$LIBS" + old_cppflags="$CPPFLAGS" + old_ldflags="$LDFLAGS" + + +# Check whether --with-odbc was given. +if test "${with_odbc+set}" = set; then + withval=$with_odbc; + if test "$withval" = "yes"; then + # Extract the first word of "odbc_config", so it can be a program name with args. +set dummy odbc_config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ODBC_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $ODBC_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ODBC_CONFIG="$ODBC_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ODBC_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ODBC_CONFIG=$ac_cv_path_ODBC_CONFIG +if test -n "$ODBC_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $ODBC_CONFIG" >&5 +$as_echo "$ODBC_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$ODBC_CONFIG" != 'x'; then + odbc_CPPFLAGS="-I`$ODBC_CONFIG --include-prefix`" + odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`" + odbc_LIBS="`$ODBC_CONFIG --libs`" + + + if test "x$CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"$odbc_CPPFLAGS\"" + CPPFLAGS="$odbc_CPPFLAGS" + else + apr_addto_bugger="$odbc_CPPFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" + CPPFLAGS="$CPPFLAGS $i" + fi + done + fi + + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$odbc_LDFLAGS\"" + LDFLAGS="$odbc_LDFLAGS" + else + apr_addto_bugger="$odbc_LDFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$odbc_LIBS\"" + LIBS="$odbc_LIBS" + else + apr_addto_bugger="$odbc_LIBS" + 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 + + fi + + +for ac_header in sql.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 $ac_header usability" >&5 +$as_echo_n "checking $ac_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 <$ac_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 $ac_header presence" >&5 +$as_echo_n "checking $ac_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 <$ac_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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + { $as_echo "$as_me:$LINENO: checking for SQLAllocHandle in -lodbc" >&5 +$as_echo_n "checking for SQLAllocHandle in -lodbc... " >&6; } +if test "${ac_cv_lib_odbc_SQLAllocHandle+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc $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 SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + 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_odbc_SQLAllocHandle=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_odbc_SQLAllocHandle=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_odbc_SQLAllocHandle" >&5 +$as_echo "$ac_cv_lib_odbc_SQLAllocHandle" >&6; } +if test "x$ac_cv_lib_odbc_SQLAllocHandle" = x""yes; then + apu_have_odbc=1 +fi + +fi + +done + + if test "$apu_have_odbc" = "0"; then + +for ac_header in odbc/sql.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 $ac_header usability" >&5 +$as_echo_n "checking $ac_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 <$ac_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 $ac_header presence" >&5 +$as_echo_n "checking $ac_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 <$ac_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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + { $as_echo "$as_me:$LINENO: checking for SQLAllocHandle in -lodbc" >&5 +$as_echo_n "checking for SQLAllocHandle in -lodbc... " >&6; } +if test "${ac_cv_lib_odbc_SQLAllocHandle+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc $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 SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + 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_odbc_SQLAllocHandle=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_odbc_SQLAllocHandle=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_odbc_SQLAllocHandle" >&5 +$as_echo "$ac_cv_lib_odbc_SQLAllocHandle" >&6; } +if test "x$ac_cv_lib_odbc_SQLAllocHandle" = x""yes; then + apu_have_odbc=1 +fi + +fi + +done + + fi + if test "$apu_have_odbc" != "0" && test "x$ODBC_CONFIG" != 'x'; then + + if test "x$APRUTIL_PRIV_INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting APRUTIL_PRIV_INCLUDES to \"$odbc_CPPFLAGS\"" + APRUTIL_PRIV_INCLUDES="$odbc_CPPFLAGS" + else + apr_addto_bugger="$odbc_CPPFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $APRUTIL_PRIV_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_PRIV_INCLUDES" + APRUTIL_PRIV_INCLUDES="$APRUTIL_PRIV_INCLUDES $i" + fi + done + fi + + fi + elif test "$withval" = "no"; then + : + else + # Extract the first word of "odbc_config", so it can be a program name with args. +set dummy odbc_config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ODBC_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $ODBC_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ODBC_CONFIG="$ODBC_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $withval/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ODBC_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ODBC_CONFIG=$ac_cv_path_ODBC_CONFIG +if test -n "$ODBC_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $ODBC_CONFIG" >&5 +$as_echo "$ODBC_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$ODBC_CONFIG" != 'x'; then + odbc_CPPFLAGS="-I`$ODBC_CONFIG --include-prefix`" + odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`" + odbc_LIBS="`$ODBC_CONFIG --libs`" + else + odbc_CPPFLAGS="-I$withval/include" + odbc_LDFLAGS="-L$withval/lib " + fi + + + if test "x$CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"$odbc_CPPFLAGS\"" + CPPFLAGS="$odbc_CPPFLAGS" + else + apr_addto_bugger="$odbc_CPPFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" + CPPFLAGS="$CPPFLAGS $i" + fi + done + fi + + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$odbc_LDFLAGS\"" + LDFLAGS="$odbc_LDFLAGS" + else + apr_addto_bugger="$odbc_LDFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$odbc_LIBS\"" + LIBS="$odbc_LIBS" + else + apr_addto_bugger="$odbc_LIBS" + 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 odbc in $withval" >&5 +$as_echo "$as_me: checking for odbc in $withval" >&6;} + +for ac_header in sql.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 $ac_header usability" >&5 +$as_echo_n "checking $ac_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 <$ac_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 $ac_header presence" >&5 +$as_echo_n "checking $ac_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 <$ac_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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + { $as_echo "$as_me:$LINENO: checking for SQLAllocHandle in -lodbc" >&5 +$as_echo_n "checking for SQLAllocHandle in -lodbc... " >&6; } +if test "${ac_cv_lib_odbc_SQLAllocHandle+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc $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 SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + 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_odbc_SQLAllocHandle=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_odbc_SQLAllocHandle=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_odbc_SQLAllocHandle" >&5 +$as_echo "$ac_cv_lib_odbc_SQLAllocHandle" >&6; } +if test "x$ac_cv_lib_odbc_SQLAllocHandle" = x""yes; then + apu_have_odbc=1 +fi + +fi + +done + + if test "$apu_have_odbc" = "0"; then + +for ac_header in odbc/sql.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 $ac_header usability" >&5 +$as_echo_n "checking $ac_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 <$ac_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 $ac_header presence" >&5 +$as_echo_n "checking $ac_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 <$ac_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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + { $as_echo "$as_me:$LINENO: checking for SQLAllocHandle in -lodbc" >&5 +$as_echo_n "checking for SQLAllocHandle in -lodbc... " >&6; } +if test "${ac_cv_lib_odbc_SQLAllocHandle+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc $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 SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + 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_odbc_SQLAllocHandle=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_odbc_SQLAllocHandle=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_odbc_SQLAllocHandle" >&5 +$as_echo "$ac_cv_lib_odbc_SQLAllocHandle" >&6; } +if test "x$ac_cv_lib_odbc_SQLAllocHandle" = x""yes; then + apu_have_odbc=1 +fi + +fi + +done + + fi + if test "$apu_have_odbc" != "0" && test "x$ODBC_CONFIG" != 'x'; then + + if test "x$APRUTIL_PRIV_INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting APRUTIL_PRIV_INCLUDES to \"$odbc_CPPFLAGS\"" + APRUTIL_PRIV_INCLUDES="$odbc_CPPFLAGS" + else + apr_addto_bugger="$odbc_CPPFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $APRUTIL_PRIV_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_PRIV_INCLUDES" + APRUTIL_PRIV_INCLUDES="$APRUTIL_PRIV_INCLUDES $i" + fi + done + fi + + fi + fi + +else + + # Extract the first word of "odbc_config", so it can be a program name with args. +set dummy odbc_config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ODBC_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $ODBC_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ODBC_CONFIG="$ODBC_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ODBC_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ODBC_CONFIG=$ac_cv_path_ODBC_CONFIG +if test -n "$ODBC_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $ODBC_CONFIG" >&5 +$as_echo "$ODBC_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$ODBC_CONFIG" != 'x'; then + odbc_CPPFLAGS="-I`$ODBC_CONFIG --include-prefix`" + odbc_LDFLAGS="-L`$ODBC_CONFIG --lib-prefix`" + odbc_LIBS="`$ODBC_CONFIG --libs`" + + + if test "x$CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"$odbc_CPPFLAGS\"" + CPPFLAGS="$odbc_CPPFLAGS" + else + apr_addto_bugger="$odbc_CPPFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $CPPFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" + CPPFLAGS="$CPPFLAGS $i" + fi + done + fi + + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$odbc_LDFLAGS\"" + LDFLAGS="$odbc_LDFLAGS" + else + apr_addto_bugger="$odbc_LDFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting LIBS to \"$odbc_LIBS\"" + LIBS="$odbc_LIBS" + else + apr_addto_bugger="$odbc_LIBS" + 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 + + fi + + +for ac_header in sql.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 $ac_header usability" >&5 +$as_echo_n "checking $ac_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 <$ac_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 $ac_header presence" >&5 +$as_echo_n "checking $ac_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 <$ac_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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + { $as_echo "$as_me:$LINENO: checking for SQLAllocHandle in -lodbc" >&5 +$as_echo_n "checking for SQLAllocHandle in -lodbc... " >&6; } +if test "${ac_cv_lib_odbc_SQLAllocHandle+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc $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 SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + 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_odbc_SQLAllocHandle=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_odbc_SQLAllocHandle=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_odbc_SQLAllocHandle" >&5 +$as_echo "$ac_cv_lib_odbc_SQLAllocHandle" >&6; } +if test "x$ac_cv_lib_odbc_SQLAllocHandle" = x""yes; then + apu_have_odbc=1 +fi + +fi + +done + + if test "$apu_have_odbc" = "0"; then + +for ac_header in odbc/sql.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 $ac_header usability" >&5 +$as_echo_n "checking $ac_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 <$ac_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 $ac_header presence" >&5 +$as_echo_n "checking $ac_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 <$ac_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: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_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 + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + { $as_echo "$as_me:$LINENO: checking for SQLAllocHandle in -lodbc" >&5 +$as_echo_n "checking for SQLAllocHandle in -lodbc... " >&6; } +if test "${ac_cv_lib_odbc_SQLAllocHandle+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc $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 SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + 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_odbc_SQLAllocHandle=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_odbc_SQLAllocHandle=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_odbc_SQLAllocHandle" >&5 +$as_echo "$ac_cv_lib_odbc_SQLAllocHandle" >&6; } +if test "x$ac_cv_lib_odbc_SQLAllocHandle" = x""yes; then + apu_have_odbc=1 +fi + +fi + +done + + fi + if test "$apu_have_odbc" != "0" && test "x$ODBC_CONFIG" != 'x'; then + + if test "x$APRUTIL_PRIV_INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting APRUTIL_PRIV_INCLUDES to \"$odbc_CPPFLAGS\"" + APRUTIL_PRIV_INCLUDES="$odbc_CPPFLAGS" + else + apr_addto_bugger="$odbc_CPPFLAGS" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $APRUTIL_PRIV_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_PRIV_INCLUDES" + APRUTIL_PRIV_INCLUDES="$APRUTIL_PRIV_INCLUDES $i" + fi + done + fi + + fi + +fi + + + if test "$apu_have_odbc" = "1"; then + LDADD_dbd_odbc="$odbc_LDFLAGS -lodbc $odbc_LIBS" + fi + + + LIBS="$old_libs" + CPPFLAGS="$old_cppflags" + LDFLAGS="$old_ldflags" + + save_cppflags="$CPPFLAGS" save_ldflags="$LDFLAGS" @@ -42928,8 +47405,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -42998,8 +47475,9 @@ rm -f confcache apr_configure_args=$ac_configure_args - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it - test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + + apr_configure_args="--disable-option-checking $apr_configure_args" if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir then : @@ -43364,7 +47842,7 @@ fi $as_echo "$ac_cv_header_iconv_h" >&6; } fi -if test $ac_cv_header_iconv_h = yes; then +if test "x$ac_cv_header_iconv_h" = x""yes; then cat >conftest.$ac_ext <<_ACEOF @@ -43870,8 +48348,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -43983,8 +48462,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -44065,6 +48545,7 @@ fi test $apu_have_sqlite2 = 1 && objs="$objs dbd/apr_dbd_sqlite2.lo" test $apu_have_sqlite3 = 1 && objs="$objs dbd/apr_dbd_sqlite3.lo" test $apu_have_freetds = 1 && objs="$objs dbd/apr_dbd_freetds.lo" + test $apu_have_odbc = 1 && objs="$objs dbd/apr_dbd_odbc.lo" test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_init.lo" test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_option.lo" test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_rebind.lo" @@ -44084,9 +48565,9 @@ fi done fi - APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds" + APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $LDADD_dbd_odbc" APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_ldap" - APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds" + APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $LDADD_dbd_odbc" APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_ldap" else @@ -44102,9 +48583,12 @@ _ACEOF test $apu_have_sqlite2 = 1 && dsos="$dsos dbd/apr_dbd_sqlite2.la" test $apu_have_sqlite3 = 1 && dsos="$dsos dbd/apr_dbd_sqlite3.la" test $apu_have_freetds = 1 && dsos="$dsos dbd/apr_dbd_freetds.la" + test $apu_have_odbc = 1 && dsos="$dsos dbd/apr_dbd_odbc.la" test $apu_has_ldap = 1 && dsos="$dsos ldap/apr_ldap.la" - APU_MODULES="$APU_MODULES $dsos" + if test -n "$dsos"; then + APU_MODULES="$APU_MODULES $dsos" + fi fi @@ -44301,8 +48785,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -44557,8 +49042,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -44950,7 +49435,7 @@ exec 6>&1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -44963,6 +49448,15 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" @@ -44976,16 +49470,17 @@ ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] + --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] + --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: @@ -45003,7 +49498,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.62, +configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. @@ -45218,7 +49713,8 @@ for ac_last_try in false false false false false :; do $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -45423,9 +49919,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 } split(mac1, mac2, "(") #) macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". - prefix = substr(line, 1, index(line, defundef) - 1) print prefix "define", macro P[macro] D[macro] next } else { @@ -45433,7 +49929,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { - print "/*", line, "*/" + print "/*", prefix defundef, macro, "*/" next } } @@ -45457,8 +49953,8 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; @@ -45790,7 +50286,7 @@ if test "$no_create" != yes; then $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/srclib/apr-util/configure.in b/srclib/apr-util/configure.in index 37a591f5..d23db5ee 100644 --- a/srclib/apr-util/configure.in +++ b/srclib/apr-util/configure.in @@ -133,7 +133,7 @@ AC_ARG_WITH(apr-iconv, [--enable-layout=*|\'--enable-layout=*]) APRUTIL_EXPORT_LIBS="$abs_srcdir/$apu_apriconv_dir/lib/libapriconv.la \ $APRUTIL_EXPORT_LIBS" - APRUTIL_INCLUDES="-I$abs_srcdir/apu_apriconv_dir/include \ + APRUTIL_INCLUDES="-I$abs_srcdir/$apu_apriconv_dir/include \ $APRUTIL_INCLUDES" APR_ICONV_DIR="$apu_apriconv_dir" else @@ -157,6 +157,7 @@ APU_CHECK_DBD_SQLITE3 APU_CHECK_DBD_SQLITE2 APU_CHECK_DBD_ORACLE APU_CHECK_DBD_FREETDS +APU_CHECK_DBD_ODBC APU_FIND_EXPAT APU_FIND_ICONV diff --git a/srclib/apr-util/dbd/apr_dbd.c b/srclib/apr-util/dbd/apr_dbd.c index b16cc5e5..b1c1b092 100644 --- a/srclib/apr-util/dbd/apr_dbd.c +++ b/srclib/apr-util/dbd/apr_dbd.c @@ -25,6 +25,7 @@ #include "apr_strings.h" #include "apr_hash.h" #include "apr_thread_mutex.h" +#include "apr_lib.h" #include "apu_internal.h" #include "apr_dbd_internal.h" @@ -96,10 +97,10 @@ APU_DECLARE(apr_status_t) apr_dbd_init(apr_pool_t *pool) /* Top level pool scope, need process-scope lifetime */ for (parent = pool; parent; parent = apr_pool_parent_get(pool)) pool = parent; - +#if APU_DSO_BUILD /* deprecate in 2.0 - permit implicit initialization */ apu_dso_init(pool); - +#endif drivers = apr_hash_make(pool); #if APR_HAS_THREADS @@ -124,6 +125,12 @@ APU_DECLARE(apr_status_t) apr_dbd_init(apr_pool_t *pool) #if APU_HAVE_ORACLE DRIVER_LOAD("oracle", apr_dbd_oracle_driver, pool); #endif +#if APU_HAVE_FREETDS + DRIVER_LOAD("freetds", apr_dbd_freetds_driver, pool); +#endif +#if APU_HAVE_ODBC + DRIVER_LOAD("odbc", apr_dbd_odbc_driver, pool); +#endif #if APU_HAVE_SOME_OTHER_BACKEND DRIVER_LOAD("firebird", apr_dbd_other_driver, pool); #endif @@ -145,14 +152,17 @@ APU_DECLARE(apr_status_t) apr_dbd_get_driver(apr_pool_t *pool, const char *name, #endif apr_status_t rv; +#if APU_DSO_BUILD rv = apu_dso_mutex_lock(); if (rv) { return rv; } - +#endif *driver = apr_hash_get(drivers, name, APR_HASH_KEY_STRING); if (*driver) { +#if APU_DSO_BUILD apu_dso_mutex_unlock(); +#endif return APR_SUCCESS; } @@ -174,6 +184,7 @@ APU_DECLARE(apr_status_t) apr_dbd_get_driver(apr_pool_t *pool, const char *name, rv = apu_dso_load(&symbol, modname, symname, pool); if (rv != APR_SUCCESS) { /* APR_EDSOOPEN or APR_ESYMNOTFOUND? */ if (rv == APR_EINIT) { /* previously loaded?!? */ + name = apr_pstrdup(pool, name); apr_hash_set(drivers, name, APR_HASH_KEY_STRING, *driver); rv = APR_SUCCESS; } @@ -369,7 +380,7 @@ APU_DECLARE(int) apr_dbd_prepare(const apr_dbd_driver_t *driver, /* find the number of parameters in the query */ for (q = query; *q; q++) { if (q[0] == '%') { - if (isalpha(q[1])) { + if (apr_isalpha(q[1])) { nargs++; } else if (q[1] == '%') { q++; @@ -385,7 +396,7 @@ APU_DECLARE(int) apr_dbd_prepare(const apr_dbd_driver_t *driver, for (p = pq, q = query, i = 0; *q; q++) { if (q[0] == '%') { - if (isalpha(q[1])) { + if (apr_isalpha(q[1])) { switch (q[1]) { case 'd': t[i] = APR_DBD_TYPE_INT; break; case 'u': t[i] = APR_DBD_TYPE_UINT; break; diff --git a/srclib/apr-util/dbd/apr_dbd_freetds.c b/srclib/apr-util/dbd/apr_dbd_freetds.c index f458f1c0..4455512c 100644 --- a/srclib/apr-util/dbd/apr_dbd_freetds.c +++ b/srclib/apr-util/dbd/apr_dbd_freetds.c @@ -124,7 +124,6 @@ static int dbd_freetds_select(apr_pool_t *pool, apr_dbd_t *sql, const char *query, int seek) { apr_dbd_results_t *res; - int i; if (sql->trans && (sql->trans->errnum != SUCCEED)) { return 1; } @@ -237,9 +236,10 @@ static const char *dbd_statement(apr_pool_t *pool, static int dbd_freetds_pselect(apr_pool_t *pool, apr_dbd_t *sql, apr_dbd_results_t **results, apr_dbd_prepared_t *statement, - int seek, int nargs, const char **values) + int seek, const char **values) { - const char *query = dbd_statement(pool, statement, nargs, values); + const char *query = dbd_statement(pool, statement, + statement->nargs, values); return dbd_freetds_select(pool, sql, results, query, seek); } static int dbd_freetds_pvselect(apr_pool_t *pool, apr_dbd_t *sql, @@ -260,15 +260,15 @@ static int dbd_freetds_pvselect(apr_pool_t *pool, apr_dbd_t *sql, values[i] = va_arg(args, const char*); } - return dbd_freetds_pselect(pool, sql, results, statement, seek, - statement->nargs, values); + return dbd_freetds_pselect(pool, sql, results, statement, seek, values); } static int dbd_freetds_query(apr_dbd_t *sql, int *nrows, const char *query); static int dbd_freetds_pquery(apr_pool_t *pool, apr_dbd_t *sql, int *nrows, apr_dbd_prepared_t *statement, - int nargs, const char **values) + const char **values) { - const char *query = dbd_statement(pool, statement, nargs, values); + const char *query = dbd_statement(pool, statement, + statement->nargs, values); return dbd_freetds_query(sql, nrows, query); } static int dbd_freetds_pvquery(apr_pool_t *pool, apr_dbd_t *sql, int *nrows, @@ -286,8 +286,7 @@ static int dbd_freetds_pvquery(apr_pool_t *pool, apr_dbd_t *sql, int *nrows, for (i = 0; i < statement->nargs; i++) { values[i] = va_arg(args, const char*); } - return dbd_freetds_pquery(pool, sql, nrows, statement, - statement->nargs, values); + return dbd_freetds_pquery(pool, sql, nrows, statement, values); } static int dbd_freetds_get_row(apr_pool_t *pool, apr_dbd_results_t *res, @@ -344,10 +343,10 @@ static const char *dbd_freetds_get_entry(const apr_dbd_row_t *row, int n) int t = dbcoltype(proc, n+1); int l = dbcollen(proc, n+1); if (dbwillconvert(t, SYBCHAR)) { - dbconvert(proc, t, ptr, l, SYBCHAR, row->buf, -1); + dbconvert(proc, t, ptr, l, SYBCHAR, (BYTE *)row->buf, -1); return (const char*)row->buf; } - return ptr; + return (char*)ptr; } static const char *dbd_freetds_error(apr_dbd_t *sql, int n) @@ -442,6 +441,7 @@ static int recurse_args(apr_pool_t *pool, int n, const char *query, static int dbd_freetds_prepare(apr_pool_t *pool, apr_dbd_t *sql, const char *query, const char *label, + int nargs, int nvals, apr_dbd_type_e *types, apr_dbd_prepared_t **statement) { apr_dbd_prepared_t *stmt; @@ -556,14 +556,14 @@ static DBPROCESS *freetds_open(apr_pool_t *pool, const char *params, ++ptr; continue; } - for (key = ptr-1; isspace(*key); --key); + for (key = ptr-1; apr_isspace(*key); --key); klen = 0; - while (isalpha(*key)) { + while (apr_isalpha(*key)) { --key; ++klen; } ++key; - for (value = ptr+1; isspace(*value); ++value); + for (value = ptr+1; apr_isspace(*value); ++value); vlen = strcspn(value, delims); buf = apr_pstrndup(pool, value, vlen); /* NULL-terminated copy */ @@ -642,7 +642,7 @@ static apr_status_t dbd_freetds_check_conn(apr_pool_t *pool, if (dbdead(handle->proc)) { /* try again */ dbclose(handle->proc); - handle->proc = freetds_open(handle->pool, handle->params); + handle->proc = freetds_open(handle->pool, handle->params, NULL); if (!handle->proc || dbdead(handle->proc)) { return APR_EGENERAL; } diff --git a/srclib/apr-util/dbd/apr_dbd_mysql.c b/srclib/apr-util/dbd/apr_dbd_mysql.c index 6ecd30e7..ec1d4e23 100644 --- a/srclib/apr-util/dbd/apr_dbd_mysql.c +++ b/srclib/apr-util/dbd/apr_dbd_mysql.c @@ -34,6 +34,7 @@ #endif #include "apr_strings.h" +#include "apr_lib.h" #include "apr_buckets.h" #include "apr_dbd_internal.h" @@ -139,7 +140,8 @@ static apr_status_t lob_bucket_read(apr_bucket *e, const char **str, /* fetch from offset if not at the beginning */ if (boffset > 0) { - rv = mysql_stmt_fetch_column(res->statement, bind, col, boffset); + rv = mysql_stmt_fetch_column(res->statement, bind, col, + (unsigned long) boffset); if (rv != 0) { return APR_EGENERAL; } @@ -253,7 +255,7 @@ static int dbd_mysql_select(apr_pool_t *pool, apr_dbd_t *sql, static const char *dbd_mysql_get_name(const apr_dbd_results_t *res, int n) { - if ((n < 0) || (n >= mysql_num_fields(res->res))) { + if ((n < 0) || (n >= (int) mysql_num_fields(res->res))) { return NULL; } @@ -413,7 +415,7 @@ static apr_status_t dbd_mysql_datum_get(const apr_dbd_row_t *row, int n, *(apr_uint64_t*)data = apr_atoi64(bind->buffer); break; case APR_DBD_TYPE_FLOAT: - *(float*)data = atof(bind->buffer); + *(float*)data = (float) atof(bind->buffer); break; case APR_DBD_TYPE_DOUBLE: *(double*)data = atof(bind->buffer); @@ -483,7 +485,7 @@ static apr_status_t dbd_mysql_datum_get(const apr_dbd_row_t *row, int n, *(apr_uint64_t*)data = apr_atoi64(row->row[n]); break; case APR_DBD_TYPE_FLOAT: - *(float*)data = atof(row->row[n]); + *(float*)data = (float) atof(row->row[n]); break; case APR_DBD_TYPE_DOUBLE: *(double*)data = atof(row->row[n]); @@ -533,7 +535,7 @@ static int dbd_mysql_query(apr_dbd_t *sql, int *nrows, const char *query) if (ret != 0) { ret = mysql_errno(sql->conn); } - *nrows = mysql_affected_rows(sql->conn); + *nrows = (int) mysql_affected_rows(sql->conn); if (TXN_NOTICE_ERRORS(sql->trans)) { sql->trans->errnum = ret; } @@ -639,7 +641,7 @@ static int dbd_mysql_pquery_internal(apr_pool_t *pool, apr_dbd_t *sql, if (ret != 0) { ret = mysql_stmt_errno(statement->stmt); } - *nrows = mysql_stmt_affected_rows(statement->stmt); + *nrows = (int) mysql_stmt_affected_rows(statement->stmt); } return ret; @@ -865,25 +867,28 @@ static void dbd_mysql_bbind(apr_pool_t *pool, apr_dbd_prepared_t *statement, bind[i].is_unsigned = 1; break; case APR_DBD_TYPE_LONGLONG: - if (sizeof(long long) == sizeof(apr_int64_t)) { + if (sizeof(my_ulonglong) == sizeof(apr_int64_t)) { bind[i].buffer = arg; + bind[i].buffer_type = MYSQL_TYPE_LONGLONG; } - else { - bind[i].buffer = apr_palloc(pool, sizeof(long long)); - *(long long*)bind[i].buffer = *(apr_int64_t*)arg; + else { /* have to downsize, long long is not portable */ + bind[i].buffer = apr_palloc(pool, sizeof(long)); + *(long*)bind[i].buffer = (long) *(apr_int64_t*)arg; + bind[i].buffer_type = MYSQL_TYPE_LONG; } - bind[i].buffer_type = MYSQL_TYPE_LONGLONG; bind[i].is_unsigned = 0; break; case APR_DBD_TYPE_ULONGLONG: - if (sizeof(unsigned long long) == sizeof(apr_uint64_t)) { + if (sizeof(my_ulonglong) == sizeof(apr_uint64_t)) { bind[i].buffer = arg; + bind[i].buffer_type = MYSQL_TYPE_LONGLONG; } - else { - bind[i].buffer = apr_palloc(pool, sizeof(unsigned long long)); - *(unsigned long long*)bind[i].buffer = *(apr_uint64_t*)arg; + else { /* have to downsize, long long is not portable */ + bind[i].buffer = apr_palloc(pool, sizeof(long)); + *(unsigned long*)bind[i].buffer = + (unsigned long) *(apr_uint64_t*)arg; + bind[i].buffer_type = MYSQL_TYPE_LONG; } - bind[i].buffer_type = MYSQL_TYPE_LONGLONG; bind[i].is_unsigned = 1; break; case APR_DBD_TYPE_FLOAT: @@ -1099,6 +1104,7 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t *pool, const char *params, {"flags", NULL}, {"fldsz", NULL}, {"group", NULL}, + {"reconnect", NULL}, {NULL, NULL} }; unsigned int port = 0; @@ -1114,9 +1120,9 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t *pool, const char *params, ++ptr; continue; } - for (key = ptr-1; isspace(*key); --key); + for (key = ptr-1; apr_isspace(*key); --key); klen = 0; - while (isalpha(*key)) { + while (apr_isalpha(*key)) { /* don't parse backwards off the start of the string */ if (key == params) { --key; @@ -1127,7 +1133,7 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t *pool, const char *params, ++klen; } ++key; - for (value = ptr+1; isspace(*value); ++value); + for (value = ptr+1; apr_isspace(*value); ++value); vlen = strcspn(value, delims); for (i = 0; fields[i].field != NULL; i++) { if (!strncasecmp(fields[i].field, key, klen)) { @@ -1150,6 +1156,11 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t *pool, const char *params, if (fields[8].value != NULL) { mysql_options(sql->conn, MYSQL_READ_DEFAULT_GROUP, fields[8].value); } +#if MYSQL_VERSION_ID >= 50013 + if (fields[9].value != NULL) { + do_reconnect = atoi(fields[9].value) ? 1 : 0; + } +#endif #if MYSQL_VERSION_ID >= 50013 /* the MySQL manual says this should be BEFORE mysql_real_connect */ diff --git a/srclib/apr-util/dbd/apr_dbd_mysql.dsp b/srclib/apr-util/dbd/apr_dbd_mysql.dsp index 31e2b26b..6556e6d3 100644 --- a/srclib/apr-util/dbd/apr_dbd_mysql.dsp +++ b/srclib/apr-util/dbd/apr_dbd_mysql.dsp @@ -54,8 +54,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /opt:ref -# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"Release\apr_dbd_mysql-1.dll" /pdb:"Release\apr_dbd_mysql-1.pdb" /implib:"Release\apr_dbd_mysql-1.lib" /MACHINE:X86 /opt:ref +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /opt:ref +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"Release\apr_dbd_mysql-1.dll" /pdb:"Release\apr_dbd_mysql-1.pdb" /implib:"Release\apr_dbd_mysql-1.lib" /MACHINE:X86 /opt:ref # Begin Special Build Tool TargetPath=Release\apr_dbd_mysql-1.dll SOURCE="$(InputPath)" @@ -86,8 +86,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug -# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"Debug\apr_dbd_mysql-1.dll" /pdb:"Debug\apr_dbd_mysql-1.pdb" /implib:"Debug\apr_dbd_mysql-1.lib" /MACHINE:X86 +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"Debug\apr_dbd_mysql-1.dll" /pdb:"Debug\apr_dbd_mysql-1.pdb" /implib:"Debug\apr_dbd_mysql-1.lib" /MACHINE:X86 # Begin Special Build Tool TargetPath=Debug\apr_dbd_mysql-1.dll SOURCE="$(InputPath)" @@ -118,8 +118,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /opt:ref -# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"x64\Release\apr_dbd_mysql-1.dll" /pdb:"x64\Release\apr_dbd_mysql-1.pdb" /implib:"x64\Release\apr_dbd_mysql-1.lib" /MACHINE:X64 /opt:ref +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /opt:ref +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"x64\Release\apr_dbd_mysql-1.dll" /pdb:"x64\Release\apr_dbd_mysql-1.pdb" /implib:"x64\Release\apr_dbd_mysql-1.lib" /MACHINE:X64 /opt:ref # Begin Special Build Tool TargetPath=x64\Release\apr_dbd_mysql-1.dll SOURCE="$(InputPath)" @@ -150,8 +150,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug -# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib mysqlclient.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"x64\Debug\apr_dbd_mysql-1.dll" /pdb:"x64\Debug\apr_dbd_mysql-1.pdb" /implib:"x64\Debug\apr_dbd_mysql-1.lib" /MACHINE:X64 +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib libmysql.lib /nologo /base:"0x6EF50000" /subsystem:windows /dll /incremental:no /debug /out:"x64\Debug\apr_dbd_mysql-1.dll" /pdb:"x64\Debug\apr_dbd_mysql-1.pdb" /implib:"x64\Debug\apr_dbd_mysql-1.lib" /MACHINE:X64 # Begin Special Build Tool TargetPath=x64\Debug\apr_dbd_mysql-1.dll SOURCE="$(InputPath)" diff --git a/srclib/apr-util/dbd/apr_dbd_odbc.c b/srclib/apr-util/dbd/apr_dbd_odbc.c new file mode 100644 index 00000000..9f0e1703 --- /dev/null +++ b/srclib/apr-util/dbd/apr_dbd_odbc.c @@ -0,0 +1,1628 @@ +/* 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 "apu.h" +#if APU_HAVE_ODBC + +#include "apr.h" +#include "apr_strings.h" +#include "apr_buckets.h" +#include "apr_env.h" +#include "apr_file_io.h" +#include "apr_file_info.h" +#include "apr_dbd_internal.h" +#include "apr_thread_proc.h" +#include "apu_version.h" +#include "apu_config.h" + +#include <stdlib.h> + +/* If library is ODBC-V2, use macros for limited ODBC-V2 support + * No random access in V2. + */ +#ifdef ODBCV2 +#define ODBCVER 0x0200 +#include "apr_dbd_odbc_v2.h" +#endif + +/* standard ODBC include files */ +#ifdef HAVE_SQL_H +#include <sql.h> +#include <sqlext.h> +#elif defined(HAVE_ODBC_SQL_H) +#include <odbc/sql.h> +#include <odbc/sqlext.h> +#endif + + /* 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. + */ +#ifndef ODBC_DRIVER_NAME +#define ODBC_DRIVER_NAME odbc +#endif +#define STRINGIFY(x) #x +#define NAMIFY2(n) apr_dbd_##n##_driver +#define NAMIFY1(n) NAMIFY2(n) +#define ODBC_DRIVER_STRING STRINGIFY(ODBC_DRIVER_NAME) +#define ODBC_DRIVER_ENTRY NAMIFY1(ODBC_DRIVER_NAME) + +/* Required APR version for this driver */ +#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 */ +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__) + +#define SOURCE_FILE __FILE__ /* source file for error messages */ +#define MAX_ERROR_STRING 1024 /* max length of message in dbc */ +#define MAX_COLUMN_NAME 256 /* longest column name recognized */ +#define DEFAULT_BUFFER_SIZE 1024 /* value for defaultBufferSize */ + +#define MAX_PARAMS 20 +#define DEFAULTSEPS " \t\r\n,=" +#define CSINGLEQUOTE '\'' +#define SSINGLEQUOTE "\'" + +#define TEXTMODE 1 /* used for text (APR 1.2) mode params */ +#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 */ +#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 */ +#define IS_CLOB(t) \ + (t == SQL_LONGVARCHAR || t == -98) + +/* Convert a SQL result to an APR result */ +#define APR_FROM_SQL_RESULT(rc) \ + (SQL_SUCCEEDED(rc) ? APR_SUCCESS : APR_EGENERAL) + +/* DBD opaque structures */ +struct apr_dbd_t +{ + SQLHANDLE dbc; /* SQL connection handle - NULL after close */ + apr_pool_t *pool; /* connection lifetime pool */ + char *dbname; /* ODBC datasource */ + int lasterrorcode; + int lineNumber; + char lastError[MAX_ERROR_STRING]; + int defaultBufferSize; /* used for CLOBs in text mode, + * and when fld size is indeterminate */ + int transaction_mode; + int dboptions; /* driver options re SQLGetData */ + int default_transaction_mode; + int can_commit; /* controls end_trans behavior */ +}; + +struct apr_dbd_results_t +{ + SQLHANDLE stmt; /* parent sql statement handle */ + SQLHANDLE dbc; /* parent sql connection handle */ + apr_pool_t *pool; /* pool from query or select */ + apr_dbd_t *apr_dbd; /* parent DBD connection handle */ + int random; /* random access requested */ + int ncols; /* number of columns */ + int isclosed; /* cursor has been closed */ + char **colnames; /* array of column names (NULL until used) */ + SQLPOINTER *colptrs; /* pointers to column data */ + SQLINTEGER *colsizes; /* sizes for columns (enough for txt or bin) */ + SQLINTEGER *coltextsizes; /* max-sizes if converted to text */ + SQLSMALLINT *coltypes; /* array of SQL data types for columns */ + SQLLEN *colinds; /* array of SQL data indicator/strlens */ + int *colstate; /* array of column states + * - avail, bound, present, unavail + */ + int *all_data_fetched; /* flags data as all fetched, for LOBs */ + void *data; /* buffer for all data for one row */ +}; +enum /* results column states */ +{ + COL_AVAIL, /* data may be retrieved with SQLGetData */ + COL_PRESENT, /* data has been retrieved with SQLGetData */ + COL_BOUND, /* column is bound to colptr */ + COL_RETRIEVED, /* all data from column has been returned */ + COL_UNAVAIL /* column is unavailable because ODBC driver + * requires that columns be retrieved + * in ascending order and a higher col + * was accessed */ +}; + +struct apr_dbd_row_t { + SQLHANDLE stmt; /* parent ODBC statement handle */ + SQLHANDLE dbc; /* parent ODBC connection handle */ + apr_pool_t *pool; /* pool from get_row */ + apr_dbd_results_t *res; +}; + +struct apr_dbd_transaction_t { + SQLHANDLE dbc; /* parent ODBC connection handle */ + apr_dbd_t *apr_dbd; /* parent DBD connection handle */ +}; + +struct apr_dbd_prepared_t { + SQLHANDLE stmt; /* ODBC statement handle */ + SQLHANDLE dbc; /* parent ODBC connection handle */ + apr_dbd_t *apr_dbd; + int nargs; + int nvals; + int *types; /* array of DBD data types */ + +}; + +static void odbc_lob_bucket_destroy(void *data); +static apr_status_t odbc_lob_bucket_setaside(apr_bucket *e, apr_pool_t *pool); +static apr_status_t odbc_lob_bucket_read(apr_bucket *e, const char **str, + apr_size_t *len, apr_read_type_e block); + +/* the ODBC LOB bucket type */ +static const apr_bucket_type_t odbc_bucket_type = { + "ODBC_LOB", 5, APR_BUCKET_DATA, + odbc_lob_bucket_destroy, + odbc_lob_bucket_read, + odbc_lob_bucket_setaside, + apr_bucket_shared_split, + apr_bucket_shared_copy +}; + + +/* ODBC LOB bucket data */ +typedef struct { + /** Ref count for shared bucket */ + apr_bucket_refcount refcount; + const apr_dbd_row_t *row; + int col; + 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 + */ + +/* ODBC "C" types to DBD datatypes */ +static SQLSMALLINT const sqlCtype[] = { + SQL_C_DEFAULT, /* APR_DBD_TYPE_NONE */ + SQL_C_STINYINT, /* APR_DBD_TYPE_TINY, \%hhd */ + SQL_C_UTINYINT, /* APR_DBD_TYPE_UTINY, \%hhu */ + SQL_C_SSHORT, /* APR_DBD_TYPE_SHORT, \%hd */ + SQL_C_USHORT, /* APR_DBD_TYPE_USHORT, \%hu */ + SQL_C_SLONG, /* APR_DBD_TYPE_INT, \%d */ + SQL_C_ULONG, /* APR_DBD_TYPE_UINT, \%u */ + SQL_C_SLONG, /* APR_DBD_TYPE_LONG, \%ld */ + SQL_C_ULONG, /* APR_DBD_TYPE_ULONG, \%lu */ + SQL_C_SBIGINT, /* APR_DBD_TYPE_LONGLONG, \%lld */ + SQL_C_UBIGINT, /* APR_DBD_TYPE_ULONGLONG, \%llu */ + SQL_C_FLOAT, /* APR_DBD_TYPE_FLOAT, \%f */ + SQL_C_DOUBLE, /* APR_DBD_TYPE_DOUBLE, \%lf */ + SQL_C_CHAR, /* APR_DBD_TYPE_STRING, \%s */ + SQL_C_CHAR, /* APR_DBD_TYPE_TEXT, \%pDt */ + SQL_C_CHAR, /*SQL_C_TYPE_TIME, APR_DBD_TYPE_TIME, \%pDi */ + SQL_C_CHAR, /*SQL_C_TYPE_DATE, APR_DBD_TYPE_DATE, \%pDd */ + SQL_C_CHAR, /*SQL_C_TYPE_TIMESTAMP, APR_DBD_TYPE_DATETIME, \%pDa */ + SQL_C_CHAR, /*SQL_C_TYPE_TIMESTAMP, APR_DBD_TYPE_TIMESTAMP, \%pDs */ + SQL_C_CHAR, /*SQL_C_TYPE_TIMESTAMP, APR_DBD_TYPE_ZTIMESTAMP, \%pDz */ + SQL_LONGVARBINARY, /* APR_DBD_TYPE_BLOB, \%pDb */ + SQL_LONGVARCHAR, /* APR_DBD_TYPE_CLOB, \%pDc */ + SQL_TYPE_NULL /* APR_DBD_TYPE_NULL \%pDn */ +}; + +/* ODBC Base types to DBD datatypes */ +static SQLSMALLINT const sqlBaseType[] = { + SQL_C_DEFAULT, /* APR_DBD_TYPE_NONE */ + SQL_TINYINT, /* APR_DBD_TYPE_TINY, \%hhd */ + SQL_TINYINT, /* APR_DBD_TYPE_UTINY, \%hhu */ + SQL_SMALLINT, /* APR_DBD_TYPE_SHORT, \%hd */ + SQL_SMALLINT, /* APR_DBD_TYPE_USHORT, \%hu */ + SQL_INTEGER, /* APR_DBD_TYPE_INT, \%d */ + SQL_INTEGER, /* APR_DBD_TYPE_UINT, \%u */ + SQL_INTEGER, /* APR_DBD_TYPE_LONG, \%ld */ + SQL_INTEGER, /* APR_DBD_TYPE_ULONG, \%lu */ + SQL_BIGINT, /* APR_DBD_TYPE_LONGLONG, \%lld */ + SQL_BIGINT, /* APR_DBD_TYPE_ULONGLONG, \%llu */ + SQL_FLOAT, /* APR_DBD_TYPE_FLOAT, \%f */ + SQL_DOUBLE, /* APR_DBD_TYPE_DOUBLE, \%lf */ + SQL_CHAR, /* APR_DBD_TYPE_STRING, \%s */ + SQL_CHAR, /* APR_DBD_TYPE_TEXT, \%pDt */ + SQL_CHAR, /*SQL_TIME, APR_DBD_TYPE_TIME, \%pDi */ + SQL_CHAR, /*SQL_DATE, APR_DBD_TYPE_DATE, \%pDd */ + SQL_CHAR, /*SQL_TIMESTAMP, APR_DBD_TYPE_DATETIME, \%pDa */ + SQL_CHAR, /*SQL_TIMESTAMP, APR_DBD_TYPE_TIMESTAMP, \%pDs */ + SQL_CHAR, /*SQL_TIMESTAMP, APR_DBD_TYPE_ZTIMESTAMP, \%pDz */ + SQL_LONGVARBINARY, /* APR_DBD_TYPE_BLOB, \%pDb */ + SQL_LONGVARCHAR, /* APR_DBD_TYPE_CLOB, \%pDc */ + SQL_TYPE_NULL /* APR_DBD_TYPE_NULL \%pDn */ +}; + +/* result sizes for DBD datatypes (-1 for null-terminated) */ +static int const sqlSizes[] = { + 0, + sizeof(char), /**< \%hhd out: char* */ + sizeof(unsigned char), /**< \%hhu out: unsigned char* */ + sizeof(short), /**< \%hd out: short* */ + sizeof(unsigned short), /**< \%hu out: unsigned short* */ + sizeof(int), /**< \%d out: int* */ + sizeof(unsigned int), /**< \%u out: unsigned int* */ + sizeof(long), /**< \%ld out: long* */ + sizeof(unsigned long), /**< \%lu out: unsigned long* */ + sizeof(apr_int64_t), /**< \%lld out: apr_int64_t* */ + sizeof(apr_uint64_t), /**< \%llu out: apr_uint64_t* */ + sizeof(float), /**< \%f out: float* */ + sizeof(double), /**< \%lf out: double* */ + -1, /**< \%s out: char** */ + -1, /**< \%pDt out: char** */ + -1, /**< \%pDi out: char** */ + -1, /**< \%pDd out: char** */ + -1, /**< \%pDa out: char** */ + -1, /**< \%pDs out: char** */ + -1, /**< \%pDz out: char** */ + sizeof(apr_bucket_brigade), /**< \%pDb out: apr_bucket_brigade* */ + sizeof(apr_bucket_brigade), /**< \%pDc out: apr_bucket_brigade* */ + 0 /**< \%pDn : in: void*, out: void** */ +}; + +/* +* 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; + SQLRETURN rc = SQL_SUCCESS; + + if (dbr && dbr->apr_dbd && dbr->apr_dbd->dbc) { + if (!dbr->isclosed) + rc = SQLCloseCursor(dbr->stmt); + dbr->isclosed = 1; + } + return APR_FROM_SQL_RESULT(rc); +} + +/* close the ODBC statement handle from a prepare */ +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; + + if (hstmt && statement->apr_dbd && statement->apr_dbd->dbc) { + rc = SQLFreeHandle(SQL_HANDLE_STMT, hstmt); + } + statement->stmt = NULL; + } + return APR_FROM_SQL_RESULT(rc); +} + +/* close: close/release a connection obtained from open() */ +static apr_status_t odbc_close(apr_dbd_t *handle) +{ + SQLRETURN rc = SQL_SUCCESS; + + if (handle->dbc) { + rc = SQLDisconnect(handle->dbc); + CHECK_ERROR(handle, "SQLDisconnect", rc, SQL_HANDLE_DBC, handle->dbc); + rc = SQLFreeHandle(SQL_HANDLE_DBC, handle->dbc); + CHECK_ERROR(handle, "SQLFreeHandle (DBC)", rc, SQL_HANDLE_ENV, henv); + handle->dbc = NULL; + } + return APR_FROM_SQL_RESULT(rc); +} + +/* 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); +} + +/* close the ODBC environment handle at process termination */ +static apr_status_t odbc_close_env(SQLHANDLE henv) +{ + SQLRETURN rc; + + rc = SQLFreeHandle(SQL_HANDLE_ENV, henv); + henv = NULL; + return APR_FROM_SQL_RESULT(rc); +} + +/* 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) +{ + SQLRETURN rc; + int maxsize, textsize, realsize, type, isunsigned = 1; + + /* discover the sql type */ + rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_UNSIGNED, NULL, 0, NULL, + (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) + /* 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)) + /* if still unknown make it CHAR */ + type = SQL_C_CHAR; + + switch (type) { + case SQL_INTEGER: + case SQL_SMALLINT: + case SQL_TINYINT: + case SQL_BIGINT: + /* fix these numeric binary types up as signed/unsigned for C types */ + type += (isunsigned) ? SQL_UNSIGNED_OFFSET : SQL_SIGNED_OFFSET; + break; + /* LOB types are not changed to C types */ + case SQL_LONGVARCHAR: + type = SQL_LONGVARCHAR; + break; + case SQL_LONGVARBINARY: + type = SQL_LONGVARBINARY; + break; + case SQL_FLOAT : + type = SQL_C_FLOAT; + break; + case SQL_DOUBLE : + type = SQL_C_DOUBLE; + break; + + /* DBD wants times as strings */ + case SQL_TIMESTAMP: + case SQL_DATE: + case SQL_TIME: + default: + type = SQL_C_CHAR; + } + + res->coltypes[icol] = type; + + /* 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) + 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)) + realsize = textsize; + + maxsize = (textsize > realsize) ? textsize : realsize; + 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 ) + maxsize = APR_BUCKET_BUFF_SIZE; + + res->colptrs[icol] = NULL; + res->colstate[icol] = COL_AVAIL; + res->colsizes[icol] = maxsize; + rc = SQL_SUCCESS; + } + else { + res->colptrs[icol] = apr_pcalloc(res->pool, maxsize); + res->colsizes[icol] = maxsize; + if (res->apr_dbd->dboptions & SQL_GD_BOUND) { + /* 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]) ); + 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 */ + res->colstate[icol] = COL_AVAIL; + rc = SQL_SUCCESS; + } + } + return rc; +} + +/* 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) +{ + SQLRETURN rc; + SQLSMALLINT ncols; + + *res = apr_pcalloc(pool, sizeof(apr_dbd_results_t)); + (*res)->stmt = hstmt; + (*res)->dbc = handle->dbc; + (*res)->pool = pool; + (*res)->random = random; + (*res)->apr_dbd = handle; + rc = SQLNumResultCols(hstmt, &ncols); + CHECK_ERROR(handle, "SQLNumResultCols", rc, SQL_HANDLE_STMT, hstmt); + (*res)->ncols = ncols; + + if SQL_SUCCEEDED(rc) { + int i; + + (*res)->colnames = apr_pcalloc(pool, ncols * sizeof(char *)); + (*res)->colptrs = apr_pcalloc(pool, ncols * sizeof(void *)); + (*res)->colsizes = apr_pcalloc(pool, ncols * sizeof(SQLINTEGER)); + (*res)->coltypes = apr_pcalloc(pool, ncols * sizeof(SQLSMALLINT)); + (*res)->colinds = apr_pcalloc(pool, ncols * sizeof(SQLLEN)); + (*res)->colstate = apr_pcalloc(pool, ncols * sizeof(int)); + (*res)->ncols = ncols; + + 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, + const SQLSMALLINT type, int *argp, + const void **args, const int textmode) +{ + SQLRETURN rc; + SQLSMALLINT baseType, cType; + void *ptr; + SQLUINTEGER len; + SQLINTEGER *indicator; + static SQLINTEGER nullValue = SQL_NULL_DATA; + static SQLSMALLINT inOut = SQL_PARAM_INPUT; /* only input params */ + + /* bind a NULL data value */ + if (args[*argp] == NULL || type == APR_DBD_TYPE_NULL) { + baseType = SQL_CHAR; + cType = SQL_C_CHAR; + ptr = &nullValue; + len = sizeof(SQLINTEGER); + indicator = &nullValue; + (*argp)++; + } + /* bind a non-NULL data value */ + else { + baseType = sqlBaseType[type]; + cType = sqlCtype[type]; + indicator = NULL; + /* LOBs */ + if (IS_LOB(cType)) { + ptr = (void *) args[*argp]; + len = (SQLUINTEGER) * (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) */ + } + /* non-LOBs */ + else { + switch (baseType) { + case SQL_CHAR: + case SQL_DATE: + case SQL_TIME: + case SQL_TIMESTAMP: + ptr = (void *) args[*argp]; + len = (SQLUINTEGER) strlen(ptr); + break; + case SQL_TINYINT: + ptr = apr_palloc(pool, sizeof(unsigned char)); + len = sizeof(unsigned char); + *(unsigned char *) ptr = + (textmode ? + 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]); + break; + case SQL_INTEGER: + ptr = apr_palloc(pool, sizeof(int)); + len = sizeof(int); + *(long *) ptr = + (textmode ? atol(args[*argp]) : *(long *) args[*argp]); + break; + case SQL_FLOAT: + ptr = apr_palloc(pool, sizeof(float)); + len = sizeof(float); + *(float *) ptr = + (textmode ? + (float) atof(args[*argp]) : *(float *) args[*argp]); + break; + case SQL_DOUBLE: + ptr = apr_palloc(pool, sizeof(double)); + len = sizeof(double); + *(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 = + (textmode ? + apr_atoi64(args[*argp]) : *(apr_int64_t *) args[*argp]); + break; + default: + return APR_EGENERAL; + } + (*argp)++; /* non LOBs consume one argument */ + } + } + rc = SQLBindParameter(statement->stmt, narg, inOut, cType, + baseType, len, 0, ptr, len, indicator); + CHECK_ERROR(statement->apr_dbd, "SQLBindParameter", rc, SQL_HANDLE_STMT, + statement->stmt); + return rc; +} + +/* LOB / Bucket Brigade functions */ + + + +/* bucket type specific destroy */ +static void odbc_lob_bucket_destroy(void *data) +{ + odbc_bucket *bd = data; + + if (apr_bucket_shared_destroy(bd)) + apr_bucket_free(bd); +} + +/* 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; + + /* Unlikely - but if the row pool is ancestor of this pool then it is OK */ + if (apr_pool_is_ancestor(bd->row->pool, pool)) + return APR_SUCCESS; + + return apr_bucket_setaside_notimpl(e, pool); +} + +/* split a bucket into a heap bucket followed by a LOB bkt w/remaining data */ +static apr_status_t odbc_lob_bucket_read(apr_bucket *e, const char **str, + apr_size_t *len, apr_read_type_e block) +{ + SQLRETURN rc; + SQLINTEGER len_indicator; + SQLSMALLINT type; + odbc_bucket *bd = (odbc_bucket *) e->data; + apr_bucket *nxt; + void *buf; + int bufsize = bd->row->res->apr_dbd->defaultBufferSize; + int eos; + + /* C type is CHAR for CLOBs, DEFAULT for BLOBs */ + type = bd->row->res->coltypes[bd->col]; + type = (type == SQL_LONGVARCHAR) ? SQL_C_CHAR : SQL_C_DEFAULT; + + /* 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; + + buf = apr_bucket_alloc(bufsize, e->list); + *str = NULL; + *len = 0; + + rc = SQLGetData(bd->row->res->stmt, bd->col + 1, + type, buf, bufsize, + &len_indicator); + + CHECK_ERROR(bd->row->res->apr_dbd, "SQLGetData", rc, + SQL_HANDLE_STMT, bd->row->res->stmt); + + if (rc == SQL_NO_DATA || len_indicator == SQL_NULL_DATA || len_indicator < 0) + len_indicator = 0; + + if (SQL_SUCCEEDED(rc) || rc == SQL_NO_DATA) { + + if (rc == SQL_SUCCESS_WITH_INFO + && ( 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 ); + + eos = 0; + } + else { + /* the last read - len_indicator is supposed to be the length, + * but some driver get this wrong and return the total length. + * We try to handle both interpretations. + */ + *len = (len_indicator > bufsize + && len_indicator >= (SQLINTEGER) e->start) + ? (len_indicator - (SQLINTEGER) e->start) : len_indicator; + + eos = 1; + } + + if (!eos) { + /* Create a new LOB bucket to append and append it */ + nxt = apr_bucket_alloc(sizeof(apr_bucket *), e->list); + APR_BUCKET_INIT(nxt); + nxt->length = -1; + nxt->data = e->data; + nxt->type = &odbc_bucket_type; + nxt->free = apr_bucket_free; + nxt->list = e->list; + nxt->start = e->start + *len; + APR_BUCKET_INSERT_AFTER(e, nxt); + } + else { + odbc_lob_bucket_destroy(e->data); + } + /* make current bucket into a heap bucket */ + apr_bucket_heap_make(e, buf, *len, apr_bucket_free); + *str = buf; + + /* No data is success in this context */ + rc = SQL_SUCCESS; + } + return APR_FROM_SQL_RESULT(rc); +} + +/* Create a bucket brigade on the row pool for a LOB column */ +static apr_status_t odbc_create_bucket(const apr_dbd_row_t *row, const int col, + SQLSMALLINT type, apr_bucket_brigade *bb) +{ + apr_bucket_alloc_t *list = bb->bucket_alloc; + apr_bucket *b = apr_bucket_alloc(sizeof(*b), list); + 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; + b->list = list; + /* LOB lengths are unknown in ODBC */ + b = apr_bucket_shared_make(b, bd, 0, -1); + + APR_BRIGADE_INSERT_TAIL(bb, b); + APR_BRIGADE_INSERT_TAIL(bb, eos); + + return APR_SUCCESS; +} + +/* returns a data pointer for a column, returns NULL for NULL value, + * return -1 if data not available */ +static void *odbc_get(const apr_dbd_row_t *row, const int col, + const SQLSMALLINT sqltype) +{ + SQLRETURN rc; + SQLINTEGER indicator; + int state = row->res->colstate[col]; + int options = row->res->apr_dbd->dboptions; + + switch (state) { + case (COL_UNAVAIL) : return (void *) -1; + case (COL_RETRIEVED) : return NULL; + + 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; + return (row->res->colinds[col] == SQL_NULL_DATA) ? + NULL : row->res->colptrs[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 */ + int i; + for (i = 0; i < col; i++) { + if (row->res->colstate[i] == COL_AVAIL) { + if (IS_LOB(row->res->coltypes[i])) + row->res->colstate[i] = COL_UNAVAIL; + else { + odbc_get(row, i, row->res->coltypes[i]); + row->res->colstate[i] = COL_PRESENT; + } + } + } + } + + if ((state == COL_BOUND && !(options & SQL_GD_BOUND))) + /* this driver won't let us re-get bound columns */ + return (void *) -1; + + /* a LOB might not have a buffer allocated yet - so create one */ + if (!row->res->colptrs[col]) + row->res->colptrs[col] = apr_pcalloc(row->pool, row->res->colsizes[col]); + + rc = SQLGetData(row->res->stmt, col + 1, sqltype, row->res->colptrs[col], + row->res->colsizes[col], &indicator); + CHECK_ERROR(row->res->apr_dbd, "SQLGetData", rc, SQL_HANDLE_STMT, + row->res->stmt); + if (indicator == SQL_NULL_DATA || rc == SQL_NO_DATA) + return NULL; + + if (SQL_SUCCEEDED(rc)) { + /* 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 */ + row->res->colstate[col] = + (rc == SQL_SUCCESS_WITH_INFO) ? COL_AVAIL : COL_RETRIEVED; + return row->res->colptrs[col]; + } + else return (void *) -1; +} + +/* Parse the parameter string for open */ +static apr_status_t odbc_parse_params(apr_pool_t *pool, const char *params, + int *connect, SQLCHAR **datasource, + SQLCHAR **user, SQLCHAR **password, + int *defaultBufferSize, int *nattrs, + int **attrs, int **attrvals) +{ + char *seps, *last, *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)); + *nattrs = 0; + seps = DEFAULTSEPS; + name[nparams] = apr_strtok(apr_pstrdup(pool, params), seps, &last); + do { + if (last[strspn(last, seps)] == CSINGLEQUOTE) { + last += strspn(last, seps); + seps=SSINGLEQUOTE; + } + 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; + } + else if (!apr_strnatcasecmp(name[i], "DATASOURCE")) + { *datasource = (SQLCHAR *)apr_pstrdup(pool, val[i]); + *connect=0; + } + else if (!apr_strnatcasecmp(name[i], "USER")) + *user = (SQLCHAR *)apr_pstrdup(pool, val[i]); + else if (!apr_strnatcasecmp(name[i], "PASSWORD")) + *password = (SQLCHAR *)apr_pstrdup(pool, val[i]); + 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")) + (*attrvals)[j] = SQL_MODE_READ_ONLY; + else if (!apr_strnatcasecmp(val[i], "READ_WRITE")) + (*attrvals)[j] = SQL_MODE_READ_WRITE; + else return SQL_ERROR; + (*attrs)[j++] = SQL_ATTR_ACCESS_MODE; + } + 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]); + (*attrs)[j++] = SQL_ATTR_CONNECTION_TIMEOUT; + } + 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; + else if (!apr_strnatcasecmp(val[i], "REPEATABLE_READ")) + (*attrvals)[j] = SQL_TXN_REPEATABLE_READ; + else if (!apr_strnatcasecmp(val[i], "SERIALIZABLE")) + (*attrvals)[j] = SQL_TXN_SERIALIZABLE; + else if (!apr_strnatcasecmp(val[i], "DEFAULT")) + continue; + else return SQL_ERROR; + (*attrs)[j++] = SQL_ATTR_TXN_ISOLATION; + } + else return SQL_ERROR; + } + *nattrs = j; + return (*datasource && *defaultBufferSize) ? APR_SUCCESS : SQL_ERROR; +} + +/* common handling after ODBC calls - save error info (code and text) in dbc */ +static void check_error(apr_dbd_t *dbc, const char *step, SQLRETURN rc, + SQLSMALLINT type, SQLHANDLE h, int line) +{ + SQLCHAR buffer[512]; + SQLCHAR sqlstate[128]; + SQLINTEGER native; + SQLSMALLINT reslength; + 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 "; + dbc->lasterrorcode = SQL_SUCCESS; + strcpy(dbc->lastError, successMsg); + strcpy(dbc->lastError+sizeof(successMsg)-1, step); + 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"; } + } + /* these two returns are expected during normal execution */ + if (rc != SQL_SUCCESS_WITH_INFO && rc != SQL_NO_DATA) + dbc->can_commit = 0; + 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++) { + rc = SQLGetDiagRec(type, h, i, sqlstate, &native, buffer, + sizeof(buffer), &reslength); + 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); + /* 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); + apr_file_printf(se, "[%s] %s\n", timestamp, dbc->lastError); + } +} + +/* +* public functions per DBD driver API +*/ + +/** init: allow driver to perform once-only initialisation. **/ +static void odbc_init(apr_pool_t *pool) +{ + SQLRETURN rc; + char *step; + apr_version_t apuver; + + apu_version(&apuver); + if (apuver.major != DRIVER_APU_VERSION_MAJOR + || apuver.minor != DRIVER_APU_VERSION_MINOR) { + apr_file_t *se; + + apr_file_open_stderr(&se, pool); + apr_file_printf(se, "Incorrect " ODBC_DRIVER_STRING " dbd driver version\n" + "Attempt to load APU version %d.%d driver with APU version %d.%d\n", + DRIVER_APU_VERSION_MAJOR, DRIVER_APU_VERSION_MINOR, + apuver.major, apuver.minor); + abort(); + } + + if (henv) + return; + + 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"; + rc = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION, + (SQLPOINTER) SQL_OV_ODBC3, 0); + } + else + { apr_dbd_t tmp_dbc; + SQLHANDLE err_h = henv; + + tmp_dbc.pool = pool; + tmp_dbc.dbname = NULL; + CHECK_ERROR(&tmp_dbc, step, rc, SQL_HANDLE_ENV, err_h); + } +} + +/** native_handle: return the native database handle of the underlying db **/ +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. +*/ + +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; + char *err_step; + int err_htype, i; + 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; + + 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_htype = SQL_HANDLE_DBC; + err_h = hdbc; + rc = odbc_parse_params(pool, params, &connect, &datasource, &user, + &password, &defaultBufferSize, &nattrs, &attrs, + &attrvals); + } + if (SQL_SUCCEEDED(rc)) { + 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], (void *) attrvals[i], 0); + } + } + if (SQL_SUCCEEDED(rc)) { + if (connect) { + SQLCHAR out[1024]; + SQLSMALLINT outlen; + err_step="SQLDriverConnect"; + err_htype = SQL_HANDLE_DBC; + err_h = hdbc; + rc = SQLDriverConnect(hdbc, NULL, datasource, + (SQLSMALLINT) strlen((char *)datasource), + out, sizeof(out), &outlen, SQL_DRIVER_NOPROMPT); + } + else { + 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)); + } + } + if (SQL_SUCCEEDED(rc)) { + handle = apr_pcalloc(pool, sizeof(apr_dbd_t)); + handle->dbname = apr_pstrdup(pool, (char *)datasource); + handle->dbc = hdbc; + handle->pool = pool; + handle->defaultBufferSize = defaultBufferSize; + CHECK_ERROR(handle, "SQLConnect", rc, SQL_HANDLE_DBC, handle->dbc); + handle->default_transaction_mode = 0; + SQLGetInfo(hdbc, SQL_DEFAULT_TXN_ISOLATION, + &(handle->default_transaction_mode), sizeof(int), NULL); + handle->transaction_mode = handle->default_transaction_mode; + SQLGetInfo(hdbc, SQL_GETDATA_EXTENSIONS ,&(handle->dboptions), + sizeof(int), NULL); + apr_pool_cleanup_register(pool, handle, odbc_close_cleanup, apr_pool_cleanup_null); + return handle; + } + 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); + if (error) + *error = apr_pstrdup(pool, tmp_dbc.lastError); + if (hdbc) + SQLFreeHandle(SQL_HANDLE_DBC, hdbc); + return NULL; + } +} + +/** check_conn: check status of a database connection **/ +static apr_status_t odbc_check_conn(apr_pool_t *pool, apr_dbd_t *handle) +{ + SQLUINTEGER isDead; + SQLRETURN rc; + + rc = SQLGetConnectAttr(handle->dbc, SQL_ATTR_CONNECTION_DEAD, &isDead, + sizeof(SQLUINTEGER), NULL); + CHECK_ERROR(handle, "SQLGetConnectAttr (SQL_ATTR_CONNECTION_DEAD)", rc, + SQL_HANDLE_DBC, handle->dbc); + /* if driver cannot check connection, say so */ + if (rc != SQL_SUCCESS) + return APR_ENOTIMPL; + + 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, + const char *name) +{ + if (apr_strnatcmp(name, handle->dbname)) { + return APR_EGENERAL; /* It's illegal to change dbname in ODBC */ + } + CHECK_ERROR(handle, "set_dbname (no-op)", SQL_SUCCESS, SQL_HANDLE_DBC, + handle->dbc); + return APR_SUCCESS; /* OK if it's the same name */ +} + +/** transaction: start a transaction. May be a no-op. **/ +static int odbc_start_transaction(apr_pool_t *pool, apr_dbd_t *handle, + apr_dbd_transaction_t **trans) +{ + SQLRETURN rc = SQL_SUCCESS; + + if (handle->transaction_mode) { + rc = SQLSetConnectAttr(handle->dbc, SQL_ATTR_TXN_ISOLATION, (void *) + handle->transaction_mode, 0); + CHECK_ERROR(handle, "SQLSetConnectAttr (SQL_ATTR_TXN_ISOLATION)", rc, + SQL_HANDLE_DBC, handle->dbc); + } + 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) { + *trans = apr_palloc(pool, sizeof(apr_dbd_transaction_t)); + (*trans)->dbc = handle->dbc; + (*trans)->apr_dbd = handle; + handle->can_commit = 1; + } + return APR_FROM_SQL_RESULT(rc); +}; + + +/** end_transaction: end a transaction **/ +static int odbc_end_transaction(apr_dbd_transaction_t *trans) +{ + SQLRETURN rc; + + rc = SQLEndTran(SQL_HANDLE_DBC, trans->dbc, SQL_COMMIT); + CHECK_ERROR(trans->apr_dbd, "SQLEndTran", rc, SQL_HANDLE_DBC, trans->dbc); + if SQL_SUCCEEDED(rc) { + rc = SQLSetConnectAttr(trans->dbc, SQL_ATTR_AUTOCOMMIT, + (SQLPOINTER) SQL_AUTOCOMMIT_ON, 0); + CHECK_ERROR(trans->apr_dbd, "SQLSetConnectAttr (SQL_ATTR_AUTOCOMMIT)", + rc, SQL_HANDLE_DBC, trans->dbc); + } + return APR_FROM_SQL_RESULT(rc); +} + +/** query: execute an SQL statement which doesn't return a result set **/ +static int odbc_query(apr_dbd_t *handle, int *nrows, const char *statement) +{ + SQLRETURN rc; + SQLHANDLE hstmt = NULL; + size_t len = strlen(statement); + + rc = SQLAllocHandle(SQL_HANDLE_STMT, handle->dbc, &hstmt); + CHECK_ERROR(handle, "SQLAllocHandle (STMT)", rc, SQL_HANDLE_DBC, + handle->dbc); + if (!SQL_SUCCEEDED(rc)) + return APR_FROM_SQL_RESULT(rc); + + rc = SQLExecDirect(hstmt, (SQLCHAR *) statement, (SQLINTEGER) len); + CHECK_ERROR(handle, "SQLExecDirect", rc, SQL_HANDLE_STMT, hstmt); + + if SQL_SUCCEEDED(rc) { + rc = SQLRowCount(hstmt, (SQLINTEGER *) nrows); + CHECK_ERROR(handle, "SQLRowCount", rc, SQL_HANDLE_STMT, hstmt); + } + + SQLFreeHandle(SQL_HANDLE_STMT, hstmt); + return APR_FROM_SQL_RESULT(rc); +} + +/** select: execute an SQL statement which returns a result set **/ +static int odbc_select(apr_pool_t *pool, apr_dbd_t *handle, + apr_dbd_results_t **res, const char *statement, + int random) +{ + SQLRETURN rc; + SQLHANDLE hstmt; + apr_dbd_prepared_t *stmt; + size_t len = strlen(statement); + + rc = SQLAllocHandle(SQL_HANDLE_STMT, handle->dbc, &hstmt); + CHECK_ERROR(handle, "SQLAllocHandle (STMT)", rc, SQL_HANDLE_DBC, + handle->dbc); + 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. + */ + stmt = apr_pcalloc(pool, sizeof(apr_dbd_prepared_t)); + stmt->apr_dbd = handle; + stmt->dbc = handle->dbc; + stmt->stmt = hstmt; + 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); + CHECK_ERROR(handle, "SQLSetStmtAttr (SQL_ATTR_CURSOR_SCROLLABLE)", rc, + SQL_HANDLE_STMT, hstmt); + } + if SQL_SUCCEEDED(rc) { + rc = SQLExecDirect(hstmt, (SQLCHAR *) statement, (SQLINTEGER) len); + CHECK_ERROR(handle, "SQLExecDirect", rc, SQL_HANDLE_STMT, hstmt); + } + 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); + } + return APR_FROM_SQL_RESULT(rc); +} + +/** num_cols: get the number of columns in a results set **/ +static int odbc_num_cols(apr_dbd_results_t *res) +{ + return res->ncols; +} + +/** num_tuples: get the number of rows in a results set **/ +static int odbc_num_tuples(apr_dbd_results_t *res) +{ + SQLRETURN rc; + SQLINTEGER nrows; + + rc = SQLRowCount(res->stmt, &nrows); + CHECK_ERROR(res->apr_dbd, "SQLRowCount", rc, SQL_HANDLE_STMT, res->stmt); + 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) +{ + SQLRETURN rc; + char *fetchtype; + int c; + + *row = apr_pcalloc(pool, sizeof(apr_dbd_row_t)); + (*row)->stmt = res->stmt; + (*row)->dbc = res->dbc; + (*row)->res = res; + (*row)->pool = res->pool; + + /* mark all the columns as needing SQLGetData unless they are bound */ + for (c = 0; c < res->ncols; c++) { + 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; + } + + if (res->random && (rownum > 0)) { + fetchtype = "SQLFetchScroll"; + rc = SQLFetchScroll(res->stmt, SQL_FETCH_ABSOLUTE, rownum); + } + else { + fetchtype = "SQLFetch"; + rc = SQLFetch(res->stmt); + } + CHECK_ERROR(res->apr_dbd, fetchtype, rc, SQL_HANDLE_STMT, res->stmt); + (*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 */ + odbc_close_results(res); + return -1; + } + return SQL_SUCCEEDED(rc) ? 0 : -1; +} + +/** datum_get: get a binary entry from a row **/ +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]; + + if (col >= row->res->ncols) + return APR_EGENERAL; + + if (dbdtype < 0 || dbdtype >= sizeof(sqlCtype)) { + data = NULL; /* invalid type */ + return APR_EGENERAL; + } + sqltype = sqlCtype[dbdtype]; + + /* must not memcpy a brigade, sentinals are relative to orig loc */ + if (IS_LOB(sqltype)) + return odbc_create_bucket(row, col, sqltype, data); + + p = odbc_get(row, col, sqltype); + if (p == (void *) -1) + return APR_EGENERAL; + + if (p == NULL) + return APR_ENOENT; /* SQL NULL value */ + + if (len < 0) + strcpy(data, p); + else + memcpy(data, p, len); + + return APR_SUCCESS; + +} + +/** get_entry: get an entry from a row (string data) **/ +static const char *odbc_get_entry(const apr_dbd_row_t * row, int col) +{ + void *p; + + if (col >= row->res->ncols) + return NULL; + + p = odbc_get(row, col, SQL_C_CHAR); + + /* NULL or invalid (-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) +{ + 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) +{ + char *newstr, *src, *dst, *sq; + int qcount; + + /* return the original if there are no single-quotes */ + if (!(sq = strchr(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++) { + if ((*dst++ = *src) == '\'') + *dst++ = '\''; + } + *dst = 0; + return newstr; +} +/** prepare: prepare a statement **/ +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) +{ + SQLRETURN rc; + size_t len = strlen(query); + + *statement = apr_pcalloc(pool, sizeof(apr_dbd_prepared_t)); + (*statement)->dbc = handle->dbc; + (*statement)->apr_dbd = handle; + (*statement)->nargs = nargs; + (*statement)->nvals = nvals; + (*statement)->types = + apr_pmemdup(pool, types, nargs * sizeof(apr_dbd_type_e)); + rc = SQLAllocHandle(SQL_HANDLE_STMT, handle->dbc, &((*statement)->stmt)); + apr_pool_cleanup_register(pool, *statement, + 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); + 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) +{ + SQLRETURN rc = SQL_SUCCESS; + int i, argp; + + 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); + } + if (SQL_SUCCEEDED(rc)) { + rc = SQLExecute(statement->stmt); + CHECK_ERROR(handle, "SQLExecute", rc, SQL_HANDLE_STMT, + statement->stmt); + } + if (SQL_SUCCEEDED(rc)) { + rc = SQLRowCount(statement->stmt, (SQLINTEGER *) nrows); + 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) +{ + 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 *); + return odbc_pquery(pool, handle, nrows, statement, values); +} + +/** pselect: select using a prepared statement + args **/ +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; + int i, argp; + + if (random) { + rc = SQLSetStmtAttr(statement->stmt, SQL_ATTR_CURSOR_SCROLLABLE, + (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++) + rc = odbc_bind_param(pool, statement, i + 1, statement->types[i], + &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, + 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 *); + return odbc_pselect(pool, handle, res, statement, random, values); +} + +/** get_name: get a column title from a result set **/ +static const char *odbc_get_name(const apr_dbd_results_t * res, int col) +{ + SQLRETURN rc; + char buffer[MAX_COLUMN_NAME]; + SQLSMALLINT colnamelength, coltype, coldecimal, colnullable; + SQLUINTEGER colsize; + + if (col >= res->ncols) + return NULL; /* bogus column number */ + if (res->colnames[col] != NULL) + return res->colnames[col]; /* we already retrieved it */ + rc = SQLDescribeCol(res->stmt, col + 1, + (SQLCHAR *)buffer, sizeof(buffer), &colnamelength, + &coltype, &colsize, &coldecimal, &colnullable); + CHECK_ERROR(res->apr_dbd, "SQLDescribeCol", rc, + SQL_HANDLE_STMT, res->stmt); + res->colnames[col] = apr_pstrdup(res->pool, buffer); + return res->colnames[col]; +} + +/** transaction_mode_get: get the mode of transaction **/ +static int odbc_transaction_mode_get(apr_dbd_transaction_t * trans) +{ + return (int) trans->apr_dbd->transaction_mode; +} + +/** transaction_mode_set: set the mode of transaction **/ +static int odbc_transaction_mode_set(apr_dbd_transaction_t * trans, int mode) +{ + SQLRETURN rc; + + int legal = (SQL_TXN_READ_UNCOMMITTED | SQL_TXN_READ_COMMITTED + | SQL_TXN_REPEATABLE_READ | SQL_TXN_SERIALIZABLE); + + if ((mode & legal) != mode) + return APR_EGENERAL; + + trans->apr_dbd->transaction_mode = mode; + rc = SQLSetConnectAttr(trans->dbc, SQL_ATTR_TXN_ISOLATION, + (void *) mode, 0); + CHECK_ERROR(trans->apr_dbd, "SQLSetConnectAttr (SQL_ATTR_TXN_ISOLATION)", + rc, SQL_HANDLE_DBC, trans->dbc); + return APR_FROM_SQL_RESULT(rc); +} + +/** 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) +{ + SQLRETURN rc = SQL_SUCCESS; + int i, argp; + + for (i = argp = 0; i < statement->nargs && SQL_SUCCEEDED(rc); i++) + 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 = SQLRowCount(statement->stmt, (SQLINTEGER *) nrows); + 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, + int random, const void **args) +{ + SQLRETURN rc = SQL_SUCCESS; + int i, argp; + + if (random) { + rc = SQLSetStmtAttr(statement->stmt, SQL_ATTR_CURSOR_SCROLLABLE, + (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++) { + 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) +{ + 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 *); + 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, + int random, 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 *); + return odbc_pbselect(pool, handle, res, statement, random, (const void **) values); +} + +APU_MODULE_DECLARE_DATA const apr_dbd_driver_t ODBC_DRIVER_ENTRY = { + ODBC_DRIVER_STRING, + odbc_init, + odbc_native_handle, + odbc_open, + odbc_check_conn, + odbc_close, + odbc_set_dbname, + odbc_start_transaction, + odbc_end_transaction, + odbc_query, + odbc_select, + odbc_num_cols, + odbc_num_tuples, + odbc_get_row, + odbc_get_entry, + odbc_error, + odbc_escape, + odbc_prepare, + odbc_pvquery, + odbc_pvselect, + odbc_pquery, + odbc_pselect, + odbc_get_name, + odbc_transaction_mode_get, + odbc_transaction_mode_set, + "?", + odbc_pvbquery, + odbc_pvbselect, + odbc_pbquery, + odbc_pbselect, + odbc_datum_get +}; + +#endif diff --git a/srclib/apr-util/dbd/apr_dbd_odbc.dsp b/srclib/apr-util/dbd/apr_dbd_odbc.dsp new file mode 100644 index 00000000..591abe76 --- /dev/null +++ b/srclib/apr-util/dbd/apr_dbd_odbc.dsp @@ -0,0 +1,191 @@ +# Microsoft Developer Studio Project File - Name="apr_dbd_odbc" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=apr_dbd_odbc - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "apr_dbd_odbc.mak". +!MESSAGE +!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_dbd_odbc.mak" CFG="apr_dbd_odbc - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "apr_dbd_odbc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "apr_dbd_odbc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "apr_dbd_odbc - x64 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "apr_dbd_odbc - x64 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "apr_dbd_odbc - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c +# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../../apr/include" /I "../include/private" /D "NDEBUG" /D "HAVE_SQL_H" /D "WIN32" /D "_WINDOWS" /D "APU_DBD_DSO_BUILD" /D APU_HAVE_ODBC=1 /Fo"$(INTDIR)\" /Fd"$(INTDIR)\apr_dbd_odbc_src" /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /fo"Release/apr_dbd_odbc-1.res" /d DLL_NAME="apr_dbd_odbc" /d "NDEBUG" /d "APU_VERSION_ONLY" /I "../include" /I "../../apr/include" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug /out:"Release\apr_dbd_odbc-1.dll" /implib:"Release\apr_dbd_odbc-1.lib" /MACHINE:X86 /opt:ref +# Begin Special Build Tool +TargetPath=Release\apr_dbd_odbc-1.dll +SOURCE="$(InputPath)" +PostBuild_Desc=Embed .manifest +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +# End Special Build Tool + +!ELSEIF "$(CFG)" == "apr_dbd_odbc - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /EHsc /c +# ADD CPP /nologo /MDd /W3 /Zi /Od /I "../include" /I "../../apr/include" /I "../include/private" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "APU_DBD_DSO_BUILD" /D APU_HAVE_ODBC=1 /D "HAVE_SQL_H" /Fo"$(INTDIR)\" /Fd"$(INTDIR)\apr_dbd_odbc_src" /FD /EHsc /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /fo"Debug/apr_dbd_odbc-1.res" /d DLL_NAME="apr_dbd_odbc" /d "_DEBUG" /d "APU_VERSION_ONLY" /I "../include" /I "../../apr/include" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug /out:"Debug\apr_dbd_odbc-1.dll" /implib:"Debug\apr_dbd_odbc-1.lib" /MACHINE:X86 +# Begin Special Build Tool +TargetPath=Debug\apr_dbd_odbc-1.dll +SOURCE="$(InputPath)" +PostBuild_Desc=Embed .manifest +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +# End Special Build Tool + +!ELSEIF "$(CFG)" == "apr_dbd_odbc - x64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "x64\Release" +# PROP BASE Intermediate_Dir "x64\Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "x64\Release" +# PROP Intermediate_Dir "x64\Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c +# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "../include" /I "../../apr/include" /I "../include/private" /D "NDEBUG" /D "HAVE_SQL_H" /D "WIN32" /D "_WINDOWS" /D "APU_DBD_DSO_BUILD" /D APU_HAVE_ODBC=1 /Fo"$(INTDIR)\" /Fd"$(INTDIR)\apr_dbd_odbc_src" /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /fo"x64\Release/apr_dbd_odbc-1.res" /d DLL_NAME="apr_dbd_odbc" /d "NDEBUG" /d "APU_VERSION_ONLY" /I "../include" /I "../../apr/include" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug /out:"x64\Release\apr_dbd_odbc-1.dll" /implib:"x64\Release\apr_dbd_odbc-1.lib" /MACHINE:X64 /opt:ref +# Begin Special Build Tool +TargetPath=x64\Release\apr_dbd_odbc-1.dll +SOURCE="$(InputPath)" +PostBuild_Desc=Embed .manifest +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +# End Special Build Tool + +!ELSEIF "$(CFG)" == "apr_dbd_odbc - x64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "x64\Debug" +# PROP BASE Intermediate_Dir "x64\Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "x64\Debug" +# PROP Intermediate_Dir "x64\Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /EHsc /c +# ADD CPP /nologo /MDd /W3 /Zi /Od /I "../include" /I "../../apr/include" /I "../include/private" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "APU_DBD_DSO_BUILD" /D APU_HAVE_ODBC=1 /D "HAVE_SQL_H" /Fo"$(INTDIR)\" /Fd"$(INTDIR)\apr_dbd_odbc_src" /FD /EHsc /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /fo"x64/debug/apr_dbd_odbc-1.res" /d DLL_NAME="apr_dbd_odbc" /d "_DEBUG" /d "APU_VERSION_ONLY" /I "../include" /I "../../apr/include" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug +# ADD LINK32 kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib odbc32.lib odbccp32.lib /nologo /base:"0x6EF00000" /subsystem:windows /dll /incremental:no /debug /out:"x64\Debug\apr_dbd_odbc-1.dll" /implib:"x64\Debug\apr_dbd_odbc-1.lib" /MACHINE:X64 +# Begin Special Build Tool +TargetPath=x64\Debug\apr_dbd_odbc-1.dll +SOURCE="$(InputPath)" +PostBuild_Desc=Embed .manifest +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +# End Special Build Tool + +!ENDIF + +# Begin Target + +# Name "apr_dbd_odbc - Win32 Release" +# Name "apr_dbd_odbc - Win32 Debug" +# Name "apr_dbd_odbc - x64 Release" +# Name "apr_dbd_odbc - x64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\apr_dbd_odbc.c +# End Source File +# End Group +# Begin Group "Public Header Files" + +# PROP Default_Filter ".h" +# Begin Source File + +SOURCE=..\include\apr_dbd.h +# End Source File +# End Group +# Begin Group "Internal Header Files" + +# PROP Default_Filter ".h" +# End Group +# End Target +# End Project diff --git a/srclib/apr-util/dbd/apr_dbd_oracle.c b/srclib/apr-util/dbd/apr_dbd_oracle.c index 3c5613fb..7ef05f96 100644 --- a/srclib/apr-util/dbd/apr_dbd_oracle.c +++ b/srclib/apr-util/dbd/apr_dbd_oracle.c @@ -60,6 +60,7 @@ #include <oci.h> #include "apr_strings.h" +#include "apr_lib.h" #include "apr_time.h" #include "apr_hash.h" #include "apr_buckets.h" @@ -262,7 +263,7 @@ static apr_status_t lob_bucket_read(apr_bucket *e, const char **str, /* fetch from offset if not at the beginning */ buf = apr_palloc(row->pool, APR_BUCKET_BUFF_SIZE); sql->status = OCILobRead(sql->svc, sql->err, val->buf.lobval, - &length, 1 + boffset, + &length, 1 + (size_t)boffset, (dvoid*) buf, APR_BUCKET_BUFF_SIZE, NULL, NULL, 0, SQLCS_IMPLICIT); /* Only with 10g, unfortunately @@ -407,9 +408,9 @@ static apr_dbd_t *dbd_oracle_open(apr_pool_t *pool, const char *params, ++ptr; continue; } - for (key = ptr-1; isspace(*key); --key); + for (key = ptr-1; apr_isspace(*key); --key); klen = 0; - while (isalpha(*key)) { + while (apr_isalpha(*key)) { if (key == params) { /* Don't parse off the front of the params */ --key; @@ -420,7 +421,7 @@ static apr_dbd_t *dbd_oracle_open(apr_pool_t *pool, const char *params, ++klen; } ++key; - for (value = ptr+1; isspace(*value); ++value); + for (value = ptr+1; apr_isspace(*value); ++value); vlen = strcspn(value, delims); for (i=0; fields[i].field != NULL; ++i) { if (!strncasecmp(fields[i].field, key, klen)) { @@ -995,7 +996,7 @@ static int outputParams(apr_dbd_t *sql, apr_dbd_prepared_t *stmt) int i; ub2 paramtype[DBD_ORACLE_MAX_COLUMNS]; ub2 paramsize[DBD_ORACLE_MAX_COLUMNS]; - const char *paramname[DBD_ORACLE_MAX_COLUMNS]; + char *paramname[DBD_ORACLE_MAX_COLUMNS]; ub4 paramnamelen[DBD_ORACLE_MAX_COLUMNS]; int_errorcode; @@ -2018,7 +2019,7 @@ static apr_status_t dbd_oracle_datum_get(const apr_dbd_row_t *row, int n, if (entry == NULL) { return APR_ENOENT; } - *(float*)data = atof(entry); + *(float*)data = (float)atof(entry); break; case APR_DBD_TYPE_DOUBLE: entry = dbd_oracle_get_entry(row, n); diff --git a/srclib/apr-util/dbd/apr_dbd_pgsql.c b/srclib/apr-util/dbd/apr_dbd_pgsql.c index 15a8f0b5..daf0dab0 100644 --- a/srclib/apr-util/dbd/apr_dbd_pgsql.c +++ b/srclib/apr-util/dbd/apr_dbd_pgsql.c @@ -258,7 +258,7 @@ static int dbd_pgsql_get_row(apr_pool_t *pool, apr_dbd_results_t *res, } if (res->random) { - if (row->n >= res->ntuples) { + if ((row->n >= 0) && (size_t)row->n >= res->ntuples) { *rowp = NULL; apr_pool_cleanup_run(pool, res->res, clear_result); res->res = NULL; @@ -266,7 +266,7 @@ static int dbd_pgsql_get_row(apr_pool_t *pool, apr_dbd_results_t *res, } } else { - if (row->n >= res->ntuples) { + if ((row->n >= 0) && (size_t)row->n >= res->ntuples) { /* no data; we have to fetch some */ row->n -= res->ntuples; if (res->res != NULL) { @@ -344,7 +344,7 @@ static apr_status_t dbd_pgsql_datum_get(const apr_dbd_row_t *row, int n, *(apr_uint64_t*)data = apr_atoi64(PQgetvalue(row->res->res, row->n, n)); break; case APR_DBD_TYPE_FLOAT: - *(float*)data = atof(PQgetvalue(row->res->res, row->n, n)); + *(float*)data = (float)atof(PQgetvalue(row->res->res, row->n, n)); break; case APR_DBD_TYPE_DOUBLE: *(double*)data = atof(PQgetvalue(row->res->res, row->n, n)); @@ -477,7 +477,7 @@ static int dbd_pgsql_prepare(apr_pool_t *pool, apr_dbd_t *sql, char *sqlcmd; char *sqlptr; size_t length, qlen; - size_t i = 0; + int i = 0; const char **args; size_t alen; int ret; @@ -1191,6 +1191,16 @@ static int dbd_pgsql_transaction_mode_set(apr_dbd_transaction_t *trans, return trans->mode = (mode & TXN_MODE_BITS); } +static void null_notice_receiver(void *arg, const PGresult *res) +{ + /* nothing */ +} + +static void null_notice_processor(void *arg, const char *message) +{ + /* nothing */ +} + static apr_dbd_t *dbd_pgsql_open(apr_pool_t *pool, const char *params, const char **error) { @@ -1210,6 +1220,9 @@ static apr_dbd_t *dbd_pgsql_open(apr_pool_t *pool, const char *params, return NULL; } + PQsetNoticeReceiver(conn, null_notice_receiver, NULL); + PQsetNoticeProcessor(conn, null_notice_processor, NULL); + sql = apr_pcalloc (pool, sizeof (*sql)); sql->conn = conn; diff --git a/srclib/apr-util/dbd/apr_dbd_sqlite3.c b/srclib/apr-util/dbd/apr_dbd_sqlite3.c index 3467a616..02b2c02d 100644 --- a/srclib/apr-util/dbd/apr_dbd_sqlite3.c +++ b/srclib/apr-util/dbd/apr_dbd_sqlite3.c @@ -86,8 +86,8 @@ static int dbd_sqlite3_select_internal(apr_pool_t *pool, apr_dbd_results_t **results, sqlite3_stmt *stmt, int seek) { - int i, ret, retry_count = 0, column_count; - size_t num_tuples = 0; + int ret, retry_count = 0, column_count; + size_t i, num_tuples = 0; int increment = 0; apr_dbd_row_t *row = NULL; apr_dbd_row_t *lastrow = NULL; @@ -207,7 +207,7 @@ static int dbd_sqlite3_select(apr_pool_t *pool, apr_dbd_t *sql, static const char *dbd_sqlite3_get_name(const apr_dbd_results_t *res, int n) { - if ((n < 0) || (n >= res->sz)) { + if ((n < 0) || ((size_t)n >= res->sz)) { return NULL; } @@ -256,7 +256,7 @@ static const char *dbd_sqlite3_get_entry(const apr_dbd_row_t *row, int n) static apr_status_t dbd_sqlite3_datum_get(const apr_dbd_row_t *row, int n, apr_dbd_type_e type, void *data) { - if ((n < 0) || (n >= row->res->sz)) { + if ((n < 0) || ((size_t)n >= row->res->sz)) { return APR_EGENERAL; } @@ -296,7 +296,7 @@ static apr_status_t dbd_sqlite3_datum_get(const apr_dbd_row_t *row, int n, *(apr_uint64_t*)data = apr_atoi64(row->columns[n]->value); break; case APR_DBD_TYPE_FLOAT: - *(float*)data = atof(row->columns[n]->value); + *(float*)data = (float)atof(row->columns[n]->value); break; case APR_DBD_TYPE_DOUBLE: *(double*)data = atof(row->columns[n]->value); diff --git a/srclib/apr-util/include/apr_dbd.h b/srclib/apr-util/include/apr_dbd.h index 0e25d024..f30977da 100644 --- a/srclib/apr-util/include/apr_dbd.h +++ b/srclib/apr-util/include/apr_dbd.h @@ -126,15 +126,16 @@ APU_DECLARE(apr_status_t) apr_dbd_get_driver(apr_pool_t *pool, const char *name, * keys, each followed by an equal sign and a value. Such key/value pairs can * be delimited by space, CR, LF, tab, semicolon, vertical bar or comma. * @remarks MySQL: the params can have "host", "port", "user", "pass", - * "dbname", "sock", "flags" "fldsz" and "group" keys, each followed by an - * equal sign and a value. Such key/value pairs can be delimited by space, - * CR, LF, tab, semicolon, vertical bar or comma. For now, "flags" can only - * recognise CLIENT_FOUND_ROWS (check MySQL manual for details). The value - * associated with "fldsz" determines maximum amount of memory (in bytes) for - * each of the fields in the result set of prepared statements. By default, - * this value is 1 MB. The value associated with "group" determines which - * group from configuration file to use (see MYSQL_READ_DEFAULT_GROUP option - * of mysql_options() in MySQL manual). + * "dbname", "sock", "flags" "fldsz", "group" and "reconnect" keys, each + * followed by an equal sign and a value. Such key/value pairs can be + * delimited by space, CR, LF, tab, semicolon, vertical bar or comma. For + * now, "flags" can only recognise CLIENT_FOUND_ROWS (check MySQL manual for + * details). The value associated with "fldsz" determines maximum amount of + * memory (in bytes) for each of the fields in the result set of prepared + * statements. By default, this value is 1 MB. The value associated with + * "group" determines which group from configuration file to use (see + * MYSQL_READ_DEFAULT_GROUP option of mysql_options() in MySQL manual). + * Reconnect is set to 1 by default (i.e. true). * @remarks FreeTDS: the params can have "username", "password", "appname", * "dbname", "host", "charset", "lang" and "server" keys, each followed by an * equal sign and a value. diff --git a/srclib/apr-util/include/apr_reslist.h b/srclib/apr-util/include/apr_reslist.h index 39e8398b..46481951 100644 --- a/srclib/apr-util/include/apr_reslist.h +++ b/srclib/apr-util/include/apr_reslist.h @@ -34,6 +34,9 @@ * @defgroup APR_Util_RL Resource List Routines * @ingroup APR_Util * @{ + * @warning + * <strong><em>Resource list data types and routines are only available when + * threads are enabled (i.e. APR_HAS_THREADS is not zero).</em></strong> */ #ifdef __cplusplus @@ -65,7 +68,6 @@ typedef apr_status_t (*apr_reslist_destructor)(void *resource, void *params, * Create a new resource list with the following parameters: * @param reslist An address where the pointer to the new resource * list will be stored. - * @param pool The pool to use for local storage and management * @param min Allowed minimum number of available resources. Zero * creates new resources only when needed. * @param smax Resources will be destroyed to meet this maximum @@ -79,6 +81,15 @@ typedef apr_status_t (*apr_reslist_destructor)(void *resource, void *params, * @param pool The pool from which to create this resoure list. Also the * same pool that is passed to the constructor and destructor * routines. + * @warning If you're creating a sub-pool of the pool passed into this + * function in your constructor, you will need to follow some rules + * when it comes to destruction of that sub-pool, as calling + * apr_pool_destroy() outright on it in your destructor may create + * double free situations. That is because by the time destructor is + * called, the sub-pool may have already been destroyed. This also + * means that in the destructor, memory from the sub-pool should be + * treated as invalid. For examples of how to do this correctly, see + * mod_dbd of Apache 2.2 and memcache support in APR Util 1.3. */ APU_DECLARE(apr_status_t) apr_reslist_create(apr_reslist_t **reslist, int min, int smax, int hmax, diff --git a/srclib/apr-util/include/apu.h.in b/srclib/apr-util/include/apu.h.in index 42573b63..64c6c18b 100644 --- a/srclib/apr-util/include/apu.h.in +++ b/srclib/apr-util/include/apu.h.in @@ -99,6 +99,8 @@ #define APU_HAVE_SQLITE3 @apu_have_sqlite3@ #define APU_HAVE_SQLITE2 @apu_have_sqlite2@ #define APU_HAVE_ORACLE @apu_have_oracle@ +#define APU_HAVE_FREETDS @apu_have_freetds@ +#define APU_HAVE_ODBC @apu_have_odbc@ #define APU_HAVE_APR_ICONV @have_apr_iconv@ #define APU_HAVE_ICONV @have_iconv@ diff --git a/srclib/apr-util/include/apu.hnw b/srclib/apr-util/include/apu.hnw index ce0f9d92..38e0ec61 100644 --- a/srclib/apr-util/include/apu.hnw +++ b/srclib/apr-util/include/apu.hnw @@ -104,6 +104,7 @@ #define APU_HAVE_SQLITE2 0 #define APU_HAVE_ORACLE 0 #define APU_HAVE_FREETDS 0 +#define APU_HAVE_ODBC 0 #endif #define APU_HAVE_APR_ICONV 0 diff --git a/srclib/apr-util/include/apu.hw b/srclib/apr-util/include/apu.hw index d6210767..90e03653 100644 --- a/srclib/apr-util/include/apu.hw +++ b/srclib/apr-util/include/apu.hw @@ -116,6 +116,8 @@ #define APU_HAVE_ORACLE 0 #define APU_HAVE_FREETDS 0 #endif +/* Windows always has ODBC */ +#define APU_HAVE_ODBC 1 #define APU_HAVE_APR_ICONV 1 #define APU_HAVE_ICONV 0 diff --git a/srclib/apr-util/include/apu_version.h b/srclib/apr-util/include/apu_version.h index f4e0e27e..13b9baed 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 0 +#define APU_PATCH_VERSION 4 /** * 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 new file mode 100644 index 00000000..dc7bc9c9 --- /dev/null +++ b/srclib/apr-util/include/private/apr_dbd_odbc_v2.h @@ -0,0 +1,119 @@ +/* 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. + */ + + +/* ONLY USED FOR ODBC Version 2 -DODBCV2 +* +* 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 SQL_NULL_HANDLE 0 +#define SQL_HANDLE_STMT 1 +#define SQL_HANDLE_DBC 2 +#define SQL_HANDLE_ENV 3 +#define SQL_NO_DATA SQL_NO_DATA_FOUND + +#ifndef SQL_SUCCEEDED +#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0) +#endif + +#undef SQLSetEnvAttr +#define SQLSetEnvAttr(henv, Attribute, Value, StringLength) (0) + +#undef SQLAllocHandle +#define SQLAllocHandle(type, parent, hndl) \ +( (type == SQL_HANDLE_STMT) ? SQLAllocStmt(parent, hndl) \ + : (type == SQL_HANDLE_ENV) ? SQLAllocEnv(hndl) \ + : SQLAllocConnect(parent, hndl) \ +) + +#undef SQLFreeHandle +#define SQLFreeHandle(type, hndl) \ +( (type == SQL_HANDLE_STMT) ? SQLFreeStmt(hndl, SQL_DROP) \ + : (type == SQL_HANDLE_ENV) ? SQLFreeEnv(hndl) \ + : SQLFreeConnect(hndl) \ +) + +#undef SQLGetDiagRec +#define SQLGetDiagRec(type, h, i, state, native, buffer, bufsize, reslen) \ + SQLError( (type == SQL_HANDLE_ENV) ? h : NULL, \ + (type == SQL_HANDLE_DBC) ? h : NULL, \ + (type == SQL_HANDLE_STMT) ? h : NULL, \ + state, native, buffer, bufsize, reslen) + +#undef SQLCloseCursor +#define SQLCloseCursor(stmt) SQLFreeStmt(stmt, SQL_CLOSE) + +#undef SQLGetConnectAttr +#define SQLGetConnectAttr(hdbc, fOption, ValuePtr, BufferLength, NULL) \ + SQLGetConnectOption(hdbc, fOption, ValuePtr) + +#undef SQLSetConnectAttr +#define SQLSetConnectAttr(hdbc, fOption, ValuePtr, BufferLength) \ + SQLSetConnectOption(hdbc, fOption, (SQLUINTEGER) ValuePtr) + +#undef SQLSetStmtAttr +#define SQLSetStmtAttr(hstmt, fOption, ValuePtr, BufferLength) (0); return APR_ENOTIMPL; + +#undef SQLEndTran +#define SQLEndTran(hType, hdbc,type) SQLTransact(henv, hdbc, type) + +#undef SQLFetchScroll +#define SQLFetchScroll(stmt, orient, rownum) (0); return APR_ENOTIMPL; + +#define SQL_DESC_TYPE SQL_COLUMN_TYPE +#define SQL_DESC_CONCISE_TYPE SQL_COLUMN_TYPE +#define SQL_DESC_DISPLAY_SIZE SQL_COLUMN_DISPLAY_SIZE +#define SQL_DESC_OCTET_LENGTH SQL_COLUMN_LENGTH +#define SQL_DESC_UNSIGNED SQL_COLUMN_UNSIGNED + +#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_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_FALSE 0 +#define SQL_TRUE 1 + diff --git a/srclib/apr-util/include/private/apu_config.h.in b/srclib/apr-util/include/private/apu_config.h.in index 5537832c..60fb4336 100644 --- a/srclib/apr-util/include/private/apu_config.h.in +++ b/srclib/apr-util/include/private/apu_config.h.in @@ -66,6 +66,9 @@ /* Define to 1 if you have the <oci.h> header file. */ #undef HAVE_OCI_H +/* Define to 1 if you have the <odbc/sql.h> header file. */ +#undef HAVE_ODBC_SQL_H + /* Define to 1 if you have the <postgresql/libpq-fe.h> header file. */ #undef HAVE_POSTGRESQL_LIBPQ_FE_H @@ -75,6 +78,9 @@ /* Define to 1 if you have the <sqlite.h> header file. */ #undef HAVE_SQLITE_H +/* Define to 1 if you have the <sql.h> header file. */ +#undef HAVE_SQL_H + /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H @@ -108,6 +114,9 @@ /* Define if xml/xmlparse.h is available */ #undef HAVE_XML_XMLPARSE_H +/* Define if ldap_set_rebind_proc takes three arguments */ +#undef LDAP_SET_REBIND_PROC_THREE + /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT diff --git a/srclib/apr-util/ldap/apr_ldap_option.c b/srclib/apr-util/ldap/apr_ldap_option.c index 8692dcdd..0c055b4e 100644 --- a/srclib/apr-util/ldap/apr_ldap_option.c +++ b/srclib/apr-util/ldap/apr_ldap_option.c @@ -397,9 +397,11 @@ static void option_set_cert(apr_pool_t *pool, LDAP *ldap, const void *invalue, apr_ldap_err_t *result) { #if APR_HAS_LDAP_SSL +#if APR_HAS_LDAPSSL_CLIENT_INIT || APR_HAS_OPENLDAP_LDAPSDK apr_array_header_t *certs = (apr_array_header_t *)invalue; struct apr_ldap_opt_tls_cert_t *ents = (struct apr_ldap_opt_tls_cert_t *)certs->elts; int i = 0; +#endif /* Netscape/Mozilla/Solaris SDK */ #if APR_HAS_NETSCAPE_LDAPSDK || APR_HAS_SOLARIS_LDAPSDK || APR_HAS_MOZILLA_LDAPSDK diff --git a/srclib/apr-util/ldap/apr_ldap_rebind.c b/srclib/apr-util/ldap/apr_ldap_rebind.c index e0a6c8cc..4818d05c 100644 --- a/srclib/apr-util/ldap/apr_ldap_rebind.c +++ b/srclib/apr-util/ldap/apr_ldap_rebind.c @@ -182,7 +182,7 @@ static apr_status_t apr_ldap_rebind_remove_helper(void *data) return APR_SUCCESS; } - +#if APR_HAS_TIVOLI_LDAPSDK || APR_HAS_OPENLDAP_LDAPSDK || APR_HAS_NOVELL_LDAPSDK static apr_ldap_rebind_entry_t *apr_ldap_rebind_lookup(LDAP *ld) { apr_ldap_rebind_entry_t *tmp_xref, *match = NULL; @@ -212,6 +212,7 @@ static apr_ldap_rebind_entry_t *apr_ldap_rebind_lookup(LDAP *ld) return (match); } +#endif #if APR_HAS_TIVOLI_LDAPSDK @@ -266,8 +267,21 @@ static int apr_ldap_rebind_set_callback(LDAP *ld) * request Unused in this routine * msgid Unused in this routine * params Unused in this routine + * + * or + * + * ld Pointer to an LDAP control structure. (input only) + * url Unused in this routine + * request Unused in this routine + * msgid Unused in this routine */ -static int LDAP_rebindproc(LDAP *ld, LDAP_CONST char *url, ber_tag_t request, ber_int_t msgid, void *params) +#if defined(LDAP_SET_REBIND_PROC_THREE) +static int LDAP_rebindproc(LDAP *ld, LDAP_CONST char *url, ber_tag_t request, + ber_int_t msgid, void *params) +#else +static int LDAP_rebindproc(LDAP *ld, LDAP_CONST char *url, int request, + ber_int_t msgid) +#endif { apr_ldap_rebind_entry_t *my_conn; const char *bindDN = NULL; @@ -285,7 +299,11 @@ static int LDAP_rebindproc(LDAP *ld, LDAP_CONST char *url, ber_tag_t request, be static int apr_ldap_rebind_set_callback(LDAP *ld) { +#if defined(LDAP_SET_REBIND_PROC_THREE) ldap_set_rebind_proc(ld, LDAP_rebindproc, NULL); +#else + ldap_set_rebind_proc(ld, LDAP_rebindproc); +#endif return APR_SUCCESS; } diff --git a/srclib/apr-util/libaprutil.dsp b/srclib/apr-util/libaprutil.dsp index 5af58cd9..bde36a07 100644 --- a/srclib/apr-util/libaprutil.dsp +++ b/srclib/apr-util/libaprutil.dsp @@ -268,6 +268,11 @@ SOURCE=.\dbd\apr_dbd_mysql.c # End Source File # Begin Source File +SOURCE=.\dbd\apr_dbd_odbc.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + SOURCE=.\dbd\apr_dbd_oracle.c # PROP Exclude_From_Build 1 # End Source File diff --git a/srclib/apr-util/memcache/apr_memcache.c b/srclib/apr-util/memcache/apr_memcache.c index 3d0988e0..1f65031d 100644 --- a/srclib/apr-util/memcache/apr_memcache.c +++ b/srclib/apr-util/memcache/apr_memcache.c @@ -295,6 +295,27 @@ static apr_status_t conn_connect(apr_memcache_conn_t *conn) return rv; } +static apr_status_t conn_clean(void *data) +{ + apr_memcache_conn_t *conn = data; + struct iovec vec[2]; + apr_size_t written; + + /* send a quit message to the memcached server to be nice about it. */ + vec[0].iov_base = MC_QUIT; + vec[0].iov_len = MC_QUIT_LEN; + + vec[1].iov_base = MC_EOL; + vec[1].iov_len = MC_EOL_LEN; + + /* Return values not checked, since we just want to make it go away. */ + apr_socket_sendv(conn->sock, vec, 2, &written); + apr_socket_close(conn->sock); + + conn->p = NULL; /* so that destructor does not destroy the pool again */ + + return APR_SUCCESS; +} static apr_status_t mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) @@ -310,7 +331,11 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) return rv; } +#if APR_HAS_THREADS + conn = malloc(sizeof( apr_memcache_conn_t )); /* non-pool space! */ +#else conn = apr_palloc(np, sizeof( apr_memcache_conn_t )); +#endif conn->p = np; @@ -318,6 +343,9 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) if (rv != APR_SUCCESS) { apr_pool_destroy(np); +#if APR_HAS_THREADS + free(conn); +#endif return rv; } @@ -334,34 +362,33 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) rv = conn_connect(conn); if (rv != APR_SUCCESS) { apr_pool_destroy(np); +#if APR_HAS_THREADS + free(conn); +#endif } else { + apr_pool_cleanup_register(np, conn, conn_clean, apr_pool_cleanup_null); *conn_ = conn; } return rv; } +#if APR_HAS_THREADS static apr_status_t mc_conn_destruct(void *conn_, void *params, apr_pool_t *pool) { apr_memcache_conn_t *conn = (apr_memcache_conn_t*)conn_; - struct iovec vec[2]; - apr_size_t written; - /* send a quit message to the memcached server to be nice about it. */ - vec[0].iov_base = MC_QUIT; - vec[0].iov_len = MC_QUIT_LEN; + if (conn->p) { + apr_pool_destroy(conn->p); + } - vec[1].iov_base = MC_EOL; - vec[1].iov_len = MC_EOL_LEN; - - /* Return values not checked, since we just want to make it go away. */ - apr_socket_sendv(conn->sock, vec, 2, &written); - apr_socket_close(conn->sock); + free(conn); /* free non-pool space */ return APR_SUCCESS; } +#endif APU_DECLARE(apr_status_t) apr_memcache_server_create(apr_pool_t *p, const char *host, apr_port_t port, @@ -1517,15 +1544,11 @@ static apr_time_t stat_read_rtime(apr_pool_t *p, char *buf, apr_size_t len) char *tok; char *secs; char *usecs; - const char *sep = ":"; + const char *sep = ":."; buf[len-2] = '\0'; secs = apr_strtok(buf, sep, &tok); - if (secs == NULL) { - sep = "."; - secs = apr_strtok(buf, sep, &tok); - } usecs = apr_strtok(NULL, sep, &tok); if (secs && usecs) { return apr_time_make(atoi(secs), atoi(usecs)); diff --git a/srclib/apr-util/misc/apr_reslist.c b/srclib/apr-util/misc/apr_reslist.c index 14b7e6c4..ed2d15b7 100644 --- a/srclib/apr-util/misc/apr_reslist.c +++ b/srclib/apr-util/misc/apr_reslist.c @@ -158,6 +158,7 @@ static apr_status_t reslist_cleanup(void *data_) assert(rl->nidle == 0); assert(rl->ntotal == 0); + apr_thread_mutex_unlock(rl->listlock); apr_thread_mutex_destroy(rl->listlock); apr_thread_cond_destroy(rl->avail); @@ -244,7 +245,8 @@ APU_DECLARE(apr_status_t) apr_reslist_create(apr_reslist_t **reslist, /* Do some sanity checks so we don't thrash around in the * maintenance routine later. */ - if (min > smax || min > hmax || smax > hmax || ttl < 0) { + if (min < 0 || min > smax || min > hmax || smax > hmax || hmax == 0 || + ttl < 0) { return APR_EINVAL; } @@ -273,6 +275,9 @@ APU_DECLARE(apr_status_t) apr_reslist_create(apr_reslist_t **reslist, rv = reslist_maint(rl); if (rv != APR_SUCCESS) { + /* Destroy what we've created so far. + */ + reslist_cleanup(rl); return rv; } diff --git a/srclib/apr-util/misc/apu_dso.c b/srclib/apr-util/misc/apu_dso.c index fb1ca758..22a9d392 100644 --- a/srclib/apr-util/misc/apu_dso.c +++ b/srclib/apr-util/misc/apu_dso.c @@ -102,6 +102,7 @@ apr_status_t apu_dso_init(apr_pool_t *pool) return ret; } +#if APR_HAS_DSO apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, const char *module, const char *modsym, apr_pool_t *pool) { @@ -161,6 +162,23 @@ apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, const char *module, if (rv == APR_SUCCESS) { /* APR_EDSOOPEN */ break; } +#if defined(APU_DSO_LIBDIR) + else if (i < paths->nelts - 1) { +#else + else { /* No APU_DSO_LIBDIR to skip */ +#endif + /* try with apr-util-APU_MAJOR_VERSION appended */ + eos = apr_cpystrn(eos, + "apr-util-" APU_STRINGIFY(APU_MAJOR_VERSION) "/", + sizeof(path) - (eos - path)); + + apr_cpystrn(eos, module, sizeof(path) - (eos - path)); + + rv = apr_dso_load(&dlhandle, path, global); + if (rv == APR_SUCCESS) { /* APR_EDSOOPEN */ + break; + } + } } if (rv != APR_SUCCESS) /* APR_ESYMNOTFOUND */ @@ -177,4 +195,5 @@ apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, const char *module, return rv; #endif /* APU_DSO_BUILD */ } +#endif /* APR_HAS_DSO */ diff --git a/srclib/apr-util/test/testall.dsw b/srclib/apr-util/test/testall.dsw index 1ae1ab63..e6b560d7 100644 --- a/srclib/apr-util/test/testall.dsw +++ b/srclib/apr-util/test/testall.dsw @@ -30,6 +30,132 @@ Package=<4> ############################################################################### +Project: "apr_dbd_freetds"="..\dbd\apr_dbd_freetds.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + +Project: "apr_dbd_mysql"="..\dbd\apr_dbd_mysql.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + +Project: "apr_dbd_odbc"="..\dbd\apr_dbd_odbc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency +}}} + +############################################################################### + +Project: "apr_dbd_oracle"="..\dbd\apr_dbd_oracle.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + +Project: "apr_dbd_pgsql"="..\dbd\apr_dbd_pgsql.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + +Project: "apr_dbd_sqlite2"="..\dbd\apr_dbd_sqlite2.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + +Project: "apr_dbd_sqlite3"="..\dbd\apr_dbd_sqlite3.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency +}}} + +############################################################################### + Project: "apr_ldap"="..\ldap\apr_ldap.dsp" - Package Owner=<4> Package=<5> diff --git a/srclib/apr-util/xml/expat/aclocal.m4 b/srclib/apr-util/xml/expat/aclocal.m4 index 04fe1acd..d7b5a033 100644 --- a/srclib/apr-util/xml/expat/aclocal.m4 +++ b/srclib/apr-util/xml/expat/aclocal.m4 @@ -6044,7 +6044,25 @@ _LT_EOF ;; darwin* | rhapsody*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes diff --git a/srclib/apr-util/xml/expat/config.h.in b/srclib/apr-util/xml/expat/config.h.in index 7c4a38e9..23d2c434 100644 --- a/srclib/apr-util/xml/expat/config.h.in +++ b/srclib/apr-util/xml/expat/config.h.in @@ -8,6 +8,9 @@ #endif +/* Define if building universal (internal helper macro) */ +#undef AC_APPLE_UNIVERSAL_BUILD + /* byte order is unknown due to cross-compilation */ #undef AP_UNKNOWN_BYTE_ORDER @@ -75,11 +78,15 @@ #undef STDC_HEADERS /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -#elif ! defined __LITTLE_ENDIAN__ -# undef WORDS_BIGENDIAN + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif #endif /* Define to empty if `const' does not conform to ANSI C. */ diff --git a/srclib/apr-util/xml/expat/configure b/srclib/apr-util/xml/expat/configure index 60622595..cb44a643 100755 --- a/srclib/apr-util/xml/expat/configure +++ b/srclib/apr-util/xml/expat/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62. +# Generated by GNU Autoconf 2.63. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -789,99 +789,99 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -target -target_cpu -target_vendor -target_os -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -SED -GREP -EGREP -LN_S -ECHO -AR -RANLIB -STRIP -DSYMUTIL -NMEDIT -DLLTOOL -AS -OBJDUMP -CPP -CXX -CXXFLAGS -ac_ct_CXX -CXXCPP -F77 -FFLAGS -ac_ct_F77 -LIBTOOL -blddir -PACKAGE -VERSION -EXPAT_MAJOR_VERSION -EXPAT_MINOR_VERSION -EXPAT_EDIT -LIBCURRENT -LIBREVISION -LIBAGE -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -LIBOBJS +ac_subst_vars='LTLIBOBJS FILEMAP_OBJ -LTLIBOBJS' +LIBOBJS +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +LIBAGE +LIBREVISION +LIBCURRENT +EXPAT_EDIT +EXPAT_MINOR_VERSION +EXPAT_MAJOR_VERSION +VERSION +PACKAGE +blddir +LIBTOOL +ac_ct_F77 +FFLAGS +F77 +CXXCPP +ac_ct_CXX +CXXFLAGS +CXX +CPP +OBJDUMP +AS +DLLTOOL +NMEDIT +DSYMUTIL +STRIP +RANLIB +AR +ECHO +LN_S +EGREP +GREP +SED +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -1330,9 +1330,9 @@ fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1385,7 +1385,7 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: Working directory cannot be determined" >&2 + { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 @@ -1627,7 +1627,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.62 +generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -1641,7 +1641,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -1764,8 +1764,8 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -1968,6 +1968,8 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 @@ -2341,12 +2343,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2545,12 +2543,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2560,11 +2554,13 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 @@ -2694,11 +2690,13 @@ if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext @@ -2726,13 +2724,15 @@ $as_echo "$ac_try_echo") >&5 if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi @@ -2775,11 +2775,13 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext @@ -2833,11 +2835,13 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext @@ -3810,7 +3814,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3813 "configure"' > conftest.$ac_ext + echo '#line 3817 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4081,12 +4085,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL @@ -4177,12 +4177,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS @@ -4273,12 +4269,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP @@ -4515,11 +4507,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -4768,8 +4762,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -4914,8 +4909,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -5025,12 +5021,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX @@ -5522,11 +5514,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=cpp @@ -5634,12 +5628,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 @@ -6294,12 +6284,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR @@ -6390,12 +6376,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -6486,12 +6468,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -6770,12 +6748,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL @@ -6866,12 +6840,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT @@ -7098,11 +7068,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:7101: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7071: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7105: \$? = $ac_status" >&5 + echo "$as_me:7075: \$? = $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. @@ -7388,11 +7358,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:7391: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7361: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7395: \$? = $ac_status" >&5 + echo "$as_me:7365: \$? = $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. @@ -7492,11 +7462,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:7495: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7465: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7499: \$? = $ac_status" >&5 + echo "$as_me:7469: \$? = $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 @@ -8133,7 +8103,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - allow_undefined_flag="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes @@ -9366,7 +9354,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else @@ -9464,7 +9452,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 $as_echo "$ac_cv_func_shl_load" >&6; } -if test $ac_cv_func_shl_load = yes; then +if test "x$ac_cv_func_shl_load" = x""yes; then lt_cv_dlopen="shl_load" else { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 @@ -9532,7 +9520,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then +if test "x$ac_cv_lib_dld_shl_load" = x""yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 @@ -9620,7 +9608,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 $as_echo "$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then +if test "x$ac_cv_func_dlopen" = x""yes; then lt_cv_dlopen="dlopen" else { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 @@ -9688,7 +9676,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 @@ -9756,7 +9744,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test $ac_cv_lib_svld_dlopen = yes; then +if test "x$ac_cv_lib_svld_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 @@ -9824,7 +9812,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test $ac_cv_lib_dld_dld_link = yes; then +if test "x$ac_cv_lib_dld_dld_link" = x""yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi @@ -9874,7 +9862,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 9877 "configure" +#line 9865 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9974,7 +9962,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 9977 "configure" +#line 9965 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12387,11 +12375,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:12390: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12378: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12394: \$? = $ac_status" >&5 + echo "$as_me:12382: \$? = $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. @@ -12491,11 +12479,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:12494: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12482: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12498: \$? = $ac_status" >&5 + echo "$as_me:12486: \$? = $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 @@ -14074,11 +14062,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:14077: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14065: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14081: \$? = $ac_status" >&5 + echo "$as_me:14069: \$? = $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. @@ -14178,11 +14166,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:14181: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14169: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14185: \$? = $ac_status" >&5 + echo "$as_me:14173: \$? = $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 @@ -14799,7 +14787,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - allow_undefined_flag_F77="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes @@ -16379,11 +16385,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:16382: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16388: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16386: \$? = $ac_status" >&5 + echo "$as_me:16392: \$? = $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. @@ -16669,11 +16675,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:16672: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16678: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16676: \$? = $ac_status" >&5 + echo "$as_me:16682: \$? = $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. @@ -16773,11 +16779,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:16776: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16782: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16780: \$? = $ac_status" >&5 + echo "$as_me:16786: \$? = $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 @@ -17414,7 +17420,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - allow_undefined_flag_GCJ="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes @@ -19543,12 +19567,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -19747,12 +19767,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -19762,11 +19778,13 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 @@ -20555,8 +20573,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -20574,15 +20593,15 @@ if test "${ac_cv_c_bigendian+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown - # See if __BIG_ENDIAN__ or __LITTLE_ENDIAN__ is defined. - cat >conftest.$ac_ext <<_ACEOF + # See if we're dealing with a universal compiler. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#if ! (defined __BIG_ENDIAN__ || defined __LITTLE_ENDIAN__) - neither is defined; +#ifndef __APPLE_CC__ + not a universal capable compiler #endif typedef int dummy; @@ -20605,7 +20624,13 @@ $as_echo "$ac_try_echo") >&5 test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then - ac_cv_c_bigendian=universal + + # Check for potential -arch flags. It is not universal unless + # there are some -arch flags. Note that *ppc* also matches + # ppc64. This check is also rather less than ideal. + case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( + *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; + esac else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -20953,7 +20978,12 @@ _ACEOF no) ;; #( universal) - ;; #( + +cat >>confdefs.h <<\_ACEOF +#define AC_APPLE_UNIVERSAL_BUILD 1 +_ACEOF + + ;; #( *) { { $as_echo "$as_me:$LINENO: error: unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" >&5 @@ -21170,7 +21200,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 $as_echo "$ac_cv_type_off_t" >&6; } -if test $ac_cv_type_off_t = yes; then +if test "x$ac_cv_type_off_t" = x""yes; then : else @@ -21274,7 +21304,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 $as_echo "$ac_cv_type_size_t" >&6; } -if test $ac_cv_type_size_t = yes; then +if test "x$ac_cv_type_size_t" = x""yes; then : else @@ -21515,8 +21545,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -21616,8 +21647,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -21913,8 +21945,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -21952,8 +21985,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -22023,6 +22056,7 @@ LTLIBOBJS=$ac_ltlibobjs + : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files @@ -22345,7 +22379,7 @@ exec 6>&1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -22358,6 +22392,15 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" @@ -22370,16 +22413,17 @@ ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] + --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] + --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: @@ -22394,7 +22438,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.62, +configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. @@ -22593,7 +22637,8 @@ for ac_last_try in false false false false false :; do $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -22798,9 +22843,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 } split(mac1, mac2, "(") #) macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". - prefix = substr(line, 1, index(line, defundef) - 1) print prefix "define", macro P[macro] D[macro] next } else { @@ -22808,7 +22853,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { - print "/*", line, "*/" + print "/*", prefix defundef, macro, "*/" next } } @@ -22832,8 +22877,8 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; @@ -23156,7 +23201,7 @@ if test "$no_create" != yes; then $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/srclib/apr/CHANGES b/srclib/apr/CHANGES index 3256dd15..9982b5a9 100644 --- a/srclib/apr/CHANGES +++ b/srclib/apr/CHANGES @@ -1,4 +1,34 @@ -*- coding: utf-8 -*- +Changes for APR 1.3.3 + + *) Rename apr_pool_create_core to apr_pool_create_unmanaged and + deprecate the old API name. It better reflects the scope and usage + of this function. [Mladen Turk] + + *) Use proper return code for fcntl-based apr_proc_mutex_trylock() + on platforms that return EACCES instead of EAGAIN when the lock + is already held (AIX, HP-UX). + [Eric Covener] + + *) Fix APR_PID_T_FMT detection on Solaris. PR 45513 + [Rainer Jung <rainer.jung kippdata.de>] + +Changes for APR 1.3.2 + + *) Fix getservbyname_r() detection. [Ruediger Pluem] + +Changes for APR 1.3.1 + + *) Fix win32 apr.hw to pick up XP/2003 TCP/IP multicast constants and + revert to IPV6 disabled-by-default (a change present only in 1.3.0). + [William Rowe] + + *) Fix autoconf cached detection of atomic builtins. [Jim Jagielski] + + *) Use thread safe versions of getservbyname(). [Bojan Smojver] + + *) Use thread safe getpass_r on Netware. [Guenter Knauf] + Changes for APR 1.3.0 *) Fix Solaris poll failure. PR 43000 diff --git a/srclib/apr/apr-config.in b/srclib/apr/apr-config.in index e0500edc..84b40735 100644 --- a/srclib/apr/apr-config.in +++ b/srclib/apr/apr-config.in @@ -25,6 +25,7 @@ prefix="@prefix@" exec_prefix="@exec_prefix@" bindir="@bindir@" libdir="@libdir@" +datarootdir="@datadir@" datadir="@datadir@" installbuilddir="@installbuilddir@" includedir="@includedir@" diff --git a/srclib/apr/atomic/unix/solaris.c b/srclib/apr/atomic/unix/solaris.c index b3852516..547499a5 100644 --- a/srclib/apr/atomic/unix/solaris.c +++ b/srclib/apr/atomic/unix/solaris.c @@ -68,7 +68,7 @@ APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint APR_DECLARE(void*) apr_atomic_casptr(volatile void **mem, void *with, const void *cmp) { - return atomic_cas_ptr(mem, cmp, (void*) with); + return atomic_cas_ptr(mem, (void*) cmp, with); } APR_DECLARE(void*) apr_atomic_xchgptr(volatile void **mem, void *with) diff --git a/srclib/apr/build-outputs.mk b/srclib/apr/build-outputs.mk index c448d0a2..878169bf 100644 --- a/srclib/apr/build-outputs.mk +++ b/srclib/apr/build-outputs.mk @@ -1,91 +1,91 @@ # 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_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_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_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_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 -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_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 -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 +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 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 -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 +OBJECTS_all = passwd/apr_getpass.lo strings/apr_fnmatch.lo strings/apr_strnatcmp.lo strings/apr_snprintf.lo strings/apr_strings.lo strings/apr_strtok.lo strings/apr_cpystrn.lo tables/apr_tables.lo tables/apr_hash.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 OBJECTS_dso_unix = dso/unix/dso.lo -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/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/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/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/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/seek.lo: file_io/unix/seek.c .make.dirs +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 +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_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_pools.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/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/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/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/flock.lo: file_io/unix/flock.c .make.dirs -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 -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/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/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/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/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/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/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_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_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/flock.lo: file_io/unix/flock.c .make.dirs +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 -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 +OBJECTS_file_io_unix = file_io/unix/mktemp.lo file_io/unix/fileacc.lo file_io/unix/seek.lo file_io/unix/fullrw.lo file_io/unix/dir.lo file_io/unix/buffer.lo file_io/unix/filedup.lo file_io/unix/filestat.lo file_io/unix/copy.lo file_io/unix/tempdir.lo file_io/unix/open.lo file_io/unix/readwrite.lo file_io/unix/pipe.lo file_io/unix/filepath_util.lo file_io/unix/flock.lo file_io/unix/filepath.lo 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_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.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/proc_mutex.lo: locks/unix/proc_mutex.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 locks/unix/thread_rwlock.lo: locks/unix/thread_rwlock.c .make.dirs -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 +OBJECTS_locks_unix = locks/unix/global_mutex.lo locks/unix/thread_cond.lo locks/unix/thread_mutex.lo locks/unix/proc_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 OBJECTS_memory_unix = memory/unix/apr_pools.lo -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/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/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/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/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/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/otherchild.lo: misc/unix/otherchild.c .make.dirs -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/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 -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 +OBJECTS_misc_unix = misc/unix/getopt.lo misc/unix/env.lo misc/unix/rand.lo misc/unix/errorcodes.lo misc/unix/charset.lo misc/unix/otherchild.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_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 -OBJECTS_mmap_unix = mmap/unix/common.lo mmap/unix/mmap.lo +OBJECTS_mmap_unix = mmap/unix/mmap.lo mmap/unix/common.lo +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/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_pton.lo: network_io/unix/inet_pton.c .make.dirs -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/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 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/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/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 -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/sockets.lo network_io/unix/sockopt.lo +OBJECTS_network_io_unix = network_io/unix/sockets.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/sendrecv.lo network_io/unix/sockaddr.lo network_io/unix/multicast.lo network_io/unix/sockopt.lo -poll/unix/epoll.lo: poll/unix/epoll.c .make.dirs -poll/unix/kqueue.lo: poll/unix/kqueue.c .make.dirs poll/unix/poll.lo: poll/unix/poll.c .make.dirs -poll/unix/port.lo: poll/unix/port.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 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/port.lo: poll/unix/port.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 +poll/unix/epoll.lo: poll/unix/epoll.c .make.dirs +poll/unix/kqueue.lo: poll/unix/kqueue.c .make.dirs -OBJECTS_poll_unix = poll/unix/epoll.lo poll/unix/kqueue.lo poll/unix/poll.lo poll/unix/port.lo poll/unix/select.lo +OBJECTS_poll_unix = poll/unix/poll.lo poll/unix/select.lo poll/unix/port.lo poll/unix/epoll.lo poll/unix/kqueue.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 -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.lo: random/unix/sha2.c .make.dirs -OBJECTS_random_unix = random/unix/apr_random.lo random/unix/sha2.lo random/unix/sha2_glue.lo +OBJECTS_random_unix = random/unix/apr_random.lo random/unix/sha2_glue.lo random/unix/sha2.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 @@ -95,32 +95,32 @@ support/unix/waitio.lo: support/unix/waitio.c .make.dirs include/apr_support.h i OBJECTS_support_unix = support/unix/waitio.lo -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/procsup.lo: threadproc/unix/procsup.c .make.dirs -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/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/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/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 -OBJECTS_threadproc_unix = threadproc/unix/proc.lo threadproc/unix/procsup.lo threadproc/unix/signals.lo threadproc/unix/thread.lo threadproc/unix/threadpriv.lo +OBJECTS_threadproc_unix = threadproc/unix/procsup.lo threadproc/unix/proc.lo threadproc/unix/thread.lo threadproc/unix/threadpriv.lo threadproc/unix/signals.lo -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/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 -OBJECTS_time_unix = time/unix/time.lo time/unix/timestr.lo +OBJECTS_time_unix = time/unix/timestr.lo time/unix/time.lo -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/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 -OBJECTS_user_unix = user/unix/groupinfo.lo user/unix/userinfo.lo +OBJECTS_user_unix = user/unix/userinfo.lo user/unix/groupinfo.lo -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/ia32.lo: atomic/unix/ia32.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/builtins.lo: atomic/unix/builtins.c .make.dirs atomic/unix/solaris.lo: atomic/unix/solaris.c .make.dirs -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_atomic_unix = atomic/unix/mutex.lo atomic/unix/ia32.lo atomic/unix/ppc.lo atomic/unix/s390.lo atomic/unix/builtins.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) @@ -134,29 +134,29 @@ dso/beos/dso.lo: dso/beos/dso.c .make.dirs include/apr_allocator.h include/apr_g OBJECTS_dso_beos = dso/beos/dso.lo -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/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_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 -OBJECTS_locks_beos = locks/beos/proc_mutex.lo locks/beos/thread_cond.lo locks/beos/thread_mutex.lo locks/beos/thread_rwlock.lo +OBJECTS_locks_beos = locks/beos/thread_cond.lo locks/beos/thread_mutex.lo locks/beos/proc_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_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_time.h include/apr_pools.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/sendrecv.lo network_io/beos/socketcommon.lo +OBJECTS_network_io_beos = network_io/beos/socketcommon.lo network_io/beos/sendrecv.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 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_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/threadpriv.lo: threadproc/beos/threadpriv.c .make.dirs -threadproc/beos/threadproc_common.lo: threadproc/beos/threadproc_common.c .make.dirs +threadproc/beos/apr_proc_stub.lo: threadproc/beos/apr_proc_stub.c .make.dirs -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_threadproc_beos = threadproc/beos/proc.lo threadproc/beos/threadproc_common.lo threadproc/beos/thread.lo threadproc/beos/threadpriv.lo threadproc/beos/apr_proc_stub.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) @@ -164,45 +164,45 @@ dso/os2/dso.lo: dso/os2/dso.c .make.dirs include/apr_allocator.h include/apr_gen OBJECTS_dso_os2 = dso/os2/dso.lo -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/copy.lo: file_io/os2/copy.c .make.dirs -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/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/mktemp.lo: file_io/os2/mktemp.c .make.dirs file_io/os2/fileacc.lo: file_io/os2/fileacc.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/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_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/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/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/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/filepath.lo: file_io/os2/filepath.c .make.dirs -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_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/copy.lo: file_io/os2/copy.c .make.dirs +file_io/os2/tempdir.lo: file_io/os2/tempdir.c .make.dirs 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/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_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/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_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/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/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/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/tempdir.lo: file_io/os2/tempdir.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/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/filepath_util.lo: file_io/os2/filepath_util.c .make.dirs +file_io/os2/flock.lo: file_io/os2/flock.c .make.dirs +file_io/os2/filepath.lo: file_io/os2/filepath.c .make.dirs -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 +OBJECTS_file_io_os2 = file_io/os2/mktemp.lo file_io/os2/fileacc.lo file_io/os2/seek.lo file_io/os2/fullrw.lo file_io/os2/maperrorcode.lo file_io/os2/dir.lo file_io/os2/buffer.lo file_io/os2/filedup.lo file_io/os2/filestat.lo file_io/os2/copy.lo file_io/os2/tempdir.lo file_io/os2/filesys.lo file_io/os2/open.lo file_io/os2/readwrite.lo file_io/os2/dir_make_recurse.lo file_io/os2/pipe.lo file_io/os2/filepath_util.lo file_io/os2/flock.lo file_io/os2/filepath.lo -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/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_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 -OBJECTS_locks_os2 = locks/os2/proc_mutex.lo locks/os2/thread_cond.lo locks/os2/thread_mutex.lo locks/os2/thread_rwlock.lo +OBJECTS_locks_os2 = locks/os2/thread_cond.lo locks/os2/thread_mutex.lo locks/os2/proc_mutex.lo locks/os2/thread_rwlock.lo +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/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/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/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/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/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/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/sockaddr.lo: network_io/os2/sockaddr.c .make.dirs -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/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 -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/sockets.lo network_io/os2/sockopt.lo +OBJECTS_network_io_os2 = network_io/os2/sockets.lo network_io/os2/inet_ntop.lo network_io/os2/inet_pton.lo network_io/os2/sendrecv_udp.lo network_io/os2/sendrecv.lo network_io/os2/os2calls.lo network_io/os2/sockaddr.lo network_io/os2/sockopt.lo 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/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 @@ -214,11 +214,11 @@ shmem/os2/shm.lo: shmem/os2/shm.c .make.dirs include/apr_allocator.h include/apr OBJECTS_shmem_os2 = shmem/os2/shm.lo 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/signals.lo: threadproc/os2/signals.c .make.dirs 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/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/signals.lo: threadproc/os2/signals.c .make.dirs -OBJECTS_threadproc_os2 = threadproc/os2/proc.lo threadproc/os2/signals.lo threadproc/os2/thread.lo threadproc/os2/threadpriv.lo +OBJECTS_threadproc_os2 = threadproc/os2/proc.lo threadproc/os2/thread.lo threadproc/os2/threadpriv.lo threadproc/os2/signals.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) @@ -236,68 +236,68 @@ dso/win32/dso.lo: dso/win32/dso.c .make.dirs include/apr_allocator.h include/apr OBJECTS_dso_win32 = dso/win32/dso.lo -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/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/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_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.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/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/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/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/flock.lo: file_io/win32/flock.c .make.dirs 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/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/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/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/flock.lo: file_io/win32/flock.c .make.dirs +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 -OBJECTS_file_io_win32 = 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 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/win32/seek.lo file_io/win32/dir.lo file_io/win32/buffer.lo file_io/win32/filedup.lo file_io/win32/filestat.lo file_io/win32/filesys.lo file_io/win32/open.lo file_io/win32/readwrite.lo file_io/win32/pipe.lo file_io/win32/flock.lo file_io/win32/filepath.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 -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/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_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 -OBJECTS_locks_win32 = locks/win32/proc_mutex.lo locks/win32/thread_cond.lo locks/win32/thread_mutex.lo locks/win32/thread_rwlock.lo +OBJECTS_locks_win32 = locks/win32/thread_cond.lo locks/win32/thread_mutex.lo locks/win32/proc_mutex.lo locks/win32/thread_rwlock.lo -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/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/internal.lo: misc/win32/internal.c .make.dirs -misc/win32/misc.lo: misc/win32/misc.c .make.dirs include/apr_lib.h 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/utf8.lo: misc/win32/utf8.c .make.dirs 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/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/misc.lo: misc/win32/misc.c .make.dirs include/apr_lib.h include/apr_errno.h -OBJECTS_misc_win32 = 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 misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/otherchild.lo misc/unix/version.lo +OBJECTS_misc_win32 = misc/win32/env.lo misc/win32/internal.lo misc/win32/rand.lo misc/win32/utf8.lo misc/win32/charset.lo misc/win32/start.lo misc/win32/misc.lo misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/otherchild.lo misc/unix/version.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 OBJECTS_mmap_win32 = mmap/win32/mmap.lo mmap/unix/common.lo -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/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/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/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 -OBJECTS_network_io_win32 = network_io/win32/sendrecv.lo network_io/win32/sockets.lo network_io/win32/sockopt.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/multicast.lo network_io/unix/sockaddr.lo +OBJECTS_network_io_win32 = network_io/win32/sockets.lo network_io/win32/sendrecv.lo network_io/win32/sockopt.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/multicast.lo network_io/unix/sockaddr.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 OBJECTS_shmem_win32 = shmem/win32/shm.lo 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/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/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/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/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 -OBJECTS_threadproc_win32 = threadproc/win32/proc.lo threadproc/win32/signals.lo threadproc/win32/thread.lo threadproc/win32/threadpriv.lo +OBJECTS_threadproc_win32 = threadproc/win32/proc.lo threadproc/win32/thread.lo threadproc/win32/threadpriv.lo threadproc/win32/signals.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/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/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/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 -OBJECTS_time_win32 = time/win32/access.lo time/win32/time.lo time/win32/timestr.lo +OBJECTS_time_win32 = time/win32/timestr.lo time/win32/time.lo time/win32/access.lo -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/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 -OBJECTS_user_win32 = user/win32/groupinfo.lo user/win32/userinfo.lo +OBJECTS_user_win32 = user/win32/userinfo.lo user/win32/groupinfo.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 @@ -305,7 +305,7 @@ 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) -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 +HEADERS = $(top_srcdir)/include/apr_global_mutex.h $(top_srcdir)/include/apr_getopt.h $(top_srcdir)/include/apr_allocator.h $(top_srcdir)/include/apr_fnmatch.h $(top_srcdir)/include/apr_inherit.h $(top_srcdir)/include/apr_support.h $(top_srcdir)/include/apr_env.h $(top_srcdir)/include/apr_tables.h $(top_srcdir)/include/apr_thread_mutex.h $(top_srcdir)/include/apr_want.h $(top_srcdir)/include/apr_strings.h $(top_srcdir)/include/apr_portable.h $(top_srcdir)/include/apr_random.h $(top_srcdir)/include/apr_lib.h $(top_srcdir)/include/apr_shm.h $(top_srcdir)/include/apr_dso.h $(top_srcdir)/include/apr_hash.h $(top_srcdir)/include/apr_general.h $(top_srcdir)/include/apr_user.h $(top_srcdir)/include/apr_signal.h $(top_srcdir)/include/apr_thread_rwlock.h $(top_srcdir)/include/apr_proc_mutex.h $(top_srcdir)/include/apr_errno.h $(top_srcdir)/include/apr_version.h $(top_srcdir)/include/apr_atomic.h $(top_srcdir)/include/apr_thread_cond.h $(top_srcdir)/include/apr_poll.h $(top_srcdir)/include/apr_file_info.h $(top_srcdir)/include/apr_time.h $(top_srcdir)/include/apr_ring.h $(top_srcdir)/include/apr_file_io.h $(top_srcdir)/include/apr_pools.h $(top_srcdir)/include/apr_mmap.h $(top_srcdir)/include/apr_thread_proc.h $(top_srcdir)/include/apr_network_io.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/apr_common.m4 b/srclib/apr/build/apr_common.m4 index 2afb4666..4b3f6586 100644 --- a/srclib/apr/build/apr_common.m4 +++ b/srclib/apr/build/apr_common.m4 @@ -158,9 +158,12 @@ changequote([, ])dnl done ]) - # autoconf doesn't add --silent to ac_configure_args; explicitly pass it + dnl autoconf doesn't add --silent to ac_configure_args; explicitly pass it test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent" + dnl AC_CONFIG_SUBDIRS silences option warnings, emulate this for 2.62 + apr_configure_args="--disable-option-checking $apr_configure_args" + dnl The eval makes quoting arguments work - specifically the second argument dnl where the quoting mechanisms used is "" rather than []. dnl diff --git a/srclib/apr/build/apr_hints.m4 b/srclib/apr/build/apr_hints.m4 index 66837b63..626e22e3 100644 --- a/srclib/apr/build/apr_hints.m4 +++ b/srclib/apr/build/apr_hints.m4 @@ -97,6 +97,7 @@ if test "x$apr_preload_done" != "xyes" ; then APR_SETVAR(SHELL, [sh]) APR_SETIFNULL(apr_gethostbyname_is_thread_safe, [yes]) APR_SETIFNULL(apr_gethostbyaddr_is_thread_safe, [yes]) + APR_SETIFNULL(apr_getservbyname_is_thread_safe, [yes]) ;; *-hi-hiux) APR_ADDTO(CPPFLAGS, [-DHIUX]) @@ -419,6 +420,7 @@ dnl # Not a problem in 10.20. Otherwise, who knows? APR_SETIFNULL(apr_sysvsem_is_global, [yes]) APR_SETIFNULL(apr_gethostbyname_is_thread_safe, [yes]) APR_SETIFNULL(apr_gethostbyaddr_is_thread_safe, [yes]) + APR_SETIFNULL(apr_getservbyname_is_thread_safe, [yes]) AC_DEFINE(HAVE_ZOS_PTHREADS, 1, [Define for z/OS pthread API nuances]) APR_ADDTO(CPPFLAGS, [-U_NO_PROTO -DSIGPROCMASK_SETS_THREAD_MASK -DTCP_NODELAY=1]) ;; @@ -427,6 +429,7 @@ dnl # Not a problem in 10.20. Otherwise, who knows? APR_SETIFNULL(apr_process_lock_is_global, [yes]) APR_SETIFNULL(apr_gethostbyname_is_thread_safe, [yes]) APR_SETIFNULL(apr_gethostbyaddr_is_thread_safe, [yes]) + APR_SETIFNULL(apr_getservbyname_is_thread_safe, [yes]) ;; *cygwin*) APR_ADDTO(CPPFLAGS, [-DCYGWIN]) diff --git a/srclib/apr/build/apr_network.m4 b/srclib/apr/build/apr_network.m4 index 192fcd81..4d479a45 100644 --- a/srclib/apr/build/apr_network.m4 +++ b/srclib/apr/build/apr_network.m4 @@ -282,6 +282,106 @@ fi ]) dnl +dnl Checks the definition of getservbyname_r +dnl which are different for glibc, solaris and assorted other operating +dnl systems +dnl +dnl Note that this test is executed too early to see if we have all of +dnl the headers. +AC_DEFUN([APR_CHECK_GETSERVBYNAME_R_STYLE], [ + +dnl Try and compile a glibc2 getservbyname_r piece of code, and set the +dnl style of the routines to glibc2 on success +AC_CACHE_CHECK([style of getservbyname_r routine], ac_cv_getservbyname_r_style, [ +APR_TRY_COMPILE_NO_WARNING([ +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif +#ifdef HAVE_ARPA_INET_H +#include <arpa/inet.h> +#endif +#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +],[ +int tmp = getservbyname_r((const char *) 0, (const char *) 0, + (struct servent *) 0, (char *) 0, 0, + (struct servent **) 0); +/* use tmp to suppress the warning */ +tmp=0; +], ac_cv_getservbyname_r_style=glibc2, ac_cv_getservbyname_r_style=none) + +if test "$ac_cv_getservbyname_r_style" = "none"; then + dnl Try and compile a Solaris getservbyname_r piece of code, and set the + dnl style of the routines to solaris on success + APR_TRY_COMPILE_NO_WARNING([ + #ifdef HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif + #ifdef HAVE_NETINET_IN_H + #include <netinet/in.h> + #endif + #ifdef HAVE_ARPA_INET_H + #include <arpa/inet.h> + #endif + #ifdef HAVE_NETDB_H + #include <netdb.h> + #endif + #ifdef HAVE_STDLIB_H + #include <stdlib.h> + #endif + ],[ + struct servent *tmp = getservbyname_r((const char *) 0, (const char *) 0, + (struct servent *) 0, (char *) 0, 0); + /* use tmp to suppress the warning */ + tmp=NULL; + ], ac_cv_getservbyname_r_style=solaris, ac_cv_getservbyname_r_style=none) +fi + +if test "$ac_cv_getservbyname_r_style" = "none"; then + dnl Try and compile a OSF/1 getservbyname_r piece of code, and set the + dnl style of the routines to osf1 on success + APR_TRY_COMPILE_NO_WARNING([ + #ifdef HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif + #ifdef HAVE_NETINET_IN_H + #include <netinet/in.h> + #endif + #ifdef HAVE_ARPA_INET_H + #include <arpa/inet.h> + #endif + #ifdef HAVE_NETDB_H + #include <netdb.h> + #endif + #ifdef HAVE_STDLIB_H + #include <stdlib.h> + #endif + ],[ + int tmp = getservbyname_r((const char *) 0, (const char *) 0, + (struct servent *) 0, (struct servent_data *) 0); + /* use tmp to suppress the warning */ + tmp=0; + ], ac_cv_getservbyname_r_style=osf1, ac_cv_getservbyname_r_style=none) +fi +]) + +if test "$ac_cv_getservbyname_r_style" = "glibc2"; then + AC_DEFINE(GETSERVBYNAME_R_GLIBC2, 1, [Define if getservbyname_r has the glibc style]) +elif test "$ac_cv_getservbyname_r_style" = "solaris"; then + AC_DEFINE(GETSERVBYNAME_R_SOLARIS, 1, [Define if getservbyname_r has the Solaris style]) +elif test "$ac_cv_getservbyname_r_style" = "osf1"; then + AC_DEFINE(GETSERVBYNAME_R_OSF1, 1, [Define if getservbyname_r has the OSF/1 style]) +fi +]) + +dnl dnl see if TCP_NODELAY setting is inherited from listening sockets dnl AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITED], [ diff --git a/srclib/apr/build/libtool.m4 b/srclib/apr/build/libtool.m4 index cc03edf2..8d0928e7 100644 --- a/srclib/apr/build/libtool.m4 +++ b/srclib/apr/build/libtool.m4 @@ -6042,7 +6042,25 @@ _LT_EOF ;; darwin* | rhapsody*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes diff --git a/srclib/apr/configure b/srclib/apr/configure index 9fbd718e..b255f50c 100755 --- a/srclib/apr/configure +++ b/srclib/apr/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62. +# Generated by GNU Autoconf 2.63. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -789,263 +789,263 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -target -target_cpu -target_vendor -target_os -apr_srcdir -apr_builddir -APR_CONFIG_LOCATION -top_builddir -apr_builders -APR_DOTTED_VERSION -APR_MAJOR_VERSION -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -SET_MAKE -CPP -AWK -LN_S -RANLIB -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -RM -AS -ASCPP -AR -GREP -EGREP -apr_charset_ebcdic -APR_LIBNAME -SED -ECHO -STRIP -DSYMUTIL -NMEDIT -CXX -CXXFLAGS -ac_ct_CXX -CXXCPP -F77 -FFLAGS -ac_ct_F77 -LIBTOOL -installbuilddir -lt_compile -link -so_ext -lib_target -export_lib_target -shlibpath_var -LTFLAGS -LT_LDFLAGS -LT_VERSION -MKDEP -OBJECTS_PLATFORM -proc_mutex_is_global -eolstr -INSTALL_SUBDIRS -threads -have_sigsuspend -have_sigwait -useshmgetanon -usemmapzero -usemmapanon -haveshmgetanon -havemmapzero -havemmapanon -usemmaptmp -usemmapshm -useshmget -usebeosarea -useos2shm -usewin32shm -havemmaptmp -havemmapshm -haveshmget -havebeosarea -haveos2shm -havewin32shm -sharedmem -ALLOCA -sendfile -apr_inaddr_none -fork -have_inet_addr -tcp_nodelay_inherited -o_nonblock_inherited -have_inet_network -have_sigaction -have_setrlimit -have_getrlimit -mmap -have_memmove -arpa_ineth -conioh -ctypeh -crypth -errnoh -direnth -fcntlh -ioh -limitsh -netdbh -sys_syslimitsh -netinet_inh -netinet_sctph -netinet_sctp_uioh -netinet_tcph -stdargh -stdioh -stdlibh -stringh -stringsh -sys_ioctlh -sys_sendfileh -sys_signalh -sys_socketh -sys_sockioh -sys_typesh -sys_timeh -sys_uioh -sys_unh -timeh -unistdh -signalh -sys_waith -pthreadh -semaphoreh -windowsh -winsock2h -voidp_size -short_value -int_value -long_value -int64_value -off_t_value -size_t_value -ssize_t_value -socklen_t_value -int64_t_fmt -uint64_t_fmt -uint64_t_hex_fmt -ssize_t_fmt -size_t_fmt -off_t_fmt -pid_t_fmt -int64_literal -uint64_literal -stdint -bigendian -aprlfs -have_iovec -ino_t_value -have_strnicmp -have_strncasecmp -have_stricmp -have_strcasecmp -have_strdup -have_strstr -have_memchr -aprdso -oc -have_proc_invoked -struct_rlimit -have_union_semun -hasflockser -hassysvser -hasposixser -hasfcntlser -hasprocpthreadser -flockser -sysvser -posixser -fcntlser -procpthreadser -pthreadser -proclockglobal -rand -osuuid -have_in_addr -file_as_socket -apr_tcp_nopush_flag -have_corkable_tcp -acceptfilter -have_sctp -have_sa_storage -have_ipv6 -have_unicode_fs -EXTRA_CPPFLAGS -EXTRA_CFLAGS -EXTRA_LDFLAGS -EXTRA_LIBS -EXTRA_INCLUDES -NOTEST_CPPFLAGS -NOTEST_CFLAGS -NOTEST_LDFLAGS -NOTEST_LIBS -NOTEST_INCLUDES -LDLIBS -INCLUDES -OSDIR -DEFAULT_OSDIR -LIBTOOL_LIBS -LT_NO_INSTALL -INCLUDE_RULES -INCLUDE_OUTPUTS +ac_subst_vars='LTLIBOBJS LIBOBJS -LTLIBOBJS' +INCLUDE_OUTPUTS +INCLUDE_RULES +LT_NO_INSTALL +LIBTOOL_LIBS +DEFAULT_OSDIR +OSDIR +INCLUDES +LDLIBS +NOTEST_INCLUDES +NOTEST_LIBS +NOTEST_LDFLAGS +NOTEST_CFLAGS +NOTEST_CPPFLAGS +EXTRA_INCLUDES +EXTRA_LIBS +EXTRA_LDFLAGS +EXTRA_CFLAGS +EXTRA_CPPFLAGS +have_unicode_fs +have_ipv6 +have_sa_storage +have_sctp +acceptfilter +have_corkable_tcp +apr_tcp_nopush_flag +file_as_socket +have_in_addr +osuuid +rand +proclockglobal +pthreadser +procpthreadser +fcntlser +posixser +sysvser +flockser +hasprocpthreadser +hasfcntlser +hasposixser +hassysvser +hasflockser +have_union_semun +struct_rlimit +have_proc_invoked +oc +aprdso +have_memchr +have_strstr +have_strdup +have_strcasecmp +have_stricmp +have_strncasecmp +have_strnicmp +ino_t_value +have_iovec +aprlfs +bigendian +stdint +uint64_literal +int64_literal +pid_t_fmt +off_t_fmt +size_t_fmt +ssize_t_fmt +uint64_t_hex_fmt +uint64_t_fmt +int64_t_fmt +socklen_t_value +ssize_t_value +size_t_value +off_t_value +int64_value +long_value +int_value +short_value +voidp_size +winsock2h +windowsh +semaphoreh +pthreadh +sys_waith +signalh +unistdh +timeh +sys_unh +sys_uioh +sys_timeh +sys_typesh +sys_sockioh +sys_socketh +sys_signalh +sys_sendfileh +sys_ioctlh +stringsh +stringh +stdlibh +stdioh +stdargh +netinet_tcph +netinet_sctp_uioh +netinet_sctph +netinet_inh +sys_syslimitsh +netdbh +limitsh +ioh +fcntlh +direnth +errnoh +crypth +ctypeh +conioh +arpa_ineth +have_memmove +mmap +have_getrlimit +have_setrlimit +have_sigaction +have_inet_network +o_nonblock_inherited +tcp_nodelay_inherited +have_inet_addr +fork +apr_inaddr_none +sendfile +ALLOCA +sharedmem +havewin32shm +haveos2shm +havebeosarea +haveshmget +havemmapshm +havemmaptmp +usewin32shm +useos2shm +usebeosarea +useshmget +usemmapshm +usemmaptmp +havemmapanon +havemmapzero +haveshmgetanon +usemmapanon +usemmapzero +useshmgetanon +have_sigwait +have_sigsuspend +threads +INSTALL_SUBDIRS +eolstr +proc_mutex_is_global +OBJECTS_PLATFORM +MKDEP +LT_VERSION +LT_LDFLAGS +LTFLAGS +shlibpath_var +export_lib_target +lib_target +so_ext +link +lt_compile +installbuilddir +LIBTOOL +ac_ct_F77 +FFLAGS +F77 +CXXCPP +ac_ct_CXX +CXXFLAGS +CXX +NMEDIT +DSYMUTIL +STRIP +ECHO +SED +APR_LIBNAME +apr_charset_ebcdic +EGREP +GREP +AR +ASCPP +AS +RM +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +RANLIB +LN_S +AWK +CPP +SET_MAKE +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +APR_MAJOR_VERSION +APR_DOTTED_VERSION +apr_builders +top_builddir +APR_CONFIG_LOCATION +apr_builddir +apr_srcdir +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -1513,9 +1513,9 @@ fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1568,7 +1568,7 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: Working directory cannot be determined" >&2 + { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 @@ -1829,7 +1829,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.62 +generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -1843,7 +1843,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -1966,8 +1966,8 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -2170,6 +2170,8 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 @@ -2385,6 +2387,8 @@ 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. @@ -3531,12 +3535,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -3735,12 +3735,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -3750,11 +3746,13 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 @@ -3884,11 +3882,13 @@ if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext @@ -3916,13 +3916,15 @@ $as_echo "$ac_try_echo") >&5 if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi @@ -3965,11 +3967,13 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext @@ -4023,11 +4027,13 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext @@ -4787,6 +4793,12 @@ if test "x$apr_preload_done" != "xyes" ; then apr_gethostbyaddr_is_thread_safe="yes" fi + + if test -z "$apr_getservbyname_is_thread_safe"; then + test "x$silent" != "xyes" && echo " setting apr_getservbyname_is_thread_safe to \"yes\"" + apr_getservbyname_is_thread_safe="yes" + fi + ;; *-hi-hiux) @@ -7461,6 +7473,12 @@ if test "x$apr_preload_done" != "xyes" ; then fi + if test -z "$apr_getservbyname_is_thread_safe"; then + test "x$silent" != "xyes" && echo " setting apr_getservbyname_is_thread_safe to \"yes\"" + apr_getservbyname_is_thread_safe="yes" + fi + + cat >>confdefs.h <<\_ACEOF #define HAVE_ZOS_PTHREADS 1 _ACEOF @@ -7512,6 +7530,12 @@ _ACEOF apr_gethostbyaddr_is_thread_safe="yes" fi + + if test -z "$apr_getservbyname_is_thread_safe"; then + test "x$silent" != "xyes" && echo " setting apr_getservbyname_is_thread_safe to \"yes\"" + apr_getservbyname_is_thread_safe="yes" + fi + ;; *cygwin*) @@ -7894,11 +7918,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -8042,12 +8068,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -8342,12 +8364,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR @@ -8359,6 +8377,7 @@ fi + { $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then @@ -8732,8 +8751,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -8871,7 +8891,7 @@ fi $as_echo "$ac_cv_header_minix_config_h" >&6; } fi -if test $ac_cv_header_minix_config_h = yes; then +if test "x$ac_cv_header_minix_config_h" = x""yes; then MINIX=yes else MINIX= @@ -8972,6 +8992,8 @@ _ACEOF _ACEOF + + { $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if test "${ac_cv_search_strerror+set}" = set; then @@ -9060,236 +9082,6 @@ if test "$ac_res" != no; then fi - if test "${ac_cv_header_minix_config_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5 -$as_echo_n "checking minix/config.h 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 <minix/config.h> -_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 minix/config.h presence" >&5 -$as_echo_n "checking minix/config.h 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 <minix/config.h> -_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: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_minix_config_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } - -fi -if test $ac_cv_header_minix_config_h = yes; then - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define _POSIX_SOURCE 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define _POSIX_1_SOURCE 2 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define _MINIX 1 -_ACEOF - - fi - - - - { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_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_cv_safe_to_define___extensions__=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_safe_to_define___extensions__=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - cat >>confdefs.h <<\_ACEOF -#define __EXTENSIONS__ 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _ALL_SOURCE 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _GNU_SOURCE 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _POSIX_PTHREAD_SEMANTICS 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define _TANDEM_SOURCE 1 -_ACEOF - - - - { $as_echo "$as_me:$LINENO: checking whether system uses EBCDIC" >&5 $as_echo_n "checking whether system uses EBCDIC... " >&6; } if test "${ac_cv_ebcdic+set}" = set; then @@ -9950,7 +9742,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 9953 "configure"' > conftest.$ac_ext + echo '#line 9745 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -10279,8 +10071,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -10390,12 +10183,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX @@ -10887,11 +10676,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=cpp @@ -10999,12 +10790,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 @@ -11659,12 +11446,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR @@ -11755,12 +11538,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -11851,12 +11630,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -12135,12 +11910,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL @@ -12231,12 +12002,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT @@ -12463,11 +12230,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:12466: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12233: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12470: \$? = $ac_status" >&5 + echo "$as_me:12237: \$? = $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. @@ -12753,11 +12520,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:12756: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12523: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12760: \$? = $ac_status" >&5 + echo "$as_me:12527: \$? = $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. @@ -12857,11 +12624,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:12860: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12627: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12864: \$? = $ac_status" >&5 + echo "$as_me:12631: \$? = $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 @@ -13498,7 +13265,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - allow_undefined_flag="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes @@ -14731,7 +14516,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else @@ -14829,7 +14614,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 $as_echo "$ac_cv_func_shl_load" >&6; } -if test $ac_cv_func_shl_load = yes; then +if test "x$ac_cv_func_shl_load" = x""yes; then lt_cv_dlopen="shl_load" else { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 @@ -14897,7 +14682,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then +if test "x$ac_cv_lib_dld_shl_load" = x""yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 @@ -14985,7 +14770,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 $as_echo "$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then +if test "x$ac_cv_func_dlopen" = x""yes; then lt_cv_dlopen="dlopen" else { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 @@ -15053,7 +14838,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 @@ -15121,7 +14906,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test $ac_cv_lib_svld_dlopen = yes; then +if test "x$ac_cv_lib_svld_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 @@ -15189,7 +14974,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test $ac_cv_lib_dld_dld_link = yes; then +if test "x$ac_cv_lib_dld_dld_link" = x""yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi @@ -15239,7 +15024,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 15242 "configure" +#line 15027 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15339,7 +15124,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 15342 "configure" +#line 15127 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -17752,11 +17537,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:17755: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17540: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17759: \$? = $ac_status" >&5 + echo "$as_me:17544: \$? = $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. @@ -17856,11 +17641,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:17859: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17644: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17863: \$? = $ac_status" >&5 + echo "$as_me:17648: \$? = $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 @@ -19439,11 +19224,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:19442: $lt_compile\"" >&5) + (eval echo "\"\$as_me:19227: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:19446: \$? = $ac_status" >&5 + echo "$as_me:19231: \$? = $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. @@ -19543,11 +19328,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:19546: $lt_compile\"" >&5) + (eval echo "\"\$as_me:19331: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:19550: \$? = $ac_status" >&5 + echo "$as_me:19335: \$? = $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 @@ -20164,7 +19949,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - allow_undefined_flag_F77="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes @@ -21744,11 +21547,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:21747: $lt_compile\"" >&5) + (eval echo "\"\$as_me:21550: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:21751: \$? = $ac_status" >&5 + echo "$as_me:21554: \$? = $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. @@ -22034,11 +21837,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:22037: $lt_compile\"" >&5) + (eval echo "\"\$as_me:21840: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:22041: \$? = $ac_status" >&5 + echo "$as_me:21844: \$? = $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. @@ -22138,11 +21941,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:22141: $lt_compile\"" >&5) + (eval echo "\"\$as_me:21944: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:22145: \$? = $ac_status" >&5 + echo "$as_me:21948: \$? = $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 @@ -22779,7 +22582,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; darwin* | rhapsody*) - allow_undefined_flag_GCJ="$_lt_dar_allow_undefined" + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes @@ -25360,11 +25181,11 @@ esac { $as_echo "$as_me:$LINENO: checking whether the compiler provides atomic builtins" >&5 $as_echo_n "checking whether the compiler provides atomic builtins... " >&6; } -if test "${atomic_builtins+set}" = set; then +if test "${ap_cv_atomic_builtins+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then - atomic_builtins=no + ap_cv_atomic_builtins=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -25431,14 +25252,14 @@ $as_echo "$ac_try_echo") >&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - atomic_builtins=yes + ap_cv_atomic_builtins=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 ) -atomic_builtins=no +ap_cv_atomic_builtins=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 @@ -25446,10 +25267,10 @@ fi fi -{ $as_echo "$as_me:$LINENO: result: $atomic_builtins" >&5 -$as_echo "$atomic_builtins" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ap_cv_atomic_builtins" >&5 +$as_echo "$ap_cv_atomic_builtins" >&6; } -if test "$atomic_builtins" = "yes"; then +if test "$ap_cv_atomic_builtins" = "yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_ATOMIC_BUILTINS 1 @@ -25640,7 +25461,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_random" >&5 $as_echo "$ac_cv_lib_bsd_random" >&6; } -if test $ac_cv_lib_bsd_random = yes; then +if test "x$ac_cv_lib_bsd_random" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBBSD 1 _ACEOF @@ -26038,7 +25859,7 @@ 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 $ac_cv_lib_msvcrt_getpid = yes; then +if test "x$ac_cv_lib_msvcrt_getpid" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBMSVCRT 1 _ACEOF @@ -27025,7 +26846,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_truerand_main" >&5 $as_echo "$ac_cv_lib_truerand_main" >&6; } -if test $ac_cv_lib_truerand_main = yes; then +if test "x$ac_cv_lib_truerand_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBTRUERAND 1 _ACEOF @@ -27270,8 +27091,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -27419,8 +27241,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -27830,8 +27653,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -27989,8 +27813,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -28406,8 +28231,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -28565,8 +28391,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -28905,8 +28732,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -29112,8 +28940,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -29213,8 +29042,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -29229,6 +29059,7 @@ fi ac_cv_define_READDIR_IS_THREAD_SAFE=no ac_cv_define_GETHOSTBYNAME_IS_THREAD_SAFE=no ac_cv_define_GETHOSTBYADDR_IS_THREAD_SAFE=no +ac_cv_define_GETSERVBYNAME_IS_THREAD_SAFE=no if test "$threads" = "1"; then echo "APR will use threads" { $as_echo "$as_me:$LINENO: checking for readdir in -lc_r" >&5 @@ -29296,7 +29127,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_readdir" >&5 $as_echo "$ac_cv_lib_c_r_readdir" >&6; } -if test $ac_cv_lib_c_r_readdir = yes; then +if test "x$ac_cv_lib_c_r_readdir" = x""yes; then cat >>confdefs.h <<\_ACEOF #define READDIR_IS_THREAD_SAFE 1 @@ -29370,7 +29201,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_gethostbyname" >&5 $as_echo "$ac_cv_lib_c_r_gethostbyname" >&6; } -if test $ac_cv_lib_c_r_gethostbyname = yes; then +if test "x$ac_cv_lib_c_r_gethostbyname" = x""yes; then apr_gethostbyname_is_thread_safe=yes fi @@ -29448,7 +29279,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_gethostbyaddr" >&5 $as_echo "$ac_cv_lib_c_r_gethostbyaddr" >&6; } -if test $ac_cv_lib_c_r_gethostbyaddr = yes; then +if test "x$ac_cv_lib_c_r_gethostbyaddr" = x""yes; then apr_gethostbyaddr_is_thread_safe=yes fi @@ -29460,9 +29291,88 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi + if test "x$apr_getservbyname_is_thread_safe" = "x"; then + { $as_echo "$as_me:$LINENO: checking for getservbyname in -lc_r" >&5 +$as_echo_n "checking for getservbyname in -lc_r... " >&6; } +if test "${ac_cv_lib_c_r_getservbyname+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lc_r $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 getservbyname (); +int +main () +{ +return getservbyname (); + ; + 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_c_r_getservbyname=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_c_r_getservbyname=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_c_r_getservbyname" >&5 +$as_echo "$ac_cv_lib_c_r_getservbyname" >&6; } +if test "x$ac_cv_lib_c_r_getservbyname" = x""yes; then + apr_getservbyname_is_thread_safe=yes +fi + + fi + if test "$apr_getservbyname_is_thread_safe" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define GETSERVBYNAME_IS_THREAD_SAFE 1 +_ACEOF + + fi -for ac_func in gethostbyname_r gethostbyaddr_r + +for ac_func in gethostbyname_r gethostbyaddr_r getservbyname_r do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -29552,8 +29462,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -29680,7 +29591,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_efence_malloc" >&5 $as_echo "$ac_cv_lib_efence_malloc" >&6; } -if test $ac_cv_lib_efence_malloc = yes; then +if test "x$ac_cv_lib_efence_malloc" = x""yes; then if test "x$LIBS" = "x"; then test "x$silent" != "xyes" && echo " setting LIBS to \"-lefence\"" @@ -29803,8 +29714,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -29905,8 +29817,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -30019,8 +29932,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -30196,8 +30110,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -30449,8 +30364,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -30559,8 +30475,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -31638,8 +31555,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -31838,8 +31756,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -31938,8 +31857,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -32040,8 +31960,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -32118,7 +32039,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sendfile_sendfilev" >&5 $as_echo "$ac_cv_lib_sendfile_sendfilev" >&6; } -if test $ac_cv_lib_sendfile_sendfilev = yes; then +if test "x$ac_cv_lib_sendfile_sendfilev" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBSENDFILE 1 _ACEOF @@ -32220,8 +32141,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -32513,11 +32435,13 @@ done case $ac_lo in ?*) ac_cv_sizeof_voidp=$ac_lo;; '') if test "$ac_cv_type_voidp" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (void*) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_voidp=0 fi ;; @@ -32593,11 +32517,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_voidp" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (void*) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_voidp=0 fi @@ -32721,8 +32647,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -32791,7 +32718,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5 $as_echo "$ac_cv_have_decl_sys_siglist" >&6; } -if test $ac_cv_have_decl_sys_siglist = yes; then +if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SYS_SIGLIST 1 @@ -32900,8 +32827,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -33235,8 +33163,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -33418,8 +33347,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -33523,8 +33453,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -33629,8 +33560,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -34172,8 +34104,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -34618,7 +34551,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 $as_echo "$ac_cv_type_off_t" >&6; } -if test $ac_cv_type_off_t = yes; then +if test "x$ac_cv_type_off_t" = x""yes; then : else @@ -34722,7 +34655,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 $as_echo "$ac_cv_type_pid_t" >&6; } -if test $ac_cv_type_pid_t = yes; then +if test "x$ac_cv_type_pid_t" = x""yes; then : else @@ -34826,7 +34759,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 $as_echo "$ac_cv_type_size_t" >&6; } -if test $ac_cv_type_size_t = yes; then +if test "x$ac_cv_type_size_t" = x""yes; then : else @@ -34968,7 +34901,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 $as_echo "$ac_cv_type_ssize_t" >&6; } -if test $ac_cv_type_ssize_t = yes; then +if test "x$ac_cv_type_ssize_t" = x""yes; then : else @@ -35558,11 +35491,13 @@ done case $ac_lo in ?*) ac_cv_sizeof_voidp=$ac_lo;; '') if test "$ac_cv_type_voidp" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (void*) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_voidp=0 fi ;; @@ -35638,11 +35573,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_voidp" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (void*) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_voidp=0 fi @@ -35922,11 +35859,13 @@ done case $ac_lo in ?*) ac_cv_sizeof_char=$ac_lo;; '') if test "$ac_cv_type_char" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (char) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_char=0 fi ;; @@ -36002,11 +35941,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_char" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (char) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_char=0 fi @@ -36277,11 +36218,13 @@ done case $ac_lo in ?*) ac_cv_sizeof_int=$ac_lo;; '') if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (int) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_int=0 fi ;; @@ -36357,11 +36300,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (int) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_int=0 fi @@ -36632,11 +36577,13 @@ done case $ac_lo in ?*) ac_cv_sizeof_long=$ac_lo;; '') if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (long) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_long=0 fi ;; @@ -36712,11 +36659,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (long) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_long=0 fi @@ -36987,11 +36936,13 @@ done case $ac_lo in ?*) ac_cv_sizeof_short=$ac_lo;; '') if test "$ac_cv_type_short" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (short) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_short=0 fi ;; @@ -37067,11 +37018,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_short" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (short) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_short=0 fi @@ -37342,11 +37295,13 @@ done case $ac_lo in ?*) ac_cv_sizeof_long_long=$ac_lo;; '') if test "$ac_cv_type_long_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (long long) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_long_long=0 fi ;; @@ -37422,11 +37377,13 @@ sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_long_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (long long) See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_long_long=0 fi @@ -37591,6 +37548,88 @@ else socklen_t_value="int" fi +{ $as_echo "$as_me:$LINENO: checking size of pid_t" >&5 +$as_echo_n "checking size of pid_t... " >&6; } +if test "${ac_cv_sizeof_pid_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_sizeof_pid_t=8 +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> +#include <sys/types.h> +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(pid_t)); + exit(0); +} +_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 + ac_cv_sizeof_pid_t=`cat conftestval` +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 ) +ac_cv_sizeof_pid_t=0 +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 + + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_pid_t" >&5 +$as_echo "$ac_cv_sizeof_pid_t" >&6; } + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_PID_T $ac_cv_sizeof_pid_t +_ACEOF + + + +if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then + pid_t_fmt='#define APR_PID_T_FMT "hd"' +elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_int"; then + pid_t_fmt='#define APR_PID_T_FMT "d"' +elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long"; then + pid_t_fmt='#define APR_PID_T_FMT "ld"' +elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long_long"; then + pid_t_fmt='#define APR_PID_T_FMT APR_INT64_T_FMT' +else + pid_t_fmt='#error Can not determine the proper size for pid_t' +fi + # Basically, we have tried to figure out the correct format strings # for APR types which vary between platforms, but we don't always get # it right. @@ -37606,9 +37645,9 @@ case $host in ;; *-solaris*) if test "$ac_cv_sizeof_long" = "8"; then - pid_t_fmt="d" + pid_t_fmt='#define APR_PID_T_FMT "d"' else - pid_t_fmt="ld" + pid_t_fmt='#define APR_PID_T_FMT "ld"' fi ;; *aix4*|*aix5*) @@ -38212,8 +38251,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -38345,88 +38385,6 @@ fi { $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;} -{ $as_echo "$as_me:$LINENO: checking size of pid_t" >&5 -$as_echo_n "checking size of pid_t... " >&6; } -if test "${ac_cv_sizeof_pid_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_sizeof_pid_t=8 -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> -#include <sys/types.h> -main() -{ - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(pid_t)); - exit(0); -} -_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 - ac_cv_sizeof_pid_t=`cat conftestval` -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 ) -ac_cv_sizeof_pid_t=0 -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 - - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_pid_t" >&5 -$as_echo "$ac_cv_sizeof_pid_t" >&6; } - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_PID_T $ac_cv_sizeof_pid_t -_ACEOF - - - -if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then - pid_t_fmt='#define APR_PID_T_FMT "hd"' -elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_int"; then - pid_t_fmt='#define APR_PID_T_FMT "d"' -elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long"; then - pid_t_fmt='#define APR_PID_T_FMT "ld"' -elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long_long"; then - pid_t_fmt='#define APR_PID_T_FMT APR_INT64_T_FMT' -else - pid_t_fmt='#error Can not determine the proper size for pid_t' -fi - # Checks for endianness { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 @@ -38435,15 +38393,15 @@ if test "${ac_cv_c_bigendian+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown - # See if __BIG_ENDIAN__ or __LITTLE_ENDIAN__ is defined. - cat >conftest.$ac_ext <<_ACEOF + # See if we're dealing with a universal compiler. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#if ! (defined __BIG_ENDIAN__ || defined __LITTLE_ENDIAN__) - neither is defined; +#ifndef __APPLE_CC__ + not a universal capable compiler #endif typedef int dummy; @@ -38466,7 +38424,13 @@ $as_echo "$ac_try_echo") >&5 test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then - ac_cv_c_bigendian=universal + + # Check for potential -arch flags. It is not universal unless + # there are some -arch flags. Note that *ppc* also matches + # ppc64. This check is also rather less than ideal. + case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( + *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; + esac else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -38814,7 +38778,12 @@ _ACEOF no) ;; #( universal) - ;; #( + +cat >>confdefs.h <<\_ACEOF +#define AC_APPLE_UNIVERSAL_BUILD 1 +_ACEOF + + ;; #( *) { { $as_echo "$as_me:$LINENO: error: unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" >&5 @@ -39020,8 +38989,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -39122,8 +39092,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -39224,8 +39195,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -39326,8 +39298,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -39428,8 +39401,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -39530,8 +39504,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -39632,8 +39607,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -39731,8 +39707,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then have_int64_strfn="1" else have_int64_strfn="0" @@ -39826,7 +39803,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_strtoq" >&5 $as_echo "$ac_cv_func_strtoq" >&6; } -if test $ac_cv_func_strtoq = yes; then +if test "x$ac_cv_func_strtoq" = x""yes; then have_int64_strfn=1 else have_int64_strfn=0 @@ -39963,7 +39940,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_NSLinkModule" >&5 $as_echo "$ac_cv_func_NSLinkModule" >&6; } -if test $ac_cv_func_NSLinkModule = yes; then +if test "x$ac_cv_func_NSLinkModule" = x""yes; then dsotype=dyld fi ;; @@ -40035,7 +40012,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then +if test "x$ac_cv_lib_dld_shl_load" = x""yes; then have_shl=1 fi @@ -40158,7 +40135,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 $as_echo "$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then +if test "x$ac_cv_func_dlopen" = x""yes; then dsotype=dlfcn fi @@ -40229,7 +40206,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then dsotype=dlfcn; if test "x$LIBS" = "x"; then test "x$silent" != "xyes" && echo " setting LIBS to \"-ldl\"" @@ -40341,7 +40318,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlsym" >&5 $as_echo "$ac_cv_func_dlsym" >&6; } -if test $ac_cv_func_dlsym = yes; then +if test "x$ac_cv_func_dlsym" = x""yes; then : else { $as_echo "$as_me:$LINENO: checking for dlsym in -ldl" >&5 @@ -40409,7 +40386,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5 $as_echo "$ac_cv_lib_dl_dlsym" >&6; } -if test $ac_cv_lib_dl_dlsym = yes; then +if test "x$ac_cv_lib_dl_dlsym" = x""yes; then if test "x$LIBS" = "x"; then test "x$silent" != "xyes" && echo " setting LIBS to \"-ldl\"" @@ -40506,7 +40483,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_root_load_image" >&5 $as_echo "$ac_cv_lib_root_load_image" >&6; } -if test $ac_cv_lib_root_load_image = yes; then +if test "x$ac_cv_lib_root_load_image" = x""yes; then dsotype=other fi @@ -40672,8 +40649,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -40927,8 +40905,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -41072,8 +41051,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -41264,8 +41244,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -41714,8 +41695,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -41761,11 +41743,13 @@ if test "${apr_cv_process_shared_works+set}" = set; then else if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -41848,11 +41832,13 @@ if test "${apr_cv_mutex_robust_shared+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -42351,6 +42337,121 @@ case $ac_decision in ;; esac +if test $hasfcntlser = "1"; then +{ $as_echo "$as_me:$LINENO: checking if fcntl returns EACCES when F_SETLK is already held" >&5 +$as_echo_n "checking if fcntl returns EACCES when F_SETLK is already held... " >&6; } +if test "$cross_compiling" = yes; then + apr_fcntl_tryacquire_eacces=0 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +#include <sys/stat.h> +#endif +#ifdef HAVE_SYS_WAIT_H +#include <sys/wait.h> +#endif +#if defined(HAVE_UNISTD_H) +#include <unistd.h> +#endif +#include <fcntl.h> +#include <errno.h> + +int fd; +struct flock proc_mutex_lock_it = {0}; +const char *fname = "conftest.fcntl"; + +int main() +{ + int rc, status;; + proc_mutex_lock_it.l_whence = SEEK_SET; /* from current point */ + proc_mutex_lock_it.l_type = F_WRLCK; /* set exclusive/write lock */ + + fd = creat(fname, S_IRWXU); + unlink(fname); + + if (rc = lockit()) { + exit(-1); + } + + if (fork()) { + wait(&status); + } + else { + return(lockit()); + } + + close(fd); + exit(WEXITSTATUS(status) != EACCES); +} + +int lockit() { + int rc; + do { + rc = fcntl(fd, F_SETLK, &proc_mutex_lock_it); + } while ( rc < 0 && errno == EINTR); + + return (rc < 0) ? errno : 0; +} +_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 + apr_fcntl_tryacquire_eacces=1 +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 ) +apr_fcntl_tryacquire_eacces=0 +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 + + +fi + +if test "$apr_fcntl_tryacquire_eacces" = "1"; then + +cat >>confdefs.h <<\_ACEOF +#define FCNTL_TRYACQUIRE_EACCES 1 +_ACEOF + +fi + + @@ -42668,7 +42769,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5 $as_echo "$ac_cv_member_struct_stat_st_blocks" >&6; } -if test $ac_cv_member_struct_stat_st_blocks = yes; then +if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLOCKS 1 @@ -42791,7 +42892,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimensec" >&5 $as_echo "$ac_cv_member_struct_stat_st_atimensec" >&6; } -if test $ac_cv_member_struct_stat_st_atimensec = yes; then +if test "x$ac_cv_member_struct_stat_st_atimensec" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 @@ -42914,7 +43015,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_ctimensec" >&5 $as_echo "$ac_cv_member_struct_stat_st_ctimensec" >&6; } -if test $ac_cv_member_struct_stat_st_ctimensec = yes; then +if test "x$ac_cv_member_struct_stat_st_ctimensec" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_CTIMENSEC 1 @@ -43037,7 +43138,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_mtimensec" >&5 $as_echo "$ac_cv_member_struct_stat_st_mtimensec" >&6; } -if test $ac_cv_member_struct_stat_st_mtimensec = yes; then +if test "x$ac_cv_member_struct_stat_st_mtimensec" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_MTIMENSEC 1 @@ -43160,7 +43261,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_tv_nsec" >&5 $as_echo "$ac_cv_member_struct_stat_st_atim_tv_nsec" >&6; } -if test $ac_cv_member_struct_stat_st_atim_tv_nsec = yes; then +if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 @@ -43283,7 +43384,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_ctim_tv_nsec" >&5 $as_echo "$ac_cv_member_struct_stat_st_ctim_tv_nsec" >&6; } -if test $ac_cv_member_struct_stat_st_ctim_tv_nsec = yes; then +if test "x$ac_cv_member_struct_stat_st_ctim_tv_nsec" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC 1 @@ -43406,7 +43507,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_mtim_tv_nsec" >&5 $as_echo "$ac_cv_member_struct_stat_st_mtim_tv_nsec" >&6; } -if test $ac_cv_member_struct_stat_st_mtim_tv_nsec = yes; then +if test "x$ac_cv_member_struct_stat_st_mtim_tv_nsec" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 @@ -43529,7 +43630,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atime_n" >&5 $as_echo "$ac_cv_member_struct_stat_st_atime_n" >&6; } -if test $ac_cv_member_struct_stat_st_atime_n = yes; then +if test "x$ac_cv_member_struct_stat_st_atime_n" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIME_N 1 @@ -43652,7 +43753,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_ctime_n" >&5 $as_echo "$ac_cv_member_struct_stat_st_ctime_n" >&6; } -if test $ac_cv_member_struct_stat_st_ctime_n = yes; then +if test "x$ac_cv_member_struct_stat_st_ctime_n" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_CTIME_N 1 @@ -43775,7 +43876,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_mtime_n" >&5 $as_echo "$ac_cv_member_struct_stat_st_mtime_n" >&6; } -if test $ac_cv_member_struct_stat_st_mtime_n = yes; then +if test "x$ac_cv_member_struct_stat_st_mtime_n" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_MTIME_N 1 @@ -44114,8 +44215,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -44399,8 +44501,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -44655,7 +44758,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5 $as_echo "$ac_cv_member_struct_tm_tm_gmtoff" >&6; } -if test $ac_cv_member_struct_tm_tm_gmtoff = yes; then +if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_GMTOFF 1 @@ -44764,7 +44867,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm___tm_gmtoff" >&5 $as_echo "$ac_cv_member_struct_tm___tm_gmtoff" >&6; } -if test $ac_cv_member_struct_tm___tm_gmtoff = yes; then +if test "x$ac_cv_member_struct_tm___tm_gmtoff" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM___TM_GMTOFF 1 @@ -45035,6 +45138,239 @@ fi fi +# Check the types only if we have getservbyname_r +if test "$ac_cv_func_getservbyname_r" = "yes"; then + + +{ $as_echo "$as_me:$LINENO: checking style of getservbyname_r routine" >&5 +$as_echo_n "checking style of getservbyname_r routine... " >&6; } +if test "${ac_cv_getservbyname_r_style+set}" = set; then + $as_echo_n "(cached) " >&6 +else + +apr_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $CFLAGS_WARN" + if test "$ac_cv_c_compiler_gnu" = "yes"; then + CFLAGS="$CFLAGS -Werror" + fi + cat >conftest.$ac_ext <<_ACEOF +#include "confdefs.h" + + +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif +#ifdef HAVE_ARPA_INET_H +#include <arpa/inet.h> +#endif +#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif + + int main(int argc, const char *const *argv) { + +int tmp = getservbyname_r((const char *) 0, (const char *) 0, + (struct servent *) 0, (char *) 0, 0, + (struct servent **) 0); +/* use tmp to suppress the warning */ +tmp=0; + + return 0; } +_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_cv_getservbyname_r_style=glibc2 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_getservbyname_r_style=none +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$apr_save_CFLAGS + + +if test "$ac_cv_getservbyname_r_style" = "none"; then + apr_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $CFLAGS_WARN" + if test "$ac_cv_c_compiler_gnu" = "yes"; then + CFLAGS="$CFLAGS -Werror" + fi + cat >conftest.$ac_ext <<_ACEOF +#include "confdefs.h" + + + #ifdef HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif + #ifdef HAVE_NETINET_IN_H + #include <netinet/in.h> + #endif + #ifdef HAVE_ARPA_INET_H + #include <arpa/inet.h> + #endif + #ifdef HAVE_NETDB_H + #include <netdb.h> + #endif + #ifdef HAVE_STDLIB_H + #include <stdlib.h> + #endif + + int main(int argc, const char *const *argv) { + + struct servent *tmp = getservbyname_r((const char *) 0, (const char *) 0, + (struct servent *) 0, (char *) 0, 0); + /* use tmp to suppress the warning */ + tmp=NULL; + + return 0; } +_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_cv_getservbyname_r_style=solaris +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_getservbyname_r_style=none +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$apr_save_CFLAGS + +fi + +if test "$ac_cv_getservbyname_r_style" = "none"; then + apr_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $CFLAGS_WARN" + if test "$ac_cv_c_compiler_gnu" = "yes"; then + CFLAGS="$CFLAGS -Werror" + fi + cat >conftest.$ac_ext <<_ACEOF +#include "confdefs.h" + + + #ifdef HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif + #ifdef HAVE_NETINET_IN_H + #include <netinet/in.h> + #endif + #ifdef HAVE_ARPA_INET_H + #include <arpa/inet.h> + #endif + #ifdef HAVE_NETDB_H + #include <netdb.h> + #endif + #ifdef HAVE_STDLIB_H + #include <stdlib.h> + #endif + + int main(int argc, const char *const *argv) { + + int tmp = getservbyname_r((const char *) 0, (const char *) 0, + (struct servent *) 0, (struct servent_data *) 0); + /* use tmp to suppress the warning */ + tmp=0; + + return 0; } +_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_cv_getservbyname_r_style=osf1 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_getservbyname_r_style=none +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$apr_save_CFLAGS + +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_getservbyname_r_style" >&5 +$as_echo "$ac_cv_getservbyname_r_style" >&6; } + +if test "$ac_cv_getservbyname_r_style" = "glibc2"; then + +cat >>confdefs.h <<\_ACEOF +#define GETSERVBYNAME_R_GLIBC2 1 +_ACEOF + +elif test "$ac_cv_getservbyname_r_style" = "solaris"; then + +cat >>confdefs.h <<\_ACEOF +#define GETSERVBYNAME_R_SOLARIS 1 +_ACEOF + +elif test "$ac_cv_getservbyname_r_style" = "osf1"; then + +cat >>confdefs.h <<\_ACEOF +#define GETSERVBYNAME_R_OSF1 1 +_ACEOF + +fi + +fi + { $as_echo "$as_me:$LINENO: checking if TCP_NODELAY setting is inherited from listening sockets" >&5 $as_echo_n "checking if TCP_NODELAY setting is inherited from listening sockets... " >&6; } @@ -45369,11 +45705,13 @@ if test "${apr_cv_tcp_nodelay_with_cork+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -45896,8 +46234,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -46275,8 +46614,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -47072,8 +47412,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -47173,8 +47514,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -47373,8 +47715,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -47444,6 +47786,7 @@ LTLIBOBJS=$ac_ltlibobjs + : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files @@ -47766,7 +48109,7 @@ exec 6>&1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -47779,6 +48122,15 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" @@ -47792,16 +48144,17 @@ ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] + --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] + --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: @@ -47819,7 +48172,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.62, +configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. @@ -48041,7 +48394,8 @@ for ac_last_try in false false false false false :; do $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -48246,9 +48600,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 } split(mac1, mac2, "(") #) macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". - prefix = substr(line, 1, index(line, defundef) - 1) print prefix "define", macro P[macro] D[macro] next } else { @@ -48256,7 +48610,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { - print "/*", line, "*/" + print "/*", prefix defundef, macro, "*/" next } } @@ -48280,8 +48634,8 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; @@ -48631,7 +48985,7 @@ if test "$no_create" != yes; then $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/srclib/apr/configure.in b/srclib/apr/configure.in index 746a12ca..46b4b32a 100644 --- a/srclib/apr/configure.in +++ b/srclib/apr/configure.in @@ -139,10 +139,14 @@ AC_CHECK_PROG(ASCPP, cpp, cpp) AC_CHECK_TOOL(AR, ar, ar) dnl Various OS checks that apparently set required flags +ifdef([AC_USE_SYSTEM_EXTENSIONS], [ +AC_USE_SYSTEM_EXTENSIONS +], [ AC_AIX -AC_ISC_POSIX AC_MINIX +]) +AC_ISC_POSIX APR_EBCDIC dnl this is our library name @@ -351,7 +355,7 @@ case "$host:$CC" in ;; esac -AC_CACHE_CHECK([whether the compiler provides atomic builtins], [atomic_builtins], +AC_CACHE_CHECK([whether the compiler provides atomic builtins], [ap_cv_atomic_builtins], [AC_TRY_RUN([ int main() { @@ -387,9 +391,9 @@ int main() return 1; return 0; -}], [atomic_builtins=yes], [atomic_builtins=no], [atomic_builtins=no])]) +}], [ap_cv_atomic_builtins=yes], [ap_cv_atomic_builtins=no], [ap_cv_atomic_builtins=no])]) -if test "$atomic_builtins" = "yes"; then +if test "$ap_cv_atomic_builtins" = "yes"; then AC_DEFINE(HAVE_ATOMIC_BUILTINS, 1, [Define if compiler provides atomic builtins]) fi @@ -684,6 +688,7 @@ fi ac_cv_define_READDIR_IS_THREAD_SAFE=no ac_cv_define_GETHOSTBYNAME_IS_THREAD_SAFE=no ac_cv_define_GETHOSTBYADDR_IS_THREAD_SAFE=no +ac_cv_define_GETSERVBYNAME_IS_THREAD_SAFE=no if test "$threads" = "1"; then echo "APR will use threads" AC_CHECK_LIB(c_r, readdir, @@ -703,7 +708,14 @@ if test "$threads" = "1"; then AC_DEFINE(GETHOSTBYADDR_IS_THREAD_SAFE, 1, [Define if gethostbyaddr is thread safe]) fi - AC_CHECK_FUNCS(gethostbyname_r gethostbyaddr_r) + if test "x$apr_getservbyname_is_thread_safe" = "x"; then + AC_CHECK_LIB(c_r, getservbyname, apr_getservbyname_is_thread_safe=yes) + fi + if test "$apr_getservbyname_is_thread_safe" = "yes"; then + AC_DEFINE(GETSERVBYNAME_IS_THREAD_SAFE, 1, + [Define if getservbyname is thread safe]) + fi + AC_CHECK_FUNCS(gethostbyname_r gethostbyaddr_r getservbyname_r) else echo "APR will be non-threaded" fi @@ -1333,6 +1345,20 @@ else socklen_t_value="int" fi +APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], pid_t, 8) + +if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then + pid_t_fmt='#define APR_PID_T_FMT "hd"' +elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_int"; then + pid_t_fmt='#define APR_PID_T_FMT "d"' +elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long"; then + pid_t_fmt='#define APR_PID_T_FMT "ld"' +elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long_long"; then + pid_t_fmt='#define APR_PID_T_FMT APR_INT64_T_FMT' +else + pid_t_fmt='#error Can not determine the proper size for pid_t' +fi + # Basically, we have tried to figure out the correct format strings # for APR types which vary between platforms, but we don't always get # it right. @@ -1348,9 +1374,9 @@ case $host in ;; *-solaris*) if test "$ac_cv_sizeof_long" = "8"; then - pid_t_fmt="d" + pid_t_fmt='#define APR_PID_T_FMT "d"' else - pid_t_fmt="ld" + pid_t_fmt='#define APR_PID_T_FMT "ld"' fi ;; *aix4*|*aix5*) @@ -1484,20 +1510,6 @@ if test "$ac_cv_sizeof_long" = "4"; then fi AC_MSG_NOTICE([using $ino_t_value for ino_t]) -APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], pid_t, 8) - -if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then - pid_t_fmt='#define APR_PID_T_FMT "hd"' -elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_int"; then - pid_t_fmt='#define APR_PID_T_FMT "d"' -elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long"; then - pid_t_fmt='#define APR_PID_T_FMT "ld"' -elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long_long"; then - pid_t_fmt='#define APR_PID_T_FMT APR_INT64_T_FMT' -else - pid_t_fmt='#error Can not determine the proper size for pid_t' -fi - # Checks for endianness AC_C_BIGENDIAN if test $ac_cv_c_bigendian = yes; then @@ -1874,6 +1886,70 @@ case $ac_decision in ;; esac +if test $hasfcntlser = "1"; then +AC_MSG_CHECKING(if fcntl returns EACCES when F_SETLK is already held) +AC_TRY_RUN([ +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +#include <sys/stat.h> +#endif +#ifdef HAVE_SYS_WAIT_H +#include <sys/wait.h> +#endif +#if defined(HAVE_UNISTD_H) +#include <unistd.h> +#endif +#include <fcntl.h> +#include <errno.h> + +int fd; +struct flock proc_mutex_lock_it = {0}; +const char *fname = "conftest.fcntl"; + +int main() +{ + int rc, status;; + proc_mutex_lock_it.l_whence = SEEK_SET; /* from current point */ + proc_mutex_lock_it.l_type = F_WRLCK; /* set exclusive/write lock */ + + fd = creat(fname, S_IRWXU); + unlink(fname); + + if (rc = lockit()) { + exit(-1); + } + + if (fork()) { + wait(&status); + } + else { + return(lockit()); + } + + close(fd); + exit(WEXITSTATUS(status) != EACCES); +} + +int lockit() { + int rc; + do { + rc = fcntl(fd, F_SETLK, &proc_mutex_lock_it); + } while ( rc < 0 && errno == EINTR); + + return (rc < 0) ? errno : 0; +}], [apr_fcntl_tryacquire_eacces=1], [apr_fcntl_tryacquire_eacces=0], [apr_fcntl_tryacquire_eacces=0]) +fi + +if test "$apr_fcntl_tryacquire_eacces" = "1"; then + AC_DEFINE(FCNTL_TRYACQUIRE_EACCES, 1, [Define if fcntl returns EACCES when F_SETLK is already held]) +fi + + AC_SUBST(hasflockser) AC_SUBST(hassysvser) AC_SUBST(hasposixser) @@ -2131,6 +2207,11 @@ if test "$ac_cv_func_gethostbyname_r" = "yes"; then APR_CHECK_GETHOSTBYNAME_R_STYLE fi +# Check the types only if we have getservbyname_r +if test "$ac_cv_func_getservbyname_r" = "yes"; then + APR_CHECK_GETSERVBYNAME_R_STYLE +fi + APR_CHECK_TCP_NODELAY_INHERITED APR_CHECK_O_NONBLOCK_INHERITED APR_CHECK_TCP_NODELAY_WITH_CORK diff --git a/srclib/apr/docs/pool-design.html b/srclib/apr/docs/pool-design.html index 90d84525..44c241cb 100644 --- a/srclib/apr/docs/pool-design.html +++ b/srclib/apr/docs/pool-design.html @@ -4,7 +4,7 @@ </head> <body> <div align="right"> - Last modified at [$Date: 2004-11-24 17:51:51 -0500 (Wed, 24 Nov 2004) $] + Last modified at [$Date: 2004-11-24 22:51:51 +0000 (Mi, 24 Nov 2004) $] </div> <h1>Using APR Pools</h1> diff --git a/srclib/apr/dso/unix/dso.c b/srclib/apr/dso/unix/dso.c index e3baf72c..fdd56f1d 100644 --- a/srclib/apr/dso/unix/dso.c +++ b/srclib/apr/dso/unix/dso.c @@ -178,9 +178,9 @@ APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, int status; errno = 0; - status = shl_findsym((shl_t *)&handle->handle, symname, TYPE_PROCEDURE, &symaddr); + status = shl_findsym((void *)&handle->handle, symname, TYPE_PROCEDURE, &symaddr); if (status == -1 && errno == 0) /* try TYPE_DATA instead */ - status = shl_findsym((shl_t *)&handle->handle, symname, TYPE_DATA, &symaddr); + status = shl_findsym((void *)&handle->handle, symname, TYPE_DATA, &symaddr); if (status == -1) return APR_ESYMNOTFOUND; *ressym = symaddr; diff --git a/srclib/apr/file_io/win32/dir.c b/srclib/apr/file_io/win32/dir.c index 76fe42bc..9e16bc19 100644 --- a/srclib/apr/file_io/win32/dir.c +++ b/srclib/apr/file_io/win32/dir.c @@ -195,13 +195,13 @@ APR_DECLARE(apr_status_t) apr_dir_read(apr_finfo_t *finfo, apr_int32_t wanted, */ thedir->bof = 0; } - else if (!FindNextFile(thedir->dirhand, thedir->n.entry)) { + else if (!FindNextFileA(thedir->dirhand, thedir->n.entry)) { return apr_get_os_error(); } while (thedir->rootlen && thedir->rootlen + strlen(thedir->n.entry->cFileName) >= MAX_PATH) { - if (!FindNextFileW(thedir->dirhand, thedir->w.entry)) { + if (!FindNextFileA(thedir->dirhand, thedir->n.entry)) { return apr_get_os_error(); } } diff --git a/srclib/apr/include/apr.hw b/srclib/apr/include/apr.hw index d4c15f0c..d391ca2a 100644 --- a/srclib/apr/include/apr.hw +++ b/srclib/apr/include/apr.hw @@ -76,9 +76,9 @@ #endif #ifndef _WIN32_WINNT -/* Restrict the server to a subset of Windows 2000 header files by default +/* Restrict the server to a subset of Windows XP header files by default */ -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #endif #ifndef NOUSER #define NOUSER @@ -229,9 +229,6 @@ #if APR_HAVE_PROCESS_H #include <process.h> #endif -#if APR_HAVE_IPV6 -#include <ws2tcpip.h> -#endif #ifdef __cplusplus extern "C" { @@ -280,7 +277,7 @@ extern "C" { #define APR_HAVE_IN_ADDR 1 #define APR_HAVE_INET_ADDR 1 #define APR_HAVE_INET_NETWORK 0 -#define APR_HAVE_IPV6 1 +#define APR_HAVE_IPV6 0 #define APR_HAVE_MEMMOVE 1 #define APR_HAVE_SETRLIMIT 0 #define APR_HAVE_SIGACTION 0 diff --git a/srclib/apr/include/apr_pools.h b/srclib/apr/include/apr_pools.h index eb7c6e5b..5f0b3673 100644 --- a/srclib/apr/include/apr_pools.h +++ b/srclib/apr/include/apr_pools.h @@ -190,16 +190,29 @@ APR_DECLARE(apr_status_t) apr_pool_create_ex(apr_pool_t **newpool, /** * Create a new pool. - * @param newpool The pool we have just created. - * @param abort_fn A function to use if the pool cannot allocate more memory. - * @param allocator The allocator to use with the new pool. If NULL the - * new allocator will be crated with newpool as owner. + * @deprecated @see apr_pool_create_unmanaged_ex. */ APR_DECLARE(apr_status_t) apr_pool_create_core_ex(apr_pool_t **newpool, apr_abortfunc_t abort_fn, apr_allocator_t *allocator); /** + * Create a new unmanaged pool. + * @param newpool The pool we have just created. + * @param abort_fn A function to use if the pool cannot allocate more memory. + * @param allocator The allocator to use with the new pool. If NULL a + * new allocator will be crated with newpool as owner. + * @remark An unmanaged pool is a special pool without a parent; it will + * NOT be destroyed upon apr_terminate. It must be explicitly + * destroyed by calling apr_pool_destroy, to prevent memory leaks. + * Use of this function is discouraged, think twice about whether + * you really really need it. + */ +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool, + apr_abortfunc_t abort_fn, + apr_allocator_t *allocator); + +/** * Debug version of apr_pool_create_ex. * @param newpool @see apr_pool_create. * @param parent @see apr_pool_create. @@ -229,28 +242,42 @@ APR_DECLARE(apr_status_t) apr_pool_create_ex_debug(apr_pool_t **newpool, /** * Debug version of apr_pool_create_core_ex. - * @param newpool @see apr_pool_create. - * @param abort_fn @see apr_pool_create. - * @param allocator @see apr_pool_create. + * @deprecated @see apr_pool_create_unmanaged_ex_debug. + */ +APR_DECLARE(apr_status_t) apr_pool_create_core_ex_debug(apr_pool_t **newpool, + apr_abortfunc_t abort_fn, + apr_allocator_t *allocator, + const char *file_line); + +/** + * Debug version of apr_pool_create_unmanaged_ex. + * @param newpool @see apr_pool_create_unmanaged. + * @param abort_fn @see apr_pool_create_unmanaged. + * @param allocator @see apr_pool_create_unmanaged. * @param file_line Where the function is called from. * This is usually APR_POOL__FILE_LINE__. * @remark Only available when APR_POOL_DEBUG is defined. - * Call this directly if you have you apr_pool_create_core_ex + * Call this directly if you have you apr_pool_create_unmanaged_ex * calls in a wrapper function and wish to override * the file_line argument to reflect the caller of * your wrapper function. If you do not have * apr_pool_create_core_ex in a wrapper, trust the macro * and don't call apr_pool_create_core_ex_debug directly. */ -APR_DECLARE(apr_status_t) apr_pool_create_core_ex_debug(apr_pool_t **newpool, +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex_debug(apr_pool_t **newpool, apr_abortfunc_t abort_fn, apr_allocator_t *allocator, const char *file_line); #if APR_POOL_DEBUG #define apr_pool_create_core_ex(newpool, abort_fn, allocator) \ - apr_pool_create_core_ex_debug(newpool, abort_fn, allocator, \ + apr_pool_create_unmanaged_ex_debug(newpool, abort_fn, allocator, \ + APR_POOL__FILE_LINE__) + +#define apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator) \ + apr_pool_create_unmanaged_ex_debug(newpool, abort_fn, allocator, \ APR_POOL__FILE_LINE__) + #endif /** @@ -281,14 +308,20 @@ APR_DECLARE(apr_status_t) apr_pool_create(apr_pool_t **newpool, */ #if defined(DOXYGEN) APR_DECLARE(apr_status_t) apr_pool_create_core(apr_pool_t **newpool); +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged(apr_pool_t **newpool); #else #if APR_POOL_DEBUG #define apr_pool_create_core(newpool) \ - apr_pool_create_core_ex_debug(newpool, NULL, NULL, \ + apr_pool_create_unmanaged_ex_debug(newpool, NULL, NULL, \ + APR_POOL__FILE_LINE__) +#define apr_pool_create_unmanaged(newpool) \ + apr_pool_create_unmanaged_ex_debug(newpool, NULL, NULL, \ APR_POOL__FILE_LINE__) #else #define apr_pool_create_core(newpool) \ - apr_pool_create_core_ex(newpool, NULL, NULL) + apr_pool_create_unmanaged_ex(newpool, NULL, NULL) +#define apr_pool_create_unmanaged(newpool) \ + apr_pool_create_unmanaged_ex(newpool, NULL, NULL) #endif #endif diff --git a/srclib/apr/include/apr_ring.h b/srclib/apr/include/apr_ring.h index 867f47a5..935b07fc 100644 --- a/srclib/apr/include/apr_ring.h +++ b/srclib/apr/include/apr_ring.h @@ -157,7 +157,7 @@ * @param link The name of the APR_RING_ENTRY in the element struct */ #define APR_RING_SENTINEL(hp, elem, link) \ - (struct elem *)((char *)(hp) - APR_OFFSETOF(struct elem, link)) + (struct elem *)((char *)(&(hp)->next) - APR_OFFSETOF(struct elem, link)) /** * The first element of the ring diff --git a/srclib/apr/include/apr_version.h b/srclib/apr/include/apr_version.h index 2be1e5d6..279eac9c 100644 --- a/srclib/apr/include/apr_version.h +++ b/srclib/apr/include/apr_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 APR_PATCH_VERSION 0 +#define APR_PATCH_VERSION 3 /** * The symbol APR_IS_DEV_VERSION is only defined for internal, diff --git a/srclib/apr/include/arch/netware/apr_private.h b/srclib/apr/include/arch/netware/apr_private.h index 034271b1..a4e9b1e7 100644 --- a/srclib/apr/include/arch/netware/apr_private.h +++ b/srclib/apr/include/arch/netware/apr_private.h @@ -70,6 +70,15 @@ #define HAVE_WRITEV 1 +#define HAVE_GETPASS_R 1 +/* + * check for older NDKs which have only the getpassword() function. + */ +#include <ndkvers.h> +#if (CURRENT_NDK_THRESHOLD < 709060000) +#define getpass_r getpassword +#endif + /* 64-bit integer conversion function */ #define APR_INT64_STRFN strtoll diff --git a/srclib/apr/include/arch/unix/apr_arch_shm.h b/srclib/apr/include/arch/unix/apr_arch_shm.h index dbd9b9bc..bbd373e3 100644 --- a/srclib/apr/include/arch/unix/apr_arch_shm.h +++ b/srclib/apr/include/arch/unix/apr_arch_shm.h @@ -27,6 +27,9 @@ #include "apr_network_io.h" #include "apr_portable.h" +#if APR_HAVE_UNISTD_H +#include <unistd.h> +#endif #ifdef HAVE_SYS_MMAN_H #include <sys/mman.h> #endif diff --git a/srclib/apr/include/arch/unix/apr_private.h.in b/srclib/apr/include/arch/unix/apr_private.h.in index 1e1d0961..2f7a1d9f 100644 --- a/srclib/apr/include/arch/unix/apr_private.h.in +++ b/srclib/apr/include/arch/unix/apr_private.h.in @@ -1,5 +1,8 @@ /* include/arch/unix/apr_private.h.in. Generated from configure.in by autoheader. */ +/* Define if building universal (internal helper macro) */ +#undef AC_APPLE_UNIVERSAL_BUILD + /* Define as function which can be used for conversion of strings to apr_int64_t */ #undef APR_INT64_STRFN @@ -39,6 +42,9 @@ /* Define if fcntl locks affect threads within the process */ #undef FCNTL_IS_GLOBAL +/* Define if fcntl returns EACCES when F_SETLK is already held */ +#undef FCNTL_TRYACQUIRE_EACCES + /* Define if flock locks affect threads within the process */ #undef FLOCK_IS_GLOBAL @@ -54,6 +60,18 @@ /* Define if gethostbyname_r has the hostent_data for the third argument */ #undef GETHOSTBYNAME_R_HOSTENT_DATA +/* Define if getservbyname is thread safe */ +#undef GETSERVBYNAME_IS_THREAD_SAFE + +/* Define if getservbyname_r has the glibc style */ +#undef GETSERVBYNAME_R_GLIBC2 + +/* Define if getservbyname_r has the OSF/1 style */ +#undef GETSERVBYNAME_R_OSF1 + +/* Define if getservbyname_r has the Solaris style */ +#undef GETSERVBYNAME_R_SOLARIS + /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA @@ -173,6 +191,9 @@ /* Define to 1 if you have the `getrlimit' function. */ #undef HAVE_GETRLIMIT +/* Define to 1 if you have the `getservbyname_r' function. */ +#undef HAVE_GETSERVBYNAME_R + /* Define to 1 if you have the `gmtime_r' function. */ #undef HAVE_GMTIME_R @@ -814,30 +835,6 @@ /* Define if Windows CreateFileMapping() will be used */ #undef USE_SHMEM_WIN32_ANON -/* Define if SysV IPC semget() will be used */ -#undef USE_SYSVSEM_SERIALIZE - -/* Define if apr_wait_for_io_or_timeout() uses poll(2) */ -#undef WAITIO_USES_POLL - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -#elif ! defined __LITTLE_ENDIAN__ -# undef WORDS_BIGENDIAN -#endif - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE @@ -860,6 +857,34 @@ #endif +/* Define if SysV IPC semget() will be used */ +#undef USE_SYSVSEM_SERIALIZE + +/* Define if apr_wait_for_io_or_timeout() uses poll(2) */ +#undef WAITIO_USES_POLL + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif +#endif + +/* Define to 1 if on MINIX. */ +#undef _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + /* Define to empty if `const' does not conform to ANSI C. */ #undef const diff --git a/srclib/apr/locks/unix/proc_mutex.c b/srclib/apr/locks/unix/proc_mutex.c index 9358e68e..e433230a 100644 --- a/srclib/apr/locks/unix/proc_mutex.c +++ b/srclib/apr/locks/unix/proc_mutex.c @@ -565,7 +565,11 @@ static apr_status_t proc_mutex_fcntl_tryacquire(apr_proc_mutex_t *mutex) rc = fcntl(mutex->interproc->filedes, F_SETLK, &proc_mutex_lock_it); } while (rc < 0 && errno == EINTR); if (rc < 0) { +#if FCNTL_TRYACQUIRE_EACCES + if (errno == EACCES) { +#else if (errno == EAGAIN) { +#endif return APR_EBUSY; } return errno; diff --git a/srclib/apr/memory/unix/apr_pools.c b/srclib/apr/memory/unix/apr_pools.c index c080232e..017dc878 100644 --- a/srclib/apr/memory/unix/apr_pools.c +++ b/srclib/apr/memory/unix/apr_pools.c @@ -907,10 +907,19 @@ APR_DECLARE(apr_status_t) apr_pool_create_ex(apr_pool_t **newpool, return APR_SUCCESS; } +/* Deprecated. Renamed to apr_pool_create_unmanaged_ex + */ APR_DECLARE(apr_status_t) apr_pool_create_core_ex(apr_pool_t **newpool, apr_abortfunc_t abort_fn, apr_allocator_t *allocator) { + return apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator); +} + +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool, + apr_abortfunc_t abort_fn, + apr_allocator_t *allocator) +{ apr_pool_t *pool; apr_memnode_t *node; apr_allocator_t *pool_allocator; @@ -1731,6 +1740,15 @@ APR_DECLARE(apr_status_t) apr_pool_create_core_ex_debug(apr_pool_t **newpool, apr_allocator_t *allocator, const char *file_line) { + return apr_pool_create_unmanaged_ex_debug(newpool, abort_fn, allocator, + file_line); +} + +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex_debug(apr_pool_t **newpool, + apr_abortfunc_t abort_fn, + apr_allocator_t *allocator, + const char *file_line) +{ apr_pool_t *pool; apr_allocator_t *pool_allocator; @@ -2180,8 +2198,8 @@ APR_DECLARE(void) apr_pool_pre_cleanup_register(apr_pool_t *p, const void *data, } c->data = data; c->plain_cleanup_fn = plain_cleanup_fn; - c->next = p->cleanups; - p->cleanups = c; + c->next = p->pre_cleanups; + p->pre_cleanups = c; } } @@ -2491,7 +2509,15 @@ APR_DECLARE(apr_status_t) apr_pool_create_core_ex_debug(apr_pool_t **newpool, apr_allocator_t *allocator, const char *file_line) { - return apr_pool_create_core_ex(newpool, abort_fn, allocator); + return apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator); +} + +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex_debug(apr_pool_t **newpool, + apr_abortfunc_t abort_fn, + apr_allocator_t *allocator, + const char *file_line) +{ + return apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator); } #else /* APR_POOL_DEBUG */ @@ -2553,7 +2579,20 @@ APR_DECLARE(apr_status_t) apr_pool_create_core_ex(apr_pool_t **newpool, apr_abortfunc_t abort_fn, apr_allocator_t *allocator) { - return apr_pool_create_core_ex_debug(newpool, abort_fn, + return apr_pool_create_unmanaged_ex_debug(newpool, abort_fn, + allocator, "undefined"); +} + +#undef apr_pool_create_unmanaged_ex +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool, + apr_abortfunc_t abort_fn, + apr_allocator_t *allocator); + +APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool, + apr_abortfunc_t abort_fn, + apr_allocator_t *allocator) +{ + return apr_pool_create_unmanaged_ex_debug(newpool, abort_fn, allocator, "undefined"); } diff --git a/srclib/apr/network_io/unix/sockaddr.c b/srclib/apr/network_io/unix/sockaddr.c index 31a0eb5b..4e79f893 100644 --- a/srclib/apr/network_io/unix/sockaddr.c +++ b/srclib/apr/network_io/unix/sockaddr.c @@ -705,17 +705,63 @@ APR_DECLARE(apr_status_t) apr_getnameinfo(char **hostname, APR_DECLARE(apr_status_t) apr_getservbyname(apr_sockaddr_t *sockaddr, const char *servname) { +#if APR_HAS_THREADS && !defined(GETSERVBYNAME_IS_THREAD_SAFE) && \ + defined(HAVE_GETSERVBYNAME_R) && \ + (defined(GETSERVBYNAME_R_GLIBC2) || defined(GETSERVBYNAME_R_SOLARIS) || \ + defined(GETSERVBYNAME_R_OSF1)) + struct servent se; +#if defined(GETSERVBYNAME_R_OSF1) + struct servent_data sed; + + memset(&sed, 0, sizeof(sed)); /* must zero fill before use */ +#else +#if defined(GETSERVBYNAME_R_GLIBC2) + struct servent *res; +#endif + char buf[1024]; +#endif +#else struct servent *se; +#endif if (servname == NULL) return APR_EINVAL; +#if APR_HAS_THREADS && !defined(GETSERVBYNAME_IS_THREAD_SAFE) && \ + defined(HAVE_GETSERVBYNAME_R) && \ + (defined(GETSERVBYNAME_R_GLIBC2) || defined(GETSERVBYNAME_R_SOLARIS) || \ + defined(GETSERVBYNAME_R_OSF1)) +#if defined(GETSERVBYNAME_R_GLIBC2) + if (getservbyname_r(servname, NULL, + &se, buf, sizeof(buf), &res) == 0 && res != NULL) { + sockaddr->port = ntohs(res->s_port); + sockaddr->servname = apr_pstrdup(sockaddr->pool, servname); + sockaddr->sa.sin.sin_port = res->s_port; + return APR_SUCCESS; + } +#elif defined(GETSERVBYNAME_R_SOLARIS) + if (getservbyname_r(servname, NULL, &se, buf, sizeof(buf)) != NULL) { + sockaddr->port = ntohs(se.s_port); + sockaddr->servname = apr_pstrdup(sockaddr->pool, servname); + sockaddr->sa.sin.sin_port = se.s_port; + return APR_SUCCESS; + } +#elif defined(GETSERVBYNAME_R_OSF1) + if (getservbyname_r(servname, NULL, &se, &sed) == 0) { + sockaddr->port = ntohs(se.s_port); + sockaddr->servname = apr_pstrdup(sockaddr->pool, servname); + sockaddr->sa.sin.sin_port = se.s_port; + return APR_SUCCESS; + } +#endif +#else if ((se = getservbyname(servname, NULL)) != NULL){ sockaddr->port = ntohs(se->s_port); sockaddr->servname = apr_pstrdup(sockaddr->pool, servname); sockaddr->sa.sin.sin_port = se->s_port; return APR_SUCCESS; } +#endif return APR_ENOENT; } diff --git a/srclib/apr/passwd/apr_getpass.c b/srclib/apr/passwd/apr_getpass.c index 369c6e60..bc153df6 100644 --- a/srclib/apr/passwd/apr_getpass.c +++ b/srclib/apr/passwd/apr_getpass.c @@ -70,7 +70,7 @@ #define ERR_OVERFLOW 5 -#ifndef HAVE_GETPASS +#if !defined(HAVE_GETPASS) && !defined(HAVE_GETPASSPHRASE) && !defined(HAVE_GETPASS_R) /* MPE, Win32, NetWare and BeOS all lack a native getpass() */ @@ -202,7 +202,7 @@ static char *get_password(const char *prompt) #endif /* no getchar or _getch */ -#endif /* no getpass */ +#endif /* no getpass or getpassphrase or getpass_r */ /* * Use the OS getpass() routine (or our own) to obtain a password from @@ -221,6 +221,11 @@ static char *get_password(const char *prompt) APR_DECLARE(apr_status_t) apr_password_get(const char *prompt, char *pwbuf, apr_size_t *bufsiz) { + apr_status_t rv = APR_SUCCESS; +#if defined(HAVE_GETPASS_R) + if (getpass_r(prompt, pwbuf, *bufsiz) == NULL) + return APR_EINVAL; +#else #if defined(HAVE_GETPASSPHRASE) char *pw_got = getpassphrase(prompt); #elif defined(HAVE_GETPASS) @@ -228,7 +233,6 @@ APR_DECLARE(apr_status_t) apr_password_get(const char *prompt, char *pwbuf, apr_ #else /* use the replacement implementation above */ char *pw_got = get_password(prompt); #endif - apr_status_t rv = APR_SUCCESS; if (!pw_got) return APR_EINVAL; @@ -237,5 +241,6 @@ APR_DECLARE(apr_status_t) apr_password_get(const char *prompt, char *pwbuf, apr_ } apr_cpystrn(pwbuf, pw_got, *bufsiz); memset(pw_got, 0, strlen(pw_got)); +#endif /* HAVE_GETPASS_R */ return rv; } diff --git a/srclib/apr/poll/unix/port.c b/srclib/apr/poll/unix/port.c index 6f0ce755..e962152f 100644 --- a/srclib/apr/poll/unix/port.c +++ b/srclib/apr/poll/unix/port.c @@ -202,7 +202,7 @@ APR_DECLARE(apr_status_t) apr_pollset_remove(apr_pollset_t *pollset, pfd_elem_t *ep; apr_status_t rv = APR_SUCCESS; int res; - int err; + int err = 0; pollset_lock_rings(); @@ -315,7 +315,15 @@ APR_DECLARE(apr_status_t) apr_pollset_poll(apr_pollset_t *pollset, if (ret == -1) { (*num) = 0; - rv = apr_get_netos_error(); + if (errno == EINTR) { + rv = APR_EINTR; + } + else if (errno == ETIME) { + rv = APR_TIMEUP; + } + else { + rv = APR_EGENERAL; + } } else if (nget == 0) { rv = APR_TIMEUP; diff --git a/srclib/apr/shmem/unix/shm.c b/srclib/apr/shmem/unix/shm.c index 95d1c053..14bb3449 100644 --- a/srclib/apr/shmem/unix/shm.c +++ b/srclib/apr/shmem/unix/shm.c @@ -49,7 +49,12 @@ static apr_status_t shm_cleanup_owner(void *m_) if (munmap(m->base, m->realsize) == -1) { return errno; } - return apr_file_remove(m->filename, m->pool); + if (access(m->filename, F_OK)) { + return APR_SUCCESS; + } + else { + return apr_file_remove(m->filename, m->pool); + } #endif #if APR_USE_SHMEM_MMAP_SHM if (munmap(m->base, m->realsize) == -1) { @@ -64,13 +69,18 @@ static apr_status_t shm_cleanup_owner(void *m_) /* Indicate that the segment is to be destroyed as soon * as all processes have detached. This also disallows any * new attachments to the segment. */ - if (shmctl(m->shmid, IPC_RMID, NULL) == -1) { + if (shmctl(m->shmid, IPC_RMID, NULL) == -1 && errno != EINVAL) { return errno; } if (shmdt(m->base) == -1) { return errno; } - return apr_file_remove(m->filename, m->pool); + if (access(m->filename, F_OK)) { + return APR_SUCCESS; + } + else { + return apr_file_remove(m->filename, m->pool); + } #endif } diff --git a/srclib/apr/test/sockperf.c b/srclib/apr/test/sockperf.c index 9726e568..bc3d1e2f 100644 --- a/srclib/apr/test/sockperf.c +++ b/srclib/apr/test/sockperf.c @@ -231,11 +231,12 @@ int main(int argc, char **argv) printf("%10d byte block:\n", results[i].size); printf("\t%2d iterations : ", results[i].iters); for (j = 0; j < results[i].iters; j++) { - printf("%6Ld ", results[i].msecs[j]); + printf("%6" APR_TIME_T_FMT, results[i].msecs[j]); totTime += results[i].msecs[j]; } printf("<\n"); - printf("\t Average: %6Ld\n", totTime / results[i].iters); + printf("\t Average: %6" APR_TIME_T_FMT "\n", + totTime / results[i].iters); } return 0; diff --git a/srclib/apr/test/testlfs.c b/srclib/apr/test/testlfs.c index 13bff9bc..a81d5366 100644 --- a/srclib/apr/test/testlfs.c +++ b/srclib/apr/test/testlfs.c @@ -251,7 +251,7 @@ static void test_mmap(abts_case *tc, void *data) { apr_mmap_t *map; apr_file_t *fh; - apr_size_t len = 16384; /* hopefully a multiple of the page size */ + apr_size_t len = 65536; /* hopefully a multiple of the page size */ apr_off_t off = eightGB - len; apr_status_t rv; void *ptr; @@ -267,7 +267,7 @@ static void test_mmap(abts_case *tc, void *data) APR_ASSERT_SUCCESS(tc, "close file", apr_file_close(fh)); - ABTS_ASSERT(tc, "mapped a 16K block", map->size == len); + ABTS_ASSERT(tc, "mapped a 64K block", map->size == len); APR_ASSERT_SUCCESS(tc, "get pointer into mmaped region", apr_mmap_offset(&ptr, map, len - 4)); diff --git a/srclib/apr/test/testsock.c b/srclib/apr/test/testsock.c index 0d1bd578..84121449 100644 --- a/srclib/apr/test/testsock.c +++ b/srclib/apr/test/testsock.c @@ -73,6 +73,26 @@ static void test_addr_info(abts_case *tc, void *data) ABTS_STR_EQUAL(tc, "127.0.0.1", sa->hostname); } +static void test_serv_by_name(abts_case *tc, void *data) +{ + apr_status_t rv; + apr_sockaddr_t *sa; + + rv = apr_sockaddr_info_get(&sa, NULL, APR_UNSPEC, 0, 0, p); + APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv); + + rv = apr_getservbyname(sa, "ftp"); + APR_ASSERT_SUCCESS(tc, "Problem getting ftp service", rv); + ABTS_INT_EQUAL(tc, 21, sa->port); + + rv = apr_getservbyname(sa, "complete_and_utter_rubbish"); + APR_ASSERT_SUCCESS(tc, "Problem getting non-existent service", !rv); + + rv = apr_getservbyname(sa, "http"); + APR_ASSERT_SUCCESS(tc, "Problem getting http service", rv); + ABTS_INT_EQUAL(tc, 80, sa->port); +} + static apr_socket_t *setup_socket(abts_case *tc) { apr_status_t rv; @@ -318,6 +338,7 @@ abts_suite *testsock(abts_suite *suite) suite = ADD_SUITE(suite) abts_run_test(suite, test_addr_info, NULL); + abts_run_test(suite, test_serv_by_name, NULL); abts_run_test(suite, test_create_bind_listen, NULL); abts_run_test(suite, test_send, NULL); abts_run_test(suite, test_recv, NULL); diff --git a/srclib/pcre/configure b/srclib/pcre/configure index 0f88c98d..3e732504 100755 --- a/srclib/pcre/configure +++ b/srclib/pcre/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62. +# Generated by GNU Autoconf 2.63. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -635,77 +635,77 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -CPP -GREP -EGREP -BUILD_EXEEXT -BUILD_OBJEXT -CC_FOR_BUILD -CFLAGS_FOR_BUILD -EBCDIC -HAVE_MEMMOVE -HAVE_STRERROR -LIBTOOL -LIBSUFFIX -LINK_SIZE -MATCH_LIMIT -NEWLINE -NO_RECURSE -PCRE_MAJOR -PCRE_MINOR -PCRE_DATE -PCRE_VERSION -PCRE_LIB_VERSION -PCRE_POSIXLIB_VERSION -POSIX_MALLOC_THRESHOLD -UCP -UTF8 +ac_subst_vars='LTLIBOBJS LIBOBJS -LTLIBOBJS' +UTF8 +UCP +POSIX_MALLOC_THRESHOLD +PCRE_POSIXLIB_VERSION +PCRE_LIB_VERSION +PCRE_VERSION +PCRE_DATE +PCRE_MINOR +PCRE_MAJOR +NO_RECURSE +NEWLINE +MATCH_LIMIT +LINK_SIZE +LIBSUFFIX +LIBTOOL +HAVE_STRERROR +HAVE_MEMMOVE +EBCDIC +CFLAGS_FOR_BUILD +CC_FOR_BUILD +BUILD_OBJEXT +BUILD_EXEEXT +EGREP +GREP +CPP +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -1151,9 +1151,9 @@ fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1206,7 +1206,7 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: Working directory cannot be determined" >&2 + { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 @@ -1439,7 +1439,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.62 +generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -1453,7 +1453,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -1576,8 +1576,8 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -1780,6 +1780,8 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 @@ -1918,12 +1920,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2122,12 +2120,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2137,11 +2131,13 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 @@ -2271,11 +2267,13 @@ if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext @@ -2303,13 +2301,15 @@ $as_echo "$ac_try_echo") >&5 if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi @@ -2352,11 +2352,13 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext @@ -2410,11 +2412,13 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext @@ -2986,11 +2990,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -3373,8 +3379,9 @@ 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; } -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -3519,8 +3526,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$ac_res" >&6; } fi -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -3732,7 +3740,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 $as_echo "$ac_cv_type_size_t" >&6; } -if test $ac_cv_type_size_t = yes; then +if test "x$ac_cv_type_size_t" = x""yes; then : else @@ -3837,8 +3845,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -4017,8 +4026,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -4410,7 +4419,7 @@ exec 6>&1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -4423,6 +4432,15 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" @@ -4436,16 +4454,17 @@ ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] + --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] + --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: @@ -4463,7 +4482,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.62, +configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. @@ -4663,7 +4682,8 @@ for ac_last_try in false false false false false :; do $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -4868,9 +4888,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 } split(mac1, mac2, "(") #) macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". - prefix = substr(line, 1, index(line, defundef) - 1) print prefix "define", macro P[macro] D[macro] next } else { @@ -4878,7 +4898,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { - print "/*", line, "*/" + print "/*", prefix defundef, macro, "*/" next } } @@ -4902,8 +4922,8 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; @@ -5228,8 +5248,8 @@ if test "$no_create" != yes; then $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/support/ab.c b/support/ab.c index e39536d1..f855bbd3 100644 --- a/support/ab.c +++ b/support/ab.c @@ -1473,7 +1473,7 @@ static void read_connection(struct connection * c) if (!cl) { c->keepalive = 1; c->length = 0; - } + } } c->bread += c->cbx - (s + l - c->cbuff) + r - tocopy; totalbread += c->bread; diff --git a/support/ab.dsp b/support/ab.dsp index 5c67d097..5925691f 100644 --- a/support/ab.dsp +++ b/support/ab.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\ab.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "ab - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\ab.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/abs.dsp b/support/abs.dsp index 1e7ed1df..c8ba600e 100644 --- a/support/abs.dsp +++ b/support/abs.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\abs.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "abs - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\abs.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/htcacheclean.dsp b/support/htcacheclean.dsp index ccca4b25..d3d4b8fa 100644 --- a/support/htcacheclean.dsp +++ b/support/htcacheclean.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\htcacheclean.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "htcacheclean - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\htcacheclean.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/htdbm.dsp b/support/htdbm.dsp index 541e330b..e6864072 100644 --- a/support/htdbm.dsp +++ b/support/htdbm.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\htdbm.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "htdbm - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\htdbm.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/htdigest.dsp b/support/htdigest.dsp index 1f235f7d..63c23baf 100644 --- a/support/htdigest.dsp +++ b/support/htdigest.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\htdigest.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "htdigest - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\htdigest.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/htpasswd.dsp b/support/htpasswd.dsp index 4bd9b536..36a57259 100644 --- a/support/htpasswd.dsp +++ b/support/htpasswd.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\htpasswd.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "htpasswd - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\htpasswd.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/httxt2dbm.dsp b/support/httxt2dbm.dsp index f6b36ae0..cba28a0b 100644 --- a/support/httxt2dbm.dsp +++ b/support/httxt2dbm.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\httxt2dbm.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "httxt2dbm - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\httxt2dbm.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/list_hooks.pl b/support/list_hooks.pl index cb863db7..7a6c9332 100755 --- a/support/list_hooks.pl +++ b/support/list_hooks.pl @@ -59,16 +59,25 @@ sub findInDir { sub scanFile { my $file=shift; -# print "scanning $file\n"; +# print "scanning $file\n"; open(F,$file) || croak "Can't open $file: $!"; while(<F>) { next if /\#define/; next if /\@deffunc/; - if(/AP_DECLARE_HOOK\((.*)\)/) { - my $def=$1; - my($ret,$name,$args)=$def=~/([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*\((.*)\)/; - croak "Don't understand $def in $file" if !defined $args; + if(/AP_DECLARE_HOOK\s*\(/) { + my($ret,$name,$args); + while(!(($ret,$name,$args)= + /AP_DECLARE_HOOK\s*\(\s*([^,]+)\s*,\s*([^,\s]+)\s*,\s*\((.*?)\)\)/s)) { + chomp; + # swallow subsequent lines if needed to get all the required info + my $l=<F>; + return unless defined $l; + $l=~s/^\s*/ /; + $_.=$l; + } + $ret=~s/\s*$//; + $args=~s/^\s*//; $args=~s/\s*$//; # print "found $ret $name($args) in $file\n"; croak "$name declared twice! ($_)" @@ -76,15 +85,6 @@ sub scanFile { $::Hooks{$name}->{declared}=$file; $::Hooks{$name}->{ret}=$ret; $::Hooks{$name}->{args}=$args; - } elsif(/AP_DECLARE_HOOK\((\s*[^,\s]+)\s*,\s*([^,\s]+)/) { -# really we should swallow subsequent lines to get the arguments... - my $name=$2; - my $ret=$1; - croak "$name declared twice! ($_)" - if exists $::Hooks{$name}->{declared}; - $::Hooks{$name}->{declared}=$file; - $::Hooks{$name}->{ret}=$ret; - $::Hooks{$name}->{args}='???'; } if(/AP_IMPLEMENT_HOOK_()(VOID)\(([^,\s]+)/ || /AP_IMPLEMENT(_OPTIONAL|)_HOOK_(.*?)\([^,]+?\s*,\s*([^,\s]+)/) { diff --git a/support/logresolve.c b/support/logresolve.c index fb9d4f56..1a36a18f 100644 --- a/support/logresolve.c +++ b/support/logresolve.c @@ -341,7 +341,7 @@ int main (int argc, char *argv[]) if (line[0] == '\0') continue; entries++; - if (!apr_isdigit(line[0])) { /* short cut */ + if (!apr_isdigit(line[0])) { /* short cut */ puts(line); withname++; continue; diff --git a/support/logresolve.dsp b/support/logresolve.dsp index ac404dbc..24c946dd 100644 --- a/support/logresolve.dsp +++ b/support/logresolve.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\logresolve.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "logresolve - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\logresolve.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/rotatelogs.dsp b/support/rotatelogs.dsp index 5a043208..7fda0e05 100644 --- a/support/rotatelogs.dsp +++ b/support/rotatelogs.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\rotatelogs.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "rotatelogs - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\rotatelogs.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/win32/ApacheMonitor.dsp b/support/win32/ApacheMonitor.dsp index 84369aaa..3465ecd7 100644 --- a/support/win32/ApacheMonitor.dsp +++ b/support/win32/ApacheMonitor.dsp @@ -58,7 +58,7 @@ LINK32=link.exe TargetPath=.\Release\ApacheMonitor.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "ApacheMonitor - Win32 Debug" @@ -90,7 +90,7 @@ LINK32=link.exe TargetPath=.\Debug\ApacheMonitor.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF diff --git a/support/win32/wintty.dsp b/support/win32/wintty.dsp index 8d5b9df6..337ba17a 100644 --- a/support/win32/wintty.dsp +++ b/support/win32/wintty.dsp @@ -55,7 +55,7 @@ LINK32=link.exe TargetPath=.\Release\wintty.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ELSEIF "$(CFG)" == "wintty - Win32 Debug" @@ -85,7 +85,7 @@ LINK32=link.exe TargetPath=.\Debug\wintty.exe SOURCE="$(InputPath)" PostBuild_Desc=Embed .manifest -PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);1 # End Special Build Tool !ENDIF |