Merge of r4993, r4994, r4997, r5000: geo ipv6 support.

*) Geo: IPv6 support.  The "ranges" mode is still limited to IPv4 only.

*) Geo: properly initialize ngx_cidr_t when dealing with "default".

*) Geo: made "default" affect both IPv4 and IPv6 when using prefixes.
   Previously, "default" was equivalent to specifying 0.0.0.0/0, now
   it's equivalent to specifying both 0.0.0.0/0 and ::/0 (if support
   for IPv6 is enabled) with the same value.

*) Geo: improved code readability.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@5049 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4974: avoid sending "100 Continue" on 413. 

Avoid sending "100 Continue" on 413 Request Entity Too Large.

Patch by Igor Sysoev.


git-svn-id: svn://svn.nginx.org/nginx/branches/stable-1.2@5050 73f98a42-aea0-e011-b76d-00259023448c
Merge of r4983: crypt_r() error handling fixed.

The crypt_r() function returns NULL on errors, check it explicitly instead
of assuming errno will remain 0 if there are no errors (per POSIX, the
setting of errno after a successful call to a function is unspecified
unless the description of that function specifies that errno shall not
be modified).

Additionally, dropped unneeded ngx_set_errno(0) and fixed error handling
of memory allocation after normal crypt(), which was inapropriate and
resulted in null pointer dereference on allocation failures.


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