summaryrefslogtreecommitdiffhomepage
path: root/src/core (follow)
AgeCommit message (Collapse)AuthorFilesLines
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.
2012-06-18Version bump.Ruslan Ermilov1-2/+2
2012-06-04Support for IPv6 literals and an optional port in resolver.Ruslan Ermilov1-5/+5
2012-06-04Support for IPv6 literals in proxy_pass and so on.Maxim Dounin1-7/+30
2012-06-03Resolver: fixed format specification.Maxim Dounin1-1/+1
Patch by Yichun Zhang (agentzh).
2012-06-01Code reduction (no functional changes).Ruslan Ermilov1-19/+2
2012-05-22Fixed potential null pointer dereference in ngx_resolver_create().Ruslan Ermilov1-1/+6
While here, improved error message.
2012-05-21Removed historical and now redundant syntax pre-checks in ngx_parse_url().Ruslan Ermilov1-5/+0
2012-05-17Fixed the ngx_regex.h header file compatibility with C++.Valentin Bartenev2-5/+5
2012-05-16Version bump.Ruslan Ermilov1-2/+2
2012-05-14Resolver: protection from duplicate responses.Maxim Dounin1-2/+10
If we already had CNAME in resolver node (i.e. rn->cnlen and rn->u.cname set), and got additional response with A record, it resulted in rn->cnlen set and rn->u.cname overwritten by rn->u.addr (or rn->u.addrs), causing segmentation fault later in ngx_resolver_free_node() on an attempt to free overwritten rn->u.cname. The opposite (i.e. CNAME got after A) might cause similar problems as well.
2012-04-26Fixed segmentation fault in ngx_resolver_create_name_query().Ruslan Ermilov1-0/+4
If name passed for resolution was { 0, NULL } (e.g. as a result of name server returning CNAME pointing to ".") pointer wrapped to (void *) -1 resulting in segmentation fault on an attempt to dereference it. Reported by Lanshun Zhou.
2012-04-26Version bump.Maxim Dounin1-2/+2
2012-04-23Version bump.Maxim Dounin1-2/+2
2012-04-23Fix of "%f" format handling.Igor Sysoev1-16/+19
ngx_sprintf("%.2f", 0.999) incorrectly resulted in "0.100" instead of "1.00".
2012-04-18Don't silently ignore the last line of configuration file thatRuslan Ermilov1-1/+1
consists solely of one unterminated token (inspired by #150).
2012-04-12Fixed grammar in error messages.Ruslan Ermilov2-2/+3
2012-04-12Version bump.Maxim Dounin1-2/+2
2012-04-12Reduced the number of lines of code in ngx_inet_addr().Ruslan Ermilov1-5/+1
2012-04-11Improved readability of the code that produces bitmask from prefix.Ruslan Ermilov1-2/+2
In collaboration with Maxim Dounin.
2012-04-06Fixed signed integer overflows in timer code (ticket #145).Maxim Dounin1-2/+1
Integer overflow is undefined behaviour in C and this indeed caused problems on Solaris/SPARC (at least in some cases). Fix is to subtract unsigned integers instead, and then cast result to a signed one, which is implementation-defined behaviour and used to work. Strictly speaking, we should compare (unsigned) result with the maximum value of the corresponding signed integer type instead, this will be defined behaviour. This will require much more changes though, and considered to be overkill for now.
2012-04-05Comment fixed.Andrey Belov1-1/+1
2012-04-03In ngx_ptocidr(), check that the supplied prefix length is withinRuslan Ermilov1-0/+7
the allowed range.
2012-04-03Fixed spelling in multiline C comments.Ruslan Ermilov5-6/+6
2012-04-02Version bump.Maxim Dounin1-2/+2