Commit Graph

4911 Commits

Author SHA1 Message Date
Maxim Dounin 53730bfa37 release-1.6.3 tag 2015-04-07 18:57:56 +03:00
Maxim Dounin b55d3bba57 nginx-1.6.3 changes fix 2015-04-07 18:51:37 +03:00
Maxim Dounin fcec8f84d5 release-1.6.3 tag 2015-04-07 17:58:54 +03:00
Maxim Dounin 00ae644456 nginx-1.6.3-RELEASE 2015-04-07 17:58:54 +03:00
Maxim Dounin fc1b41ded9 Updated OpenSSL used for win32 builds. 2015-03-23 02:44:41 +03:00
Ruslan Ermilov 405b7f3429 Overflow detection in ngx_http_parse_chunked(). 2015-03-17 00:26:27 +03:00
Ruslan Ermilov dabbd1f6a6 Overflow detection in ngx_http_range_parse(). 2015-03-17 00:26:24 +03:00
Ruslan Ermilov 166a3a13a4 Overflow detection in ngx_inet_addr(). 2015-03-17 00:26:22 +03:00
Ruslan Ermilov 7523e71888 Core: overflow detection in ngx_parse_time() (ticket #732). 2015-03-17 00:26:20 +03:00
Ruslan Ermilov ea13aadd30 Refactored ngx_parse_time().
No functional changes.
2015-03-17 00:26:18 +03:00
Ruslan Ermilov d5d9d70920 Core: overflow detection in number parsing functions. 2015-03-17 00:26:15 +03:00
Ruslan Ermilov 44a2b97bd2 Core: expose maximum values of time_t and ngx_int_t.
These are needed to detect overflows.
2015-03-17 00:24:34 +03:00
Maxim Dounin 0071fbb9e6 Core: fixed potential buffer overrun when initializing hash.
Initial size as calculated from the number of elements may be bigger
than max_size.  If this happens, make sure to set size to max_size.

Reported by Chris West.
2015-02-24 18:37:14 +03:00
Roman Arutyunyan 06d72320ff Core: fixed a race resulting in extra sem_post()'s.
The mtx->wait counter was not decremented if we were able to obtain the lock
right after incrementing it.  This resulted in unneeded sem_post() calls,
eventually leading to EOVERFLOW errors being logged, "sem_post() failed
while wake shmtx (75: Value too large for defined data type)".

To close the race, mtx->wait is now decremented if we obtain the lock right
after incrementing it in ngx_shmtx_lock().  The result can become -1 if a
concurrent ngx_shmtx_unlock() decrements mtx->wait before the added code does.
However, that only leads to one extra iteration in the next call of
ngx_shmtx_lock().
2015-02-04 16:22:43 +03:00
Maxim Dounin cb451bd6a4 Fixed post_action to not trigger "header already sent" alert.
The alert was introduced in 03ff14058272 (1.5.4), and was triggered on each
post_action invocation.

There is no real need to call header filters in case of post_action,
so return NGX_OK from ngx_http_send_header() if r->post_action is set.
2014-11-28 16:57:50 +03:00
Valentin Bartenev 4dafec8d51 SPDY: push pending data while closing a stream as with keepalive.
This helps to avoid delays in sending the last chunk of data because
of bad interaction between Nagle's algorithm on nginx side and
delayed ACK on the client side.

Delays could also be caused by TCP_CORK/TCP_NOPUSH if SPDY was
working without SSL and sendfile() was used.
2014-11-21 22:51:49 +03:00
Ruslan Ermilov 1f9564223b Resolver: fixed use-after-free memory access.
In 954867a2f0a6, we switched to using resolver node as the
timer event data, so make sure we do not free resolver node
memory until the corresponding timer is deleted.
2014-11-20 15:24:40 +03:00
Maxim Dounin de557628d3 SSL: logging level of "inappropriate fallback" (ticket #662).
Patch by Erik Dubbelboer.
2014-11-17 16:38:48 +03:00
Maxim Dounin e875df1842 Fixed possible buffer overrun in "too long header line" logging.
Additionally, ellipsis now always added to make it clear that
the header logged is incomplete.

Reported by Daniil Bondarev.
2014-10-08 17:16:04 +04:00
Yichun Zhang 662ae6da6b Core: fixed buffer overrun when hash max_size reached. 2014-10-02 12:00:17 -07:00
Maxim Dounin 55b299d72d Version bump. 2015-04-06 18:54:19 +03:00
Maxim Dounin 926a736954 release-1.6.2 tag 2014-09-16 16:23:19 +04:00
Maxim Dounin f08055a847 nginx-1.6.2-RELEASE 2014-09-16 16:23:18 +04:00
Maxim Dounin 21e21b5b4a Updated OpenSSL used for win32 builds. 2014-09-15 18:03:49 +04:00
Maxim Dounin 1c5943c21f SSL: session id context now includes certificate hash.
This prevents inappropriate session reuse in unrelated server{}
blocks, while preserving ability to restore sessions on other servers
when using TLS Session Tickets.

Additionally, session context is now set even if there is no session cache
configured.  This is needed as it's also used for TLS Session Tickets.

Thanks to Antoine Delignat-Lavaud and Piotr Sikora.
2014-09-15 17:59:47 +04:00
Ruslan Ermilov 20f0527892 Resolver: notify all waiting requests on timeout.
If a "resolver_timeout" occurs, only the first waiting request
was notified.  Other requests may hang forever.
2014-08-19 15:43:26 +04:00
Ruslan Ermilov 5247433fa5 Resolver: fixed resend on malformed responses.
DNS request resend on malformed responses was broken in 98876ce2a7fd (1.5.8).

Reported by Pramod Korathota.
2014-07-16 10:21:28 +04:00
Maxim Dounin b1f68bb4ca Version bump. 2014-09-15 23:39:21 +04:00
Maxim Dounin 29e59e07dd release-1.6.1 tag 2014-08-05 15:18:34 +04:00
Maxim Dounin ed77182312 nginx-1.6.1-RELEASE 2014-08-05 15:18:34 +04:00
Maxim Dounin fbd2c82731 Mail: discard pipelined commands after SMTP STARTTLS.
The bug had appeared in nginx 1.5.6 (04e43d03e153).

Reported by Chris Boulton.
2014-08-05 12:22:07 +04:00
Maxim Dounin 069b7d9fb2 Reset of r->uri.len on URI parsing errors.
This ensures that debug logging and the $uri variable (if used in
400 Bad Request processing) will not try to access uninitialized
memory.

Found by Sergey Bobrov.
2014-07-18 20:02:11 +04:00
Maxim Dounin 274ff8196f Updated PCRE used for win32 builds. 2014-07-04 22:34:03 +04:00
Maxim Dounin f0c7d3b1ed Updated OpenSSL used for win32 builds. 2014-06-17 11:38:55 +04:00
Maxim Dounin f96771ab05 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.
2014-05-21 21:56:20 +04:00
Maxim Dounin 262e495316 Version bump. 2014-08-05 12:20:22 +04:00
Maxim Dounin af7ddb8fa8 release-1.6.0 tag 2014-04-24 16:52:24 +04:00
Maxim Dounin 20b12c129b nginx-1.6.0-RELEASE 2014-04-24 16:52:24 +04:00
Maxim Konovalov 3d7f4052e9 Missed comma fixed. A couple of Latin symbols plugged into
Russian text changed to Russian counterparts.
2014-04-23 16:00:59 +00:00
Maxim Dounin 958841e7d9 Version bump. 2014-04-18 20:10:42 +04:00
Maxim Dounin 515da31d88 stable-1.6 branch 2014-04-18 20:08:47 +04:00
Valentin Bartenev c69cabed1d SPDY: fixed typo in log message. 2014-04-16 11:40:42 +04:00
Valentin Bartenev 013449be01 Fixed missing "static" in declaration of ngx_http_gzip_quantity(). 2014-04-16 11:40:38 +04:00
Valentin Bartenev 7da40e6a99 SPDY: moved a variable initialization near to its check.
This should prevent attempts of using pointer before it was checked, since
all modern compilers are able to spot access to uninitialized variable.

No functional changes.
2014-04-09 18:15:32 +04:00
Valentin Bartenev 5d3f84e4e1 SPDY: fixed arguments supplied for an error message. 2014-04-08 20:12:30 +04:00
Valentin Bartenev 644a43ebd2 Version bump. 2014-04-08 20:11:31 +04:00
Maxim Dounin 622da8a825 release-1.5.13 tag 2014-04-08 18:15:22 +04:00
Maxim Dounin 3db1d1a39a nginx-1.5.13-RELEASE 2014-04-08 18:15:21 +04:00
Maxim Dounin 102e442f04 Updated OpenSSL used for win32 builds. 2014-04-08 17:48:03 +04:00
Valentin Bartenev 5cf11ab2e0 SPDY: avoid creating flush frames.
Previously, an empty frame object was created for an output chain that contains
only sync or flush empty buffers.  But since 39d7eef2e332 every DATA frame has
the flush flag set on its last buffer, so there's no need any more in additional
flush buffers in the output queue and they can be skipped.

Note that such flush frames caused an incorrect $body_bytes_sent value.
2014-04-07 23:35:33 +04:00