summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Malo <nd@apache.org>2005-08-24 11:51:40 +0000
committerAndré Malo <nd@apache.org>2005-08-24 11:51:40 +0000
commitc840e0df8ca217d6f1b2ce3234368e33d208ea72 (patch)
tree61d4e91c10dba7bde6897bd594060c4e15550c6d
parentbab0071e4e0dc8a56e68c34b2b54cf77df024dac (diff)
downloadhttpd-c840e0df8ca217d6f1b2ce3234368e33d208ea72.tar.gz
mod_version_for_2.0.x branch:
* 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
-rw-r--r--CHANGES240
-rw-r--r--STATUS156
-rw-r--r--docs/manual/dns-caveats.html.es28
-rw-r--r--docs/manual/dns-caveats.xml.es28
-rw-r--r--docs/manual/howto/auth.html4
-rw-r--r--docs/manual/howto/auth.html.en2
-rw-r--r--docs/manual/howto/auth.html.es370
-rw-r--r--docs/manual/howto/auth.html.ja.euc-jp2
-rw-r--r--docs/manual/howto/auth.html.ko.euc-kr2
-rw-r--r--docs/manual/howto/auth.xml.es376
-rw-r--r--docs/manual/howto/auth.xml.meta1
-rw-r--r--docs/manual/install.html.de3
-rw-r--r--docs/manual/install.html.en17
-rw-r--r--docs/manual/install.html.es4
-rw-r--r--docs/manual/install.xml17
-rw-r--r--docs/manual/install.xml.de2
-rw-r--r--docs/manual/install.xml.es2
-rw-r--r--docs/manual/install.xml.ja2
-rw-r--r--docs/manual/install.xml.ko2
-rw-r--r--docs/manual/install.xml.meta4
-rw-r--r--docs/manual/install.xml.ru2
-rw-r--r--docs/manual/stopping.html.de3
-rw-r--r--docs/manual/stopping.html.en26
-rw-r--r--docs/manual/stopping.html.es4
-rw-r--r--docs/manual/stopping.xml28
-rw-r--r--docs/manual/stopping.xml.de2
-rw-r--r--docs/manual/stopping.xml.es2
-rw-r--r--docs/manual/stopping.xml.ja2
-rw-r--r--docs/manual/stopping.xml.ko2
-rw-r--r--docs/manual/stopping.xml.meta4
-rw-r--r--docs/manual/stopping.xml.ru2
-rw-r--r--modules/experimental/util_ldap.c21
-rw-r--r--modules/experimental/util_ldap_cache.c16
-rw-r--r--modules/experimental/util_ldap_cache_mgr.c9
-rw-r--r--modules/http/http_protocol.c48
-rw-r--r--modules/proxy/proxy_util.c2
-rw-r--r--server/log.c18
37 files changed, 1122 insertions, 331 deletions
diff --git a/CHANGES b/CHANGES
index 4f6025588b..1330b3f5a6 100644
--- 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 Hietamki, 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 Keler]
+ *) 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 Keler]
+ 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 Smme
+ 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 Keler <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 Sundstrm <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.
- [Gnter 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
- ["Rdiger" Kuhlmann <Tadu gmx.de>]
+ [Rüdiger Kuhlmann <Tadu gmx.de>]
*) Prepare our autoconf setup for autoconf 2.14a and for cross-
compiling.
- ["Rdiger" 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 Tschalr]
+ 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 Tschalr]
+ 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 Tschalr <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 Tschalr]
+ [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 Tschalr <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 Tschalr <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().
- [Jrgen 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 32448e1710..38e4abcdc9 100644
--- 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
diff --git a/docs/manual/dns-caveats.html.es b/docs/manual/dns-caveats.html.es
index ed28bf68b3..ead02a9796 100644
--- a/docs/manual/dns-caveats.html.es
+++ b/docs/manual/dns-caveats.html.es
@@ -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 resolucin DNS para encontrar la
- direccin IP correspondiente a <code>www.abc.com</code>. Si
+ direccin IP correspondiente a <code>www.abc.dom</code>. Si
por alguna razn la resolucin DNS no est
disponible en el momento en que su servidor est analizando
sintnticamente su fichero de configuracin, entonces
@@ -69,12 +69,12 @@
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 direccin
+ <p>Suponga que <code>www.abc.dom</code> tiene como direccin
IP la 10.0.0.1. Considere la siguiente configuracin:</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>
@@ -111,17 +111,17 @@
de las dos bsquedas de DNS mencionadas arriba falla para
cualquiera de sus hosts virtuales. En algunos casos estas
bsquedas DNS puede que no estn 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 ms complicadas. Fjese
en esta configuracin:</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 />
@@ -132,19 +132,19 @@
</code></p></div>
<p>Suponga que ha asignado la direccin 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>. Todava ms, suponga que
<code>def.com</code> tiene el control de sus propias DNS. Con esta
configuracin ha puesto <code>def.com</code> en una
posicin 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 direccin
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 direccin 10.0.0.1
(includas aquellas en las los usuarios escriben URLs de tipo
- <code>http://www.abc.com/whatever</code>) sern todas
+ <code>http://www.abc.dom/whatever</code>) sern todas
servidas por el host virtual <code>def.com</code>. Comprender por
qu ocurre esto requiere una discusin ms profunda
acerca de como Apache asigna las peticiones que recibe a los hosts
diff --git a/docs/manual/dns-caveats.xml.es b/docs/manual/dns-caveats.xml.es
index d086884522..ebe650c3cb 100644
--- a/docs/manual/dns-caveats.xml.es
+++ b/docs/manual/dns-caveats.xml.es
@@ -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
@@ -62,12 +62,12 @@
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>
@@ -104,17 +104,17 @@
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 />
@@ -125,19 +125,19 @@
</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
diff --git a/docs/manual/howto/auth.html b/docs/manual/howto/auth.html
index fddd99738b..62d4b23735 100644
--- a/docs/manual/howto/auth.html
+++ b/docs/manual/howto/auth.html
@@ -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
diff --git a/docs/manual/howto/auth.html.en b/docs/manual/howto/auth.html.en
index 3dfbde1fd5..69a4bbccd3 100644
--- a/docs/manual/howto/auth.html.en
+++ b/docs/manual/howto/auth.html.en
@@ -19,6 +19,7 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs-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="Espaol">&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="Espaol">&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
index 0000000000..27d154c940
--- /dev/null
+++ b/docs/manual/howto/auth.html.es
@@ -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>Autentificacin, Autorizacin 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/">Mdulos</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">Versin 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/">Documentacin</a> &gt; <a href="../">Versin 2.0</a> &gt; <a href="./">How-To / Tutoriales</a></div><div id="page-content"><div id="preamble"><h1>Autentificacin, Autorizacin 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="Espaol">&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 autentificacin es cualquier proceso mediante el cual se
+ verifica que alguien es quien dice ser. La autorizacin es
+ cualquier proceso por el cual a alguien se le permite estar donde
+ quiere ir, o tener la informacin que quiere tener.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Mdulos y Directivas relacionadas</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduccin</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 ms
+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">Ms informacin</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">Mdulos y Directivas relacionadas</a></h2>
+ <table class="related"><tr><th>Mdulos 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">Introduccin</a></h2>
+ <p>Si en su sitio web tiene informacin sensible o dirigida
+ slo a un pequeo grupo de personas, las tcnicas
+ explicadas en ste artculo le ayudarn a
+ asegurarse de que las personas que ven esas pginas son las
+ personas que usted quiere que las vean.</p>
+
+ <p>Este artculo cubre la manera "estndar" de proteger
+ partes de su sitio web que la mayora 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 artculo necesitarn
+ ir en el archivo de configuracin principal de su servidor
+ (tpicamente en una seccin del tipo
+ <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>),
+ o en archivos de configuracin por directorios (archivos
+ <code>.htaccess</code>).</p>
+
+ <p>Si planea usar archivos <code>.htaccess</code>, necesitar
+ tener una configuracin en el servidor que permita poner directivas
+ de autentificacin en estos archivos. Esto se logra con la
+ directiva <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>,
+ la cual especifica cules directivas, en caso de existir, pueden
+ ser colocadas en los archivos de configuracin por directorios.</p>
+
+ <p>Ya que se est hablando de autentificacin, 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 slo va a colocar directivas directamente en el principal
+ archivo de configuracin 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 dnde
+ estn algunos archivos. Esto no debera ser muy
+ difcil, 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
+ contrasea un directorio de su servidor.</p>
+
+ <p>Necesitar crear un archivo de contraseas. ste
+ archivo debera colocarlo en algn sitio no accesible
+ mediante la Web. Por ejemplo, si sus documentos son servidos desde
+ <code>/usr/local/apache/htdocs</code> usted podra querer colocar
+ el(los) archivo(s) de contraseas en
+ <code>/usr/local/apache/passwd</code>.</p>
+
+ <p>Para crear un archivo de contraseas, 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 contrasea, 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
+ contrasea 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 colocndolas en el archivo
+ <code>/usr/local/apache/htdocs/secret/.htaccess</code>,
+ o en <code>httpd.conf</code> dentro de una seccin &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 mtodo que se va a usar para autentificar al usuario. El
+ mtodo ms comn es <code>Basic</code>, y ste
+ mtodo 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 autentificacin Bsica
+ enva la contrasea desde el cliente hasta el navegador sin
+ encriptar. Por lo tanto, este mtodo no debera ser usado
+ para informacin altamente sensible. Apache soporta otro mtodo
+ de autentificacin: <code>AuthType Digest</code>. Este mtodo
+ est implementado en <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> y es mucho ms
+ seguro. Slo las versiones ms recientes de clientes soportan
+ la autentificacin 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
+ autentificacin. El dominio (realm) cumple
+ dos funciones importantes. Primero, el cliente frecuentemente presenta
+ esta informacin al usuario como parte del cuatro de dilogo
+ para la contrasea. Segundo, es usado por el cliente para determinar
+ qu contrasea 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>,
+ automticamente se volver a tratar de usar la misma
+ contrasea 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 contrasea
+ ms de una vez permitiendo compartir el mismo dominio (realm)
+ para mltiples reas restringidas. Por supuesto, por
+ razones de seguridad, el cliente siempre necesitar pedir de
+ nuevo la contrasea cuando cambie el nombre de la
+ mquina 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 contrasea que acabamos de crear
+ con <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. Si tiene un gran nmero de usuarios,
+ sera bastante lento buscar por medio de un archivo en texto plano
+ para autentificar al usuario en cada solicitud. Apache tambin tiene
+ la capacidad de almacenar la informacin del usuario en
+ archivos rpidos de bases de datos. El mdulo <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 autentificacin estn disponibles en mdulos
+ de terceras partes en la <a href="http://modules.apache.org/">Base de
+ datos de Mdulos 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 autorizacin del proceso estableciendo
+ el usuario al que se le permite acceder a ese rea del servidor.
+ En la prxima seccin, 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 ms
+de una persona</a></h2>
+ <p>Las directivas anteriores slo permiten que una persona
+ (especficamente alguien con un nombre de usuario de
+ <code>rbowen</code>) acceda al directorio. En la mayora de los
+ casos, usted querr permitir el acceso a ms 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 ms 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
+ lnea separados por espacios.</p>
+
+ <p>Para agregar un usuario a un archivo de contraseas 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 opcin <code>-c</code> la que se cree un nuevo archivo
+ de contraseas).</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 contrasea correcta.</p>
+
+ <p>Existe otra manera de permitir entrar a mltiples usuarios que
+ es menos especfica. En lugar de crear un archivo de grupo, puede
+ usar slo la siguiente directiva:</p>
+
+ <div class="example"><p><code>
+ Require valid-user
+ </code></p></div>
+
+ <p>Usando eso en vez de la lnea <code>Require user rbowen</code>,
+ le permitir el acceso a cualquiera que est listado en el
+ archivo de contraseas y que haya introducido correctamente su
+ contrasea. Incluso puede emular el comportamiento del grupo
+ aqu, slo manteniendo un archivo de contrasea para
+ cada grupo. La ventaja de esta tcnica es que Apache slo
+ tiene que verificar un archivo, en vez de dos. La desventaja es que
+ usted tiene que mantener un grupo de archivos de contrasea, 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 autentificacin bsica est
+ especificada, su nombre de usuario y contrasea debe ser verificado
+ cada vez que se solicita un documento del servidor. Incluso si est
+ recargando la misma pgina, y por cada imagen de la pgina
+ (si vienen de un directorio protegido). Como se puede imaginar, esto
+ retrasa un poco las cosas. El retraso es proporcional al
+ tamao del archivo de contrasea, 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 pgina.</p>
+
+ <p>Una consecuencia de esto es que hay un lmite prctico
+ de cuntos usuarios puede colocar en un archivo de contraseas.
+ Este lmite variar dependiendo del rendimiento de su equipo
+ servidor en particular, pero puede esperar observar una disminucin
+ una vez que inserte unos cientos de entradas, y puede que entonces considere
+ un mtodo distinto de autentificacin.</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 autentificacin por nombre de usuario y contrasea es
+ slo parte del cuento. Frecuentemente se desea permitir el acceso
+ a los usuarios basandose en algo ms que quines son. Algo como de
+ dnde 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 direccin de la
+ mquina 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 direccin IP (o una
+ direccin IP parcial) o un nombre de dominio completamente
+ cualificado (o un nombre de dominio parcial); puede proporcionar
+ mltiples 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, podra 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 direccin no podrn
+ ver el contenido afectado por esta directiva. Si, por el
+ contrario, usted tiene un nombre de mquina pero no una
+ direccin IP, tambin puede usarlo.</p>
+
+ <div class="example"><p><code>
+ Deny from <var>host.example.com</var>
+ </code></p></div>
+
+ <p>Y, si le gustara bloquear el acceso de un dominio entero,
+ puede especificar slo parte de una direccin 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 slo la directiva <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> no hara lo que desea, porque
+ le permitira entrar a la gente proveniente de esa mquina, y
+ adicionalmente a cualquier persona. Lo que usted quiere es dejar entrar
+ <em>slo</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">Ms informacin</a></h2>
+ <p>Tambin debera leer la documentacin 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 ms informacin acerca de cmo 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="Espaol">&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 trminos 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/">Mdulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/howto/auth.html.ja.euc-jp b/docs/manual/howto/auth.html.ja.euc-jp
index de0a79318f..008a27d31e 100644
--- a/docs/manual/howto/auth.html.ja.euc-jp
+++ b/docs/manual/howto/auth.html.ja.euc-jp
@@ -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="Espaol">&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>
@@ -378,6 +379,7 @@
</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="Espaol">&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">
diff --git a/docs/manual/howto/auth.html.ko.euc-kr b/docs/manual/howto/auth.html.ko.euc-kr
index a0508b28ae..85bb3efdf7 100644
--- a/docs/manual/howto/auth.html.ko.euc-kr
+++ b/docs/manual/howto/auth.html.ko.euc-kr
@@ -21,6 +21,7 @@
(Access Control)</h1>
<div class="toplang">
<p><span> : </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../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>
@@ -315,6 +316,7 @@
</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
index 0000000000..8da68ecfd7
--- /dev/null
+++ b/docs/manual/howto/auth.xml.es
@@ -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>
+
+
diff --git a/docs/manual/howto/auth.xml.meta b/docs/manual/howto/auth.xml.meta
index ca40aa7f42..d1b44c5b1c 100644
--- a/docs/manual/howto/auth.xml.meta
+++ b/docs/manual/howto/auth.xml.meta
@@ -7,6 +7,7 @@
<variants>
<variant>en</variant>
+ <variant>es</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
diff --git a/docs/manual/install.html.de b/docs/manual/install.html.de
index 2a4c8e6ac1..3741a81e55 100644
--- a/docs/manual/install.html.de
+++ b/docs/manual/install.html.de
@@ -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 mglicherweise
+ nicht mehr aktuell. Bitte prfen Sie die englische Version auf
+ die neuesten nderungen.</div>
<p>Dieses Dokument umfat nur die Kompilierung und Installation des
Apache auf Unix und Unix-hnlichen Systemen. Fr die
diff --git a/docs/manual/install.html.en b/docs/manual/install.html.en
index af5d95e021..b141d3a30b 100644
--- a/docs/manual/install.html.en
+++ b/docs/manual/install.html.en
@@ -155,14 +155,15 @@
[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">
diff --git a/docs/manual/install.html.es b/docs/manual/install.html.es
index 57cfe393f2..7dbc283019 100644
--- a/docs/manual/install.html.es
+++ b/docs/manual/install.html.es
@@ -25,6 +25,10 @@
<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 traduccin podra estar
+ obsoleta. Consulte la versin en ingls de la
+ documentacin para comprobar si se han producido cambios
+ recientemente.</div>
<p>Este documento explica cmo compilar e instalar Apache en
diff --git a/docs/manual/install.xml b/docs/manual/install.xml
index 5bf0484350..a89aaac0bd 100644
--- a/docs/manual/install.xml
+++ b/docs/manual/install.xml
@@ -152,14 +152,15 @@
<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>
diff --git a/docs/manual/install.xml.de b/docs/manual/install.xml.de
index 9aec9da9df..9cbd30c6c1 100644
--- a/docs/manual/install.xml.de
+++ b/docs/manual/install.xml.de
@@ -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
diff --git a/docs/manual/install.xml.es b/docs/manual/install.xml.es
index eed1b8b68a..c73015e0fa 100644
--- a/docs/manual/install.xml.es
+++ b/docs/manual/install.xml.es
@@ -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
diff --git a/docs/manual/install.xml.ja b/docs/manual/install.xml.ja
index c51dd90ed9..47fb719aa5 100644
--- a/docs/manual/install.xml.ja
+++ b/docs/manual/install.xml.ja
@@ -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
diff --git a/docs/manual/install.xml.ko b/docs/manual/install.xml.ko
index bfe70879ee..9d0f289c16 100644
--- a/docs/manual/install.xml.ko
+++ b/docs/manual/install.xml.ko
@@ -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
diff --git a/docs/manual/install.xml.meta b/docs/manual/install.xml.meta
index edd8099f4a..e0e35e7b9e 100644
--- a/docs/manual/install.xml.meta
+++ b/docs/manual/install.xml.meta
@@ -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>
diff --git a/docs/manual/install.xml.ru b/docs/manual/install.xml.ru
index 706a30c9f2..9b4bfb0ebe 100644
--- a/docs/manual/install.xml.ru
+++ b/docs/manual/install.xml.ru
@@ -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
diff --git a/docs/manual/stopping.html.de b/docs/manual/stopping.html.de
index b03b7e268c..04753f31b7 100644
--- a/docs/manual/stopping.html.de
+++ b/docs/manual/stopping.html.de
@@ -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 mglicherweise
+ nicht mehr aktuell. Bitte prfen 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
diff --git a/docs/manual/stopping.html.en b/docs/manual/stopping.html.en
index e0a1de518b..bd578119eb 100644
--- a/docs/manual/stopping.html.en
+++ b/docs/manual/stopping.html.en
@@ -118,9 +118,10 @@
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
diff --git a/docs/manual/stopping.html.es b/docs/manual/stopping.html.es
index 5f945130c6..eb3441c508 100644
--- a/docs/manual/stopping.html.es
+++ b/docs/manual/stopping.html.es
@@ -25,6 +25,10 @@
<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 traduccin podra estar
+ obsoleta. Consulte la versin en ingls de la
+ documentacin 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
diff --git a/docs/manual/stopping.xml b/docs/manual/stopping.xml
index c630b8083a..fc9fd6adcc 100644
--- a/docs/manual/stopping.xml
+++ b/docs/manual/stopping.xml
@@ -119,9 +119,10 @@
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
diff --git a/docs/manual/stopping.xml.de b/docs/manual/stopping.xml.de
index 97238a1047..908fb04139 100644
--- a/docs/manual/stopping.xml.de
+++ b/docs/manual/stopping.xml.de
@@ -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
diff --git a/docs/manual/stopping.xml.es b/docs/manual/stopping.xml.es
index 7446e7d86a..a729b2fb5f 100644
--- a/docs/manual/stopping.xml.es
+++ b/docs/manual/stopping.xml.es
@@ -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,
diff --git a/docs/manual/stopping.xml.ja b/docs/manual/stopping.xml.ja
index 712d8c1d92..4c0e187577 100644
--- a/docs/manual/stopping.xml.ja
+++ b/docs/manual/stopping.xml.ja
@@ -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
diff --git a/docs/manual/stopping.xml.ko b/docs/manual/stopping.xml.ko
index 6fdecf4448..e6462e75d6 100644
--- a/docs/manual/stopping.xml.ko
+++ b/docs/manual/stopping.xml.ko
@@ -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
diff --git a/docs/manual/stopping.xml.meta b/docs/manual/stopping.xml.meta
index 825f1e07a4..d671951504 100644
--- a/docs/manual/stopping.xml.meta
+++ b/docs/manual/stopping.xml.meta
@@ -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>
diff --git a/docs/manual/stopping.xml.ru b/docs/manual/stopping.xml.ru
index 5b2cb9d489..3c538824fa 100644
--- a/docs/manual/stopping.xml.ru
+++ b/docs/manual/stopping.xml.ru
@@ -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
diff --git a/modules/experimental/util_ldap.c b/modules/experimental/util_ldap.c
index 3af630bca4..9a74445784 100644
--- a/modules/experimental/util_ldap.c
+++ b/modules/experimental/util_ldap.c
@@ -43,6 +43,11 @@
#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
*/
#define LDAP_CA_TYPE_UNKNOWN 0
@@ -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) {
diff --git a/modules/experimental/util_ldap_cache.c b/modules/experimental/util_ldap_cache.c
index 012c2927d9..ca85689077 100644
--- a/modules/experimental/util_ldap_cache.c
+++ b/modules/experimental/util_ldap_cache.c
@@ -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);
diff --git a/modules/experimental/util_ldap_cache_mgr.c b/modules/experimental/util_ldap_cache_mgr.c
index 31c82be974..17483d5da8 100644
--- a/modules/experimental/util_ldap_cache_mgr.c
+++ b/modules/experimental/util_ldap_cache_mgr.c
@@ -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;
diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c
index 052af13cf6..849ddfb1ea 100644
--- a/modules/http/http_protocol.c
+++ b/modules/http/http_protocol.c
@@ -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);
diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
index 77ec80a568..61ad91f698 100644
--- a/modules/proxy/proxy_util.c
+++ b/modules/proxy/proxy_util.c
@@ -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]);
diff --git a/server/log.c b/server/log.c
index bfec7a3003..10bdb566f3 100644
--- a/server/log.c
+++ b/server/log.c
@@ -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;