aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Mail: fixed segfault with ssl/starttls at mail{} level and no cert.Maxim Dounin2013-09-30
| | | | | A configuration like "mail { starttls on; server {}}" triggered NULL pointer dereference in ngx_mail_ssl_merge_conf() as conf->file was not set.
* Mail: fixed overrun of allocated memory (ticket #411).Maxim Dounin2013-09-30
| | | | Reported by Markus Linnala.
* Core: fix misallocation at ngx_crypt_apr1 (ticket #412).Markus Linnala2013-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by using auth_basic.t from mdounin nginx-tests under valgrind. ==10470== Invalid write of size 1 ==10470== at 0x43603D: ngx_crypt_to64 (ngx_crypt.c:168) ==10470== by 0x43648E: ngx_crypt (ngx_crypt.c:153) ==10470== by 0x489D8B: ngx_http_auth_basic_crypt_handler (ngx_http_auth_basic_module.c:297) ==10470== by 0x48A24A: ngx_http_auth_basic_handler (ngx_http_auth_basic_module.c:240) ==10470== by 0x44EAB9: ngx_http_core_access_phase (ngx_http_core_module.c:1121) ==10470== by 0x44A822: ngx_http_core_run_phases (ngx_http_core_module.c:895) ==10470== by 0x44A932: ngx_http_handler (ngx_http_core_module.c:878) ==10470== by 0x455EEF: ngx_http_process_request (ngx_http_request.c:1852) ==10470== by 0x456527: ngx_http_process_request_headers (ngx_http_request.c:1283) ==10470== by 0x456A91: ngx_http_process_request_line (ngx_http_request.c:964) ==10470== by 0x457097: ngx_http_wait_request_handler (ngx_http_request.c:486) ==10470== by 0x4411EE: ngx_epoll_process_events (ngx_epoll_module.c:691) ==10470== Address 0x5866fab is 0 bytes after a block of size 27 alloc'd ==10470== at 0x4A074CD: malloc (vg_replace_malloc.c:236) ==10470== by 0x43B251: ngx_alloc (ngx_alloc.c:22) ==10470== by 0x421B0D: ngx_malloc (ngx_palloc.c:119) ==10470== by 0x421B65: ngx_pnalloc (ngx_palloc.c:147) ==10470== by 0x436368: ngx_crypt (ngx_crypt.c:140) ==10470== by 0x489D8B: ngx_http_auth_basic_crypt_handler (ngx_http_auth_basic_module.c:297) ==10470== by 0x48A24A: ngx_http_auth_basic_handler (ngx_http_auth_basic_module.c:240) ==10470== by 0x44EAB9: ngx_http_core_access_phase (ngx_http_core_module.c:1121) ==10470== by 0x44A822: ngx_http_core_run_phases (ngx_http_core_module.c:895) ==10470== by 0x44A932: ngx_http_handler (ngx_http_core_module.c:878) ==10470== by 0x455EEF: ngx_http_process_request (ngx_http_request.c:1852) ==10470== by 0x456527: ngx_http_process_request_headers (ngx_http_request.c:1283) ==10470==
* Win32: $request_time fixed.Maxim Dounin2013-09-04
| | | | | | On win32, time_t is 64 bits wide by default, and passing an ngx_msec_int_t argument for %T format specifier doesn't work. This doesn't manifest itself on other platforms as time_t and ngx_msec_int_t are usually of the same size.
* Fixed try_files with empty argument (ticket #390).Maxim Dounin2013-08-23
|
* Autoindex: improved ngx_de_info() error handling.Sergey Kandaurov2013-07-30
| | | | | This allows to build a directory listing whenever a loop exists in symbolic link resolution of the path argument.
* Autoindex: return NGX_ERROR on error if headers were sent.Sergey Kandaurov2013-07-30
| | | | | This prevents ngx_http_finalize_request() from issuing ngx_http_special_response_handler() on a freed context.
* SPDY: fixed segfault with "client_body_in_file_only" enabled.Valentin Bartenev2013-07-24
| | | | | | | | | | It is possible to send FLAG_FIN in additional empty data frame, even if it is known from the content-length header that request body is empty. And Firefox actually behaves like this (see ticket #357). To simplify code we sacrificed our microoptimization that did not work right due to missing check in the ngx_http_spdy_state_data() function for rb->buf set to NULL.
* Version bump.Maxim Dounin2013-10-07
|
* Perl: fixed r->header_in("Cookie") (ticket #351).Maxim Dounin2013-06-10
| | | | | It was broken by X-Forwarded-For related changes in f7fe817c92a2 (1.3.14) as hh->offset is no longer 0 for Cookie.
* Win32: accept_mutex now always disabled (ticket #362).Maxim Dounin2013-05-31
| | | | | | Use of accept mutex on win32 may result in a deadlock if there are multiple worker_processes configured and the mutex is grabbed by a process which can't accept connections.
* Upstream: fixed fail_timeout and max_fails > 1.Maxim Dounin2013-05-21
| | | | | | | | | | Due to peer->checked always set since rev. c90801720a0c (1.3.0) by round-robin and least_conn balancers (ip_hash not affected), the code in ngx_http_upstream_free_round_robin_peer() function incorrectly reset peer->fails too often. Reported by Dmitry Popov, http://mailman.nginx.org/pipermail/nginx-devel/2013-May/003720.html
* OCSP stapling: fix error logging of successful OCSP responses.Piotr Sikora2013-05-16
| | | | | | | | | | Due to a bad argument list, nginx worker would crash (SIGSEGV) while trying to log the fact that it received OCSP response with "revoked" or "unknown" certificate status. While there, fix similar (but non-crashing) error a few lines above. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* Proxy: $proxy_internal_body_length fixed.Maxim Dounin2013-05-11
| | | | | | | | The $proxy_internal_body_length value might change during request lifetime, notably if proxy_set_body used, and use of a cached value might result in incorrect upstream requests. Patch by Lanshun Zhou.
* Fixed build with --with-mail_ssl_module.Maxim Dounin2013-05-11
| | | | | | | | | If nginx was compiled without --with-http_ssl_module, but with some other module which uses OpenSSL (e.g. --with-mail_ssl_module), insufficient preprocessor check resulted in build failure. The problem was introduced by e0a3714a36f8 (1.3.14). Reported by Roman Arutyunyan.
* Perl: extra "return" removed.Maxim Dounin2013-05-11
|
* Version bump.Maxim Dounin2013-07-12
|
* Fixed chunk size parsing.Maxim Dounin2013-05-06
|
* Version bump.Maxim Dounin2013-05-06
|
* Version bump.Maxim Dounin2013-04-24
|
* SPDY: set NGX_TCP_NODELAY_DISABLED for fake connections.Valentin Bartenev2013-04-23
| | | | | | This is to avoid setting the TCP_NODELAY flag on SPDY socket in ngx_http_upstream_send_response(). The latter works per request, but in SPDY case it might affect other streams in connection.
* Perl: request body handling fixed.Maxim Dounin2013-04-23
| | | | | | | As of 1.3.9, chunked request body may be available with r->headers_in.content_length_n <= 0. Additionally, request body may be in multiple buffers even if r->request_body_in_single_buf was requested.
* Configure: fixed perl Makefile generation (ticket #334).Maxim Dounin2013-04-19
| | | | | | | | | | | | | Dependancy tracking introduced in r5169 were not handled absolute path names properly. Absolute names might appear in CORE_DEPS if --with-openssl or --with-pcre configure arguments are used to build OpenSSL/PCRE libraries. Additionally, revert part of r5169 to set NGX_INCS from Makefile variables. Makefile variables have $ngx_include_opt in them, which might result in wrong include paths being used. As a side effect, this also restores build with --with-http_perl_module and --without-http at the same time.
* Version bump.Ruslan Ermilov2013-04-18
|
* Events: backout eventport changes (r5172) for now.Maxim Dounin2013-04-16
| | | | | Evenport method needs more work. Changes in r5172, while being correct, introduce various new regressions with current code.
* Request body: only read body in main request (ticket #330).Maxim Dounin2013-04-16
| | | | | | | | | | Before 1.3.9 an attempt to read body in a subrequest only caused problems if body wasn't already read or discarded in a main request. Starting with 1.3.9 it might also cause problems if body was discarded by a main request before subrequest start. Fix is to just ignore attempts to read request body in a subrequest, which looks like right thing to do anyway.
* Upstream: warn if multiple non-stackable balancers are installed.Ruslan Ermilov2013-04-12
|
* Events: fixed typos in two previous commits.Valentin Bartenev2013-04-12
|
* Events: handle only active events in eventport.Valentin Bartenev2013-04-12
| | | | | | We generate both read and write events if an error event was returned by port_getn() without POLLIN/POLLOUT, but we should not try to handle inactive events, they may even have no handler.
* Events: protection from stale events in eventport and devpoll.Valentin Bartenev2013-04-12
| | | | | | | | | | | Stale write event may happen if read and write events was reported both, and processing of the read event closed descriptor. In practice this might result in "sendfilev() failed (134: ..." or "writev() failed (134: ..." errors when switching to next upstream server. See report here: http://mailman.nginx.org/pipermail/nginx/2013-April/038421.html
* Upstream: fixed $upstream_response_length without buffering.Sergey Kandaurov2013-04-11
| | | | Reported by Piotr Sikora.
* Configure: fixed nginx.so rebuild (broken by r5145).Maxim Dounin2013-04-10
| | | | | | | To avoid further breaks it's now done properly, all the dependencies are now passed to Makefile.PL. While here, fixed include list passed to Makefile.PL to use Makefile variables rather than a list expanded during configure.
* Upstream: removed surplus ngx_resolve_name_done() call.Valentin Bartenev2013-04-04
| | | | It will be called in ngx_http_upstream_finalize_request().
* Limit req: rate should be non-zero.Valentin Bartenev2013-04-03
| | | | Specifying zero rate caused division by zero when calculating delays.
* Pass PCRE_CASELESS to pcre_compile() for caseless matching.Ruslan Ermilov2013-03-29
| | | | | Previously, we sometimes passed constant value 1 that happens to match PCRE_CASELESS and thus was harmless.
* Simplified nginx version maintenance.Ruslan Ermilov2013-03-28
| | | | | It's no longer necessary to update src/http/modules/perl/nginx.pm when version is bumped, as it's now derived from src/core/nginx.h.
* Upstream: fixed tcp_nodelay with connection upgrade (ticket #325).Maxim Dounin2013-03-27
|
* Event connect: don't penalize AF_INET6 connections.Maxim Dounin2013-03-27
| | | | | | Problems with setsockopt(TCP_NODELAY) and setsockopt(TCP_NOPUSH), as well as sendfile() syscall on Solaris, are specific to UNIX-domain sockets. Other address families, i.e. AF_INET and AF_INET6, are fine.
* Version bump.Maxim Dounin2013-03-27
|
* Use NGX_FILE_ERROR for handling file operations errors.Valentin Bartenev2013-03-25
| | | | | | | | | | | On Win32 platforms 0 is used to indicate errors in file operations, so comparing against -1 is not portable. This was not much of an issue in patched code, since only ngx_fd_info() test is actually reachable on Win32 and in worst case it might result in bogus error log entry. Patch by Piotr Sikora.
* Upstream: removed rudiments of upstream connection caching.Ruslan Ermilov2013-03-25
| | | | This functionality is now provided by ngx_http_upstream_keepalive_module.
* Upstream: removed sorting of upstream servers.Ruslan Ermilov2013-03-25
| | | | | | | | Sorting of upstream servers by their weights is not required by current balancing algorithms. This will likely change mapping to backends served by ip_hash weighted upstreams.
* Mail: IPv6 backends (ticket #323).Ruslan Ermilov2013-03-25
|
* Upstream: removed double-free workarounds in peer.free() methods.Ruslan Ermilov2013-03-25
|
* Upstream: only call peer.free() if peer.get() selected a peer.Ruslan Ermilov2013-03-25
|
* Split clients: check length when parsing configuration.Ruslan Ermilov2013-03-21
|
* Removed unused ngx_http_clear_variable() macro.Ruslan Ermilov2013-03-21
|
* Fixed language in a comment preceding ngx_http_index_handler().Ruslan Ermilov2013-03-21
|
* Moved ngx_array_t definition from ngx_core.h to ngx_array.h.Ruslan Ermilov2013-03-21
|
* Use NGX_DEFAULT_POOL_SIZE macro where appropriate.Ruslan Ermilov2013-03-21
|