3 @@ -152,6 +152,10 @@ if test "x$found_resolv" != "xyes"; then
4 AC_MSG_ERROR([Unable to do DNS lookups (libresolv check failed)])
6 LIBS="${LIBS} ${RESOLV_LIBS}"
7 +AC_SEARCH_LIBS([res_mkquery], [], [AC_DEFINE([HAVE_RES_MKQUERY], 1, [Define if res_mkquery exists])])
8 +AC_SEARCH_LIBS([__res_mkquery], [], [AC_DEFINE([HAVE_RES_MKQUERY], 1, [Define if res_mkquery exists])])
9 +AC_SEARCH_LIBS([res_send], [], [AC_DEFINE([HAVE_RES_SEND], 1, [Define if res_send exists])])
10 +AC_SEARCH_LIBS([__res_send], [], [AC_DEFINE([HAVE_RES_SEND], 1, [Define if res_send exists])])
12 dnl *****************************************************************
14 --- a/src/libs/zbxsysinfo/common/net.c
15 +++ b/src/libs/zbxsysinfo/common/net.c
16 @@ -450,6 +450,7 @@ static int dns_query(AGENT_REQUEST *requ
17 return SYSINFO_RET_FAIL;
20 +#if defined(HAVE_RES_MKQUERY) && defined(HAVE_RES_SEND)
21 if (-1 == (res = res_mkquery(QUERY, zone, C_IN, type, NULL, 0, NULL, buf, sizeof(buf))))
23 SET_MSG_RESULT(result, zbx_dsprintf(NULL, "Cannot create DNS query: %s", zbx_strerror(errno)));
24 @@ -480,6 +481,11 @@ static int dns_query(AGENT_REQUEST *requ
27 res = res_send(buf, res, answer.buffer, sizeof(answer.buffer));
28 +#else /* defined(HAVE_RES_QUERY) && defined(HAVE_RES_SEND) */
29 + /* retrand and retry are ignored */
30 + if (-1 == (res = res_query(zone, C_IN, type, answer.buffer, sizeof(answer.buffer))))
31 + return SYSINFO_RET_FAIL;
34 _res.retrans = saved_retrans;
35 _res.retry = saved_retry;