7072f03630209b1d11a5ee09e1c0d89f09db0004
[packages.git] / admin / zabbix / patches / 002-fix-res_send-on-uclibc.patch
1 --- a/configure.in
2 +++ b/configure.in
3 @@ -151,6 +151,10 @@ if test "x$found_resolv" != "xyes"; then
4         AC_MSG_ERROR([Unable to do DNS lookups (libresolv check failed)])
5  fi
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])]) 
11  
12  dnl *****************************************************************
13  dnl *                                                               *
14 --- a/src/libs/zbxsysinfo/common/net.c
15 +++ b/src/libs/zbxsysinfo/common/net.c
16 @@ -421,6 +421,7 @@ static int  dns_query(AGENT_REQUEST *requ
17  #else  /* not _WINDOWS */
18         res_init();     /* initialize always, settings might have changed */
19  
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))))
22                 return SYSINFO_RET_FAIL;
23  
24 @@ -439,6 +440,11 @@ static int dns_query(AGENT_REQUEST *requ
25         _res.retry = retry;
26  
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;
32 +#endif 
33  
34         hp = (HEADER *)answer.buffer;
35