From e96d9a4507857692a4c8d5d308ba6a68ce09fe8f Mon Sep 17 00:00:00 2001 From: John Coyle Date: Wed, 15 Jun 2016 10:18:14 -0400 Subject: [PATCH] common/dns_resolve: use ns_name_uncompress instead of ns_name_ntop musl libc doesn't implement ns_name_ntop Signed-off-by: John Coyle --- src/common/dns_resolve.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/common/dns_resolve.cc b/src/common/dns_resolve.cc index 741edd15965..8ec4cf616db 100644 --- a/src/common/dns_resolve.cc +++ b/src/common/dns_resolve.cc @@ -350,15 +350,11 @@ int DNSResolver::resolve_srv_hosts(CephContext *cct, const string& service_name, string srv_domain = full_srv_name.substr(full_srv_name.find(protocol) + protocol.length()); - const u_char *p = ns_rr_rdata(rr); - p += NS_INT16SZ; // priority - p += NS_INT16SZ; // weight - - int port; - NS_GET16(port, p); - + int port = ns_get16(ns_rr_rdata(rr) + (NS_INT16SZ * 2)); /* port = rdata + priority + weight */ memset(full_target, 0, sizeof(full_target)); - ns_name_ntop(p, full_target, NS_MAXDNAME); + ns_name_uncompress(ns_msg_base(handle), ns_msg_end(handle), + ns_rr_rdata(rr) + (NS_INT16SZ * 3), /* comp_dn = rdata + priority + weight + port */ + full_target, sizeof(full_target)); entity_addr_t addr; #ifdef HAVE_RES_NQUERY -- 2.47.3