diff options
-rw-r--r-- | src/providers/fail_over.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index 46caaea4..fdc42dec 100644 --- a/src/providers/fail_over.c +++ b/src/providers/fail_over.c @@ -1198,6 +1198,13 @@ resolve_srv_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, * query collapsed * */ case SRV_NEUTRAL: /* Request SRV lookup */ + if (server != NULL && server != state->meta) { + /* A server created by expansion of meta server was marked as + * neutral. We have to collapse the servers and issue new + * SRV resolution. */ + state->meta = collapse_srv_lookup(&server); + } + if (ctx->srv_send_fn == NULL || ctx->srv_recv_fn == NULL) { DEBUG(SSSDBG_OP_FAILURE, ("No SRV lookup plugin is set\n")); ret = ENOTSUP; |