Vladimir Homutov
366a6f29e4
Mail: error_log support.
2015-02-20 15:31:37 +03:00
Vladimir Homutov
bcf9cd2d24
Core: the ngx_set_connection_log() macro.
...
The http and stream versions of this macro were identical.
2015-04-25 22:44:02 +03:00
Roman Arutyunyan
7b383d5d3b
Merge proxy_protocol setting of listen directives.
...
It's now enough to specify proxy_protocol option in one listen directive to
enable it in all servers listening on the same address/port. Previously,
the setting from the first directive was always used.
2015-04-24 10:54:06 +03:00
Ruslan Ermilov
523387de77
Removed the "worker_rlimit_sigpending" directive.
...
It was only needed by the just removed rtsig module.
2015-04-23 14:26:11 +03:00
Ruslan Ermilov
71b90a9bdd
Removed the obsolete rtsig module.
2015-04-23 14:17:40 +03:00
Ruslan Ermilov
90fca2303b
Removed the obsolete aio module.
2015-04-22 18:57:32 +03:00
Roman Arutyunyan
e99406d3f0
Stream: prevent repeated event notifications after eof.
...
When client or upstream connection is closed, level-triggered read event
remained active until the end of the session leading to cpu hog. Now the flag
NGX_CLOSE_EVENT is used to unschedule the event.
2015-04-22 19:55:04 +03:00
Ruslan Ermilov
ab98122416
Upstream: allow multiple upstreams to use the same shared zone.
2015-04-22 18:37:34 +03:00
Martin Mlynář
0b830caf30
Memcached: enabled ranges.
2015-04-21 21:04:36 +02:00
Ruslan Ermilov
31f5182119
Upstream: simplified ip_hash and hash peer selection code.
...
Now that peers are stored as a list, the weighted and unweighted
cases became nearly identical.
2015-04-21 19:09:04 +03:00
Sergey Kandaurov
bde284851a
Fixed building --with-stream when precompiled headers are used.
2015-04-20 17:36:51 +03:00
Sergey Kandaurov
2e527701f3
Limit req: removed check for unknown limit_req_zone.
...
With 48b3d5ddfb03, it's possible to specify limit_req_zone after limit_req.
2015-04-20 16:54:41 +03:00
Sergey Kandaurov
58aa1b73ea
Core: allow shared memory size to be declared after a reference.
...
For example, this fixes the case when "proxy_cache_path" is specified
after "proxy_cache" that references it.
2015-04-20 16:53:04 +03:00
Ruslan Ermilov
c6d6ff095f
Stream: port from NGINX+.
2015-04-20 13:05:11 +03:00
Ruslan Ermilov
4fcfe3955b
Upstream: fixed unlocked access to peer->conns.
2015-04-19 22:41:09 +03:00
Ruslan Ermilov
3ae7fed7e1
Replaced the remaining NGX_OLD_THREADS check with NGX_WIN32.
2015-03-26 14:20:51 +03:00
Ruslan Ermilov
6e8ba34b90
Removed NGX_OLD_THREADS from select and poll modules.
...
These modules can't be compiled on win32.
2015-03-26 14:20:07 +03:00
Ruslan Ermilov
2514db4c42
Removed "worker_threads" and "thread_stack_size" directives.
2015-03-26 14:15:17 +03:00
Ruslan Ermilov
e095ef94b6
Removed unused thread-local-storage code.
2015-03-26 14:15:15 +03:00
Ruslan Ermilov
39f8463476
Removed ngx_threaded and related code.
2015-03-26 14:15:13 +03:00
Ruslan Ermilov
5886a316b5
Upstream: get rid of questionable micro-optimization in ip_hash.
...
If a peer was initially skipped due to max_fails, there's no reason
not to try it again if enough time has passed, and the next_upstream
logic is in action.
This also reduces diffs with NGINX Plus.
2015-04-16 20:09:11 +03:00
Sergey Kandaurov
224ad0943a
Core: ensure that ngx_config.h is always included first.
...
This fixes compilation of various 3rd party modules when nginx is
configured with threads.
2015-04-16 18:18:37 +03:00
Maxim Dounin
56f13aabc3
Version bump.
2015-04-16 17:26:19 +03:00
Ruslan Ermilov
fb2cb325d9
Upstream: the "zone" directive.
...
Upstreams with the "zone" directive are kept in shared memory,
with a consistent view of all worker processes.
2015-04-14 19:01:25 +03:00
Ruslan Ermilov
38f45f0f43
Upstreams: locking.
2015-04-14 19:01:23 +03:00
Ruslan Ermilov
ec8cab3f7f
Core: read/write locks.
2015-03-21 14:05:08 +03:00
Ruslan Ermilov
6245905f69
Upstream: store peers as a linked list.
...
This is an API change.
2015-04-10 14:48:36 +03:00
Ruslan Ermilov
9dae3abcc6
Upstream: track the number of active connections to upstreams.
...
This also simplifies the implementation of the least_conn module.
2015-04-10 13:16:23 +03:00
Ruslan Ermilov
a9849bc5d6
Fixed build, broken by 8b7f062a3fe6.
...
Casting a "const char *" to "char *" doesn't work on older gcc versions.
2015-04-16 15:05:40 +03:00
Vladimir Homutov
555b3e74fe
Core: added OpenSSL version information to "nginx -V" output.
2015-04-16 12:17:41 +03:00
Vladimir Homutov
fcc244312c
Version bump.
2015-04-16 12:13:51 +03:00
Maxim Dounin
f446e0f054
release-1.7.12 tag
2015-04-07 18:35:33 +03:00
Maxim Dounin
7d2504b422
nginx-1.7.12-RELEASE
2015-04-07 18:35:33 +03:00
Ruslan Ermilov
cb154fccdb
Core: guard against spinlock usage without atomic ops.
...
The new thread pools code uses spinlocks.
2015-03-26 14:15:06 +03:00
Sergey Kandaurov
5e6739f8cc
Core: limited levels of subdirectory hierarchy used for temp files.
...
Similar to ngx_http_file_cache_set_slot(), the last component of file->name
with a fixed length of 10 bytes, as generated in ngx_create_temp_path(), is
used as a source for the names of intermediate subdirectories with each one
taking its own part. Ensure that the sum of specified levels with slashes
fits into the length (ticket #731 ).
2015-04-07 01:32:08 +03:00
Sergey Kandaurov
d9c0268c38
Core: removed excessive initialization in ngx_conf_set_path_slot().
...
Level hierarchy is pre-zeroed in ngx_pcalloc() of the surrounding ngx_path_t.
2015-04-07 01:32:07 +03:00
Sergey Kandaurov
9707c564c8
Core: fixed error handling on ngx_conf_full_name() failure.
2015-04-07 01:32:05 +03:00
Ruslan Ermilov
93eabd6a0e
Upstream: abbreviated SSL handshake may interact badly with Nagle.
2015-04-07 00:07:04 +03:00
Valentin Bartenev
be28c7ada3
Request body: always flush buffers if request buffering is off.
...
This fixes unbuffered proxying to SSL backends, since it prevents
ngx_ssl_send_chain() from accumulation of request body in the SSL
buffer.
2015-04-06 19:20:36 +03:00
Valentin Bartenev
9b516414e7
Used the correct type for the AIO preload handler return value.
2015-04-06 11:22:24 +03:00
Maxim Dounin
4302005190
Configure: style.
2015-04-03 18:20:57 +03:00
Filipe da Silva
3fd06f4de5
OCSP stapling: missing free calls.
...
Missing call to X509_STORE_CTX_free when X509_STORE_CTX_init fails.
Missing call to OCSP_CERTID_free when OCSP_request_add0_id fails.
Possible leaks in vary particular scenariis of memory shortage.
2015-04-01 15:05:08 +02:00
Valentin Bartenev
70ee643e20
Cache: added support for reading of the header in thread pools.
2015-04-01 03:49:17 +03:00
Sergey Kandaurov
bb1aacc0b5
Fixed invalid access to complex value defined as an empty string.
...
Found by Valgrind.
2015-03-31 17:45:50 +03:00
Valentin Bartenev
7f2b8fa967
Events: fixed possible crash on start or reload.
...
The main thread could wake up and start processing the notify event
before the handler was set.
2015-03-27 21:19:20 +03:00
Valentin Bartenev
43cf48b5c1
Events: made posted events macros safe.
2015-03-27 19:57:15 +03:00
Valentin Bartenev
a5880ddcbf
SPDY: always push pending data.
...
This helps to avoid suboptimal behavior when a client waits for a control
frame or more data to increase window size, but the frames have been delayed
in the socket buffer.
The delays can be caused by bad interaction between Nagle's algorithm on
nginx side and delayed ACK on the client side or by TCP_CORK/TCP_NOPUSH
if SPDY was working without SSL and sendfile() was used.
The pushing code is now very similar to ngx_http_set_keepalive().
2015-03-23 21:04:13 +03:00
Valentin Bartenev
d733a14ab8
SPDY: fixed error handling in ngx_http_spdy_send_output_queue().
2015-03-23 20:47:46 +03:00
Maxim Dounin
caace05203
Version bump.
2015-03-26 17:36:39 +03:00
Maxim Dounin
d4247658b6
Proxy: fixed proxy_request_buffering and chunked with preread body.
...
If any preread body bytes were sent in the first chain, chunk size was
incorrectly added before the whole chain, including header, resulting in
an invalid request sent to upstream. Fixed to properly add chunk size
after the header.
2015-03-26 02:31:30 +03:00