diff options
-rw-r--r-- | src/providers/ad/ad_srv.c | 17 |
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 */ |