summaryrefslogtreecommitdiffhomepage
path: root/src/core (follow)
AgeCommit message (Collapse)AuthorFilesLines
2013-02-19Version bump.Valentin Bartenev1-2/+2
2013-02-07Added support for {SHA} passwords (ticket #50).Maxim Dounin1-0/+37
Note: use of {SHA} passwords is discouraged as {SHA} password scheme is vulnerable to attacks using rainbow tables. Use of {SSHA}, $apr1$ or crypt() algorithms as supported by OS is recommended instead. The {SHA} password scheme support is added to avoid the need of changing the scheme recorded in password files from {SHA} to {SSHA} because such a change hides security problem with {SHA} passwords. Patch by Louis Opter, with minor changes.
2013-02-07Version bump.Maxim Dounin1-2/+2
2013-01-17Version bump.Ruslan Ermilov1-2/+2
2013-01-10Fixed "proxy_pass" with IP address and no port (ticket #276).Ruslan Ermilov1-10/+4
Upstreams created by "proxy_pass" with IP address and no port were broken in 1.3.10, by not initializing port in u->sockaddr. API change: ngx_parse_url() was modified to always initialize port (in u->sockaddr and in u->port), even for the u->no_resolve case; ngx_http_upstream() and ngx_http_upstream_add() were adopted.
2013-01-08The data pointer in ngx_open_file_t objects must be initialized.Valentin Bartenev1-0/+1
Uninitialized pointer may result in arbitrary segfaults if access_log is used without buffer and without variables in file path. Patch by Tatsuhiko Kubo (ticket #268).
2012-12-26Version bump.Ruslan Ermilov1-2/+2
2012-12-25Geo: IPv6 support.Ruslan Ermilov2-0/+206
The "ranges" mode is still limited to IPv4 only.
2012-12-23Reopening log files code moved to a separate function.Valentin Bartenev3-48/+6
The code refactored in a way to call custom handler that can do appropriate cleanup work (if any), like flushing buffers, finishing compress streams, finalizing connections to log daemon, etc..
2012-12-22Properly initialize "struct in6_addr" with zeroes.Ruslan Ermilov1-1/+1
2012-12-20Fixed return type of internal function that allocates radix tree nodes.Ruslan Ermilov1-5/+5
2012-12-17Implemented IPv6 support for URLs specified using domain names.Ruslan Ermilov2-30/+211
This includes "debug_connection", upstreams, "proxy_pass", etc. (ticket #92) To preserve compatibility, "listen" specified with a domain name selects the first IPv4 address, if available. If not available, the first IPv6 address will be used (ticket #186).
2012-12-17Fixed URL parsing code.Ruslan Ermilov1-5/+5
The URL parsing code is not expected to initialize port from default port when in "no_resolve" mode. This got broken in r4671 for the case of IPv6 literals.
2012-12-17Simplified URL parsing code.Ruslan Ermilov1-30/+26
Except for the "listen" directive, "*" specified as a hostname is no longer treated specially.
2012-12-14Fixed handling of ngx_write_fd() and ngx_read_fd() errors.Valentin Bartenev3-6/+6
The ngx_write_fd() and ngx_read_fd() functions return -1 in case of error, so the incorrect comparison with NGX_FILE_ERROR (which is 0 on windows platforms) might result in inaccurate error message in the error log. Also the ngx_errno global variable is being set only if the returned value is -1.
2012-11-30Fixed the NGX_SOCKADDR_STRLEN macro definition.Ruslan Ermilov1-1/+1
The ngx_sock_ntop() function, when told to print both address and port, prints IPv6 address in square brackets, followed by colon and port.
2012-11-29Version bump.Maxim Dounin1-2/+2
2012-11-23Core: don't reuse shared memory zone that changed ownership (ticket #210).Ruslan Ermilov1-1/+3
nginx doesn't allow the same shared memory zone to be used for different purposes, but failed to check this on reconfiguration. If a shared memory zone was used for another purpose in the new configuration, nginx attempted to reuse it and crashed.
2012-11-21Fixed location of debug message in ngx_shmtx_lock().Ruslan Ermilov1-3/+3
2012-11-20Fixed failure to start cache manager and cache loader processesIgor Sysoev1-0/+2
if there were more than 512 listening sockets in configuration.
2012-11-16Version bump.Ruslan Ermilov1-2/+2
2012-10-24Resolver: added missing memory allocation error handling.Maxim Dounin1-0/+4
2012-10-23Core: the "auto" parameter of the "worker_processes" directive.Andrey Belov1-2/+33
The parameter will set the number of worker processes to the autodetected number of available CPU cores.
2012-10-03Version bump.Maxim Dounin1-2/+2
2012-10-01OCSP stapling: loading OCSP responses.Maxim Dounin1-1/+1
This includes the ssl_stapling_responder directive (defaults to OCSP responder set in certificate's AIA extension). OCSP response for a given certificate is requested once we get at least one connection with certificate_status extension in ClientHello, and certificate status won't be sent in the connection in question. This due to limitations in the OpenSSL API (certificate status callback is blocking). Note: SSL_CTX_use_certificate_chain_file() was reimplemented as it doesn't allow to access the certificate loaded via SSL_CTX.
2012-09-28Resolver: cached addresses are returned with random rotation now.Maxim Dounin1-2/+25
This ensures balancing when working with dynamically resolved upstream servers with multiple addresses. Based on patch by Anton Jouline.
2012-09-28Correct plural form for "path" in the whole source base.Andrey Belov4-16/+16
2012-09-28Made sure to initialize the entire ngx_file_t structure.Andrey Belov1-0/+2
Found by Coverity.
2012-09-26Version bump.Maxim Dounin1-2/+2
2012-08-30Fixed overflow if ngx_slab_alloc() is called with very big "size" argument.Ruslan Ermilov1-2/+2
2012-08-28Fixed the "include" directive.Ruslan Ermilov2-2/+2
The "include" directive should be able to include multiple files if given a filename mask. Fixed this to work for "include" directives inside the "map" or "types" blocks. The "include" directive inside the "geo" block is still not fixed.
2012-08-27Version bump.Ruslan Ermilov1-2/+2
2012-08-18Radix tree preallocation fix.Maxim Dounin1-1/+1
The preallocation size was calculated incorrectly and was always 8 due to sizeof(ngx_radix_tree_t) accidentally used instead of sizeof(ngx_radix_node_t).
2012-08-16Crypt: fixed handling of corrupted SSHA entries in password file.Maxim Dounin1-2/+9
Found 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-01Reorder checks in ngx_shared_memory_add() for more consistent error messages.Andrey Belov1-8/+8
2012-07-31Version bump.Ruslan Ermilov1-2/+2
2012-07-30Core: ipv6only is now on by default.Ruslan Ermilov2-3/+3
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-29Improved diagnostics when a directive is specified in the wrong context.Ruslan Ermilov2-22/+15
2012-07-26Reduced the number of preprocessor directives.Ruslan Ermilov1-5/+1
2012-07-24Fixed compilation with -Wmissing-prototypes.Ruslan Ermilov2-0/+5
2012-07-17Version bump.Ruslan Ermilov1-2/+2
2012-07-03Fixed typo in a function name.Ruslan Ermilov2-4/+4
2012-06-29Version bump.Ruslan Ermilov1-2/+2
2012-06-18Fixed handling of conflicting wildcard server names.Maxim Dounin1-11/+13
With previous code wildcard names were added to hash even if conflict was detected. This resulted in identical names in hash and segfault later in ngx_hash_wildcard_init().
2012-06-18When "resolver" is configured with a domain name, only the firstRuslan Ermilov1-6/+8
resolved address was used. Now all addresses will be used.
2012-06-18Fixed crash in ngx_resolver_cleanup_tree().Ruslan Ermilov1-4/+3
If sending a DNS request fails with an error (e.g., when mistakenly trying to send it to a local IP broadcast), such a request is not deleted if there are clients waiting on it. However, it was still erroneously removed from the queue. Later ngx_resolver_cleanup_tree() attempted to remove it from the queue again that resulted in a NULL pointer dereference.