]> git.kaiwu.me - nginx.git/commit
Resolver: fixed handling of partially resolved SRV.
authorDmitry Volyntsev <xeioex@nginx.com>
Fri, 16 Dec 2016 15:21:55 +0000 (18:21 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Fri, 16 Dec 2016 15:21:55 +0000 (18:21 +0300)
commitb69a35ffb12f60f18a69a007b2db4c57f3e52027
treea3c941d859621d471e6c5b9f52e7de2424c80d6f
parente114960e5353b6e2db82251872300955cfc0169b
Resolver: fixed handling of partially resolved SRV.

The resolver handles SRV requests in two stages.  In the first
stage it gets all SRV RRs, and in the second stage it resolves
the names from SRV RRs into addresses.

Previously, if a response to an SRV request was cached, the
queries to resolve names were not limited by a timeout.  If a
response to any of these queries was not received, the SRV
request could never complete.

If a response to an SRV request was not cached, and some of the
queries to resolve names timed out, NGX_RESOLVE_TIMEDOUT was
returned instead of successfully resolved addresses.

To fix both issues, resolving of names is now always limited by
a timeout.
src/core/ngx_resolver.c