aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Upstream: reject upstreams without normal servers.Maxim Dounin2012-04-02
| | | | | | | Such upstreams cause CPU hog later in the code as number of peers isn't expected to be 0. Currently this may happen either if there are only backup servers defined in an upstream block, or if server with ipv6 address used in an upstream block.
* Version bump.Maxim Dounin2012-04-02
|
* Corrected spelling of error message (ticket #136).Ruslan Ermilov2012-03-29
|
* Fixed win32 build after realpath changes in r4559.Maxim Dounin2012-03-28
|
* Replaced ngx_http_realip_from_t with ngx_in_cidr_t.Ruslan Ermilov2012-03-28
|
* Fixed calculation of range boundaries.Ruslan Ermilov2012-03-28
|
* Xslt: parser options now set with xmlCtxtUseOptions().Maxim Dounin2012-03-28
| | | | | | | | Note that "ctxt->loadsubset = 1" previously used isn't really correct as ctxt->loadsubset is a bitfield now. The use of xmlCtxtUseOptions() with XML_PARSE_DTDLOAD is believed to be a better way to do the same thing. Patch by Laurence Rowe.
* Fixed unconditional MAX_PATH usage (ticket #22).Maxim Dounin2012-03-27
| | | | | | POSIX doesn't require it to be defined, and Debian GNU/Hurd doesn't define it. Note that if there is no MAX_PATH defined we have to use realpath() with NULL argument and free() the result.
* Added explicit include of time.h.Maxim Dounin2012-03-27
| | | | | | Most of the systems have it included due to namespace pollution, but relying on this is a bad idea. Explicit include is required for at least Debian GNU/Hurd.
* Resolver: added missing sanity checking when creating name queries.Maxim Dounin2012-03-22
| | | | Found by Veracode.
* Win32: added missing call to srand().Maxim Dounin2012-03-22
| | | | Found by Veracode.
* Added xslt_param and xslt_string_param directives.Maxim Dounin2012-03-22
| | | | Based on patch by Samuel Behan.
* Fixed off-by-one in xslt parameter parsing.Maxim Dounin2012-03-22
| | | | | | The problem was introduced in 0.7.44 (r2589) during conversion to complex values. Previously string.len included space for terminating NUL, but with complex values it doesn't.
* Restricted keepalive_disable safari to OS X only.Maxim Dounin2012-03-22
| | | | | | | The problem doesn't affect non-Apple systems for sure, and many pretend to be Safari now. Prodded by Piotr Sikora.
* Removed safari from keepalive_disable default.Maxim Dounin2012-03-22
| | | | | | | The bug in question is likely already fixed (though unfortunately we have no information available as Apple's bugtracker isn't open), and the workaround seems to be too pessimistic for modern versions of Safari as well as other webkit-based browsers pretending to be Safari.
* worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.Ruslan Ermilov2012-03-21
|
* If we inserted "Last-Modified" in r->headers_out.headers, don'tRuslan Ermilov2012-03-21
| | | | forget to set the r->headers_out.last_modified pointer to it.
* Minor ngx_http_headers_filter_module.c code cleanup.Ruslan Ermilov2012-03-21
| | | | | | | - Removed "hash" element from ngx_http_header_val_t which was always 1. - Replaced NGX_HTTP_EXPIRES_* with ngx_http_expires_t enum type. - Added prototype for ngx_http_add_header() - Simplified ngx_http_set_last_modified().
* For the sake of case/switch code readability, 'fall through'Maxim Konovalov2012-03-19
| | | | comments added.
* Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, andRuslan Ermilov2012-03-16
| | | | $tcpinfo_rcv_space variables. Supported on Linux and FreeBSD.
* Local variable "ngx_http_next_filter" renamed to "ngx_http_next_body_filter"Ruslan Ermilov2012-03-15
| | | | for consistency with other modules.
* The "error_log" directive specified in the "http", "server", andRuslan Ermilov2012-03-15
| | | | | "location" sections now understands the special "stderr" parameter. It was already treated specially when specified in the main section.
* Slight optimization in ngx_http_get_variable_index().Ruslan Ermilov2012-03-15
|
* - New variable: $connection_requests.Ruslan Ermilov2012-03-15
| | | | - While here, fixed format specifier for $connection.
* Version bump.Maxim Dounin2012-03-15
|
* Headers with null character are now rejected.Maxim Dounin2012-03-15
| | | | | Headers with NUL character aren't allowed by HTTP standard and may cause various security problems. They are now unconditionally rejected.
* Fixed incorrect ngx_cpystrn() usage in ngx_http_*_process_header().Maxim Dounin2012-03-15
| | | | | | | | This resulted in a disclosure of previously freed memory if upstream server returned specially crafted response, potentially exposing sensitive information. Reported by Matthew Daley.
* Fixed ssi and perl interaction.Maxim Dounin2012-03-15
| | | | | | | | | | | | Embedded perl module assumes there is a space for terminating NUL character, make sure to provide it in all situations by allocating one extra byte for value buffer. Default ssi_value_length is reduced accordingly to preserve 256 byte allocations. While here, fixed another one byte value buffer overrun possible in ssi_quoted_symbol_state. Reported by Matthew Daley.
* Uwsgi: merged r->http_version fixes from scgi module.Maxim Dounin2012-03-15
| | | | | Fixed incorrect use of r->http_version (r4372). Removed duplicate function declaration (r4373). Removed error if there is no Status header (r4374).
* Whitespace fixes.Maxim Dounin2012-03-05
|
* Version bump.Maxim Dounin2012-03-05
|
* Raised simultaneous subrequest limit from 50 to 200.Maxim Dounin2012-02-28
| | | | | | It wasn't enforced for a long time, and there are reports that people use up to 100 simultaneous subrequests now. As this is a safety limit to prevent loops, it's raised accordingly.
* Added msleep() on reload to allow new processes to start.Maxim Dounin2012-02-28
| | | | | | | This is expected to ensure smoother operation on reload (and with less chance of listen queue overflows). Prodded by Igor Sysoev.
* Fixed spelling in single-line comments.Ruslan Ermilov2012-02-28
|
* Workaround for fs_size on ZFS (ticket #46).Maxim Dounin2012-02-28
| | | | | | | | | | ZFS reports incorrect st_blocks until file settles on disk, and this may take a while (i.e. just after creation of a file the st_blocks value is incorrect). As a workaround we now use st_blocks only if st_blocks * 512 > st_size, this should fix ZFS problems while still preserving accuracy for other filesystems. The problem had appeared in r3900 (1.0.1).
* Fix of rbtree lookup on hash collisions.Maxim Dounin2012-02-27
| | | | | | | Previous code incorrectly assumed that nodes with identical keys are linked together. This might not be true after tree rebalance. Patch by Lanshun Zhou.
* Fixed null pointer dereference in resolver (ticket #91).Maxim Dounin2012-02-27
| | | | | | | | The cycle->new_log.file may not be set before config parsing finished if there are no error_log directive defined at global level. Fix is to copy it after config parsing. Patch by Roman Arutyunyan.
* Disable symlinks: added the "from=" parameter to the "disable_symlinks"Valentin Bartenev2012-02-27
| | | | directive.
* Disable symlinks: initialization of the "disable_symlinks" field inValentin Bartenev2012-02-27
| | | | | | | ngx_open_file_info_t moved to a separate function. This is preparation for the "from=" parameter implementation of the "disable_symlinks" directive.
* Disable symlinks: added the "from" parameter support to the open file cache.Valentin Bartenev2012-02-27
|
* Added support for the 307 Temporary Redirect.Ruslan Ermilov2012-02-27
|
* Renamed constants and fixed off-by-one error in "msie_padding on" handling.Ruslan Ermilov2012-02-22
|
* Event pipe: fixed buffer loss in p->length case.Maxim Dounin2012-02-22
| | | | | | | | | | | | | | | | With previous code raw buffer might be lost if p->input_filter() was called on a buffer without any data and used ngx_event_pipe_add_free_buf() to return it to the free list. This eventually might cause "all buffers busy" problem, resulting in segmentation fault due to null pointer dereference in ngx_event_pipe_write_chain_to_temp_file(). In ngx_event_pipe_add_free_buf() the buffer was added to the list start due to pos == last, and then "p->free_raw_bufs = cl->next" in ngx_event_pipe_read_upstream() dropped both chain links to the buffer from the p->free_raw_bufs list. Fix is to move "p->free_raw_bufs = cl->next" before calling the p->input_filter().
* Disable symlinks: use O_SEARCH|O_DIRECTORY to open path components.Valentin Bartenev2012-02-21
|
* Disable symlinks: don't allow creating or truncating a file via a symlink inValentin Bartenev2012-02-21
| | | | | | | | | the last path component if "if_not_owner" parameter is used. To prevent race condition we have to open a file before checking its owner and there's no way to change access flags for already opened file descriptor, so we disable symlinks for the last path component at all if flags allow creating or truncating the file.
* Disable symlinks: cleanups once again.Valentin Bartenev2012-02-21
| | | | In collaboration with Ruslan Ermilov.
* Disable symlinks: added explicit cast of AT_FDCWD (ticket #111).Maxim Dounin2012-02-20
| | | | | | Solaris has AT_FDCWD defined to unsigned value, and comparison of a file descriptor with it causes warnings in modern versions of gcc. Explicitly cast AT_FDCWD to ngx_fd_t to resolve these warnings.
* Disable symlinks: error handling cleanup again.Maxim Dounin2012-02-20
|
* Version bump.Maxim Dounin2012-02-20
|
* Disable symlinks: fixed edge cases of path handling.Maxim Dounin2012-02-15
| | | | | This includes non-absolute pathnames, multiple slashes and trailing slashes. In collaboration with Valentin Bartenev.