summaryrefslogtreecommitdiffhomepage
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2015-07-14Stream: renamed rate limiting directives.Roman Arutyunyan1-14/+14
The directive proxy_downstream_limit_rate is now called proxy_upload_rate. The directive proxy_upstream_limit_rate is now called proxy_download_rate.
2015-07-14OCSP stapling: fixed segfault without nextUpdate.Maxim Dounin1-5/+10
OCSP responses may contain no nextUpdate. As per RFC 6960, this means that nextUpdate checks should be bypassed. Handle this gracefully by using NGX_MAX_TIME_T_VALUE as "valid" in such a case. The problem was introduced by 6893a1007a7c (1.9.2). Reported by Matthew Baldwin.
2015-07-07OCSP stapling: fixed ssl_stapling_file (ticket #769).Maxim Dounin1-0/+1
Broken by 6893a1007a7c (1.9.2) during introduction of strict OCSP response validity checks. As stapling file is expected to be returned unconditionally, fix is to set its validity to the maximum supported time. Reported by Faidon Liambotis.
2015-07-02Stream: fixed possible integer overflow in rate limiting.Valentin Bartenev1-1/+1
2015-07-02Stream: fixed MSVC compilation warning.Roman Arutyunyan1-1/+1
Thanks to itpp2012.
2015-06-25Stream: upstream "connected" flag.Roman Arutyunyan2-5/+7
Once upstream is connected, the upstream buffer is allocated. Previously, the proxy module used the buffer allocation status to check if upstream is connected. Now it's enough to check the flag.
2015-06-23Stream: upstream and downstream limit rates.Roman Arutyunyan2-15/+111
2015-06-23Stream: common handler for upstream and downstream.Roman Arutyunyan1-25/+18
2015-06-18Stream: avoid SSL_CTX_set_tmp_rsa_callback() call with LibreSSL.Piotr Sikora1-0/+2
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2015-06-16Upstream: fixed shared upstreams on win32.Ruslan Ermilov4-24/+64
2015-06-18Stream: connection limiting module.Vladimir Homutov3-0/+642
stream { limit_conn_zone $binary_remote_addr zone=perip:1m; limit_conn_log_level error; server { ... limit_conn perip 1; } }
2015-06-17Resolver: canceled resend timer on empty resend queues.Sergey Kandaurov1-0/+20
This is specifically useful on graceful shutdown.
2015-06-16Disabled duplicate http, mail, and stream blocks.Vladimir Homutov3-0/+12
Such configurations have very limited use, introduce various problems and are not officially supported.
2015-06-16Version bump.Vladimir Homutov1-2/+2
2015-05-14Core: store and dump processed configuration.Vladimir Homutov5-4/+88
If the -T option is passed, additionally to configuration test, configuration files are output to stdout. In the debug mode, configuration files are kept in memory and can be accessed using a debugger.
2015-06-16Core: added support for writing to stdout.Vladimir Homutov3-0/+9
2015-06-16Core: renamed ngx_proxy_protocol_parse to ngx_proxy_protocol_read.Roman Arutyunyan4-5/+5
The new name is consistent with the ngx_proxy_protocol_write function.
2015-06-16Stream: client-side PROXY protocol.Roman Arutyunyan4-2/+170
The new directive "proxy_protocol" toggles sending out PROXY protocol header to upstream once connection is established.
2015-06-16Stream: the "proxy_bind" directive.Vladimir Homutov1-0/+57
2015-06-11OCSP stapling: avoid sending expired responses (ticket #425).Maxim Dounin1-6/+62
2015-06-11Moved ngx_http_parse_time() to core, renamed accordingly.Maxim Dounin10-15/+34
The function is now called ngx_parse_http_time(), and can be used by any code to parse HTTP-style date and time. In particular, it will be used for OCSP stapling. For compatibility, a macro to map ngx_http_parse_time() to the new name provided for a while.
2015-06-11Removed unused ngx_http_get_time() declaration.Maxim Dounin1-2/+0
2015-06-04Stream: access module.Vladimir Homutov3-12/+480
stream { server { ... allow 127.0.0.1; deny all; } }
2015-06-09Stream: added postconfiguration method to stream modules.Vladimir Homutov9-0/+30
2015-06-08Mail: listen backlog=.Ruslan Ermilov3-0/+17
2015-06-08Stream: listen backlog=.Ruslan Ermilov3-0/+17
2015-06-08Mail: embed ngx_mail_listen_t into ngx_mail_conf_addr_t.Ruslan Ermilov3-68/+48
2015-06-08Stream: embed ngx_stream_listen_t into ngx_stream_conf_addr_t.Ruslan Ermilov3-75/+49
2015-06-05Stream: fixed "reuseport" to actually work.Ruslan Ermilov2-0/+10
2015-06-04Upstream keepalive: reduced diffs to the plus version of nginx.Roman Arutyunyan1-39/+42
2015-06-05Style.Maxim Dounin1-1/+2
2015-06-03Event pipe: call ngx_handle_read_event() with a proper flags type.Sergey Kandaurov1-1/+1
The change was missed in f69d1aab6a0f.
2015-06-01Fixed excessive memory usage while parsing configuration.Valentin Bartenev1-1/+1
The b->pos points to the next symbol here. Reported by ilexshen.
2015-05-29Fixed bullying style of comments.Ruslan Ermilov1-4/+4
2015-05-29Version bump.Ruslan Ermilov1-2/+2
2015-05-25Disabled SSLv3 by default (ticket #653).Maxim Dounin6-12/+9
2015-05-25Configure: GNU Hurd properly recognized.Maxim Dounin1-0/+8
With this change it's no longer needed to pass -D_GNU_SOURCE manually, and -D_FILE_OFFSET_BITS=64 is set to use 64-bit off_t. Note that nginx currently fails to work properly with master process enabled on GNU Hurd, as fcntl(F_SETOWN) returns EOPNOTSUPP for sockets as of GNU Hurd 0.6. Additionally, our strerror() preloading doesn't work well with GNU Hurd, as it uses large numbers for most errors.
2015-05-21Fixed reuseport with accept_mutex.Maxim Dounin1-1/+6
2015-05-20Upstream: report to error_log when max_fails is reached.Ruslan Ermilov2-0/+10
This can be useful to understand why "no live upstreams" happens, in particular.
2015-05-20The "reuseport" option of the "listen" directive.Maxim Dounin11-6/+196
When configured, an individual listen socket on a given address is created for each worker process. This allows to reduce in-kernel lock contention on configurations with high accept rates, resulting in better performance. As of now it works on Linux and DragonFly BSD. Note that on Linux incoming connection requests are currently tied up to a specific listen socket, and if some sockets are closed, connection requests will be reset, see https://lwn.net/Articles/542629/. With nginx, this may happen if the number of worker processes is reduced. There is no such problem on DragonFly BSD. Based on previous work by Sepherosa Ziehau and Yingqi Lu.
2015-05-20Simplified ngx_http_init_listening().Maxim Dounin3-21/+3
There is no need to set "i" to 0, as it's expected to be 0 assuming the bindings are properly sorted, and we already rely on this when explicitly set hport->naddrs to 1. Remaining conditional code is replaced with identical "hport->naddrs = i + 1". Identical modifications are done in the mail and stream modules, in the ngx_mail_optimize_servers() and ngx_stream_optimize_servers() functions, respectively. No functional changes.
2015-05-20Introduced worker number, ngx_worker.Maxim Dounin4-0/+5
2015-05-19Core: properly initialized written bytes counter in memory log.Valentin Bartenev1-1/+1
2015-05-18Upstream hash: consistency across little/big endianness.Sergey Kandaurov2-8/+30
2015-05-16Upstream: $upstream_connect_time.Ruslan Ermilov2-1/+14
The variable keeps time spent on establishing a connection with the upstream server.
2015-05-16Upstream: times to obtain header/response are stored as ngx_msec_t.Ruslan Ermilov2-30/+13
2015-05-15Events: ngx_event_t size reduction by grouping bit fields.Igor Sysoev1-9/+8
2015-05-06Events: made a failure to create a notification channel non-fatal.Ruslan Ermilov1-1/+1
This may happen if eventfd() returns ENOSYS, notably seen on CentOS 5.4. Such a failure will now just disable the notification mechanism and let the callers cope with it, instead of failing to start worker processes. If thread pools are not configured, this can safely be ignored.
2015-04-29Removed the deprecated "imap" directive.Ruslan Ermilov1-13/+0
2015-04-29Removed the deprecated "so_keepalive" directive.Ruslan Ermilov3-31/+0