Version bump.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4899 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4865: clearing of cpu_affinity after process spawn.

This fixes unwanted/incorrect cpu_affinity use on dead worker processes
respawn.  While this is not ideal, it's expected to be better when previous
situation where multiple processes were spawn with identical CPU affinity
set.

Reported by Charles Chen.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4900 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4866, r4867: configure fixes.

*) Configure: help updated to list upstream keepalive and least_conn.
   Patch by Joshua Zhu.

*) Configure: additional test for ExtUtils::Embed perl module presence.
   Now perl configure will correctly fail if ExtUtils::Embed perl module
   is not present in the system (found on Amazon Linux AMI, as of
   release 2012.03).


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4901 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4868, r4869: SSL minor fixes.

*) SSL: fixed compression workaround to remove all methods.

   Previous code used sk_SSL_COMP_delete(ssl_comp_methods, i) while iterating
   stack from 0 to n, resulting in removal of only even compression methods.

   In real life this change is a nop, as there is only one compression method
   which is enabled by default in OpenSSL.

*) SSL: added version checks for ssl compression workaround.

   The SSL_COMP_get_compression_methods() is only available as an API
   function in OpenSSL 0.9.8+, require it explicitly to unbreak build
   with OpenSSL 0.9.7.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4902 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4870, r4871, r4890, r4895: minor fixes.

*) Made sure to initialize the entire ngx_file_t structure.
   Found by Coverity.

*) Correct plural form for "path" in the whole source base.

*) Removed conditional compilation from waitpid() error test.

   There are reports that call to a signal handler for an exited process
   despite waitpid() already called for the process may happen on Linux
   as well.

*) Style, parentheses instead of braces in misc/GNUMakefile.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4903 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4872, r4893: resolver cached addresses random rotation.

Resolver: cached addresses are returned with random rotation now.

This ensures balancing when working with dynamically resolved upstream
servers with multiple addresses.

Based on patch by Anton Jouline.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4904 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4885: ssl_verify_client optional_no_ca.

SSL: the "ssl_verify_client" directive parameter "optional_no_ca".

This parameter allows to don't require certificate to be signed by
a trusted CA, e.g. if CA certificate isn't known in advance, like in
WebID protocol.

Note that it doesn't add any security unless the certificate is actually
checked to be trusted by some external means (e.g. by a backend).

Patch by Mike Kazantsev, Eric O'Connor.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4905 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4886, r4887, r4894: log variables generalization:

*) Log: $apache_bytes_sent removed.  It was renamed to $body_bytes_sent
   in nginx 0.3.10 and the old name is deprecated since then.

*) Variable $bytes_sent.  It replicates variable $bytes_sent as previously
   available in log module only.  Patch by Benjamin Grössing (with minor
   changes).

*) Variables $connection and $connection_requests.  Log module
   counterparts are removed as they aren't used often and there is no
   need to preserve them for efficiency.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4906 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4891: worker_processes auto.

Core: the "auto" parameter of the "worker_processes" directive.

The parameter will set the number of worker processes to the
autodetected number of available CPU cores.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4907 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4892: keepalive memory usage optimization.

The ngx_http_keepalive_handler() function is now trying to not
keep c->buffer's memory for idle connections.

This behaviour is consistent with the ngx_http_set_keepalive()
function and it should decrease memory usage in some cases (especially
if epoll/rtsig is used).


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4908 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4896: event pipe: fixed handling of buf_to_file data.

Input filter might free a buffer if there is no data in it, and in case
of first buffer (used for cache header and request header, aka p->buf_to_file)
this resulted in cache corruption.  Buffer memory was reused to read upstream
response before headers were written to disk.

Fix is to avoid moving pointers in ngx_event_pipe_add_free_buf() to a buffer
start if we were asked to free a buffer used by p->buf_to_file.

This fixes occasional cache file corruption, usually resulted
in "cache file ... has md5 collision" alerts.

Reported by Anatoli Marinov.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4909 73f98a42-aea0-e011-b76d-00259023448c
nginx-1.2.5-RELEASE


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@4910 73f98a42-aea0-e011-b76d-00259023448c