summaryrefslogtreecommitdiffhomepage
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2012-08-08Added three missing checks for NULL after ngx_array_push() calls.Valentin Bartenev3-0/+10
Found by Coverity.
2012-08-07Explicitly ignore returned value from close() in ngx_event_core_init_conf().Andrey Belov1-1/+1
We don't have strong reason to inform about any errors reported by close() call here, and there are no other things to do with its return value. Prodded by Coverity.
2012-08-06Explicitly ignore returned value from unlink() in ngx_open_tempfile().Andrey Belov1-1/+1
The only thing we could potentially do here in case of error returned is to complain to error log, but we don't have log structure available here due to interface limitations. Prodded by Coverity.
2012-08-06Resolver: fixed possible memory leak in ngx_resolver_create().Maxim Dounin1-9/+9
Found by Coverity.
2012-08-03Fixed the -p parameter handling.Ruslan Ermilov1-1/+1
Ensure that the path supplied always ends with a `/' except when empty. An empty value now corresponds to the current directory instead of `/'.
2012-08-03Fixed possible use of old cached times if runtime went backwards.Maxim Dounin1-0/+4
If ngx_time_sigsafe_update() updated only ngx_cached_err_log_time, and then clock was adjusted backwards, the cached_time[slot].sec might accidentally match current seconds on next ngx_time_update() call, resulting in various cached times not being updated. Fix is to clear the cached_time[slot].sec to explicitly mark cached times are stale and need updating.
2012-08-03Added "const" to ngx_memcpy() with NGX_MEMCPY_LIMIT defined.Maxim Dounin2-2/+2
This fixes warning produced during compilation of the ngx_http_geoip_module due to const qualifier being discarded.
2012-08-03Whitespace fix.Maxim Dounin1-2/+2
2012-08-02Win32: fixed build with Visual Studio 2005 Express.Maxim Dounin1-0/+1
It is available via winetricks which makes it still usable, and has an old crtdefs.h which uses _CRT_SECURE_NO_DEPRECATE instead of _CRT_SECURE_NO_WARNINGS to suppress warnings. Reported by HAYASHI Kentaro, http://mailman.nginx.org/pipermail/nginx-devel/2012-August/002542.html
2012-08-01Reorder checks in ngx_shared_memory_add() for more consistent error messages.Andrey Belov1-8/+8
2012-07-31Version bump.Ruslan Ermilov2-3/+3
2012-07-30Core: ipv6only is now on by default.Ruslan Ermilov6-8/+15
There is a general consensus that this change results in better consistency between different operating systems and differently tuned operating systems. Note: this changes the width and meaning of the ipv6only field of the ngx_listening_t structure. 3rd party modules that create their own listening sockets might need fixing.
2012-07-30ngx_http_find_virtual_server() should return NGX_DECLINED if virtual server notValentin Bartenev1-1/+1
found.
2012-07-30Upstream: hide_headers/pass_headers inheritance fix.Maxim Dounin1-3/+3
Hide headers and pass headers arrays might not be inherited correctly into a nested location, e.g. in configuration like server { proxy_hide_header X-Foo; location / { location /nested/ { proxy_pass_header X-Pad; } } } the X-Foo header wasn't hidden in the location /nested/. Reported by Konstantin Svist, http://mailman.nginx.org/pipermail/nginx-ru/2012-July/047555.html
2012-07-29Improved diagnostics when a directive is specified in the wrong context.Ruslan Ermilov3-23/+16
2012-07-29Slight optimization in ngx_http_upstream_add(): replaced an expressionRuslan Ermilov1-1/+1
known to be constant with the constant value.
2012-07-29ngx_http_upstream_add() should return NULL if an error occurs.Ruslan Ermilov1-2/+2
2012-07-26Reduced the number of preprocessor directives.Ruslan Ermilov1-5/+1
2012-07-24When "debug_connection" is configured with a domain name, only the firstRuslan Ermilov1-25/+66
resolved address was used. Now all addresses will be used.
2012-07-24Fixed compilation with -Wmissing-prototypes.Ruslan Ermilov14-8/+75
2012-07-23Win32: fixed cpu hog after process startup failure.Maxim Dounin1-0/+1
If ngx_spawn_process() failed while starting a process, the process handle was closed but left non-NULL in the ngx_processes[] array. The handle later was used in WaitForMultipleObjects() (if there were multiple worker processes configured and at least one worker process was started successfully), resulting in infinite loop. Reported by Ricardo V G: http://mailman.nginx.org/pipermail/nginx-devel/2012-July/002494.html
2012-07-20Fixed debugging messages to account that limit_zone was renamed to limit_conn.Ruslan Ermilov1-2/+2
2012-07-17Fixed sorting of listen addresses so that wildcard address is always atRuslan Ermilov1-0/+5
the end (closes #187). Failure to do so could result in several listen sockets to be created instead of only one listening on wildcard address. Reported by Roman Odaisky.
2012-07-17Version bump.Ruslan Ermilov2-3/+3
2012-07-09Entity tags: empty etags handling in If-Range.Maxim Dounin1-1/+1
Entity tag may be of length 2 as per RFC 2616, i.e. double quotes only. Pointed out by Ruslan Ermilov.
2012-07-09Entity tags: the "etag" directive.Maxim Dounin2-1/+18
It allows to disable generation of nginx's own entity tags, while still handling ETags in cache properly. This may be useful e.g. if one want to serve static files from servers with different ETag generation algorithms.
2012-07-09Entity tags: set for static respones.Maxim Dounin6-0/+46
2012-07-07Entity tags: handling in add_header.Maxim Dounin1-0/+38
Notably this allows to clear ETag if one want to for some reason.
2012-07-07Entity tags: clear on entity changes.Maxim Dounin7-0/+14
2012-07-07Entity tags: support in If-Range header.Maxim Dounin1-5/+29
2012-07-07Entity tags: basic support in not modified filter.Maxim Dounin3-2/+102
This includes handling of ETag headers (if present in a response) with basic support for If-Match, If-None-Match conditionals in not modified filter. Note that the "r->headers_out.last_modified_time == -1" check in the not modified filter is left as is intentionally. It's to prevent handling of If-* headers in case of proxy without cache (much like currently done with If-Modified-Since).
2012-07-07Not modified filter: tests separated from actions.Maxim Dounin1-31/+38
This makes code more extendable. The only functional change is when If-Modified-Since and If-Unmodified-Since are specified together, the case which is explicitly left undefined by RFC 2616. The new behaviour is to respect them both, which seems better.
2012-07-07Added Last-Modified parsing in add_header.Maxim Dounin1-25/+13
This allows to use last modified time set in If-Range checks. Code simplified to improve readability.
2012-07-07Fixed If-Range with unknown last modified time.Maxim Dounin1-1/+5
If modification time isn't known, skip range processing and return full entity body instead of just ignoring If-Range. Ignoring If-Range isn't safe as client will assume entity wasn't changed since time specified.
2012-07-06Corrected $request_length calculation for pipelined requests.Andrey Belov1-7/+4
2012-07-03Fixed typo in a function name.Ruslan Ermilov2-4/+4
2012-07-03Made sure to initialize the entire "struct flock" allocated on stack.Ruslan Ermilov1-9/+3
2012-07-03Reset r->uri_changed in a named location (ticket #184).Maxim Dounin1-0/+1
2012-06-29map: strip final dot before looking up in a map of hostnames.Ruslan Ermilov1-5/+4
(closes #182)
2012-06-29Version bump.Ruslan Ermilov2-3/+3
2012-06-26Mp4: fixed build on win32 after r4689.Maxim Dounin1-1/+1
2012-06-25Style.Maxim Dounin1-1/+1
2012-06-25Fixed a harmless error in spelling of "Connection: close" when computingRuslan Ermilov1-1/+1
the response header length.
2012-06-21Fixed compile-time conditionals used to detect if X-Forwarded-For supportRuslan Ermilov3-3/+3
is needed.
2012-06-20Disabled gzip compression in OpenSSL prior to 1.0.0 version.Igor Sysoev1-0/+18
This saves about 522K per connection.
2012-06-19Added IPv6 support to ip_hash.Ruslan Ermilov1-16/+27
2012-06-18Upstream keepalive: "single" parameter deprecated.Maxim Dounin1-29/+4
The original idea was to optimize edge cases in case of interchangeable backends, i.e. don't establish a new connection if we have any one cached. This causes more harm than good though, as it screws up underlying balancer's idea about backends used and may result in various unexpected problems.
2012-06-18Fixed return type of ngx_strerror_init().Maxim Dounin4-4/+4
2012-06-18Fixed "sendmsg() failed" alerts on HP-UX.Maxim Dounin1-0/+1
HP-UX needs _HPUX_ALT_XOPEN_SOCKET_API to be defined to be able to use various POSIX versions of networking functions. Notably sendmsg() resulted in "sendmsg() failed (9: Bad file number)" alerts without it. See xopen_networking(7) for more details.
2012-06-18Fixed segfault with poll and resolver used.Maxim Dounin1-0/+4
Poll event method needs ngx_cycle->files to work, and use of ngx_exit_cycle without files set caused null pointer dereference in resolver's cleanup on udp socket close.