From: Kurt Zeilenga Date: Mon, 26 Jan 2004 17:22:24 +0000 (+0000) Subject: res_query portability fix X-Git-Tag: OPENLDAP_REL_ENG_2_1_27~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa79cf3e11c44dc60853449ace510a570a56d0e6;p=thirdparty%2Fopenldap.git res_query portability fix --- diff --git a/libraries/libldap/dnssrv.c b/libraries/libldap/dnssrv.c index c76b1c07e2..5ce1b67dfa 100644 --- a/libraries/libldap/dnssrv.c +++ b/libraries/libldap/dnssrv.c @@ -200,7 +200,16 @@ int ldap_domain2hostlist( #endif rc = LDAP_UNAVAILABLE; +#ifdef NS_HFIXEDSZ + /* Bind 8/9 interface */ + len = res_query(request, ns_c_in, ns_t_srv, reply, sizeof(reply)); +#else + /* Bind 4 interface */ +# ifndef T_SRV +# define T_SRV 33 +# endif len = res_query(request, C_IN, T_SRV, reply, sizeof(reply)); +#endif if (len >= 0) { unsigned char *p; char host[DNSBUFSIZ]; @@ -210,7 +219,18 @@ int ldap_domain2hostlist( /* Parse out query */ p = reply; + +#ifdef NS_HFIXEDSZ + /* Bind 8/9 interface */ + p += NS_HFIXEDSZ; +#elif defined(HFIXEDSZ) + /* Bind 4 interface w HFIXEDSZ */ + p += HFIXEDSZ; +#else + /* Bind 4 interface w/o HFIXEDSZ */ p += sizeof(HEADER); +#endif + status = dn_expand(reply, reply + len, p, host, sizeof(host)); if (status < 0) { goto out;