From: Baptiste Assmann Date: Sat, 12 Aug 2017 09:16:55 +0000 (+0200) Subject: MINOR: dns: make debugging function dump_dns_config() compatible with SRV records X-Git-Tag: v1.8-dev3~179 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a644aa8e395a9955c19ac56c9dbcbbd49e2db30c;p=thirdparty%2Fhaproxy.git MINOR: dns: make debugging function dump_dns_config() compatible with SRV records This function is particularly useful when debugging DNS resolution at run time in HAProxy. SRV records must be read differently, hence we have to update this function. --- diff --git a/src/dns.c b/src/dns.c index 9eff60ed87..b87e1019f9 100644 --- a/src/dns.c +++ b/src/dns.c @@ -105,11 +105,31 @@ void dump_dns_config() printf(" %p %s\n", curr_resolution, curr_resolution->hostname_dn); printf(" requester.wait list:\n"); list_for_each_entry(curr_requester, &curr_resolution->requester.wait, list) { - printf(" %p %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + switch (obj_type(curr_requester->requester)) { + case OBJ_TYPE_SERVER: + printf(" %p SRV %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_SRVRQ: + printf(" %p SRVRQ %s %d\n", curr_requester, objt_dns_srvrq(curr_requester->requester)->name, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_NONE: + default: + ;; + } } printf(" requester.curr list:\n"); list_for_each_entry(curr_requester, &curr_resolution->requester.curr, list) { - printf(" %p %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + switch (obj_type(curr_requester->requester)) { + case OBJ_TYPE_SERVER: + printf(" %p SRV %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_SRVRQ: + printf(" %p SRVRQ %s %d\n", curr_requester, objt_dns_srvrq(curr_requester->requester)->name, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_NONE: + default: + ;; + } } } printf(" resolution.curr list:\n"); @@ -117,11 +137,31 @@ void dump_dns_config() printf(" %p %s\n", curr_resolution, curr_resolution->hostname_dn); printf(" requester.wait list:\n"); list_for_each_entry(curr_requester, &curr_resolution->requester.wait, list) { - printf(" %p %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + switch (obj_type(curr_requester->requester)) { + case OBJ_TYPE_SERVER: + printf(" %p SRV %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_SRVRQ: + printf(" %p SRVRQ %s %d\n", curr_requester, objt_dns_srvrq(curr_requester->requester)->name, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_NONE: + default: + ;; + } } printf(" requester.curr list:\n"); list_for_each_entry(curr_requester, &curr_resolution->requester.curr, list) { - printf(" %p %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + switch (obj_type(curr_requester->requester)) { + case OBJ_TYPE_SERVER: + printf(" %p SRV %s %d\n", curr_requester, objt_server(curr_requester->requester)->id, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_SRVRQ: + printf(" %p SRVRQ %s %d\n", curr_requester, objt_dns_srvrq(curr_requester->requester)->name, curr_requester->prefered_query_type); + break; + case OBJ_TYPE_NONE: + default: + ;; + } } } }