]> git.kaiwu.me - nginx.git/commit
Merge of r4654, r4672, r4684, r4685, r4692: resolver changes.
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 2 Jul 2012 16:23:14 +0000 (16:23 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 2 Jul 2012 16:23:14 +0000 (16:23 +0000)
commitbb612f1336ec34f6f73f5b4b0b8cb3d9fb99e53f
treea60902880c27ca1d87e8dba7b69a471d497917e5
parentcd8c055e4af759e69cd1d98efc1d7a728e68cd7d
Merge of r4654, r4672, r4684, r4685, r4692: resolver changes.

*) Resolver: fixed format specification.
   Patch by Yichun Zhang (agentzh).

*) Support for IPv6 literals and an optional port in resolver.

*) Fixed crash in ngx_resolver_cleanup_tree().

   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.

*) When "resolver" is configured with a domain name, only the first
   resolved address was used.  Now all addresses will be used.

*) Fixed segfault with poll and resolver used.

   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.
src/core/ngx_resolver.c
src/os/unix/ngx_process_cycle.c