aboutsummaryrefslogtreecommitdiff
path: root/src/core
Commit message (Collapse)AuthorAge
* 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.
* Disable symlinks: cleanup error handling.Maxim Dounin2012-02-15
| | | | | Notably this fixes NGX_INVALID_FILE/NGX_FILE_ERROR mess, and adds logging of close() errors. In collaboration with Valentin Bartenev.
* Added disable_symlinks directive.Andrey Belov2012-02-13
| | | | | | | | | | | | | | | | | | To completely disable symlinks (disable_symlinks on) we use openat(O_NOFOLLOW) for each path component to avoid races. To allow symlinks with the same owner (disable_symlinks if_not_owner), use openat() (followed by fstat()) and fstatat(AT_SYMLINK_NOFOLLOW), and then compare uids between fstat() and fstatat(). As there is a race between openat() and fstatat() we don't know if openat() in fact opened symlink or not. Therefore, we have to compare uids even if fstatat() reports the opened component isn't a symlink (as we don't know whether it was symlink during openat() or not). Default value is off, i.e. symlinks are allowed.
* Changed ngx_open_and_stat_file() to use ngx_str_t.Andrey Belov2012-02-13
| | | | No functional changes.
* Time parsing cleanup.Maxim Dounin2012-02-13
| | | | | | | Nuke NGX_PARSE_LARGE_TIME, it's not used since 0.6.30. The only error ngx_parse_time() can currently return is NGX_ERROR, check it explicitly and make sure to cast it to appropriate type (either time_t or ngx_msec_t) to avoid signedness warnings on platforms with unsigned time_t (notably QNX).
* Version bump.Maxim Dounin2012-02-09
|
* Fixed memory leak on HUP signal when PCRE JIT was used.Valentin Bartenev2012-01-30
| | | | | The PCRE JIT compiler uses mmap to allocate memory for its executable codes, so we have to explicitly call the pcre_free_study() function to free this memory.
* Fixed grammar in PCRE JIT error log message.Valentin Bartenev2012-01-24
|
* Copyright updated.Maxim Konovalov2012-01-18
|
* Version bump.Maxim Konovalov2012-01-18
|
* Fixed division by zero exception in ngx_hash_init().Valentin Bartenev2012-01-16
| | | | | | | | | | | | | | | | The ngx_hash_init() function did not expect call with zero elements count, which caused FPE error on configs with an empty "types" block in http context and "types_hash_max_size" > 10000. Example configuration to reproduce: events { } http { types_hash_max_size 10001; types {} server {} }
* Changed ngx_log_debugN() macros to verify the number of argumentsRuslan Ermilov2012-01-10
| | | | when built with debugging.
* Version bump.Maxim Dounin2011-12-27
|
* Added support for regex study and PCRE JIT (ticket #41) optimizations onValentin Bartenev2011-12-26
| | | | configuration phase.
* Version bump.Maxim Dounin2011-12-19
|
* Removed unused function ngx_regex_capture_count().Valentin Bartenev2011-12-06
| | | | The function has been unused since r3326.
* Version bump.Maxim Dounin2011-12-06
|
* Added the "so_keepalive=" parameter to the "listen" directive.Valentin Bartenev2011-12-05
| | | | | | The "so_keepalive" directive in mail module was deprecated. Thanks to Vsevolod Stakhov for initial work.
* Version bump.Maxim Dounin2011-11-29
|
* Added (void) as we intentionally ignore returned values.Maxim Dounin2011-11-28
| | | | Requested by Igor Sysoev.
* Added escaping of double quotes in ngx_escape_html().Maxim Dounin2011-11-25
| | | | Patch by Zaur Abasmirzoev.
* Fixed build without atomic operations.Maxim Dounin2011-11-23
|
* Added shmtx interface to forcibly unlock mutexes.Maxim Dounin2011-11-23
| | | | | | | | | | | It is currently used from master process on abnormal worker termination to unlock accept mutex (unlocking of accept mutex was broken in 1.0.2). It is expected to be used in the future to unlock other mutexes as well. Shared mutex code was rewritten to make this possible in a safe way, i.e. with a check if lock was actually held by the exited process. We again use pid to lock mutex, and use separate atomic variable for a count of processes waiting in sem_wait().
* Silenced a warning for some compilers.Ruslan Ermilov2011-11-16
|
* Now nginx uses TTL of a DNS response when calculating cache validity.Ruslan Ermilov2011-11-16
| | | | | | | | Previously it used a hardcoded value of 300 seconds. Also added the "valid=" parameter to the "resolver" directive that can be used to override the cache validity time. Patch by Kirill A. Korinskiy with minor changes.
* Fixed handling of SIGWINCH/NOACCEPT signal.Maxim Dounin2011-11-15
| | | | | After first upgrade it was ignored since r4020 (1.1.1, 1.0.9) as ngx_daemonized wasn't set.
* Version bump.Maxim Dounin2011-11-15
|
* Introduction of simple ngx_write_stderr() instead of ngx_log_stderr()Igor Sysoev2011-11-14
| | | | | for output of ./configure options, etc., since ngx_log_stderr() output length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.
* Reverted incorrect change in internal md5 (part of r3928).Maxim Dounin2011-11-14
|
* Fixed compression pointer processing in DNS response greater than 255 bytes.Igor Sysoev2011-11-09
| | | | Thanks to Ben Hawkes.
* Version bump.Igor Sysoev2011-11-01
|
* Fixed port range checking.Ruslan Ermilov2011-10-25
|
* Support of several servers in the "resolver" directive.Igor Sysoev2011-10-24
| | | | Patch by Kirill A. Korinskiy.
* Using of junk value in slab allocator similar to modern FreeBSD values.Igor Sysoev2011-10-24
|
* malloc() debugging on MacOSX.Igor Sysoev2011-10-24
|
* FreeBSD's MALLOC_OPTIONS must be set before any malloc() call.Igor Sysoev2011-10-24
| | | | The bug has been introduced in r3799.
* Version bump.Igor Sysoev2011-10-17
|
* Fixed utf8 decode (ticket #25).Maxim Dounin2011-10-13
| | | | Patch by Alexey Kuts.
* Autoindex: escape '?' in file names.Maxim Dounin2011-10-11
| | | | | | | | | | | | | | | | For files with '?' in their names autoindex generated links with '?' not escaped. This resulted in effectively truncated links as '?' indicates query string start. This is an updated version of the patch originally posted at [1]. It introduces generic NGX_ESCAPE_URI_COMPONENT which escapes everything but unreserved characters as per RFC 3986. This approach also renders unneeded special colon processing (as colon is percent-encoded now), it's dropped accordingly. [1] http://nginx.org/pipermail/nginx-devel/2010-February/000112.html Reported by Konstantin Leonov.
* Version bump.Igor Sysoev2011-10-07
|
* Improved ngx_parse_time() code readability.Ruslan Ermilov2011-10-07
|
* Version bump.Igor Sysoev2011-10-05
|
* Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov2011-09-19
| | | | Fixed nearby grammar errors.
* API change: ngx_chain_update_chains() now requires pool.Maxim Dounin2011-09-15
| | | | | | The ngx_chain_update_chains() needs pool to free chain links used for buffers with non-matching tags. Providing one helps to reduce memory consumption for long-lived requests.
* Version bump.Igor Sysoev2011-09-14
|
* Fix of the previous commit: is_directio flag processing introduced in r4077Igor Sysoev2011-09-14
| | | | is still worthwhile.
* Bugfix: open_file_cache did not update file info on retest.Igor Sysoev2011-09-14
| | | | | | | | | If file inode was not changed, cached file information was not updated on retest. As a result stale information might be cached forever if file attributes was changed and/or file was extended. This fix also makes obsolete r4077 change of is_directio flag handling, since this flag is updated together with other file information.