Core: use '\r' for CR and '\n' for LF definitions.
Style: use %N instead of '\n' where appropriate.
SPDY: fixed one case of improper memory allocation error handling.

Now ngx_http_spdy_construct_request_line() doesn't try to finalize request
in case of failed memory allocation.
SPDY: improved ngx_http_spdy_state_protocol_error().

Now ngx_http_spdy_state_protocol_error() is able to close stream,
so there is no need in a separate call for this.

Also fixed zero status code in logs for some cases.
SPDY: prevented creation of RST_STREAM in protocol error state.

Previously, the frame wasn't sent anyway (and had a wrong status code).
SPDY: removed ngx_http_spdy_state_headers_error().

The function just calls ngx_http_spdy_state_headers_skip() most of the time.
There was also an attempt of optimization to stop parsing if the client already
closed connection, but it looks strange and unfinished anyway.
SPDY: improved error handling of header block decompression.

Now cases when decompression failed due to internal error
and when a client sent corrupted data are distinguished.
SPDY: ngx_http_spdy_state_headers() error handling cleanup.

 - Specification-friendly handling of invalid header block or special headers.
   Such errors are not fatal for session and shouldn't lead to connection close;

 - Avoid mix of NGX_HTTP_PARSE_INVALID_REQUEST/NGX_HTTP_PARSE_INVALID_HEADER.
SPDY: set log action for PROXY protocol only while parsing it.

Handling of PROXY protocol for SPDY connection is currently implemented as
a SPDY state.  And while nginx waiting for PROXY protocol data it continues
to process SPDY connection: initializes zlib context, sends control frames.
SPDY: improved logging.
SPDY: refactored ngx_http_spdy_state_headers().

This change is similar to d2ac5cf4056d.  Special flag of completeness looks
surplus when there is also a counter of frame bytes left.
SPDY: added a debug point to the state buffer overflow protection.
SPDY: added protection from overrun of the receive buffer.
Fixed alias in regex locations with limit_except/if.

The ngx_http_map_uri_to_path() function used clcf->regex to detect if
it's working within a location given by a regular expression and have
to replace full URI with alias (instead of a part matching the location
prefix).  This is incorrect due to clcf->regex being false in implicit
locations created by if and limit_except.

Fix is to preserve relevant information in clcf->alias instead, by setting
it to NGX_MAX_SIZE_T_VALUE if an alias was specified in a regex location.
Charset filter: fixed charset setting on encoded replies.

If response is gzipped we can't recode response, but in case it's not
needed we still can add charset to Content-Type.

The r->ignore_content_encoding is dropped accordingly, charset with gzip_static
now properly works without any special flags.
Setting $args now invalidates unparsed uri.

Prodded by Yichun Zhang.
SSL: $ssl_client_fingerprint variable.
Configure: the --build= option.

If set, its value is output in "nginx -v" and in the error log.
Added syslog support for error_log and access_log directives.
Mail: added a check for the number of arguments in MAIL/RCPT.

Missed during introduction of the SMTP pipelining support (04e43d03e153,
1.5.6).  Previously, the check wasn't needed as s->buffer was used directly
and the number of arguments didn't matter.

Reported by Svyatoslav Nikolsky.