summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/providers/ad/ad_srv.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/providers/ad/ad_srv.c b/src/providers/ad/ad_srv.c
index 01660c48..88770f16 100644
--- a/src/providers/ad/ad_srv.c
+++ b/src/providers/ad/ad_srv.c
@@ -570,8 +570,18 @@ static errno_t ad_sort_servers(struct ares_srv_reply **list, void *pvt)
goto done;
}
+ size_t num_servers;
+ struct ares_srv_reply *record;
+ num_servers = 0;
+ for (record = *list; record != NULL; record = record->next) {
+ DEBUG(0, ("%s %d %d\n", record->host, record->priority, record->weight));
+ num_servers++;
+ }
+ DEBUG(0, ("Pre sort: Got %lu servers\n", num_servers));
+
state = talloc_get_type(pvt, struct ad_srv_plugin_state);
domain = state->discovery_domain;
+ domain = "sub.ad.pb";
/* first sort by rfc2782 */
ret = resolv_sort_srv_reply(list);
@@ -581,6 +591,13 @@ static errno_t ad_sort_servers(struct ares_srv_reply **list, void *pvt)
goto done;
}
+ num_servers = 0;
+ for (record = *list; record != NULL; record = record->next) {
+ DEBUG(0, ("%s %d %d\n", record->host, record->priority, record->weight));
+ num_servers++;
+ }
+ DEBUG(0, ("After sort: Got %lu servers\n", num_servers));
+
/* when several servers share priority, prefer the one that is located
* in the same domain as client (e.g. child domain instead of forest
* root) but obey their weight */