aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Fixed possible buffer overrun in "too long header line" logging.Maxim Dounin2014-10-08
| | | | | | | Additionally, ellipsis now always added to make it clear that the header logged is incomplete. Reported by Daniil Bondarev.
* Core: fixed buffer overrun when hash max_size reached.Yichun Zhang2014-10-02
|
* Upstream: fix $upstream_cache_last_modified variable.Piotr Sikora2014-10-01
| | | | | | | | | | Due to the u->headers_in.last_modified_time not being correctly initialized, this variable was evaluated to "Thu, 01 Jan 1970 00:00:00 GMT" for responses cached without the "Last-Modified" header which resulted in subsequent proxy requests being sent with "If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT" header. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* Fixed counting of sent bytes in the send chain functions on EINTR.Valentin Bartenev2014-08-27
| | | | | | Previously, a value of the "send" variable wasn't properly adjusted in a rare case when syscall was interrupted by a signal. As a result, these functions could send less data than the limit allows.
* Version bump.Valentin Bartenev2014-10-02
|
* Upstream keepalive: reset c->sent on cached connections.Maxim Dounin2014-09-29
| | | | | | The c->sent is reset to 0 on each request by server-side http code, so do the same on client side. This allows to count number of bytes sent in a particular request.
* Limit req: reduced number of parameters in the lookup function.Valentin Bartenev2014-09-24
| | | | No functional changes.
* Limit req: use complex value in limit_req_zone.Valentin Bartenev2014-09-24
| | | | | | | One intentional side effect of this change is that key is allowed only in the first position. Previously, it was possible to specify the key variable at any position, but that was never documented, and is contrary with nginx configuration practice for positional parameters.
* Limit conn: aligned field names in structures.Valentin Bartenev2014-09-24
| | | | No functional changes.
* Limit conn: use complex value in limit_conn_zone (ticket #121).Valentin Bartenev2014-09-24
| | | | | | | One intentional side effect of this change is that key is allowed only in the first position. Previously, it was possible to specify the key variable at any position, but that was never documented, and is contrary to nginx configuration practice for positional parameters.
* Limit conn: removed deprecated "limit_zone" directive.Valentin Bartenev2014-09-24
| | | | | It's deprecated since 260d591cb6a3 (1.1.8). The "limit_conn_zone" directive should be used instead.
* Syslog: improved error handling of unix domain sockets.Vladimir Homutov2014-08-26
| | | | | | If a syslog daemon is restarted and the unix socket is used, further logging might stop to work. In case of send error, socket is closed, forcing a reconnection at the next logging attempt.
* Syslog: enabled logging of send errors.Vladimir Homutov2014-09-01
| | | | | | | | | | | The ngx_cycle->log is used when sending the message. This allows to log syslog send errors in another log. Logging to syslog after its cleanup handler has been executed was prohibited. Previously, this was possible from ngx_destroy_pool(), which resulted in error messages caused by attempts to write into the closed socket. The "processing" flag is renamed to "busy" to better match its semantics.
* Avoided to add duplicate hash key in ngx_http_types_slot().Gu Feng2014-09-17
|
* Removed duplicate initialization of the "rev" variable.Valentin Bartenev2014-09-22
|
* Generalized definitions of the number of preallocated iovec's.Valentin Bartenev2014-08-13
| | | | No functional changes.
* Reduced difference between the send chain functions.Valentin Bartenev2014-08-13
| | | | No functional changes. This follows the change from ad137a80919f.
* Merged implementations of ngx_readv_chain().Valentin Bartenev2014-08-13
| | | | | There's no real need in two separate implementations, with and without kqueue support.
* Removed the "complete" variable from various send chain functions.Valentin Bartenev2014-08-13
| | | | | It was made redundant by the previous change, since the "sent" variable is no longer modified.
* Moved the code for adjusting sent buffers in a separate function.Valentin Bartenev2014-08-13
|
* Fixed writev() debug log message in ngx_darwin_sendfile_chain().Valentin Bartenev2014-08-13
|
* Upstream: fixed file buffers reinit in ngx_http_upstream_reinit().Roman Arutyunyan2014-09-18
| | | | | | | Previously, a file buffer start position was reset to the file start. Now it's reset to the previous file buffer end. This fixes reinitialization of requests having multiple successive parts of a single file. Such requests are generated by fastcgi module.
* FastCGI: fixed start pointers in request buffers.Roman Arutyunyan2014-09-18
| | | | | The start pointers are used in ngx_http_upstream_reinit() to reinit FastCGI requests.
* Limit req: don't truncate key value to 255 bytes.Valentin Bartenev2014-09-16
| | | | | While the module allows to use values up to 65535 bytes as a key, that actually never worked properly.
* Version bump.Valentin Bartenev2014-09-17
|
* SSL: session id context now includes certificate hash.Maxim Dounin2014-09-15
| | | | | | | | | | | 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.
* Access log: fixed the "if=" parameter with buffering (ticket #625).Valentin Bartenev2014-09-13
| | | | | It might not work if there were more than one "access_log" directives pointed to the same file and duplicate buffer parameters.
* Upstream: limited next_upstream time and tries (ticket #544).Roman Arutyunyan2014-09-12
| | | | | | | The new directives {proxy,fastcgi,scgi,uwsgi,memcached}_next_upstream_tries and {proxy,fastcgi,scgi,uwsgi,memcached}_next_upstream_timeout limit the number of upstreams tried and the maximum time spent for these tries when searching for a valid upstream.
* Upstream: included backup peers into peer.tries.Roman Arutyunyan2014-09-12
| | | | Since peer.tries is never reset it can now be limited if required.
* Upstream keepalive: removed "single" parameter remnants.Maxim Dounin2014-09-11
| | | | The "single" parameter is deprecated and ignored since 5b5c07dee156 (1.3.2).
* Added warning about unset cache keys.Maxim Dounin2014-09-11
| | | | | In fastcgi, scgi and uwsgi modules there are no default cache keys, and using a cache without a cache key set is likely meaningless.
* Style.Maxim Dounin2014-09-11
|
* Upstream: avoided directly terminating the connection.FengGu2014-08-13
| | | | | | When memory allocation failed in ngx_http_upstream_cache(), the connection would be terminated directly in ngx_http_upstream_init_request(). Return a INTERNAL_SERVER_ERROR response instead.
* Added ngx_init_setproctitle() return code check.Maxim Dounin2014-09-08
| | | | | | | | The ngx_init_setproctitle() function, as used on systems without setproctitle(3), may fail due to memory allocation errors, and therefore its return code needs to be checked. Reported by Markus Linnala.
* Fixed ETag memory allocation error handling.Maxim Dounin2014-09-08
| | | | | | | | The etag->hash must be set to 0 to avoid an empty ETag header being returned with the 500 Internal Server Error page after the memory allocation failure. Reported by Markus Linnala.
* Core: ngx_regex_compile() error handling fixes.Maxim Dounin2014-09-08
| | | | | | | Now we actually return NGX_ERROR on errors, and provide an error string for memory allocation errors. Reported by Markus Linnala.
* SSL: guard use of all SSL options for bug workarounds.Piotr Sikora2014-09-03
| | | | | | | | | | | Some of the OpenSSL forks (read: BoringSSL) started removing unused, no longer necessary and/or not really working bug workarounds along with the SSL options and defines for them. Instead of fixing nginx build after each removal, be proactive and guard use of all SSL options for bug workarounds. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* Upstream: suppressed the file cache slab allocator error messages.Roman Arutyunyan2014-09-05
| | | | | | | The messages "ngx_slab_alloc() failed: no memory in cache keys zone" from the file cache slab allocator are suppressed since the allocation is likely to succeed after the forced expiration of cache nodes. The second allocation failure is reported.
* Events: processing of posted events changed from LIFO to FIFO.Valentin Bartenev2014-09-01
| | | | | | | In theory, this can provide a bit better distribution of latencies. Also it simplifies the code, since ngx_queue_t is now used instead of custom implementation.
* Events: removed broken thread support from posted events.Valentin Bartenev2014-09-01
| | | | | It's mostly dead code. And the idea of thread support for this task has been deprecated.
* Mail: initialize the "signature" field of ngx_mail_session_t.Valentin Bartenev2014-09-01
| | | | | Currently it isn't used, but it can be suitable to distinguish objects stored in c->data.
* Upstream: improved configuration parser diagnostics.Ruslan Ermilov2014-09-01
| | | | | Made it clear when the selected balancing method does not support certain parameters of the "server" directive.
* Headers filter: "add_header" with "always" parameter (ticket #98).Sergey Kandaurov2014-08-29
| | | | If specified, the header field is set regardless of the status code.
* Variables: updated list of prefixes in ngx_http_rewrite_set().Maxim Dounin2014-08-27
|
* Variables: fixed non-indexed access of prefix vars (ticket #600).Maxim Dounin2014-08-27
| | | | | | | | | | | | | | | | Previously, a configuration like location / { ssi on; ssi_types *; set $http_foo "bar"; return 200 '<!--#echo var="http_foo" -->\n'; } resulted in NULL pointer dereference in ngx_http_get_variable() as the variable was explicitly added to the variables hash, but its get_handler wasn't properly set in the hash. Fix is to make sure that get_handler is properly set by ngx_http_variables_init_vars().
* SPDY: added a comment about handling stream with the timer set.Valentin Bartenev2014-08-18
|
* SPDY: avoid setting timeout on stream events in ngx_http_writer().Valentin Bartenev2014-08-27
| | | | | | | The SPDY module doesn't expect timers can be set on stream events for reasons other than delaying output. But ngx_http_writer() could add timer on write event if the delayed flag wasn't set and nginx is waiting for AIO completion. That could cause delays in sending response over SPDY when file AIO was used.
* Resolver: notify all waiting requests on timeout.Ruslan Ermilov2014-08-19
| | | | | If a "resolver_timeout" occurs, only the first waiting request was notified. Other requests may hang forever.
* Stub status: corrected the "stub_status" directive.Ruslan Ermilov2014-08-26
| | | | The "stub_status" directive does not require an argument.
* Sub filter: fixed matching for a single character.Valentin Bartenev2014-08-25
|