]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
mod_version_for_2.0.x branch:
authorAndré Malo <nd@apache.org>
Wed, 24 Aug 2005 11:51:40 +0000 (11:51 +0000)
committerAndré Malo <nd@apache.org>
Wed, 24 Aug 2005 11:51:40 +0000 (11:51 +0000)
* Merge 219658 to 239611 from branches/2.0.x

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/mod_version_for_2.0.x@239612 13f79535-47bb-0310-9956-ffa450edef68

37 files changed:
CHANGES
STATUS
docs/manual/dns-caveats.html.es
docs/manual/dns-caveats.xml.es
docs/manual/howto/auth.html
docs/manual/howto/auth.html.en
docs/manual/howto/auth.html.es [new file with mode: 0644]
docs/manual/howto/auth.html.ja.euc-jp
docs/manual/howto/auth.html.ko.euc-kr
docs/manual/howto/auth.xml.es [new file with mode: 0644]
docs/manual/howto/auth.xml.meta
docs/manual/install.html.de
docs/manual/install.html.en
docs/manual/install.html.es
docs/manual/install.xml
docs/manual/install.xml.de
docs/manual/install.xml.es
docs/manual/install.xml.ja
docs/manual/install.xml.ko
docs/manual/install.xml.meta
docs/manual/install.xml.ru
docs/manual/stopping.html.de
docs/manual/stopping.html.en
docs/manual/stopping.html.es
docs/manual/stopping.xml
docs/manual/stopping.xml.de
docs/manual/stopping.xml.es
docs/manual/stopping.xml.ja
docs/manual/stopping.xml.ko
docs/manual/stopping.xml.meta
docs/manual/stopping.xml.ru
modules/experimental/util_ldap.c
modules/experimental/util_ldap_cache.c
modules/experimental/util_ldap_cache_mgr.c
modules/http/http_protocol.c
modules/proxy/proxy_util.c
server/log.c

diff --git a/CHANGES b/CHANGES
index 4f6025588bd259dcaf5f5b28498e1fd784e4afcf..1330b3f5a67a2fc2d75aa5799ce762de61243516 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,4 @@
+                                                         -*- coding: utf-8 -*-
 Changes with Apache 2.0.55
 
   *) Added new module mod_version, which provides version dependent
@@ -7,6 +8,23 @@ Changes with Apache 2.0.55
      accompanying ap_version_t structure (minor MMN bump).
      [André Malo]
 
+  *) Fix cases where the byterange filter would buffer responses
+     into memory.  PR 29962.  [Joe Orton]
+
+  *) mod_proxy: Fix over-eager handling of '%' for reverse proxies.
+     PR 15207.  [Jim Jagielski]
+
+  *) mod_ldap: Fix various shared memory cache handling bugs.
+     PR 34209.  [Joe Orton]
+
+  *) Fix a file descriptor leak when starting piped loggers.  PR 33748. 
+     [Joe Orton]
+
+  *) mod_ldap: Avoid segfaults when opening connections if using a version
+     of OpenLDAP older than 2.2.21.  PR 34618.  [Brad Nicholes]
+
+  *) mod_ssl: Fix build with OpenSSL 0.9.8.  PR 35757.  [William Rowe]
+
   *) SECURITY: CAN-2005-2088
      core: If a request contains both Transfer-Encoding and Content-Length
      headers, remove the Content-Length, mitigating some HTTP Request 
@@ -42,14 +60,14 @@ Changes with Apache 2.0.55
 Changes with Apache 2.0.54
 
   *) mod_cache: Add CacheIgnoreHeaders directive.  PR 30399.
-     [Rüiger Plü <r.pluem t-online.de>]
+     [Rüdiger Plüm <r.pluem t-online.de>]
 
   *) mod_ldap: Added the directive LDAPConnectionTimeout to configure
      the ldap socket connection timeout value.  
      [Brad Nicholes]
 
   *) Correctly export all mod_dav public functions.
-     [Branko Èibej <brane xbc.nu>]
+     [Branko Čibej <brane xbc.nu>]
 
   *) Add a build script to create a solaris package. [Graham Leggett]
 
@@ -122,7 +140,7 @@ Changes with Apache 2.0.53
      mod_status if ExtendedStatus is enabled. [Jim Jagielski]
 
   *) mod_proxy: Handle client-aborted connections correctly.  PR 32443.
-     [Janne Hietamäki, Joe Orton]
+     [Janne Hietamäki, Joe Orton]
 
   *) Fix handling of files >2Gb on all platforms (or builds) where
      apr_off_t is larger than apr_size_t.  PR 28898.  [Joe Orton]
@@ -180,13 +198,13 @@ Changes with Apache 2.0.53
      depending on the platform.  [Jeff Trawick]
 
   *) mod_rewrite: Fix 0 bytes write into random memory position.
-     PR 31036. [André Malo]
+     PR 31036. [André Malo]
 
   *) mod_disk_cache: Do not store aborted content.  PR 21492.
-     [Rüiger Plü <r.pluem t-online.de>]
+     [Rüdiger Plüm <r.pluem t-online.de>]
 
   *) mod_disk_cache: Correctly store cached content type.  PR 30278.
-     [Rüiger Plü <r.pluem t-online.de>]
+     [Rüdiger Plüm <r.pluem t-online.de>]
 
   *) mod_ldap: prevent the possiblity of an infinite loop in the LDAP
      statistics display. PR 29216. [Graham Leggett]
@@ -209,7 +227,7 @@ Changes with Apache 2.0.53
 
 Changes with Apache 2.0.52
 
-  *) Use HTML 2.0 <hr> for error pages. PR 30732 [André Malo]
+  *) Use HTML 2.0 <hr> for error pages. PR 30732 [André Malo]
 
   *) Fix the global mutex crash when the global mutex is never allocated
      due to disabled/empty caches. [Jess Holle <jessh ptc.com>]
@@ -245,7 +263,7 @@ Changes with Apache 2.0.51
 
   *) SECURITY: CAN-2004-0747 (cve.mitre.org)
      Fix buffer overflow in expansion of environment variables in
-     configuration file parsing.  [André Malo]
+     configuration file parsing.  [André Malo]
 
   *) SECURITY: CAN-2004-0809 (cve.mitre.org)
      mod_dav_fs: Fix a segfault in the handling of an indirect lock
@@ -253,16 +271,16 @@ Changes with Apache 2.0.51
 
   *) mod_include no longer checks for recursion, because that's done
      in the core. This allows for careful usage of recursive SSI.
-     [André Malo]
+     [André Malo]
 
   *) Fix memory leak in the cache handling of mod_rewrite. PR 27862.
-     [chunyan sheng <shengperson yahoo.com>, André Malo]
+     [chunyan sheng <shengperson yahoo.com>, André Malo]
 
   *) Include directives no longer refuse to process symlinks on
      directories. Instead there's now a maximum nesting level
      of included directories (128 as distributed). This is configurable
      at compile time using the -DAP_MAX_INCLUDE_DIR_DEPTH switch.
-     PR 28492.  [André Malo]
+     PR 28492.  [André Malo]
 
   *) Win32: apache -k start|restart|install|config can leave stranded
      piped logger processes (eg, rotatelogs.exe) due to improper
@@ -283,10 +301,10 @@ Changes with Apache 2.0.51
      from being passed through the byterange filter.  [Joe Orton]
 
   *) Satisfy directives now can be influenced by a surrounding <Limit>
-     container.  PR 14726.  [André Malo]
+     container.  PR 14726.  [André Malo]
 
   *) mod_rewrite now officially supports RewriteRules in <Proxy> sections.
-     PR 27985.  [André Malo]
+     PR 27985.  [André Malo]
 
   *) mod_disk_cache: Implement binary format for on-disk header files.
      [Brian Akins <bakins web.turner.com>, Justin Erenkrantz]
@@ -334,36 +352,36 @@ Changes with Apache 2.0.51
 
   *) mod_rewrite no longer confuses the RewriteMap caches if
      different maps defined in different virtual hosts use the
-     same map name. PR 26462.  [André Malo]
+     same map name. PR 26462.  [André Malo]
 
   *) mod_setenvif: Remove "support" for Remote_User variable which
-     never worked at all. PR 25725.  [André Malo]
+     never worked at all. PR 25725.  [André Malo]
 
   *) Backport from 2.1 / Regression from 1.3: mod_headers now knows
      again the functionality of the ErrorHeader directive. But instead
      using this misnomer additional flags to the Header directive were
      introduced ("always" and "onsuccess", defaulting to the latter).
-     PR 28657.  [André Malo]
+     PR 28657.  [André Malo]
 
   *) Use the higher performing 'httpready' Accept Filter on all platforms 
      except FreeBSD < 4.1.1. [Paul Querna]
 
   *) mod_usertrack: Escape the cookie name before pasting into the
-     regexp.  [André Malo]
+     regexp.  [André Malo]
 
   *) Extend the SetEnvIf directive to capture subexpressions of the
-     matched value.  [André Malo]
+     matched value.  [André Malo]
 
   *) Recursive Include directives no longer crash. The server stops
      including configuration files after a certain nesting level (128
      as distributed). This is configurable at compile time using the
-     -DAP_MAX_INCLUDE_DEPTH switch. PR 28370.  [André Malo]
+     -DAP_MAX_INCLUDE_DEPTH switch. PR 28370.  [André Malo]
 
   *) mod_dir: the trailing-slash behaviour is now configurable using the
-     DirectorySlash directive.  [André Malo]
+     DirectorySlash directive.  [André Malo]
 
   *) Allow proxying of resources that are invoked via DirectoryIndex.
-     PR 14648, 15112, 29961.  [André Malo]
+     PR 14648, 15112, 29961.  [André Malo]
 
   *) util_ldap: Switched the lock types on the shared memory cache 
      from thread reader/writer locks to global mutexes in order to 
@@ -382,7 +400,7 @@ Changes with Apache 2.0.51
 
   *) Enable special ErrorDocument value 'default' which restores the
      canned server response for the scope of the directive.
-     [Geoffrey Young, André Malo]
+     [Geoffrey Young, André Malo]
 
   *) work around MSIE Digest auth bug - if AuthDigestEnableQueryStringHack
      is set in r->subprocess_env allow mismatched query strings to pass.
@@ -390,7 +408,7 @@ Changes with Apache 2.0.51
 
   *) Accept URLs for the ServerAdmin directive. If the supplied
      argument is not recognized as an URL, assume it's a mail address.
-     PR 28174.  [André Malo, Paul Querna]
+     PR 28174.  [André Malo, Paul Querna]
 
   *) initialize server arrays prior to calling ap_setup_prelinked_modules
      so that static modules can push Defines values when registering
@@ -421,17 +439,17 @@ Changes with Apache 2.0.50
      PR 22030, 18348.  [Joe Orton, Jeff Trawick]
 
   *) mod_alias now emits a warning if it detects overlapping *Alias*
-     directives.  [André Malo]
+     directives.  [André Malo]
 
   *) mod_rewrite no longer turns forward proxy requests into reverse proxy
-     requests. PR 28125  [ast domdv.de, André Malo]
+     requests. PR 28125  [ast domdv.de, André Malo]
 
   *) ap_set_sub_req_protocol and ap_finalize_sub_req_protocol are now
      exported on Win32 and Netware as well (minor MMN bump).  PR 28523.
-     [Edward Rudd <eddie omegaware.com>, André Malo]
+     [Edward Rudd <eddie omegaware.com>, André Malo]
 
   *) Restore the ability to disable the use of AcceptEx on Win9x systems
-     automatically (broken in 2.0.49). PR 28529.  [André Malo]
+     automatically (broken in 2.0.49). PR 28529.  [André Malo]
 
   *) <VirtualHost myhost> now applies to all IP addresses for myhost
      instead of just the first one reported by the resolver.  This
@@ -456,14 +474,14 @@ Changes with Apache 2.0.50
      a crypto accelerator engine.  [Joe Orton]
 
   *) Allow RequestHeader directives to be conditional. PR 27951.
-     [Vincent Deffontaines <vincent gryzor.com>, André Malo]
+     [Vincent Deffontaines <vincent gryzor.com>, André Malo]
 
   *) Allow LimitRequestBody to be reset to unlimited. PR 29106
-     [André Malo]
+     [André Malo]
 
   *) Fix a bunch of cases where the return code of the regex compiler
      was not checked properly. This affects: mod_setenvif, mod_usertrack,
-     mod_proxy, mod_proxy_ftp and core. PR 28218.  [André Malo]
+     mod_proxy, mod_proxy_ftp and core. PR 28218.  [André Malo]
 
   *) mod_ssl: Fix a potential segfault in the 'shmcb' session cache for
      small cache sizes.  PR 27751.  [Geoff Thorpe <geoff geoffthorpe.net>]
@@ -475,12 +493,12 @@ Changes with Apache 2.0.50
      [Bojan Smojver <bojan rexursive.com>]
 
   *) htpasswd no longer refuses to process files that contain empty
-     lines.  [André Malo]
+     lines.  [André Malo]
 
   *) Regression from 1.3: At startup, suexec now will be checked for
      availability, the setuid bit and user root. The works only if
      httpd is compiled with the shipped APR version (0.9.5).
-     PR 28287.  [André Malo]
+     PR 28287.  [André Malo]
 
   *) Unix MPMs: Stop dropping connections when the file descriptor
      is at least FD_SETSIZE.  [Jeff Trawick]
@@ -542,10 +560,10 @@ Changes with Apache 2.0.50
      locks on some platforms.  [Jeff Trawick]
 
   *) mod_headers no longer crashes if an empty header value should
-     be added.  [André Malo]
+     be added.  [André Malo]
 
   *) Fix segfault in mod_expires, which occured under certain
-     circumstances. PR 28047.  [André Malo]
+     circumstances. PR 28047.  [André Malo]
 
   *) htpasswd: use apr_temp_dir_get() and general cleanup
      [Guenter Knauf <eflash gmx.net>, Thom May]
@@ -631,7 +649,7 @@ Changes with Apache 2.0.49
      MPMs.  PR 25520.  [Jeff Trawick]
 
   *) Fix mod_include's expression parser to recognize strings correctly
-     even if they start with an escaped token.  [André Malo]
+     even if they start with an escaped token.  [André Malo]
 
   *) Add fatal exception hook for use by diagnostic modules.  The hook
      is only available if the --enable-exception-hook configure parm 
@@ -661,13 +679,13 @@ Changes with Apache 2.0.49
 
   *) mod_setenvif: Fix the regex optimizer, which under circumstances
      treated the supplied regex as literal string. PR 24219.
-     [André Malo]
+     [André Malo]
 
   *) ap_mpm.h: Fix include guard of ap_mpm.h to reference mpm
-     instead of mmn. [André Malo]
+     instead of mmn. [André Malo]
 
   *) mod_rewrite: Catch an edge case, where strange subsequent RewriteRules
-     could lead to a 400 (Bad Request) response.  [André Malo]
+     could lead to a 400 (Bad Request) response.  [André Malo]
 
   *) Keep focus of ITERATE and ITERATE2 on the current module when
      the module chooses to return DECLINE_CMD for the directive.
@@ -723,16 +741,16 @@ Changes with Apache 2.0.49
      [Allan Edwards, Bill Rowe, Bill Stoddard, Jeff Trawick]
 
   *) Make REMOTE_PORT variable available in mod_rewrite.
-     PR 25772.  [André Malo]
+     PR 25772.  [André Malo]
 
   *) Fix a long delay with CGI requests and keepalive connections on
      AIX.  [Jeff Trawick]
 
   *) mod_autoindex: Add 'XHTML' option in order to allow switching between
-     HTML 3.2 and XHTML 1.0 output. PR 23747.  [André Malo]
+     HTML 3.2 and XHTML 1.0 output. PR 23747.  [André Malo]
 
   *) Add XHTML Document Type Definitions to httpd.h (minor MMN bump).
-     [André Malo]
+     [André Malo]
 
   *) mod_ssl: Advertise SSL library version as determined at run-time rather
      than at compile-time.  PR 23956.  [Eric Seidel <seidel apple.com>]
@@ -744,13 +762,13 @@ Changes with Apache 2.0.49
 
   *) mod_rewrite: In external rewrite maps lookup keys containing
      a newline now cause a lookup failure. PR 14453.
-     [Cedric Gavage <cedric.gavage unixtech.be>, André Malo]
+     [Cedric Gavage <cedric.gavage unixtech.be>, André Malo]
 
   *) Backport major overhaul of mod_include's filter parser from 2.1.
      The new parser code is expected to be more robust and should
      catch all of the edge cases that were not handled by the previous one.
      The 2.1 external API changes were hidden by a wrapper which is
-     expected to keep the API backwards compatible.  [André Malo]
+     expected to keep the API backwards compatible.  [André Malo]
 
   *) Add a hook (insert_error_filter) to allow filters to re-insert
      themselves during processing of error responses. Enable mod_expires
@@ -773,11 +791,11 @@ Changes with Apache 2.0.49
 
   *) mod_dav: Use bucket brigades when reading PUT data. This avoids
      problems if the data stream is modified by an input filter. PR 22104.
-     [Tim Robbins <tim robbins.dropbear.id.au>, André Malo]
+     [Tim Robbins <tim robbins.dropbear.id.au>, André Malo]
 
-  *) Fix RewriteBase directive to not add double slashes.  [André Malo]
+  *) Fix RewriteBase directive to not add double slashes.  [André Malo]
 
-  *) Improve 'configure --help' output for some modules.  [Astrid Keßler]
+  *) Improve 'configure --help' output for some modules.  [Astrid Keßler]
 
   *) Correct UseCanonicalName Off to properly check incoming port number.
      [Jim Jagielski]
@@ -795,10 +813,10 @@ Changes with Apache 2.0.49
   *) SECURITY: CVE-2003-0020 (cve.mitre.org)
      Escape arbitrary data before writing into the errorlog. Unescaped
      errorlogs are still possible using the compile time switch
-     "-DAP_UNSAFE_ERROR_LOG_UNESCAPED".  [Geoffrey Young, André Malo]
+     "-DAP_UNSAFE_ERROR_LOG_UNESCAPED".  [Geoffrey Young, André Malo]
 
   *) mod_autoindex / core: Don't fail to show filenames containing
-     special characters like '%'. PR 13598.  [André Malo]
+     special characters like '%'. PR 13598.  [André Malo]
  
   *) mod_status: Report total CPU time accurately when using a threaded
      MPM.  PR 23795.  [Jeff Trawick]
@@ -826,7 +844,7 @@ Changes with Apache 2.0.49
      correctly. PR 24232. [Thom May]
      
   *) Restore the ability to add a description for directories that
-     don't contain an index file.  (Broken in 2.0.48) [André Malo]
+     don't contain an index file.  (Broken in 2.0.48) [André Malo]
 
   *) Fix a problem with the display of empty variables ("SetEnv foo") in
      mod_include.  PR 24734  [Markus Julen <mj zermatt.net>]
@@ -846,13 +864,13 @@ Changes with Apache 2.0.49
   *) mod_expires: Initialize ExpiresDefault to NULL instead of "" to
      avoid reporting an Internal Server error if it is used without
      having been set in the httpd.conf file. PR: 23748, 24459
-     [Andre Malo, Liam Quinn  <liam htmlhelp.com>]
+     [André Malo, Liam Quinn  <liam htmlhelp.com>]
 
   *) mod_autoindex: Don't omit the <tr> start tag if the SuppressIcon
      option is set. PR 21668.  [Jesse Tie-Ten-Quee <highos highos.com>]
 
   *) mod_include no longer allows an ETag header on 304 responses.
-     PR 19355. [Geoffrey Young <geoff apache.org>, André Malo]
+     PR 19355. [Geoffrey Young <geoff apache.org>, André Malo]
 
   *) EBCDIC: Convert header fields to ASCII before sending (broken
      since 2.0.44). [Martin Kraemer]
@@ -879,11 +897,11 @@ Changes with Apache 2.0.48
   *) SECURITY: CAN-2003-0542 (cve.mitre.org)
      Fix buffer overflows in mod_alias and mod_rewrite which occurred
      if one configured a regular expression with more than 9 captures.
-     [André Malo]
+     [André Malo]
 
   *) mod_include: fix segfault which occured if the filename was not
      set, for example, when processing some error conditions.
-     PR 23836.  [Brian Akins <bakins web.turner.com>, André Malo]
+     PR 23836.  [Brian Akins <bakins web.turner.com>, André Malo]
 
   *) fix the config parser to support <Foo>..</Foo> containers (no
      arguments in the opening tag) supported by httpd 1.3. Without
@@ -899,7 +917,7 @@ Changes with Apache 2.0.48
      compressed file extensions. [Roy Fielding]
 
   *) mod_rewrite: Don't die silently when failing to open RewriteLogs.
-     PR 23416.  [André Malo]
+     PR 23416.  [André Malo]
 
   *) mod_rewrite: Fix mod_rewrite's support of the [P] option to send
      rewritten request using "proxy:". The code was adding multiple "proxy:"
@@ -932,18 +950,18 @@ Changes with Apache 2.0.48
      [<bjorn exoweb.net>]
 
   *) mod_log_config: Fix %b log format to write really "-" when 0 bytes
-     were sent (e.g. with 304 or 204 response codes).  [Astrid Keßler]
+     were sent (e.g. with 304 or 204 response codes).  [Astrid Keßler]
 
   *) Modify ap_get_client_block() to note if it has seen EOS.
      [Justin Erenkrantz]
 
   *) Fix a bug, where mod_deflate sometimes unconditionally compressed the
      content if the Accept-Encoding header contained only other tokens than
-     "gzip" (such as "deflate"). PR 21523.  [Joe Orton, André Malo]
+     "gzip" (such as "deflate"). PR 21523.  [Joe Orton, André Malo]
 
   *) Avoid an infinite recursion, which occured if the name of an included
      config file or directory contained a wildcard character. PR 22194.
-     [André Malo]
+     [André Malo]
 
   *) mod_ssl: Fix a problem setting variables that represent the
      client certificate chain.  PR 21371  [Jeff Trawick]
@@ -979,10 +997,10 @@ Changes with Apache 2.0.48
 
   *) mod_rewrite: Ignore RewriteRules in .htaccess files if the directory
      containing the .htaccess file is requested without a trailing slash.
-     PR 20195.  [André Malo]
+     PR 20195.  [André Malo]
 
   *) ab: Overlong credentials given via command line no longer clobber
-     the buffer.  [André Malo]
+     the buffer.  [André Malo]
 
   *) mod_deflate: Don't attempt to hold all of the response until we're
      done.  [Justin Erenkrantz]
@@ -1000,11 +1018,11 @@ Changes with Apache 2.0.48
   *) Remember an authenticated user during internal redirects if the
      redirection target is not access protected and pass it
      to scripts using the REDIRECT_REMOTE_USER environment variable.
-     PR 10678, 11602.  [André Malo]
+     PR 10678, 11602.  [André Malo]
 
   *) mod_include: Fix a trio of bugs that would cause various unusual
      sequences of parsed bytes to omit portions of the output stream.
-     PR 21095. [Ron Park <ronald.park cnet.com>, André Malo, Cliff Woolley]
+     PR 21095. [Ron Park <ronald.park cnet.com>, André Malo, Cliff Woolley]
 
   *) Update the header token parsing code to allow LWS between the
      token word and the ':' seperator.  [PR 16520]
@@ -1014,10 +1032,10 @@ Changes with Apache 2.0.48
      [Joe Schaefer <joe+gmane sunstarsys.com>]
 
   *) Added FreeBSD directory layout. PR 21100.
-     [Sander Holthaus <info orangexl.com>, André Malo]
+     [Sander Holthaus <info orangexl.com>, André Malo]
 
   *) Fix NULL-pointer issue in ab when parsing an incomplete or non-HTTP
-     response. PR 21085. [Glenn Nielsen <glenn apache.org>, André Malo]
+     response. PR 21085. [Glenn Nielsen <glenn apache.org>, André Malo]
 
   *) mod_rewrite: Perform child initialization on the rewrite log lock.
      This fixes a log corruption issue when flock-based serialization
@@ -1051,7 +1069,7 @@ Changes with Apache 2.0.47
      infinite loops. The new LimitInternalRecursion directive configures
      limits of subsequent internal redirects and nested subrequests, after
      which the request will be aborted.  PR 19753 (and probably others).
-     [William Rowe, Jeff Trawick, André Malo]
+     [William Rowe, Jeff Trawick, André Malo]
 
   *) core_output_filter: don't split the brigade after a FLUSH bucket if
      it's the last bucket.  This prevents creating unneccessary empty
@@ -1070,7 +1088,7 @@ Changes with Apache 2.0.47
 
   *) mod_negotiation: Introduce "prefer-language" environment variable,
      which allows to influence the negotiation process on request basis
-     to prefer a certain language.  [André Malo]
+     to prefer a certain language.  [André Malo]
 
   *) Make mod_expires' ExpiresByType work properly, including for
      dynamically-generated documents.  [Ken Coar, Bill Stoddard]
@@ -1113,7 +1131,7 @@ Changes with Apache 2.0.46
 
   *) Fix mod_rewrite's handling of absolute URIs. The escaping routines
      now work scheme dependent and the query string will only be
-     appended if supported by the particular scheme.  [André Malo]
+     appended if supported by the particular scheme.  [André Malo]
 
   *) Add another check for already compressed content in mod_deflate.
      PR 19913. [Tsuyoshi SASAMOTO <nazonazo super.win.ne.jp>]
@@ -1143,15 +1161,15 @@ Changes with Apache 2.0.46
      processing the request via new %P formats.  [Jeff Trawick]
 
   *) Use appropriate language codes for Czech (cs) and Traditional Chinese
-     (zh-tw) in default config files. PR 9427.  [André Malo]
+     (zh-tw) in default config files. PR 9427.  [André Malo]
 
   *) mod_auth_ldap: Use generic whitespace character class when parsing
      "require" directives, instead of literal spaces only. PR 17135.
-     [André Malo]
+     [André Malo]
 
   *) Hook mod_rewrite's type checker before mod_mime's one. That way the
      RewriteRule [T=...] Flag should work as expected now. PR 19626.
-     [André Malo]
+     [André Malo]
 
   *) htpasswd: Check the processed file on validity. If a line is not empty
      and not a comment, it must contain at least one colon. Otherwise exit
@@ -1179,15 +1197,15 @@ Changes with Apache 2.0.46
 
   *) When using Redirect in directory context, append requested query
      string if there's no one supplied by configuration. PR 10961.
-     [André Malo]
+     [André Malo]
 
   *) Unescape the supplied wildcard pattern in mod_autoindex. Otherwise
      the pattern will not always match as desired. PR 12596.
-     [André Malo]
+     [André Malo]
 
   *) mod_autoindex now emits and accepts modern query string parameter
      delimiters (;). Thus column headers no longer contain unescaped
-     ampersands. PR 10880  [André Malo]
+     ampersands. PR 10880  [André Malo]
 
   *) Enable ap_sock_disable_nagle for Windows. This along with the 
      addition of APR_TCP_NODELAY_INHERITED to apr.hw will cause Nagle 
@@ -1225,12 +1243,12 @@ Changes with Apache 2.0.46
      characters) in mod_log_config to make a clear distinction between
      client-supplied strings (with special characters) and server-side
      strings. This was already introduced in version 1.3.25.
-     [André Malo]
+     [André Malo]
 
   *) mod_deflate: Check also err_headers_out for an already set
      Content-Encoding: gzip header. This prevents gzip compressed content
      from a CGI script from being compressed once more. PR 17797.
-     [André Malo]
+     [André Malo]
 
 Changes with Apache 2.0.45
 
@@ -1257,12 +1275,12 @@ Changes with Apache 2.0.45
 
   *) Fix path handling of mod_rewrite, especially on non-unix systems.
      There was some confusion between local paths and URL paths.
-     PR 12902.  [André Malo]
+     PR 12902.  [André Malo]
 
   *) Prevent endless loops of internal redirects in mod_rewrite by
      aborting after exceeding a limit of internal redirects. The
      limit defaults to 10 and can be changed using the RewriteOptions
-     directive. PR 17462.  [André Malo]
+     directive. PR 17462.  [André Malo]
 
   *) Win32: Avoid busy wait (consuming all the CPU idle cycles) when
      all worker threads are busy. 
@@ -1277,7 +1295,7 @@ Changes with Apache 2.0.45
 
   *) mod_deflate: Extend the DeflateFilterNote directive to
      allow accurate logging of the filter's in- and outstream.
-     [André Malo]
+     [André Malo]
 
   *) Allow SSLMutex to select/use the full range of APR locking
      mechanisms available to it. Also, fix the bug that SSLMutex uses
@@ -1285,7 +1303,7 @@ Changes with Apache 2.0.45
      Martin Kutschker <martin.t.kutschker blackbox.net>]
 
   *) Restore the ability of htdigest.exe to create files that contain
-     more than one user. PR 12910.  [André Malo]
+     more than one user. PR 12910.  [André Malo]
 
   *) Improve binary compatibility of the core between debug (aka
      maintainer-mode) and a non-debug compile.
@@ -1293,13 +1311,13 @@ Changes with Apache 2.0.45
 
   *) mod_usertrack: don't set the cookie in subrequests. This works
      around the problem that cookies were set twice during fast internal
-     redirects. PR 13211.  [André Malo]
+     redirects. PR 13211.  [André Malo]
 
   *) mod_autoindex no longer forgets output format and enabled version
-     sort in linked column headers.  [André Malo]
+     sort in linked column headers.  [André Malo]
 
   *) Use .sv instead of .se as extension for Swedish documents in the
-     default configuration. PR 12877.  [André Malo]
+     default configuration. PR 12877.  [André Malo]
 
   *) Updated mod_ldap and mod_auth_ldap to support the Novell LDAP SDK SSL
      and standardized the LDAP SSL support across the various LDAP SDKs.  
@@ -1327,7 +1345,7 @@ Changes with Apache 2.0.45
      [Justin Erenkrantz]
 
   *) Fix segfault which occurred when a section in an included
-     configuration file was not closed. PR 17093.  [André Malo]
+     configuration file was not closed. PR 17093.  [André Malo]
 
   *) Enhance the behavior of mod_isapi's WriteClient() callback to
      provide better emulation for isapi modules that presume that the
@@ -1347,19 +1365,19 @@ Changes with Apache 2.0.45
      
   *) Hook mod_proxy's fixup before mod_rewrite's fixup, so that by
      mod_rewrite proxied URLs will not be escaped accidentally by
-     mod_proxy's fixup. PR 16368  [André Malo]
+     mod_proxy's fixup. PR 16368  [André Malo]
 
   *) While processing filters on internal redirects, remember seen EOS
      buckets also in the request structure of the redirect issuer(s). This
      prevents filters (such as mod_deflate) from adding garbage to the
-     response. PR 14451.  [André Malo]
+     response. PR 14451.  [André Malo]
 
   *) suexec: Be more pedantic when cleaning environment. Clean it
      immediately after startup. PR 2790, 10449.
-     [Jeff Stewart <jws purdue.edu>, André Malo]
+     [Jeff Stewart <jws purdue.edu>, André Malo]
 
   *) Fix apxs to insert LoadModule directives only outside of sections.
-     PR 8712, 9012.  [André Malo]
+     PR 8712, 9012.  [André Malo]
 
   *) Fix suexec compile error under SUNOS4, where strerror() doesn't
      exist. PR 5913, 9977.
@@ -1370,7 +1388,7 @@ Changes with Apache 2.0.45
 
   *) mod_auth_digest no longer tries to guess AuthDigestDomain, if it's
      not specified. Now it assumes "/" as already documented. PR 16937.
-     [André Malo]
+     [André Malo]
 
   *) Try to log an error if a piped log program fails.  Try to
      restart a piped log program in more failure situations.  Fix an
@@ -1391,7 +1409,7 @@ Changes with Apache 2.0.45
      [Allen Edwards, William Rowe]
  
   *) Fix bug where 'Satisfy Any' without an AuthType lost all MIME
-     information (and more). Related to PR 9076.  [André Malo]
+     information (and more). Related to PR 9076.  [André Malo]
 
   *) mod_file_cache: fix segfault serving mmaped cached files.
      [Bill Stoddard]
@@ -1415,7 +1433,7 @@ Changes with Apache 2.0.45
      [Thom May <thom planetarytramp.net>]
 
   *) mod_rewrite: Allow "RewriteEngine Off" even if no "Options FollowSymlinks"
-     (or SymlinksIfOwnermatch) is set. PR 12395.  [André Malo]
+     (or SymlinksIfOwnermatch) is set. PR 12395.  [André Malo]
 
   *) apxs: Include any special APR ld flags when linking the DSO.
      This resolves problems on AIX when building a DSO with apxs+gcc.
@@ -1463,7 +1481,7 @@ Changes with Apache 2.0.44
      PR 14256  [Graham Leggett]
 
   *) Fix the building of cgi command lines when the query string
-     contains '='.  PR 13914  [Ville Skyttä <ville.skytta iki.fi>,
+     contains '='.  PR 13914  [Ville Skyttä <ville.skytta iki.fi>,
      Jeff Trawick]
 
   *) Rename CacheMaxStreamingBuffer to MCacheMaxStreamingBuffer. Move
@@ -1480,7 +1498,7 @@ Changes with Apache 2.0.44
 
   *) Replace APU_HAS_LDAPSSL_CLIENT_INIT with APU_HAS_LDAP_NETSCAPE_SSL
      as set by apr-util in util_ldap.c. This should allow mod_ldap
-     to work with the Netscape/Mozilla LDAP library. [Øyvin Sømme
+     to work with the Netscape/Mozilla LDAP library. [Øyvin Sømme
      <somme oslo.westerngeco.slb.com>, Graham Leggett]
 
   *) Fix critical bug in new --enable-v4-mapped configure option
@@ -1488,7 +1506,7 @@ Changes with Apache 2.0.44
      systems.  [hiroyuki hanai <hanai imgsrc.co.jp>]
 
   *) mod_setenvif: Fix BrowserMatchNoCase support for non-regex
-     patterns [André Malo <nd perlig.de>]
+     patterns [André Malo <nd perlig.de>]
 
   *) Add version string to provider API.  [Justin Erenkrantz]
  
@@ -1498,11 +1516,11 @@ Changes with Apache 2.0.44
   *) mod_negotiation: Set the appropriate mime response headers
      (Content-Type, charset, Content-Language and Content-Encoding)
      for negotated type-map "Body:" responses (such as the error
-     pages.)  [André Malo <nd perlig.de>]
+     pages.)  [André Malo <nd perlig.de>]
 
   *) mod_log_config: Allow '%%' escaping in CustomLog format
      strings to insert a literal, single '%'.
-     [André Malo <nd perlig.de>]
+     [André Malo <nd perlig.de>]
 
   *) mod_autoindex: AddDescription directives for directories
      now work as in Apache 1.3, where no trailing '/' is
@@ -1563,7 +1581,7 @@ Changes with Apache 2.0.44
      [Frederic DONNAT <frederic.donnat zencod.com>]
 
   *) Always emit Vary header if mod_deflate is involved in the
-     request.  [Andre Malo <nd perlig.de>]
+     request.  [André Malo <nd perlig.de>]
 
   *) mod_isapi: Stop unsetting the 'empty' query string result with
      a NULL argument in ecb->lpszQueryString, eliminating segfaults
@@ -1783,7 +1801,7 @@ Changes with Apache 2.0.41
 
   *) Update the xslt and css to give the documentation a more
      modern style.
-     [André Malo <nd perlig.de>, Gernot Winkler <greh o3media.de>]
+     [André Malo <nd perlig.de>, Gernot Winkler <greh o3media.de>]
 
   *) Fix some bucket memory leaks in the chunking code
      [Joe Schaefer <joe+apache sunstarsys.com>]
@@ -1836,7 +1854,7 @@ Changes with Apache 2.0.41
      log file [Ian Holsman]
 
   *) Correct ISAPIReadAheadBuffer to default to 49152, per mod_isapi docs.
-     [André Malo, Astrid Keßler <kess kess-net.de>]
+     [André Malo, Astrid Keßler <kess kess-net.de>]
 
   *) Fix Segfault in mod_cache. [Kris Verbeeck <Kris.Verbeeck ubizen.com>]
 
@@ -2323,7 +2341,7 @@ Changes with Apache 2.0.37
 
   *) Make apxs look in the correct directory for envvars.  It was
      broken when sbindir != bindir.  PR 8869
-     [Andreas Sundström <sunkan zappa.cx>]
+     [Andreas Sundström <sunkan zappa.cx>]
   
   *) Fix mod_deflate corruption when using multiple buckets.  PR 9014.
      [Asada Kazuhisa <kaz asada.sytes.net>]
@@ -4207,7 +4225,7 @@ Changes with Apache 2.0.22
 
   *) Fix a cosmetic problem with mod_include.  Non-existant SSI vars
      used to appear as '(none', without the closing paren.
-     [Günter Knauf <eflash gmx.net>]
+     [Günter Knauf <eflash gmx.net>]
 
   *) Improve the exports generating awk script.  In the past, we had
      work around problems in the awk script by avoiding some #if and
@@ -5429,7 +5447,7 @@ Changes with Apache 2.0a8
      but APR needs the check too, and I suspect other applications will
      as well.  APR now defines APR_INADDR_NONE, which is always a valid
      value on all platforms.
-     [Branko Èibej <brane xbc.nu>]
+     [Branko Čibej <brane xbc.nu>]
 
   *) Destroy the pthread mutex in lock_intra_cleanup() for PR#6824.
      [Shuichi Kitaguchi <ki hh.iij4u.or.jp>] 
@@ -5587,7 +5605,7 @@ Changes with Apache 2.0a8
      [Ryan Bloom]
 
   *) apr_psprintf doesn't understand %lld as a format.  Make it %ld.
-     [Tomas "Ögren" <stric ing.umu.se>]
+     [Tomas Ögren <stric ing.umu.se>]
 
   *) APR pipes on Unix and Win32 are now cleaned up automatically when the 
      associated pool goes away.  (APR pipes on OS/2 were already had this
@@ -5795,11 +5813,11 @@ Changes with Apache 2.0a7
       -cache result for "struct rlimit"
       -compile all helper programs with native and cross compiler
        and use the native version to generate header file
-     ["Rüdiger" Kuhlmann <Tadu gmx.de>]
+     [Rüdiger Kuhlmann <Tadu gmx.de>]
 
   *) Prepare our autoconf setup for autoconf 2.14a and for cross-
      compiling.
-     ["Rüdiger" Kuhlmann <Tadu gmx.de>]
+     [Rüdiger Kuhlmann <Tadu gmx.de>]
 
   *) Fix a bug where a client which only sends \n to delimit header
      lines (netcat) gets a strange looking HTTP_NOT_IMPLEMENTED 
@@ -6357,7 +6375,7 @@ Changes with Apache 2.0a4
   *) Brought mod_auth_digest up to synch with 1.3, fixed ap_time_t-
      related bugs, and changed shmem/locking to use apr API. Shared-mem
      is currently disabled, however, because of problems with graceful
-     restarts. [Ronald Tschalär]
+     restarts. [Ronald Tschalär]
 
   *) Fix corruption of IFS variable in --with-module= handling.  
      Depending on the user's shell or customization thereof, there 
@@ -7000,7 +7018,7 @@ Changes with Apache 1.3.9
   *) Print out pointer to Rule DEV_RANDOM when truerand lib not found.
      Fix test-compile check to check for randbyte instead of trand32.
      Use ap_base64encode_binary/decode instead of copy in mod_auth_digest.c
-     and tweak to make Amaya happier.  [Ronald Tschalär]
+     and tweak to make Amaya happier.  [Ronald Tschalär]
 
   *) Ensure that the installed expat include files are world readable,
      just like the other header files.  [Martin Kraemer]
@@ -7074,7 +7092,7 @@ Changes with Apache 1.3.8 [not released]
      name on DYNIX -- changed to mmap_rec.  [Roy Fielding] PR#4735
 
   *) Added updated mod_digest as modules/experimental/mod_auth_digest.
-     [Ronald Tschalär <ronald innovation.ch>]
+     [Ronald Tschalär <ronald innovation.ch>]
 
   *) Fix a memory leak where the module counts were getting messed
      up across restarts.  [David Harris <dharris drh.net>]
@@ -7464,7 +7482,7 @@ Changes with Apache 1.3.7 [not released]
 
   *) Fix buffer overflows in ap_uuencode and ap_uudecode pointed out
      by "Peter 'Luna' Altberg <peter altberg.nu>" and PR#3422
-     [Peter 'Luna' Altberg <peter altberg.nu>, Ronald Tschalär]
+     [Peter 'Luna' Altberg <peter altberg.nu>, Ronald Tschalär]
 
   *) Make {Set,Unset,Pass}Env per-directory instead of per-server.
      [Ben Laurie]
@@ -7585,7 +7603,7 @@ Changes with Apache 1.3.5 [not released]
      8 bit characters on a machine with signed char may produced
      incorrect results. Additionally ap_uuencode() should now
      work correctly on EBCDIC platforms.
-     [Ronald Tschalär <ronald innovation.ch>] PR#3411
+     [Ronald Tschalär <ronald innovation.ch>] PR#3411
 
   *) WIN32: Binary installer now runs the configuration DLL before
      the reboot prompt (which is only given if MSVCRT.DLL system
@@ -8157,7 +8175,7 @@ Changes with Apache 1.3.4
 
   *) ap_md5_binary() was using sprintf() rather than a table lookup
      to convert binary bytes to hex digits.
-     [Ronald Tschalär <ronald innovation.ch>] PR#3409
+     [Ronald Tschalär <ronald innovation.ch>] PR#3409
 
   *) Fix SEGV in TCN negotiation if no variants are acceptable.
      [Martin Plechsmid <plechsmi karlin.mff.cuni.cz>] PR#1987
@@ -9874,7 +9892,7 @@ Changes with Apache 1.3b6
 
   *) After a SIGHUP the listening sockets in the parent weren't
      properly marked for closure on fork().
-     [Jürgen Keil <jk tools.de>] PR#2000
+     [Jürgen Keil <jk tools.de>] PR#2000
  
   *) Allow %2F in two situations: 1) it is in the query part of the URI,
      therefore not exposed to %2F -> '/' translations and 2) the request
@@ -10873,7 +10891,7 @@ Changes with Apache 1.3b3
      handle multiple Listen directives.  [Marc Slemko] PR#872
 
   *) Inherit a bugfix to fnmatch.c from FreeBSD sources.
-     ["[KOI8-R] áÎÄÒÅÊ þÅÒÎÏ×" <ache nagual.pp.ru>] PR#1311
+     [Андрей Чернов <ache nagual.pp.ru>] PR#1311
 
   *) When a configuration parse complained about a bad directive,
      the logger would use whatever (unrelated) value was in errno.
diff --git a/STATUS b/STATUS
index 32448e1710edcfd77584e9e594f04eb6d28cae01..38e4abcdc9b4236ea932f44834ee4407219579b0 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -104,90 +104,32 @@ CURRENT RELEASE NOTES:
 
 RELEASE SHOWSTOPPERS:
 
-    * Various fixes to T-E and C-L processing from trunk
-
-      Refactor mod_proxy_http.c's Transfer-Encoding/Content-Length elections
-      since they didn't follow RFC 2616, in fact didn't seem to make much
-      sense at all.  Patch to migrate request-body-handling from trunk/ based
-      on 2.1-dev request body handling behavior (although just a bit more
-      conservative on the side of C-L spooling)...
-          http://people.apache.org/~wrowe/httpd-2.0-proxy-request-3.patch
-      Revert r219061 to properly test this patch, as r219061 masks the
-      underlying bug (although it is a -good- patch in and of itself).
+    * Copy the backport branch of all of the mod_proxy_http.c's request body 
+      handling security, protocol and bug fixes; by svn copy'ing the file
+      httpd/httpd/branches/proxy-reqbody-2.0.x/modules/proxy/proxy_http.c back to
+      httpd/branches/2.0.x/... preserving the detail of all of the individually
+      backported changes.
 
        +1: wrowe, jim
-       -1: jorton: this is a massive patch and extremely hard to review
-           for actual interesting content; it is mixed in with all sorts
-           of unrelated stuff.  It needs to at least be split up or
-           the unrelated stuff removed.
-
-           unrelated change: s/apr_strnatcasecmp/strcasecmp/
-           unrelated change: s/b/bb/ on variable+parameter names a few times
-           unrelated change: whitespaces changes all over the shop
-           spurious change:? send_request_body() appears to have been inlined
-           unrelated change: Via header handling
-
-         trawick noted on list: we elected C-L not for efficiency, but because
-                 it's the most widely supported [paraphrasing]
-         wrowe   notes: I agree - this new patch always chooses C-L for any
-                 C-L body received.  If the origin kicks out LENGTH_REQUIRED
-                 for a T-E body it's always up to the client to react.
-                 Note proxy-sendchunks can override this behavior.
-         roy     Notes on list: we must always prefer C-L if it's going to fit
-                 in our brigade.
-         wrowe   good point; the revised patch prereads MAX_MEM_SPOOL and will
-                 try reading that before choosing C-L or T-E.
-         wrowe   adds; After testing, I've determined one brigade isn't enough,
-                 so I've extended this to a loop up to MAX_MEM_SPOOL, we will
-                 fetch up enough body to fill MAX_MEM_SPOOL and hopefully
-                 hit the C-L code path most of the time.
-
-         trawick We are counting bytes in stream_reqbody_cl but filters can
-                 change the size? [p]
-         wrowe   Yes - which is why the patch prefers spool_reqbody_cl unless
-                 the filter stack is unchanged from proto_input_filters.  The
-                 protocol filters shouldn't be changing content size.  And when
-                 it happens, we have to barf or we have a split request.
-                 The old behavior was worse; we would stream the request body
-                 in additional cases without looking to see if the byte count
-                 matched Content-Length.  Easy opportunity for split requests.
-
-         trawick What specifically was done for conformance to RFC 2616? [p]
-         wrowe   Elect the appropriate body handling, and ensure that body
-                 request contains the required *single* T-E or C-L header,
-                 and there are far few code paths to stream_reqbody_cl which
-                 was most likely to create split requests by reporting the
-                 wrong C-L.
-
-         trawick Please split philosophy from rfc violations from security 
-                 fixes in the CHANGES log? [p]
-         wrowe   The others are all a bit to intertwined, the Watchfire report 
-                 spelled out that it's different behavior and RFC 2616 deviations 
-                 that cause the vulnerability, so I don't see how we can divide 
-                 the issues of correctly sending the body and choosing the
-                 transport flavor.
+       -1:
 
+      For a complete history of individual unit changes, see r230703 - r230744 in
+      http://svn.apache.org/viewcvs.cgi/httpd/httpd/branches/proxy-reqbody-2.0.x/
+      [...]  modules/proxy/proxy_http.c?&view=log
+      Cite the specific patch with justification for each specific objection.
 
-PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
-  [ please append new backports at the end of this list not the top. ]
+      Suggested; revert r219061 to thoroughly test this patch, as r219061 masks 
+      some underlying bugs (although it is a -good- patch in and of itself and
+      provides additional protection to other content-handling modules).      
 
-    *) ap_proxy_canonenc() is over-eager in handling '%' for reverse
-       proxies (PR: 29554).
-         Index: modules/proxy/proxy_util.c
-             -       if (isenc && ch == '%') {
-             +       if (isenc && (isenc != PROXYREQ_REVERSE) && ch == '%') {
+    * TRACE must not have a request body per RFC2616; see the -trace.patch
+      below for one of two alternatives.  The other alternative; simply
+      hack mod_proxy.c to reject TRACE when a body is seen, again see that
+      -trace.patch for an illustration.
 
-       +1: jim, pquerna, wrowe
 
-    *) Fix fd leak in piped logging code, fix error handling, and remove
-       dead errno handling.
-         http://svn.apache.org/viewcvs?rev=170441&view=rev
-         http://svn.apache.org/viewcvs?rev=170537&view=rev
-         http://svn.apache.org/viewcvs?rev=170719&view=rev
-       all-in-one patch incremental to the PR 26467 fix:
-         http://people.apache.org/~jorton/ap_pipedlog2.diff
-       +1: jorton, trawick, wrowe
-       [yes, I will write a CHANGES entry too]
+PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
+  [ please append new backports at the end of this list not the top. ]
 
     *) several changes to improve logging of connection-oriented errors, including
        ap_log_cerror() API (needs minor bump in addition to changes below)
@@ -253,11 +195,38 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
       Votes from before the integration branch:
           +1: jerenkrantz, wrowe (trivial, would even be cool in 1.3)
 
+     *) proxy FTP: Fix confusion about globbing characters which could lead
+        to getting a directory listing when a file was requested.  PR 34512.
+        2.1 patch was http://svn.apache.org/viewcvs?rev=179704&view=rev
+        2.0 version: http://people.apache.org/~trawick/179704-20.txt
+        +1: trawick, jorton, wrowe
+
+    *) Prevent bad dereferencing of non-existent req struct in
+       mod_auth_ldap's mod_auth_ldap_auth_checker() if
+       mod_auth_ldap_check_user_id() was never (fully) called.
+       Similar behavior to that in 2.1/2.2.
+         http://people.apache.org/~jim/mod_auth_ldap-2.0.patch
+       +1: jim, minfrin, bnicholes
+
+     *) Add httxt2dbm for creating RewriteMap DBM Files.
+        http://svn.apache.org/viewcvs.cgi?rev=209539&view=rev
+        +1: pquerna, jorton, trawick
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ please place SVN revisions from trunk here, so it is easy to
     identify exactly what the proposed changes are! ]
 
+    *) Fix CAN-2005-2491, integer overflow in pcre.
+         http://svn.apache.org/viewcvs?rev=233493&view=rev
+       rediff for 2.0: http://people.apache.org/~jorton/CAN-2005-2491.patch
+       test case: perl-framework/t/security/CAN-2005-2491.t
+       +1: jorton, nd
+
+    *) Remove the base href tag from mod_proxy_ftp, as it breaks relative
+       links for clients not using an Authorization header.
+         modules/proxy/mod_proxy_ftp.c: r231044
+       +1: minfrin, jim, nd
+
     *) Correct RFC 2616 non-compliance by refusing to proxy a request body 
        in a TRACE request, unless TraceEnable extended is configured.
        Introduces TraceEnable [on|off|extended] to give the administrator
@@ -325,23 +294,21 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK:
         http://svn.apache.org/viewcvs?rev=178262&view=rev
         (With 2.0.x it is the same code in the same function, but in 
         a different source file.)
-        +1: trawick
+        +1: trawick, wrowe, nd
 
      *) Support the suppress-error-charset setting, as with Apache 1.3.x.
         PR 31274. (current docs say it works with Apache from 2.0.40 ;) )
         http://svn.apache.org/viewcvs?rev=170354&view=rev
-        +1: trawick, jorton
-
-     *) proxy FTP: Fix confusion about globbing characters which could lead
-        to getting a directory listing when a file was requested.  PR 34512.
-        2.1 patch was http://svn.apache.org/viewcvs?rev=179704&view=rev
-        2.0 version: http://people.apache.org/~trawick/179704-20.txt
-        +1: trawick, jorton
+        +1: trawick, jorton, nd
 
      *) mod_mime_magic: Handle CRLF-format magic files so that it works with
         the default installation on Windows. 
         http://svn.apache.org/viewcvs?rev=179622&view=rev
-        +1: trawick
+        +1: trawick, wrowe
+        wrowe asks: is it possible to simply strip trailing whitespace instead
+                    of special handling for the end of line characters?  
+                    Seems more portable.
+        trawick says: makes sense; searching for bandwidth
 
      *) mod_cache: Fix handling of 'Vary: *". PR 16125.
         Trunk: r180341
@@ -357,16 +324,20 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK:
         includes.
         http://svn.apache.org/viewcvs?rev=179763&view=rev
         2.0.x patch: http://people.apache.org/~jorton/ap_pr12655.patch
+        test case in perl-framework/t/modules/include.t
         PR: 12655
-        +1: jorton
+        +1: jorton, nd
 
      *) mod_auth_digest: Fix hostinfo validation for CONNECT requests.
         http://svn.apache.org/viewcvs.cgi?rev=193127&view=rev
-        +1: jorton
+        +1: jorton, nd
 
-     *) Add httxt2dbm for creating RewriteMap DBM Files.
-        http://svn.apache.org/viewcvs.cgi?rev=209539&view=rev
-        +1: pquerna
+     *) Reverse Proxy fixes: <Location> bug and Cookie support
+        Patch is at
+        http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=112365629308138&q=p4
+        and is in production with Clients.
+        +1: niq, nd
+          niq: I'm seeing *a lot* of demand for this.
 
 PATCHES TO BACKPORT THAT ARE ON HOLD OR NOT GOING ANYWHERE SOON:
 
@@ -517,9 +488,6 @@ PATCHES TO BACKPORT THAT ARE ON HOLD OR NOT GOING ANYWHERE SOON:
 
 CURRENT VOTES:
 
-    * Reverse proxy cookie patch from PR#10722 (c.f. comment 16)
-      +1: niq
-
     * Promote mod_ldap and mod_auth_ldap from experimental to
       non experimental status.
       +1: bnicholes, wrowe
index ed28bf68b336b579dfd37de4fcfe0ecfc2eec3ce..ead02a9796f847e2ef8eb065bdce596614ae75cd 100644 (file)
@@ -47,8 +47,8 @@
     
 
     <div class="example"><p><code>
-      &lt;VirtualHost www.abc.com&gt; <br />
-      ServerAdmin webgirl@abc.com <br />
+      &lt;VirtualHost www.abc.dom&gt; <br />
+      ServerAdmin webgirl@abc.dom <br />
       DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt;
     </code></p></div>
@@ -60,7 +60,7 @@
     responderá a las peticiones que se produzcan. El ejemplo
     mostrado arriba no incluye la direccion IP, de manera que Apache
     tiene que usar una resolución DNS para encontrar la
-    dirección IP correspondiente a <code>www.abc.com</code>. Si
+    dirección IP correspondiente a <code>www.abc.dom</code>. Si
     por alguna razón la resolución DNS no está
     disponible en el momento en que su servidor está analizando
     sintánticamente su fichero de configuración, entonces
     hagan a ese host virtual (en las versiones de Apache anteriores a
     la 1.2 el servidor ni siquiera se iniciaba).</p>
 
-    <p>Suponga que <code>www.abc.com</code> tiene como dirección
+    <p>Suponga que <code>www.abc.dom</code> tiene como dirección
     IP la 10.0.0.1. Considere la siguiente configuración:</p>
 
     <div class="example"><p><code>
       &lt;VirtualHost 10.0.0.1&gt; <br />
-      ServerAdmin webgirl@abc.com <br />
+      ServerAdmin webgirl@abc.dom <br />
       DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt;
     </code></p></div>
@@ -95,8 +95,8 @@
 
     <div class="example"><p><code>
       &lt;VirtualHost 10.0.0.1&gt; <br />
-      ServerName www.abc.com <br />
-      ServerAdmin webgirl@abc.com <br />
+      ServerName www.abc.dom <br />
+      ServerAdmin webgirl@abc.dom <br />
       DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt;
     </code></p></div>
     de las dos búsquedas de DNS mencionadas arriba falla para
     cualquiera de sus hosts virtuales. En algunos casos estas
     búsquedas DNS puede que no estén bajo su control; por
-    ejemplo, si <code>abc.com</code> es uno de sus clientes y ellos
+    ejemplo, si <code>abc.dom</code> es uno de sus clientes y ellos
     controlan su propia DNS, pueden forzar a su servidor (pre-1.2) a
     fallar al iniciarse simplemente borrando el registro
-    <code>www.abc.com</code>.</p>
+    <code>www.abc.dom</code>.</p>
 
     <p>Otra formas pueden ser bastante más complicadas. Fíjese
     en esta configuración:</p>
 
     <div class="example"><p><code>
-      &lt;VirtualHost www.abc.com&gt; <br />
-      &nbsp;&nbsp;ServerAdmin webgirl@abc.com <br />
+      &lt;VirtualHost www.abc.dom&gt; <br />
+      &nbsp;&nbsp;ServerAdmin webgirl@abc.dom <br />
       &nbsp;&nbsp;DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt; <br />
       <br />
     </code></p></div>
 
     <p>Suponga que ha asignado la dirección 10.0.0.1 a
-    <code>www.abc.com</code> y 10.0.0.2 a
+    <code>www.abc.dom</code> y 10.0.0.2 a
     <code>www.def.com</code>. Todavía más, suponga que
     <code>def.com</code> tiene el control de sus propias DNS. Con esta
     configuración ha puesto <code>def.com</code> en una
     posición en la que puede robar todo el trafico destinado a
-    <code>abc.com</code>. Para conseguirlo, todo lo que tiene que
+    <code>abc.dom</code>. Para conseguirlo, todo lo que tiene que
     hacer es asignarle a <code>www.def.com</code> la dirección
     10.0.0.1. Como ellos controlan sus propias DNS no puede evitar que
     apunten el registro <code>www.def.com</code> a donde quieran.</p>
 
     <p>Las peticiones dirigidas a la dirección 10.0.0.1
     (incluídas aquellas en las los usuarios escriben URLs de tipo
-    <code>http://www.abc.com/whatever</code>) serán todas
+    <code>http://www.abc.dom/whatever</code>) serán todas
     servidas por el host virtual <code>def.com</code>. Comprender por
     qué ocurre esto requiere una discusión más profunda
     acerca de como Apache asigna las peticiones que recibe a los hosts
index d086884522c3709a35ae322671c870cc3d630fcc..ebe650c3cbba9945150cfcc916970628b7e3ee9a 100644 (file)
@@ -40,8 +40,8 @@
     <title>Un ejemplo sencillo</title>
 
     <example>
-      &lt;VirtualHost www.abc.com&gt; <br />
-      ServerAdmin webgirl@abc.com <br />
+      &lt;VirtualHost www.abc.dom&gt; <br />
+      ServerAdmin webgirl@abc.dom <br />
       DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt;
     </example>
@@ -53,7 +53,7 @@
     responder&#225; a las peticiones que se produzcan. El ejemplo
     mostrado arriba no incluye la direccion IP, de manera que Apache
     tiene que usar una resoluci&#243;n DNS para encontrar la
-    direcci&#243;n IP correspondiente a <code>www.abc.com</code>. Si
+    direcci&#243;n IP correspondiente a <code>www.abc.dom</code>. Si
     por alguna raz&#243;n la resoluci&#243;n DNS no est&#225;
     disponible en el momento en que su servidor est&#225; analizando
     sint&#225;nticamente su fichero de configuraci&#243;n, entonces
     hagan a ese host virtual (en las versiones de Apache anteriores a
     la 1.2 el servidor ni siquiera se iniciaba).</p>
 
-    <p>Suponga que <code>www.abc.com</code> tiene como direcci&#243;n
+    <p>Suponga que <code>www.abc.dom</code> tiene como direcci&#243;n
     IP la 10.0.0.1. Considere la siguiente configuraci&#243;n:</p>
 
     <example>
       &lt;VirtualHost 10.0.0.1&gt; <br />
-      ServerAdmin webgirl@abc.com <br />
+      ServerAdmin webgirl@abc.dom <br />
       DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt;
     </example>
@@ -88,8 +88,8 @@
 
     <example>
       &lt;VirtualHost 10.0.0.1&gt; <br />
-      ServerName www.abc.com <br />
-      ServerAdmin webgirl@abc.com <br />
+      ServerName www.abc.dom <br />
+      ServerAdmin webgirl@abc.dom <br />
       DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt;
     </example>
     de las dos b&#250;squedas de DNS mencionadas arriba falla para
     cualquiera de sus hosts virtuales. En algunos casos estas
     b&#250;squedas DNS puede que no est&#233;n bajo su control; por
-    ejemplo, si <code>abc.com</code> es uno de sus clientes y ellos
+    ejemplo, si <code>abc.dom</code> es uno de sus clientes y ellos
     controlan su propia DNS, pueden forzar a su servidor (pre-1.2) a
     fallar al iniciarse simplemente borrando el registro
-    <code>www.abc.com</code>.</p>
+    <code>www.abc.dom</code>.</p>
 
     <p>Otra formas pueden ser bastante m&#225;s complicadas. F&#237;jese
     en esta configuraci&#243;n:</p>
 
     <example>
-      &lt;VirtualHost www.abc.com&gt; <br />
-      &#xA0;&#xA0;ServerAdmin webgirl@abc.com <br />
+      &lt;VirtualHost www.abc.dom&gt; <br />
+      &#xA0;&#xA0;ServerAdmin webgirl@abc.dom <br />
       &#xA0;&#xA0;DocumentRoot /www/abc <br />
       &lt;/VirtualHost&gt; <br />
       <br />
     </example>
 
     <p>Suponga que ha asignado la direcci&#243;n 10.0.0.1 a
-    <code>www.abc.com</code> y 10.0.0.2 a
+    <code>www.abc.dom</code> y 10.0.0.2 a
     <code>www.def.com</code>. Todav&#237;a m&#225;s, suponga que
     <code>def.com</code> tiene el control de sus propias DNS. Con esta
     configuraci&#243;n ha puesto <code>def.com</code> en una
     posici&#243;n en la que puede robar todo el trafico destinado a
-    <code>abc.com</code>. Para conseguirlo, todo lo que tiene que
+    <code>abc.dom</code>. Para conseguirlo, todo lo que tiene que
     hacer es asignarle a <code>www.def.com</code> la direcci&#243;n
     10.0.0.1. Como ellos controlan sus propias DNS no puede evitar que
     apunten el registro <code>www.def.com</code> a donde quieran.</p>
 
     <p>Las peticiones dirigidas a la direcci&#243;n 10.0.0.1
     (inclu&#237;das aquellas en las los usuarios escriben URLs de tipo
-    <code>http://www.abc.com/whatever</code>) ser&#225;n todas
+    <code>http://www.abc.dom/whatever</code>) ser&#225;n todas
     servidas por el host virtual <code>def.com</code>. Comprender por
     qu&#233; ocurre esto requiere una discusi&#243;n m&#225;s profunda
     acerca de como Apache asigna las peticiones que recibe a los hosts
index fddd99738b3d38129e7f10919a6791193f0d4225..62d4b2373531eaec9b82210098efa8fd327bd947 100644 (file)
@@ -2,6 +2,10 @@ URI: auth.html.en
 Content-Language: en
 Content-type: text/html; charset=ISO-8859-1
 
+URI: auth.html.es
+Content-Language: es
+Content-type: text/html; charset=ISO-8859-1
+
 URI: auth.html.ja.euc-jp
 Content-Language: ja
 Content-type: text/html; charset=EUC-JP
index 3dfbde1fd50e5597c11d2fcb09ed5e2baf2d7d7f..69a4bbccd355eeda7633eedf34708976d82748f4 100644 (file)
@@ -19,6 +19,7 @@
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs-project/">Documentation</a> &gt; <a href="../">Version 2.0</a> &gt; <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Authentication, Authorization and Access Control</h1>
 <div class="toplang">
 <p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 </div>
@@ -345,6 +346,7 @@ do?</a></h2>
 </div></div>
 <div class="bottomlang">
 <p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 </div><div id="footer">
diff --git a/docs/manual/howto/auth.html.es b/docs/manual/howto/auth.html.es
new file mode 100644 (file)
index 0000000..27d154c
--- /dev/null
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!--
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+              This file is generated from xml source: DO NOT EDIT
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+      -->
+<title>Autentificación, Autorización y Control de Acceso - Servidor HTTP Apache</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/">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>
+<p class="apache">Versión 2.0 del Servidor HTTP Apache</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs-project/">Documentación</a> &gt; <a href="../">Versión 2.0</a> &gt; <a href="./">How-To / Tutoriales</a></div><div id="page-content"><div id="preamble"><h1>Autentificación, Autorización y Control de Acceso</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div>
+
+    <p>La autentificación es cualquier proceso mediante el cual se
+    verifica que alguien es quien dice ser. La autorización es
+    cualquier proceso por el cual a alguien se le permite estar donde
+    quiere ir, o tener la información que quiere tener.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Módulos y Directivas relacionadas</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introducción</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Los Prerrequisitos</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Puesta en funcionamiento</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Permitir el acceso a más
+de una persona</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Posibles Problemas</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#whatotherneatstuffcanido">¿Qué otra cosa
+sencilla y efectiva puedo hacer?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Más información</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">Módulos y Directivas relacionadas</a></h2>
+    <table class="related"><tr><th>Módulos Relacionados</th><th>Directivas Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></li><li><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</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="introduction" id="introduction">Introducción</a></h2>
+    <p>Si en su sitio web tiene información sensible o dirigida
+    sólo a un pequeño grupo de personas, las técnicas
+    explicadas en éste artículo le ayudarán a
+    asegurarse de que las personas que ven esas páginas son las
+    personas que usted quiere que las vean.</p>
+
+    <p>Este artículo cubre la manera "estándar" de proteger
+    partes de su sitio web que la mayoría de ustedes van a usar.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="theprerequisites" id="theprerequisites">Los Prerrequisitos</a></h2>
+    <p>Las directivas tratadas en éste artículo necesitarán
+    ir en el archivo de configuración principal de su servidor
+    (típicamente en una sección del tipo
+    <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>),
+    o en archivos de configuración por directorios (archivos 
+    <code>.htaccess</code>).</p>
+
+    <p>Si planea usar archivos <code>.htaccess</code>, necesitará
+    tener una configuración en el servidor que permita poner directivas
+    de autentificación en estos archivos. Esto se logra con la
+    directiva <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>,
+    la cual especifica cuáles directivas, en caso de existir, pueden
+    ser colocadas en los archivos de configuración por directorios.</p>
+
+    <p>Ya que se está hablando de autentificación, necesitará
+    una directiva <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> como
+    la siguiente:</p>
+
+    <div class="example"><p><code>
+      AllowOverride AuthConfig
+    </code></p></div>
+
+    <p>O, si sólo va a colocar directivas directamente en el principal
+    archivo de configuración del servidor, por supuesto necesitará
+    tener permiso de escritura a ese archivo.</p>
+
+    <p>Y necesitará saber un poco acerca de la estructura de
+    directorios de su servidor, con la finalidad de que sepa dónde
+    están algunos archivos. Esto no debería ser muy
+    difícil, y trataré de hacerlo sencillo cuando lleguemos a
+    ese punto.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="gettingitworking" id="gettingitworking">Puesta en funcionamiento</a></h2>
+    <p>Aquí está lo esencial en cuanto a proteger con
+    contraseña un directorio de su servidor.</p>
+
+    <p>Necesitará crear un archivo de contraseñas. Éste
+    archivo debería colocarlo en algún sitio no accesible
+    mediante la Web. Por ejemplo, si sus documentos son servidos desde
+    <code>/usr/local/apache/htdocs</code> usted podría querer colocar
+    el(los) archivo(s) de contraseñas en
+    <code>/usr/local/apache/passwd</code>.</p>
+
+    <p>Para crear un archivo de contraseñas, use la utilidad
+    <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> que viene con Apache.
+    Ésta utilidad puede encontrarla en el directorio <code>bin</code>
+    de cualquier sitio en que haya instalado Apache. Para crear el
+    archivo, escriba:</p>
+
+    <div class="example"><p><code>
+      htpasswd -c /usr/local/apache/passwd/passwords rbowen
+    </code></p></div>
+
+    <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> le pedirá la contraseña, y luego se
+    la volverá a pedir para confirmarla:</p>
+
+    <div class="example"><p><code>
+      # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br />
+      New password: mypassword<br />
+      Re-type new password: mypassword<br />
+      Adding password for user rbowen
+    </code></p></div>
+
+    <p>Si <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> no está en su ruta, por supuesto
+    tendrá que escribir la ruta completa al archivo para ejecutarlo.
+    En mi servidor, éste archivo está en
+    <code>/usr/local/apache/bin/htpasswd</code></p>
+
+    <p>El siguiente paso es configurar el servidor para que solicite una
+    contraseña y decirle al servidor a qué usuarios se les
+    permite el acceso. Puede hacer esto editando el archivo
+    <code>httpd.conf</code> o usando un archivo <code>.htaccess</code>.
+    Por ejemplo, si desea proteger el directorio
+    <code>/usr/local/apache/htdocs/secret</code>, puede usar las siguientes
+    directivas, ya sea colocándolas en el archivo
+    <code>/usr/local/apache/htdocs/secret/.htaccess</code>,
+    o en <code>httpd.conf</code> dentro de una sección &lt;Directory
+    /usr/local/apache/apache/htdocs/secret&gt;.</p>
+
+    <div class="example"><p><code>
+      AuthType Basic<br />
+      AuthName "Restricted Files"<br />
+      AuthUserFile /usr/local/apache/passwd/passwords<br />
+      Require user rbowen
+    </code></p></div>
+
+    <p>Vamos a examinar cada una de estas directivas por separado. La
+    directiva <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> selecciona
+    el método que se va a usar para autentificar al usuario. El
+    método más común es <code>Basic</code>, y éste
+    método está implementado en <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code>. Es importante
+    ser consciente, sin embargo, de que la autentificación Básica
+    envía la contraseña desde el cliente hasta el navegador sin
+    encriptar. Por lo tanto, este método no debería ser usado
+    para información altamente sensible. Apache soporta otro método
+    de autentificación: <code>AuthType Digest</code>. Este método
+    está implementado en <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> y es mucho más
+    seguro. Sólo las versiones más recientes de clientes soportan
+    la autentificación del tipo Digest.</p>
+
+    <p>La directiva <code class="directive"><a href="../mod/core.html#authname">AuthName</a></code> establece
+    el <dfn>Dominio (Realm)</dfn> a usar en la
+    autentificación. El dominio (realm) cumple
+    dos funciones importantes. Primero, el cliente frecuentemente presenta
+    esta información al usuario como parte del cuatro de diálogo
+    para la contraseña. Segundo, es usado por el cliente para determinar 
+    qué contraseña enviar para un área autentificada dada.</p>
+
+    <p>Así, por ejemplo, una vez que el cliente se haya autentificado en
+    el área <code>"Restricted Files"</code>,
+    automáticamente se volverá a tratar de usar la misma
+    contraseña en cualquier área del mismo servidor que esté
+    marcado con el Dominio (Realm) <code>"Restricted Files"</code>. Por lo tanto,
+    puede evitar que se le pida al usuario la contraseña
+    más de una vez permitiendo compartir el mismo dominio (realm)
+    para múltiples áreas restringidas. Por supuesto, por
+    razones de seguridad, el cliente siempre necesitará pedir de
+    nuevo la contraseña cuando cambie el nombre de la
+    máquina del servidor.</p>
+
+    <p>La directiva <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code>
+    establece la ruta al archivo de contraseña que acabamos de crear
+    con <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. Si tiene un gran número de usuarios,
+    sería bastante lento buscar por medio de un archivo en texto plano
+    para autentificar al usuario en cada solicitud. Apache también tiene
+    la capacidad de almacenar la información del usuario en 
+    archivos rápidos de bases de datos. El módulo <code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code>
+    proporciona la directiva <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>. Estos archivos pueden
+    ser creados y manipulados con el programa
+    <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code>. Muchos otros tipos
+    de opciones de autentificación están disponibles en módulos
+    de terceras partes en la <a href="http://modules.apache.org/">Base de
+    datos de Módulos de Apache</a>.</p>
+
+    <p>Finalmente, la directiva <code class="directive"><a href="../mod/core.html#require">Require</a></code>
+    proporciona la parte de la autorización del proceso estableciendo
+    el usuario al que se le permite acceder a ese área del servidor.
+    En la próxima sección, discutimos varias formas de usar la
+    directiva <code class="directive"><a href="../mod/core.html#require">Require</a></code>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Permitir el acceso a más
+de una persona</a></h2>
+    <p>Las directivas anteriores sólo permiten que una persona
+    (específicamente alguien con un nombre de usuario de
+    <code>rbowen</code>) acceda al directorio. En la mayoría de los
+    casos, usted querrá permitir el acceso a más de una persona.
+    Aquí es donde entra la directiva <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>.</p>
+
+    <p>Si desea permitir la entrada a más de una persona, necesitará
+    crear un archivo de grupo que asocie nombres de grupo con una lista
+    de usuarios perteneciente a ese grupo. El formato de este archivo es muy sencillo,
+    y puede crearlo con su editor favorito. El contenido del archivo
+    será parecido a este:</p>
+
+   <div class="example"><p><code>
+     GroupName: rbowen dpitts sungo rshersey
+   </code></p></div>
+
+    <p>Esto es solo una lista de miembros del grupo escritos en una 
+    línea separados por espacios.</p>
+
+    <p>Para agregar un usuario a un archivo de contraseñas ya existente,
+    escriba:</p>
+
+    <div class="example"><p><code>
+      htpasswd /usr/local/apache/passwd/passwords dpitts
+    </code></p></div>
+
+    <p>Obtendrá la misma respuesta que antes, pero el nuevo usuario será agregado
+    al archivo existente, en lugar de crear un nuevo archivo.
+    (Es la opción <code>-c</code> la que se cree un nuevo archivo
+    de contraseñas).</p>
+
+    <p>Ahora, necesita modificar su archivo <code>.htaccess</code> para que
+    sea como el siguiente:</p>
+
+    <div class="example"><p><code>
+      AuthType Basic<br />
+      AuthName "By Invitation Only"<br />
+      AuthUserFile /usr/local/apache/passwd/passwords<br />
+      AuthGroupFile /usr/local/apache/passwd/groups<br />
+      Require group GroupName
+    </code></p></div>
+
+    <p>Ahora, cualquiera que esté listado en el grupo <code>GroupName</code>,
+    y figure en el archivo <code>password</code>, se le permitirá
+    el acceso, si escribe la contraseña correcta.</p>
+
+    <p>Existe otra manera de permitir entrar a múltiples usuarios que
+    es menos específica. En lugar de crear un archivo de grupo, puede
+    usar sólo la siguiente directiva:</p>
+
+    <div class="example"><p><code>
+      Require valid-user
+    </code></p></div>
+
+    <p>Usando eso en vez de la línea <code>Require user rbowen</code>,
+    le permitirá el acceso a cualquiera que esté listado en el
+    archivo de contraseñas y que haya introducido correctamente su
+    contraseña. Incluso puede emular el comportamiento del grupo
+    aquí, sólo manteniendo un archivo de contraseña para
+    cada grupo. La ventaja de esta técnica es que Apache sólo
+    tiene que verificar un archivo, en vez de dos. La desventaja es que
+    usted tiene que mantener un grupo de archivos de contraseña, y
+    recordar referirse al correcto en la directiva <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="possibleproblems" id="possibleproblems">Posibles Problemas</a></h2>
+    <p>Por la manera en la que la autentificación básica está
+    especificada, su nombre de usuario y contraseña debe ser verificado
+    cada vez que se solicita un documento del servidor. Incluso si está
+    recargando la misma página, y por cada imagen de la página
+    (si vienen de un directorio protegido). Como se puede imaginar, esto
+    retrasa un poco las cosas. El retraso es proporcional al
+    tamaño del archivo de contraseña, porque se tiene que abrir ese
+    archivo, y recorrer la lista de usuarios hasta que encuentre su nombre.
+    Y eso se tiene que hacer cada vez que se cargue la página.</p>
+
+    <p>Una consecuencia de esto es que hay un límite práctico
+    de cuántos usuarios puede colocar en un archivo de contraseñas.
+    Este límite variará dependiendo del rendimiento de su equipo
+    servidor en particular, pero puede esperar observar una disminución
+    una vez que inserte unos cientos de entradas, y puede que entonces considere
+    un método distinto de autentificaciên.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="whatotherneatstuffcanido" id="whatotherneatstuffcanido">¿Qué otra cosa
+sencilla y efectiva puedo hacer?</a></h2>
+    <p>La autentificación por nombre de usuario y contraseña es
+    sólo parte del cuento. Frecuentemente se desea permitir el acceso
+    a los usuarios basandose en algo más que quiénes son. Algo como de
+    dónde vienen.</p>
+
+    <p>Las directivas <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> y
+    <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> posibilitan permitir
+    y rechazar el acceso dependiendo del nombre o la dirección de la
+    máquina que solicita un documento. La directiva <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> va de la mano con estas dos, y le
+    dice a Apache en qué orden aplicar los filtros.</p>
+
+    <p>El uso de estas directivas es:</p>
+
+    <div class="example"><p><code>
+      Allow from <var>address</var>
+    </code></p></div>
+
+    <p>donde <var>address</var> es una dirección IP (o una
+    dirección IP parcial) o un nombre de dominio completamente
+    cualificado (o un nombre de dominio parcial); puede proporcionar
+    múltiples direcciones o nombres de dominio, si lo desea.</p>
+
+    <p>Por ejemplo, si usted tiene a alguien que manda mensajes no deseados
+    a su foro, y quiere que no vuelva a acceder, podría hacer lo
+    siguiente:</p>
+
+    <div class="example"><p><code>
+      Deny from 205.252.46.165
+    </code></p></div>
+
+    <p>Los visitantes que vengan de esa dirección no podrán
+    ver el contenido afectado por esta directiva. Si, por el
+    contrario, usted tiene un nombre de máquina pero no una
+    dirección IP, también puede usarlo.</p>
+
+    <div class="example"><p><code>
+      Deny from <var>host.example.com</var>
+    </code></p></div>
+
+    <p>Y, si le gustaría bloquear el acceso de un dominio entero,
+    puede especificar sólo parte de una dirección o nombre de
+    dominio:</p>
+
+    <div class="example"><p><code>
+      Deny from <var>192.101.205</var><br />
+      Deny from <var>cyberthugs.com</var> <var>moreidiots.com</var><br />
+      Deny from ke
+    </code></p></div>
+
+    <p>Usar <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code> le permitirá
+    estar seguro de que efectivamente está restringiendo el acceso
+    al grupo al que quiere permitir el acceso, combinando una directiva
+    <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> y una <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code>:</p>
+
+    <div class="example"><p><code>
+      Order deny,allow<br />
+      Deny from all<br />
+      Allow from <var>dev.example.com</var>
+    </code></p></div>
+
+    <p>Usando sólo la directiva <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> no haría lo que desea, porque
+    le permitiría entrar a la gente proveniente de esa máquina, y
+    adicionalmente a cualquier persona. Lo que usted quiere es dejar entrar
+    <em>sólo</em> aquellos.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moreinformation" id="moreinformation">Más información</a></h2>
+    <p>También debería leer la documentación de
+    <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> y <code class="module"><a href="../mod/mod_access.html">mod_access</a></code> que
+    contiene más información acerca de cómo funciona todo esto.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" title="Español">&nbsp;es&nbsp;</a> |
+<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 1995-2005 The Apache Software Foundation or its licensors, as applicable.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>
+</body></html>
\ No newline at end of file
index de0a79318f28cde1ddc045480eda3b1bdfb557cc..008a27d31ee2603b049185d9b13b52bfd9f37ec2 100644 (file)
@@ -19,6 +19,7 @@
 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP ¥µ¡¼¥Ð</a> &gt; <a href="http://httpd.apache.org/docs-project/">¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó</a> &gt; <a href="../">¥Ð¡¼¥¸¥ç¥ó 2.0</a> &gt; <a href="./">How-To / ¥Á¥å¡¼¥È¥ê¥¢¥ë</a></div><div id="page-content"><div id="preamble"><h1>ǧ¾Ú¡¢¾µÇ§¡¢¥¢¥¯¥»¥¹À©¸æ</h1>
 <div class="toplang">
 <p><span>Available Languages: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Espa\8f«Ðol">&nbsp;es&nbsp;</a> |
 <a href="../ja/howto/auth.html" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 </div>
 </div></div>
 <div class="bottomlang">
 <p><span>Available Languages: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Espa\8f«Ðol">&nbsp;es&nbsp;</a> |
 <a href="../ja/howto/auth.html" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 </div><div id="footer">
index a0508b28ae5d87aedc6d46269409f05a7b681bee..85bb3efdf72acd31ce81b20a5ac0006ba65d993c 100644 (file)
@@ -21,6 +21,7 @@
 Á¢±ÙÁ¦¾î(Access Control)</h1>
 <div class="toplang">
 <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/howto/auth.html" title="Korean">&nbsp;ko&nbsp;</a></p>
 </div>
 </div></div>
 <div class="bottomlang">
 <p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/howto/auth.html" title="Korean">&nbsp;ko&nbsp;</a></p>
 </div><div id="footer">
diff --git a/docs/manual/howto/auth.xml.es b/docs/manual/howto/auth.xml.es
new file mode 100644 (file)
index 0000000..8da68ec
--- /dev/null
@@ -0,0 +1,376 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.es.xsl"?>
+<!-- English Revision: 151405  -->
+
+<!--
+ Copyright 2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed 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.
+-->
+
+<manualpage metafile="auth.xml.meta">
+<parentdocument href="./">How-To / Tutoriales</parentdocument>
+
+<title>Autentificaci&#243;n, Autorizaci&#243;n y Control de Acceso</title>
+
+<summary>
+    <p>La autentificaci&#243;n es cualquier proceso mediante el cual se
+    verifica que alguien es quien dice ser. La autorizaci&#243;n es
+    cualquier proceso por el cual a alguien se le permite estar donde
+    quiere ir, o tener la informaci&#243;n que quiere tener.</p>
+</summary>
+  
+<section id="related"><title>M&#243;dulos y Directivas relacionadas</title>
+    <related>
+      <modulelist>
+        <module>mod_auth</module>
+        <module>mod_access</module>
+      </modulelist>
+
+      <directivelist>
+        <directive module="mod_access">Allow</directive>
+        <directive module="mod_auth">AuthGroupFile</directive>
+        <directive module="core">AuthName</directive>
+        <directive module="core">AuthType</directive>
+        <directive module="mod_auth">AuthUserFile</directive>
+        <directive module="mod_access">Deny</directive>
+        <directive module="core">Options</directive>
+        <directive module="core">Require</directive>
+      </directivelist>
+    </related>
+</section>
+
+<section id="introduction"><title>Introducci&#243;n</title>
+    <p>Si en su sitio web tiene informaci&#243;n sensible o dirigida
+    s&#243;lo a un peque&#241;o grupo de personas, las t&#233;cnicas
+    explicadas en &#233;ste art&#237;culo le ayudar&#225;n a
+    asegurarse de que las personas que ven esas p&#225;ginas son las
+    personas que usted quiere que las vean.</p>
+
+    <p>Este art&#237;culo cubre la manera "est&#225;ndar" de proteger
+    partes de su sitio web que la mayor&#237;a de ustedes van a usar.</p>
+</section>
+
+<section id="theprerequisites"><title>Los Prerrequisitos</title>
+    <p>Las directivas tratadas en &#233;ste art&#237;culo necesitar&#225;n
+    ir en el archivo de configuraci&#243;n principal de su servidor
+    (t&#237;picamente en una secci&#243;n del tipo
+    <directive module="core" type="section">Directory</directive>),
+    o en archivos de configuraci&#243;n por directorios (archivos 
+    <code>.htaccess</code>).</p>
+
+    <p>Si planea usar archivos <code>.htaccess</code>, necesitar&#225;
+    tener una configuraci&#243;n en el servidor que permita poner directivas
+    de autentificaci&#243;n en estos archivos. Esto se logra con la
+    directiva <directive module="core">AllowOverride</directive>,
+    la cual especifica cu&#225;les directivas, en caso de existir, pueden
+    ser colocadas en los archivos de configuraci&#243;n por directorios.</p>
+
+    <p>Ya que se est&#225; hablando de autentificaci&#243;n, necesitar&#225;
+    una directiva <directive module="core">AllowOverride</directive> como
+    la siguiente:</p>
+
+    <example>
+      AllowOverride AuthConfig
+    </example>
+
+    <p>O, si s&#243;lo va a colocar directivas directamente en el principal
+    archivo de configuraci&#243;n del servidor, por supuesto necesitar&#225;
+    tener permiso de escritura a ese archivo.</p>
+
+    <p>Y necesitar&#225; saber un poco acerca de la estructura de
+    directorios de su servidor, con la finalidad de que sepa d&#243;nde
+    est&#225;n algunos archivos. Esto no deber&#237;a ser muy
+    dif&#237;cil, y tratar&#233; de hacerlo sencillo cuando lleguemos a
+    ese punto.</p>
+</section>
+
+<section id="gettingitworking"><title>Puesta en funcionamiento</title>
+    <p>Aqu&#237; est&#225; lo esencial en cuanto a proteger con
+    contrase&#241;a un directorio de su servidor.</p>
+
+    <p>Necesitar&#225; crear un archivo de contrase&#241;as. &#201;ste
+    archivo deber&#237;a colocarlo en alg&#250;n sitio no accesible
+    mediante la Web. Por ejemplo, si sus documentos son servidos desde
+    <code>/usr/local/apache/htdocs</code> usted podr&#237;a querer colocar
+    el(los) archivo(s) de contrase&#241;as en
+    <code>/usr/local/apache/passwd</code>.</p>
+
+    <p>Para crear un archivo de contrase&#241;as, use la utilidad
+    <program>htpasswd</program> que viene con Apache.
+    &#201;sta utilidad puede encontrarla en el directorio <code>bin</code>
+    de cualquier sitio en que haya instalado Apache. Para crear el
+    archivo, escriba:</p>
+
+    <example>
+      htpasswd -c /usr/local/apache/passwd/passwords rbowen
+    </example>
+
+    <p><program>htpasswd</program> le pedir&#225; la contrase&#241;a, y luego se
+    la volver&#225; a pedir para confirmarla:</p>
+
+    <example>
+      # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br />
+      New password: mypassword<br />
+      Re-type new password: mypassword<br />
+      Adding password for user rbowen
+    </example>
+
+    <p>Si <program>htpasswd</program> no est&#225; en su ruta, por supuesto
+    tendr&#225; que escribir la ruta completa al archivo para ejecutarlo.
+    En mi servidor, &#233;ste archivo est&#225; en
+    <code>/usr/local/apache/bin/htpasswd</code></p>
+
+    <p>El siguiente paso es configurar el servidor para que solicite una
+    contrase&#241;a y decirle al servidor a qu&#233; usuarios se les
+    permite el acceso. Puede hacer esto editando el archivo
+    <code>httpd.conf</code> o usando un archivo <code>.htaccess</code>.
+    Por ejemplo, si desea proteger el directorio
+    <code>/usr/local/apache/htdocs/secret</code>, puede usar las siguientes
+    directivas, ya sea coloc&#225;ndolas en el archivo
+    <code>/usr/local/apache/htdocs/secret/.htaccess</code>,
+    o en <code>httpd.conf</code> dentro de una secci&#243;n &lt;Directory
+    /usr/local/apache/apache/htdocs/secret&gt;.</p>
+
+    <example>
+      AuthType Basic<br />
+      AuthName "Restricted Files"<br />
+      AuthUserFile /usr/local/apache/passwd/passwords<br />
+      Require user rbowen
+    </example>
+
+    <p>Vamos a examinar cada una de estas directivas por separado. La
+    directiva <directive module="core">AuthType</directive> selecciona
+    el m&#233;todo que se va a usar para autentificar al usuario. El
+    m&#233;todo m&#225;s com&#250;n es <code>Basic</code>, y &#233;ste
+    m&#233;todo est&#225; implementado en <module>mod_auth</module>. Es importante
+    ser consciente, sin embargo, de que la autentificaci&#243;n B&#225;sica
+    env&#237;a la contrase&#241;a desde el cliente hasta el navegador sin
+    encriptar. Por lo tanto, este m&#233;todo no deber&#237;a ser usado
+    para informaci&#243;n altamente sensible. Apache soporta otro m&#233;todo
+    de autentificaci&#243;n: <code>AuthType Digest</code>. Este m&#233;todo
+    est&#225; implementado en <module>mod_auth_digest</module> y es mucho m&#225;s
+    seguro. S&#243;lo las versiones m&#225;s recientes de clientes soportan
+    la autentificaci&#243;n del tipo Digest.</p>
+
+    <p>La directiva <directive module="core">AuthName</directive> establece
+    el <dfn>Dominio (Realm)</dfn> a usar en la
+    autentificaci&#243;n. El dominio (realm) cumple
+    dos funciones importantes. Primero, el cliente frecuentemente presenta
+    esta informaci&#243;n al usuario como parte del cuatro de di&#225;logo
+    para la contrase&#241;a. Segundo, es usado por el cliente para determinar 
+    qu&#233; contrase&#241;a enviar para un &#225;rea autentificada dada.</p>
+
+    <p>As&#237;, por ejemplo, una vez que el cliente se haya autentificado en
+    el &#225;rea <code>"Restricted Files"</code>,
+    autom&#225;ticamente se volver&#225; a tratar de usar la misma
+    contrase&#241;a en cualquier &#225;rea del mismo servidor que est&#233;
+    marcado con el Dominio (Realm) <code>"Restricted Files"</code>. Por lo tanto,
+    puede evitar que se le pida al usuario la contrase&#241;a
+    m&#225;s de una vez permitiendo compartir el mismo dominio (realm)
+    para m&#250;ltiples &#225;reas restringidas. Por supuesto, por
+    razones de seguridad, el cliente siempre necesitar&#225; pedir de
+    nuevo la contrase&#241;a cuando cambie el nombre de la
+    m&#225;quina del servidor.</p>
+
+    <p>La directiva <directive module="mod_auth">AuthUserFile</directive>
+    establece la ruta al archivo de contrase&#241;a que acabamos de crear
+    con <program>htpasswd</program>. Si tiene un gran n&#250;mero de usuarios,
+    ser&#237;a bastante lento buscar por medio de un archivo en texto plano
+    para autentificar al usuario en cada solicitud. Apache tambi&#233;n tiene
+    la capacidad de almacenar la informaci&#243;n del usuario en 
+    archivos r&#225;pidos de bases de datos. El m&#243;dulo <module>mod_auth_dbm</module>
+    proporciona la directiva <directive
+    module="mod_auth_dbm">AuthDBMUserFile</directive>. Estos archivos pueden
+    ser creados y manipulados con el programa
+    <program>dbmmanage</program>. Muchos otros tipos
+    de opciones de autentificaci&#243;n est&#225;n disponibles en m&#243;dulos
+    de terceras partes en la <a href="http://modules.apache.org/">Base de
+    datos de M&#243;dulos de Apache</a>.</p>
+
+    <p>Finalmente, la directiva <directive module="core">Require</directive>
+    proporciona la parte de la autorizaci&#243;n del proceso estableciendo
+    el usuario al que se le permite acceder a ese &#225;rea del servidor.
+    En la pr&#243;xima secci&#243;n, discutimos varias formas de usar la
+    directiva <directive module="core">Require</directive>.</p>
+</section>
+
+<section id="lettingmorethanonepersonin"><title>Permitir el acceso a m&#225;s
+de una persona</title>
+    <p>Las directivas anteriores s&#243;lo permiten que una persona
+    (espec&#237;ficamente alguien con un nombre de usuario de
+    <code>rbowen</code>) acceda al directorio. En la mayor&#237;a de los
+    casos, usted querr&#225; permitir el acceso a m&#225;s de una persona.
+    Aqu&#237; es donde entra la directiva <directive module="mod_auth"
+    >AuthGroupFile</directive>.</p>
+
+    <p>Si desea permitir la entrada a m&#225;s de una persona, necesitar&#225;
+    crear un archivo de grupo que asocie nombres de grupo con una lista
+    de usuarios perteneciente a ese grupo. El formato de este archivo es muy sencillo,
+    y puede crearlo con su editor favorito. El contenido del archivo
+    ser&#225; parecido a este:</p>
+
+   <example>
+     GroupName: rbowen dpitts sungo rshersey
+   </example>
+
+    <p>Esto es solo una lista de miembros del grupo escritos en una 
+    l&#237;nea separados por espacios.</p>
+
+    <p>Para agregar un usuario a un archivo de contrase&#241;as ya existente,
+    escriba:</p>
+
+    <example>
+      htpasswd /usr/local/apache/passwd/passwords dpitts
+    </example>
+
+    <p>Obtendr&#225; la misma respuesta que antes, pero el nuevo usuario ser&#225; agregado
+    al archivo existente, en lugar de crear un nuevo archivo.
+    (Es la opci&#243;n <code>-c</code> la que se cree un nuevo archivo
+    de contrase&#241;as).</p>
+
+    <p>Ahora, necesita modificar su archivo <code>.htaccess</code> para que
+    sea como el siguiente:</p>
+
+    <example>
+      AuthType Basic<br />
+      AuthName "By Invitation Only"<br />
+      AuthUserFile /usr/local/apache/passwd/passwords<br />
+      AuthGroupFile /usr/local/apache/passwd/groups<br />
+      Require group GroupName
+    </example>
+
+    <p>Ahora, cualquiera que est&#233; listado en el grupo <code>GroupName</code>,
+    y figure en el archivo <code>password</code>, se le permitir&#225;
+    el acceso, si escribe la contrase&#241;a correcta.</p>
+
+    <p>Existe otra manera de permitir entrar a m&#250;ltiples usuarios que
+    es menos espec&#237;fica. En lugar de crear un archivo de grupo, puede
+    usar s&#243;lo la siguiente directiva:</p>
+
+    <example>
+      Require valid-user
+    </example>
+
+    <p>Usando eso en vez de la l&#237;nea <code>Require user rbowen</code>,
+    le permitir&#225; el acceso a cualquiera que est&#233; listado en el
+    archivo de contrase&#241;as y que haya introducido correctamente su
+    contrase&#241;a. Incluso puede emular el comportamiento del grupo
+    aqu&#237;, s&#243;lo manteniendo un archivo de contrase&#241;a para
+    cada grupo. La ventaja de esta t&#233;cnica es que Apache s&#243;lo
+    tiene que verificar un archivo, en vez de dos. La desventaja es que
+    usted tiene que mantener un grupo de archivos de contrase&#241;a, y
+    recordar referirse al correcto en la directiva <directive
+    module="mod_auth">AuthUserFile</directive>.</p>
+</section>
+
+<section id="possibleproblems"><title>Posibles Problemas</title>
+    <p>Por la manera en la que la autentificaci&#243;n b&#225;sica est&#225;
+    especificada, su nombre de usuario y contrase&#241;a debe ser verificado
+    cada vez que se solicita un documento del servidor. Incluso si est&#225;
+    recargando la misma p&#225;gina, y por cada imagen de la p&#225;gina
+    (si vienen de un directorio protegido). Como se puede imaginar, esto
+    retrasa un poco las cosas. El retraso es proporcional al
+    tama&#241;o del archivo de contrase&#241;a, porque se tiene que abrir ese
+    archivo, y recorrer la lista de usuarios hasta que encuentre su nombre.
+    Y eso se tiene que hacer cada vez que se cargue la p&#225;gina.</p>
+
+    <p>Una consecuencia de esto es que hay un l&#237;mite pr&#225;ctico
+    de cu&#225;ntos usuarios puede colocar en un archivo de contrase&#241;as.
+    Este l&#237;mite variar&#225; dependiendo del rendimiento de su equipo
+    servidor en particular, pero puede esperar observar una disminuci&#243;n
+    una vez que inserte unos cientos de entradas, y puede que entonces considere
+    un m&#233;todo distinto de autentificaci&#234;n.</p>
+</section>
+
+<section id="whatotherneatstuffcanido"><title>&#191;Qu&#233; otra cosa
+sencilla y efectiva puedo hacer?</title>
+    <p>La autentificaci&#243;n por nombre de usuario y contrase&#241;a es
+    s&#243;lo parte del cuento. Frecuentemente se desea permitir el acceso
+    a los usuarios basandose en algo m&#225;s que qui&#233;nes son. Algo como de
+    d&#243;nde vienen.</p>
+
+    <p>Las directivas <directive module="mod_access">Allow</directive> y
+    <directive module="mod_access">Deny</directive> posibilitan permitir
+    y rechazar el acceso dependiendo del nombre o la direcci&#243;n de la
+    m&#225;quina que solicita un documento. La directiva <directive
+    module="mod_access">Order</directive> va de la mano con estas dos, y le
+    dice a Apache en qu&#233; orden aplicar los filtros.</p>
+
+    <p>El uso de estas directivas es:</p>
+
+    <example>
+      Allow from <var>address</var>
+    </example>
+
+    <p>donde <var>address</var> es una direcci&#243;n IP (o una
+    direcci&#243;n IP parcial) o un nombre de dominio completamente
+    cualificado (o un nombre de dominio parcial); puede proporcionar
+    m&#250;ltiples direcciones o nombres de dominio, si lo desea.</p>
+
+    <p>Por ejemplo, si usted tiene a alguien que manda mensajes no deseados
+    a su foro, y quiere que no vuelva a acceder, podr&#237;a hacer lo
+    siguiente:</p>
+
+    <example>
+      Deny from 205.252.46.165
+    </example>
+
+    <p>Los visitantes que vengan de esa direcci&#243;n no podr&#225;n
+    ver el contenido afectado por esta directiva. Si, por el
+    contrario, usted tiene un nombre de m&#225;quina pero no una
+    direcci&#243;n IP, tambi&#233;n puede usarlo.</p>
+
+    <example>
+      Deny from <var>host.example.com</var>
+    </example>
+
+    <p>Y, si le gustar&#237;a bloquear el acceso de un dominio entero,
+    puede especificar s&#243;lo parte de una direcci&#243;n o nombre de
+    dominio:</p>
+
+    <example>
+      Deny from <var>192.101.205</var><br />
+      Deny from <var>cyberthugs.com</var> <var>moreidiots.com</var><br />
+      Deny from ke
+    </example>
+
+    <p>Usar <directive module="mod_access">Order</directive> le permitir&#225;
+    estar seguro de que efectivamente est&#225; restringiendo el acceso
+    al grupo al que quiere permitir el acceso, combinando una directiva
+    <directive module="mod_access">Deny</directive> y una <directive
+    module="mod_access">Allow</directive>:</p>
+
+    <example>
+      Order deny,allow<br />
+      Deny from all<br />
+      Allow from <var>dev.example.com</var>
+    </example>
+
+    <p>Usando s&#243;lo la directiva <directive
+    module="mod_access">Allow</directive> no har&#237;a lo que desea, porque
+    le permitir&#237;a entrar a la gente proveniente de esa m&#225;quina, y
+    adicionalmente a cualquier persona. Lo que usted quiere es dejar entrar
+    <em>s&#243;lo</em> aquellos.</p>
+</section>
+
+<section id="moreinformation"><title>M&#225;s informaci&#243;n</title>
+    <p>Tambi&#233;n deber&#237;a leer la documentaci&#243;n de
+    <module>mod_auth</module> y <module>mod_access</module> que
+    contiene m&#225;s informaci&#243;n acerca de c&#243;mo funciona todo esto.</p>
+</section>
+</manualpage>
+
+
index ca40aa7f42e855386ee5032e5c74dece06c9a34a..d1b44c5b1c3e2c662d790ca152a389b6682359e2 100644 (file)
@@ -7,6 +7,7 @@
 
   <variants>
     <variant>en</variant>
+    <variant>es</variant>
     <variant outdated="yes">ja</variant>
     <variant outdated="yes">ko</variant>
   </variants>
index 2a4c8e6ac1818eef8ef87b43d3259b7d4952e46e..3741a81e559ce90e6b52cd904ff2dd742e86407b 100644 (file)
@@ -25,6 +25,9 @@
 <a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
 <a href="./ru/install.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
 </div>
+<div class="outofdate">Diese Übersetzung ist möglicherweise
+            nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
+            die neuesten Änderungen.</div>
 
     <p>Dieses Dokument umfaßt nur die Kompilierung und Installation des
     Apache auf Unix und Unix-ähnlichen Systemen. Für die
index af5d95e021c412674d9c01925604322ec2885174..b141d3a30bde44d31d01ceec306b0514bc886b64 100644 (file)
       [OPTIONAL]</dt>
       <dd>For some of the support scripts like <code class="program"><a href="./programs/apxs.html">apxs</a></code> or <code class="program"><a href="./programs/dbmmanage.html">dbmmanage</a></code> (which are
       written in Perl) the Perl 5 interpreter is required (versions
-      5.003 or newer are sufficient). If no such interpreter is found by
-      the <code class="program"><a href="./programs/configure.html">configure</a></code> script there is no harm. Of course, you
-      still can build and install Apache 2.0. Only those support scripts
-      cannot be used. If you have multiple Perl interpreters
-      installed (perhaps a Perl 4 from the vendor and a Perl 5 from
-      your own), then it is recommended to use the <code>--with-perl</code>
-      option (see below) to make sure the correct one is selected
-      by <code class="program"><a href="./programs/configure.html">configure</a></code>.</dd>
+      5.003 or newer are sufficient). If you have multiple Perl 
+      interpreters (for example, a systemwide install of Perl 4, and 
+      your own install of Perl 5), you are advised to use the 
+      <code>--with-perl</code> option (see below) to make sure the 
+      correct one is used by <code class="program"><a href="./programs/configure.html">configure</a></code>.
+      If no Perl 5 interpreter is found by the 
+      <code class="program"><a href="./programs/configure.html">configure</a></code> script, you will not be able to use 
+      the affected support scripts. Of course, you will still be able to 
+      build and use Apache 2.0.</dd>
     </dl>
 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 <div class="section">
index 57cfe393f20a052288548ee2e3ca4d3474474286..7dbc2830198097e988873e713480b4b75b33b72b 100644 (file)
 <a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
 <a href="./ru/install.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
 </div>
+<div class="outofdate">Esta traducción podría estar
+            obsoleta. Consulte la versión en inglés de la
+            documentación para comprobar si se han producido cambios
+            recientemente.</div>
 
 
     <p>Este documento explica cómo compilar e instalar Apache en
index 5bf0484350213787dc6dcb4e25ae84974061dc25..a89aaac0bd794f530c84259f8662508e7f4c2521 100644 (file)
       <dd>For some of the support scripts like <program>
       apxs</program> or <program>dbmmanage</program> (which are
       written in Perl) the Perl 5 interpreter is required (versions
-      5.003 or newer are sufficient). If no such interpreter is found by
-      the <program>configure</program> script there is no harm. Of course, you
-      still can build and install Apache 2.0. Only those support scripts
-      cannot be used. If you have multiple Perl interpreters
-      installed (perhaps a Perl 4 from the vendor and a Perl 5 from
-      your own), then it is recommended to use the <code>--with-perl</code>
-      option (see below) to make sure the correct one is selected
-      by <program>configure</program>.</dd>
+      5.003 or newer are sufficient). If you have multiple Perl 
+      interpreters (for example, a systemwide install of Perl 4, and 
+      your own install of Perl 5), you are advised to use the 
+      <code>--with-perl</code> option (see below) to make sure the 
+      correct one is used by <program>configure</program>.
+      If no Perl 5 interpreter is found by the 
+      <program>configure</program> script, you will not be able to use 
+      the affected support scripts. Of course, you will still be able to 
+      build and use Apache 2.0.</dd>
     </dl>
 </section>
 
index 9aec9da9dfae6a7490bf85e5c87cf52d87a1b8a4..9cbd30c6c11db1536588e6752c87ac569f93f1f9 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?>
-<!-- English Revision: 178522 -->
+<!-- English Revision: 178522:239259 (outdated) -->
 
 <!--
  Copyright 2002-2004 The Apache Software Foundation
index eed1b8b68aa8767408cfcca5fc0ff6b0f489a055..c73015e0faf9f465806f60e1b08005b7c3b3f8a5 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
-<!-- English Revision: 178522 -->
+<!-- English Revision: 178522:239259 (outdated) -->
 
 <!--
  Copyright 2004-2005 The Apache Software Foundation
index c51dd90ed9acc10e4078c039a0a8b2c92b571204..47fb719aa5c9351c2d36ef43571dd0e46e90beff 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='iso-2022-jp' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 106090:178522 (outdated) -->
+<!-- English Revision: 106090:239259 (outdated) -->
 
 <!--
  Copyright 2002-2004 The Apache Software Foundation
index bfe70879ee54b2b7aedd8b9d460c904ba9851b95..9d0f289c16279fb40535cbd4126c3a555763902d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='EUC-KR' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 106090:178522 (outdated) -->
+<!-- English Revision: 106090:239259 (outdated) -->
 
 <!--
  Copyright 2003-2004 The Apache Software Foundation
index edd8099f4a02fd92e8ce1e691b6435683ad2c451..e0e35e7b9eafeb7fe419b70f94f700e1fa393fa5 100644 (file)
@@ -6,9 +6,9 @@
   <relpath>.</relpath>
 
   <variants>
-    <variant>de</variant>
+    <variant outdated="yes">de</variant>
     <variant>en</variant>
-    <variant>es</variant>
+    <variant outdated="yes">es</variant>
     <variant outdated="yes">ja</variant>
     <variant outdated="yes">ko</variant>
     <variant outdated="yes">ru</variant>
index 706a30c9f2ac873fae8c00109dd26bd81d4a2d12..9b4bfb0ebee157bf15290e98a7d84ffb466e53c5 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='KOI8-R' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.ru.xsl"?>
-<!-- English Revision: 97974:178522 (outdated) -->
+<!-- English Revision: 97974:239259 (outdated) -->
 
 <!--
  Copyright 2002-2004 The Apache Software Foundation
index b03b7e268ca7f2a6238598e882bf85dfe1085f53..04753f31b7dea87e9ab28adbc7649d941ad35c63 100644 (file)
@@ -25,6 +25,9 @@
 <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
 <a href="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
 </div>
+<div class="outofdate">Diese Übersetzung ist möglicherweise
+            nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
+            die neuesten Änderungen.</div>
 
     <p>Dieses Dokument umfasst das Beenden und Neustarten des
     Apache auf Unix-ähnlichen Systemen. Anwender von Windows NT, 2000
index e0a1de518ba0f7253950a04d017a0a8c3827a562..bd578119ebf861eaf5a2206b7e88f223d96c0de7 100644 (file)
     been created, then create enough to pick up the slack. Hence the
     code tries to maintain both the number of children appropriate for
     the current load on the server, and respect your wishes with the
-    <code class="directive">StartServers</code> parameter.</p>
+    <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> 
+    parameter.</p>
 
-    <p>Users of the <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
+    <p>Users of <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
     will notice that the server statistics are <strong>not</strong>
     set to zero when a <code>USR1</code> is sent. The code was
     written to both minimize the time in which the server is unable
@@ -187,24 +188,25 @@ error. See above for a method of avoiding this.</div>
 <h2><a name="race" id="race">Appendix: signals and race conditions</a></h2>
 
     <p>Prior to Apache 1.2b9 there were several <em>race
-    conditions</em> involving the restart and die signals (a simple
-    description of race condition is: a time-sensitive problem, as
-    in if something happens at just the wrong time it won't behave
-    as expected). For those architectures that have the "right"
+    conditions</em> involving the restart and die signals (a simply put, 
+    a race condition is a time-sensitive problem - if something happens 
+    at just the wrong time or things happen in the wrong order, 
+    undesired behaviour will result. If the same thing happens at the right 
+    time, all will be well). For those architectures that have the "right"
     feature set we have eliminated as many as we can. But it should
-    be noted that there still do exist race conditions on certain
+    be noted that race conditions do still exist on certain
     architectures.</p>
 
-    <p>Architectures that use an on disk <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> have the potential
-    to corrupt their scoreboards. This can result in the "bind:
+    <p>Architectures that use an on-disk <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> can potentially have 
+    their scoreboards corrupted. This can result in the "bind:
     Address already in use" (after <code>HUP</code>) or "long lost
     child came home!" (after <code>USR1</code>). The former is a fatal
     error, while the latter just causes the server to lose a
-    scoreboard slot. So it might be advisable to use graceful
+    scoreboard slot. So it may be advisable to use graceful
     restarts, with an occasional hard restart. These problems are very
     difficult to work around, but fortunately most architectures do
-    not require a scoreboard file. See the <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> documentation for a
-    architecture uses it.</p>
+    not require a scoreboard file. See the <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> documentation for
+    architecture which uses it.</p>
 
     <p>All architectures have a small race condition in each child
     involving the second and subsequent requests on a persistent
index 5f945130c632aaeca75bbb3d783d5d8050c5666f..eb3441c5084147e02008ed35007596a994ffae69 100644 (file)
 <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
 <a href="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
 </div>
+<div class="outofdate">Esta traducción podría estar
+            obsoleta. Consulte la versión en inglés de la
+            documentación para comprobar si se han producido cambios
+            recientemente.</div>
 
     <p>Este documento explica como iniciar y parar el servidor Apache
      en sistemas tipo Unix. Los usuarios de Windows NT, 2000 y XP
index c630b8083a70341aaf7bb4971d22137bdb620d41..fc9fd6adccc306226a616044e9aa3062560e2bbb 100644 (file)
     been created, then create enough to pick up the slack. Hence the
     code tries to maintain both the number of children appropriate for
     the current load on the server, and respect your wishes with the
-    <directive>StartServers</directive> parameter.</p>
+    <directive module="mpm_common">StartServers</directive> 
+    parameter.</p>
 
-    <p>Users of the <module>mod_status</module>
+    <p>Users of <module>mod_status</module>
     will notice that the server statistics are <strong>not</strong>
     set to zero when a <code>USR1</code> is sent. The code was
     written to both minimize the time in which the server is unable
@@ -188,26 +189,27 @@ error. See above for a method of avoiding this.</note>
 <section id="race"><title>Appendix: signals and race conditions</title>
 
     <p>Prior to Apache 1.2b9 there were several <em>race
-    conditions</em> involving the restart and die signals (a simple
-    description of race condition is: a time-sensitive problem, as
-    in if something happens at just the wrong time it won't behave
-    as expected). For those architectures that have the "right"
+    conditions</em> involving the restart and die signals (a simply put, 
+    a race condition is a time-sensitive problem - if something happens 
+    at just the wrong time or things happen in the wrong order, 
+    undesired behaviour will result. If the same thing happens at the right 
+    time, all will be well). For those architectures that have the "right"
     feature set we have eliminated as many as we can. But it should
-    be noted that there still do exist race conditions on certain
+    be noted that race conditions do still exist on certain
     architectures.</p>
 
-    <p>Architectures that use an on disk <directive
-    module="mpm_common">ScoreBoardFile</directive> have the potential
-    to corrupt their scoreboards. This can result in the "bind:
+    <p>Architectures that use an on-disk <directive
+    module="mpm_common">ScoreBoardFile</directive> can potentially have 
+    their scoreboards corrupted. This can result in the "bind:
     Address already in use" (after <code>HUP</code>) or "long lost
     child came home!" (after <code>USR1</code>). The former is a fatal
     error, while the latter just causes the server to lose a
-    scoreboard slot. So it might be advisable to use graceful
+    scoreboard slot. So it may be advisable to use graceful
     restarts, with an occasional hard restart. These problems are very
     difficult to work around, but fortunately most architectures do
     not require a scoreboard file. See the <directive
-    module="mpm_common">ScoreBoardFile</directive> documentation for a
-    architecture uses it.</p>
+    module="mpm_common">ScoreBoardFile</directive> documentation for
+    architecture which uses it.</p>
 
     <p>All architectures have a small race condition in each child
     involving the second and subsequent requests on a persistent
index 97238a104720ac9fab5c749a3c6da7ad07bffec1..908fb041396ba0bca81b5a6056789c8873cfc14e 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?>
-<!-- English Revision: 151405 -->
+<!-- English Revision: 151405:239259 (outdated) -->
 
 <!--
  Copyright 2002-2004 The Apache Software Foundation
index 7446e7d86a8955f433d1771985eed6081481062b..a729b2fb5ff95dbbee414eb1b551ebe9289af0c6 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
-<!-- English Revision: 151405 -->
+<!-- English Revision: 151405:239259 (outdated) -->
 
 <!--
  Copyright 2004-2005 The Apache Software Foundation or it licensors,
index 712d8c1d92c2b57f20aadc2822b70193962dbf8a..4c0e1875771a84ae5a8f5804c13693957815f7d9 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="iso-2022-jp"?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 106090:151405 (outdated) -->
+<!-- English Revision: 106090:239259 (outdated) -->
 
 <!--
  Copyright 2002-2004 The Apache Software Foundation
index 6fdecf444828fb157af5a9296708bf49c9e49d48..e6462e75d68201dc6bf9006d22ce1a18470fc03d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='EUC-KR' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 106090:151405 (outdated) -->
+<!-- English Revision: 106090:239259 (outdated) -->
 
 <!--
  Copyright 2003-2004 The Apache Software Foundation
index 825f1e07a4bc51767fefa7b368f7feab2dde4f87..d6719515044746f5b72968cc205f19aeffb7ace0 100644 (file)
@@ -6,9 +6,9 @@
   <relpath>.</relpath>
 
   <variants>
-    <variant>de</variant>
+    <variant outdated="yes">de</variant>
     <variant>en</variant>
-    <variant>es</variant>
+    <variant outdated="yes">es</variant>
     <variant outdated="yes">ja</variant>
     <variant outdated="yes">ko</variant>
     <variant outdated="yes">ru</variant>
index 5b2cb9d4893f197bc71d151328caa466c8f966bb..3c538824fa8f3df4cfd3eff1d937ad71f5afc65d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='KOI8-R' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.ru.xsl"?>
-<!-- English Revision: 98017:151405 (outdated) -->
+<!-- English Revision: 98017:239259 (outdated) -->
 
 <!--
  Copyright 2003-2004 The Apache Software Foundation
index 3af630bca462d1750f01c4aa7ebd3cdd6eb3baef..9a7444578441be28b5150e7d8e632d28815226cd 100644 (file)
 
 #ifndef APU_HAS_LDAP
 #error mod_ldap requires APR-util to have LDAP support built in
+#endif
+
+#if !defined(OS2) && !defined(WIN32) && !defined(BEOS) && !defined(NETWARE)
+#include "unixd.h"
+#define UTIL_LDAP_SET_MUTEX_PERMS
 #endif
 
     /* defines for certificate file types
@@ -325,7 +330,7 @@ LDAP_DECLARE(int) util_ldap_connection_open(request_rec *r,
         }
 
         if (st->connectionTimeout >= 0) {
-            rc = ldap_set_option(NULL, LDAP_OPT_NETWORK_TIMEOUT, (void *)&timeOut);
+            rc = ldap_set_option(ldc->ldap, LDAP_OPT_NETWORK_TIMEOUT, (void *)&timeOut);
             if (APR_SUCCESS != rc) {
                 ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
                                  "LDAP: Could not set the connection timeout" );
@@ -1466,6 +1471,15 @@ static int util_ldap_post_config(apr_pool_t *p, apr_pool_t *plog,
             return result;
         }
 
+#ifdef UTIL_LDAP_SET_MUTEX_PERMS
+        result = unixd_set_global_mutex_perms(st->util_ldap_cache_lock);
+        if (result != APR_SUCCESS) {
+            ap_log_error(APLOG_MARK, APLOG_CRIT, result, s, 
+                         "LDAP cache: failed to set mutex permissions");
+            return result;
+        }
+#endif
+
         /* merge config in all vhost */
         s_vhost = s->next;
         while (s_vhost) {
@@ -1650,8 +1664,9 @@ static int util_ldap_post_config(apr_pool_t *p, apr_pool_t *plog,
 static void util_ldap_child_init(apr_pool_t *p, server_rec *s)
 {
     apr_status_t sts;
-    util_ldap_state_t *st =
-        (util_ldap_state_t *)ap_get_module_config(s->module_config, &ldap_module);
+    util_ldap_state_t *st = ap_get_module_config(s->module_config, &ldap_module);
+
+    if (!st->util_ldap_cache_lock) return;
 
     sts = apr_global_mutex_child_init(&st->util_ldap_cache_lock, st->lock_file, p);
     if (sts != APR_SUCCESS) {
index 012c2927d94ef79ef76f7329ee6590d08ef6e867..ca856890772204212fb79d57f60f4fe1b41e6440 100644 (file)
@@ -397,8 +397,11 @@ apr_status_t util_ldap_cache_init(apr_pool_t *pool, util_ldap_state_t *st)
 {
 #if APR_HAS_SHARED_MEMORY
     apr_status_t result;
+    apr_size_t size;
 
-    result = apr_shm_create(&st->cache_shm, st->cache_bytes, st->cache_file, st->pool);
+    size = APR_ALIGN_DEFAULT(st->cache_bytes);
+
+    result = apr_shm_create(&st->cache_shm, size, st->cache_file, st->pool);
     if (result == APR_EEXIST) {
         /*
          * The cache could have already been created (i.e. we may be a child process).  See
@@ -410,8 +413,17 @@ apr_status_t util_ldap_cache_init(apr_pool_t *pool, util_ldap_state_t *st)
         return result;
     }
 
+    /* Determine the usable size of the shm segment. */
+    size = apr_shm_size_get(st->cache_shm);
+
     /* This will create a rmm "handler" to get into the shared memory area */
-    apr_rmm_init(&st->cache_rmm, NULL, (void *)apr_shm_baseaddr_get(st->cache_shm), st->cache_bytes, st->pool);
+    result = apr_rmm_init(&st->cache_rmm, NULL, 
+                          apr_shm_baseaddr_get(st->cache_shm), size, 
+                          st->pool);
+    if (result != APR_SUCCESS) {
+        return result;
+    }
+
 #endif
 
     apr_pool_cleanup_register(st->pool, st , util_ldap_cache_module_kill, apr_pool_cleanup_null);
index 31c82be97438c9011bf9513e1671f7f0744167eb..17483d5da888473353c669c535c8530dfec33a82 100644 (file)
@@ -402,11 +402,18 @@ void *util_ald_cache_insert(util_ald_cache_t *cache, void *payload)
         return NULL;
     }
 
+    /* Take a copy of the payload before proceeeding. */
+    payload = (*cache->copy)(cache, payload);
+    if (!payload) {
+        util_ald_free(cache, node);
+        return NULL;
+    }
+
     /* populate the entry */
     cache->inserts++;
     hashval = (*cache->hash)(payload) % cache->size;
     node->add_time = apr_time_now();
-    node->payload = (*cache->copy)(cache, payload);
+    node->payload = payload;
     node->next = cache->nodes[hashval];
     cache->nodes[hashval] = node;
 
index 052af13cf6f03cf536dd4f8e8125664bd670de85..849ddfb1eab94214c27600687053ef785e62f2d4 100644 (file)
@@ -2856,18 +2856,35 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_byterange_filter(ap_filter_t *f,
 #define MIN_LENGTH(len1, len2) ((len1 > len2) ? len2 : len1)
     request_rec *r = f->r;
     conn_rec *c = r->connection;
-    byterange_ctx *ctx = f->ctx;
+    byterange_ctx *ctx;
     apr_bucket *e;
     apr_bucket_brigade *bsend;
     apr_off_t range_start;
     apr_off_t range_end;
     char *current;
-    apr_off_t bb_length;
     apr_off_t clength = 0;
     apr_status_t rv;
     int found = 0;
 
-    if (!ctx) {
+    /* Iterate through the brigade until reaching EOS or a bucket with
+     * unknown length. */
+    for (e = APR_BRIGADE_FIRST(bb);
+         (e != APR_BRIGADE_SENTINEL(bb) && !APR_BUCKET_IS_EOS(e)
+          && e->length != (apr_size_t)-1);
+         e = APR_BUCKET_NEXT(e)) {
+        clength += e->length;
+    }
+
+    /* Don't attempt to do byte range work if this brigade doesn't
+     * contain an EOS, or if any of the buckets has an unknown length;
+     * this avoids the cases where it is expensive to perform
+     * byteranging (i.e. may require arbitrary amounts of memory). */
+    if (!APR_BUCKET_IS_EOS(e) || clength <= 0) {
+        ap_remove_output_filter(f);
+        return ap_pass_brigade(f->next, bb);
+    }
+
+    {
         int num_ranges = ap_set_byterange(r);
 
         /* We have nothing to do, get out of the way. */
@@ -2876,7 +2893,7 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_byterange_filter(ap_filter_t *f,
             return ap_pass_brigade(f->next, bb);
         }
 
-        ctx = f->ctx = apr_pcalloc(r->pool, sizeof(*ctx));
+        ctx = apr_pcalloc(r->pool, sizeof(*ctx));
         ctx->num_ranges = num_ranges;
         /* create a brigade in case we never call ap_save_brigade() */
         ctx->bb = apr_brigade_create(r->pool, c->bucket_alloc);
@@ -2903,29 +2920,6 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_byterange_filter(ap_filter_t *f,
         }
     }
 
-    /* We can't actually deal with byte-ranges until we have the whole brigade
-     * because the byte-ranges can be in any order, and according to the RFC,
-     * we SHOULD return the data in the same order it was requested.
-     *
-     * XXX: We really need to dump all bytes prior to the start of the earliest
-     * range, and only slurp up to the end of the latest range.  By this we
-     * mean that we should peek-ahead at the lowest first byte of any range,
-     * and the highest last byte of any range.
-     */
-    if (!APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(bb))) {
-        ap_save_brigade(f, &ctx->bb, &bb, r->pool);
-        return APR_SUCCESS;
-    }
-
-    /* Prepend any earlier saved brigades. */
-    APR_BRIGADE_PREPEND(bb, ctx->bb);
-
-    /* It is possible that we won't have a content length yet, so we have to
-     * compute the length before we can actually do the byterange work.
-     */
-    apr_brigade_length(bb, 1, &bb_length);
-    clength = (apr_off_t)bb_length;
-
     /* this brigade holds what we will be sending */
     bsend = apr_brigade_create(r->pool, c->bucket_alloc);
 
index 77ec80a568936ab29f070f30765ee6538ec84dd7..61ad91f69874c84d125fa3c1c92693320ff42bf7 100644 (file)
@@ -161,7 +161,7 @@ PROXY_DECLARE(char *)ap_proxy_canonenc(apr_pool_t *p, const char *x, int len, en
            continue;
        }
 /* decode it if not already done */
-       if (isenc && ch == '%') {
+       if (isenc && (isenc != PROXYREQ_REVERSE) && (ch == '%')) {
            if (!apr_isxdigit(x[i + 1]) || !apr_isxdigit(x[i + 2]))
                return NULL;
            ch = ap_proxy_hex2c(&x[i + 1]);
index bfec7a300395b123fcda44d409a552861e463587..10bdb566f38c2271d55d2781b78dc753d8be4507 100644 (file)
@@ -763,9 +763,9 @@ AP_DECLARE(void) ap_log_assert(const char *szExp, const char *szFile,
 /* forward declaration */
 static void piped_log_maintenance(int reason, void *data, apr_wait_t status);
 
-static int piped_log_spawn(piped_log *pl)
+/* Spawn the piped logger process pl->program. */
+static apr_status_t piped_log_spawn(piped_log *pl)
 {
-    int rc = 0;
     apr_procattr_t *procattr;
     apr_proc_t *procnew = NULL;
     apr_status_t status;
@@ -783,7 +783,6 @@ static int piped_log_spawn(piped_log *pl)
         ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL,
                      "piped_log_spawn: unable to setup child process '%s': %s",
                      pl->program, apr_strerror(status, buf, sizeof(buf)));
-        rc = -1;
     }
     else {
         char **args;
@@ -797,7 +796,11 @@ static int piped_log_spawn(piped_log *pl)
 
         if (status == APR_SUCCESS) {
             pl->pid = procnew;
-            ap_piped_log_write_fd(pl) = procnew->in;
+            /* procnew->in was dup2'd from ap_piped_log_write_fd(pl);
+             * since the original fd is still valid, close the copy to
+             * avoid a leak. */
+            apr_file_close(procnew->in);
+            procnew->in = NULL;
             apr_proc_other_child_register(procnew, piped_log_maintenance, pl,
                                           ap_piped_log_write_fd(pl), pl->p);
             close_handle_in_child(pl->p, ap_piped_log_read_fd(pl));
@@ -808,11 +811,10 @@ static int piped_log_spawn(piped_log *pl)
             ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL,
                          "unable to start piped log program '%s': %s",
                          pl->program, apr_strerror(status, buf, sizeof(buf)));
-            rc = -1;
         }
     }
 
-    return rc;
+    return status;
 }
 
 
@@ -904,12 +906,10 @@ AP_DECLARE(piped_log *) ap_open_piped_log(apr_pool_t *p, const char *program)
     }
     apr_pool_cleanup_register(p, pl, piped_log_cleanup,
                               piped_log_cleanup_for_exec);
-    if (piped_log_spawn(pl) == -1) {
-        int save_errno = errno;
+    if (piped_log_spawn(pl) != APR_SUCCESS) {
         apr_pool_cleanup_kill(p, pl, piped_log_cleanup);
         apr_file_close(ap_piped_log_read_fd(pl));
         apr_file_close(ap_piped_log_write_fd(pl));
-        errno = save_errno;
         return NULL;
     }
     return pl;