summaryrefslogtreecommitdiffstats
path: root/src/responder/common/responder_cache_req.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/responder/common/responder_cache_req.c')
-rw-r--r--src/responder/common/responder_cache_req.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/responder/common/responder_cache_req.c b/src/responder/common/responder_cache_req.c
index be7fe5f29..ab73401b3 100644
--- a/src/responder/common/responder_cache_req.c
+++ b/src/responder/common/responder_cache_req.c
@@ -981,7 +981,8 @@ static errno_t cache_req_next_domain(struct tevent_req *req)
/* If it is a domainless search, skip domains that require fully
* qualified names instead. */
while (state->domain != NULL && state->check_next
- && state->domain->fqnames) {
+ && state->domain->fqnames
+ && !cache_req_input_is_upn(state->input)) {
state->domain = get_next_domain(state->domain, false);
}
@@ -1009,7 +1010,11 @@ static errno_t cache_req_next_domain(struct tevent_req *req)
/* we will continue with the following domain the next time */
if (state->check_next) {
- state->domain = get_next_domain(state->domain, false);
+ if (cache_req_input_is_upn(state->input)) {
+ state->domain = get_next_domain(state->domain, true);
+ } else {
+ state->domain = get_next_domain(state->domain, false);
+ }
}
return EAGAIN;