<p>Joshua Colp <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/10266">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Corey Farrell: Looks good to me, but someone else must approve
  Joshua Colp: Looks good to me, approved; Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">configure.ac:  Check for unbound version >= 1.5<br><br>In order to do this and provide good feedback, a new macro was<br>created (AST_EXT_LIB_EXTRA_CHECK) which does the normal check and<br>path setups for the library then compiles, links and runs a supplied<br>code fragment to do the final determination.  In this case, the<br>final code fragment compares UNBOUND_VERSION_MAJOR<br>and UNBOUND_VERSION_MINOR to determine if they're greater than or<br>equal to 1.5.<br><br>Since we require version 1.5, some code in res_resolver_unbound<br>was also simplified.<br><br>ASTERISK-28045<br>Reported by: Samuel Galarneau<br><br>Change-Id: Iee94ad543cd6f8b118df8c4c7afd9c4e2ca1fa72<br>---<br>M autoconf/ast_ext_lib.m4<br>M configure<br>M configure.ac<br>M include/asterisk/autoconfig.h.in<br>M menuselect/configure<br>M res/res_resolver_unbound.c<br>6 files changed, 196 insertions(+), 124 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/autoconf/ast_ext_lib.m4 b/autoconf/ast_ext_lib.m4</span><br><span>index 8e5b50e..9a91fc3 100644</span><br><span>--- a/autoconf/ast_ext_lib.m4</span><br><span>+++ b/autoconf/ast_ext_lib.m4</span><br><span>@@ -203,3 +203,105 @@</span><br><span>    LIBS="${ast_ext_lib_check_shared_saved_libs}"</span><br><span> fi</span><br><span> ])</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Check for existence of a given package ($1), either looking up a function</span><br><span style="color: hsl(120, 100%, 40%);">+# in a library, or, if no function is supplied, only check for the</span><br><span style="color: hsl(120, 100%, 40%);">+# existence of the header files.  Then compile, link and run the supplied</span><br><span style="color: hsl(120, 100%, 40%);">+# code fragment to make the final determination.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# AST_EXT_LIB_EXTRA_CHECK([package], [library], [function], [header],</span><br><span style="color: hsl(120, 100%, 40%);">+#  [extra libs], [extra cflags], [AC_LANG_PROGRAM(extra check code...)],</span><br><span style="color: hsl(120, 100%, 40%);">+#    ["checking for" display string], ["HAVE_package_" extra variable to set])</span><br><span style="color: hsl(120, 100%, 40%);">+AC_DEFUN([AST_EXT_LIB_EXTRA_CHECK],</span><br><span style="color: hsl(120, 100%, 40%);">+[</span><br><span style="color: hsl(120, 100%, 40%);">+if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then</span><br><span style="color: hsl(120, 100%, 40%);">+   pbxlibdir=""</span><br><span style="color: hsl(120, 100%, 40%);">+   # if --with-$1=DIR has been specified, use it.</span><br><span style="color: hsl(120, 100%, 40%);">+   if test "x${$1_DIR}" != "x"; then</span><br><span style="color: hsl(120, 100%, 40%);">+      if test -d ${$1_DIR}/lib; then</span><br><span style="color: hsl(120, 100%, 40%);">+         pbxlibdir="-L${$1_DIR}/lib"</span><br><span style="color: hsl(120, 100%, 40%);">+      else</span><br><span style="color: hsl(120, 100%, 40%);">+         pbxlibdir="-L${$1_DIR}"</span><br><span style="color: hsl(120, 100%, 40%);">+      fi</span><br><span style="color: hsl(120, 100%, 40%);">+   fi</span><br><span style="color: hsl(120, 100%, 40%);">+   m4_ifval([$3], [</span><br><span style="color: hsl(120, 100%, 40%);">+      ast_ext_lib_check_save_CFLAGS="${CFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      CFLAGS="${CFLAGS} $6"</span><br><span style="color: hsl(120, 100%, 40%);">+      AC_CHECK_LIB([$2], [$3], [AST_$1_FOUND=yes], [AST_$1_FOUND=no], [${pbxlibdir} $5])</span><br><span style="color: hsl(120, 100%, 40%);">+      CFLAGS="${ast_ext_lib_check_save_CFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+   ], [</span><br><span style="color: hsl(120, 100%, 40%);">+      # empty lib, assume only headers</span><br><span style="color: hsl(120, 100%, 40%);">+      AST_$1_FOUND=yes</span><br><span style="color: hsl(120, 100%, 40%);">+   ])</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   # now check for the header.</span><br><span style="color: hsl(120, 100%, 40%);">+   if test "${AST_$1_FOUND}" = "yes"; then</span><br><span style="color: hsl(120, 100%, 40%);">+      $1_LIB="${pbxlibdir} -l$2 $5"</span><br><span style="color: hsl(120, 100%, 40%);">+      # if --with-$1=DIR has been specified, use it.</span><br><span style="color: hsl(120, 100%, 40%);">+      if test "x${$1_DIR}" != "x"; then</span><br><span style="color: hsl(120, 100%, 40%);">+         $1_INCLUDE="-I${$1_DIR}/include"</span><br><span style="color: hsl(120, 100%, 40%);">+      fi</span><br><span style="color: hsl(120, 100%, 40%);">+      $1_INCLUDE="${$1_INCLUDE} $6"</span><br><span style="color: hsl(120, 100%, 40%);">+      m4_ifval([$4], [</span><br><span style="color: hsl(120, 100%, 40%);">+         # check for the header</span><br><span style="color: hsl(120, 100%, 40%);">+         ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+         CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"</span><br><span style="color: hsl(120, 100%, 40%);">+         AC_CHECK_HEADER([$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0])</span><br><span style="color: hsl(120, 100%, 40%);">+         CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      ], [</span><br><span style="color: hsl(120, 100%, 40%);">+         # no header, assume found</span><br><span style="color: hsl(120, 100%, 40%);">+         $1_HEADER_FOUND="1"</span><br><span style="color: hsl(120, 100%, 40%);">+      ])</span><br><span style="color: hsl(120, 100%, 40%);">+   fi</span><br><span style="color: hsl(120, 100%, 40%);">+   # Validate the package with the supplied code.</span><br><span style="color: hsl(120, 100%, 40%);">+   if test "x${$1_HEADER_FOUND}" = "x1" ; then</span><br><span style="color: hsl(120, 100%, 40%);">+      AC_MSG_CHECKING(for $8)</span><br><span style="color: hsl(120, 100%, 40%);">+      ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"</span><br><span style="color: hsl(120, 100%, 40%);">+      ast_ext_lib_check_saved_LIBS="${LIBS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      LIBS="${$1_LIB}"</span><br><span style="color: hsl(120, 100%, 40%);">+      AC_LINK_IFELSE(</span><br><span style="color: hsl(120, 100%, 40%);">+         [$7],</span><br><span style="color: hsl(120, 100%, 40%);">+         [</span><br><span style="color: hsl(120, 100%, 40%);">+            if test "x${cross_compiling}" = "xyes" ; then</span><br><span style="color: hsl(120, 100%, 40%);">+               $1_VALIDATED="1"</span><br><span style="color: hsl(120, 100%, 40%);">+               AC_MSG_RESULT([yes (guessed for cross-compile)])</span><br><span style="color: hsl(120, 100%, 40%);">+            else</span><br><span style="color: hsl(120, 100%, 40%);">+               ./conftest$EXEEXT</span><br><span style="color: hsl(120, 100%, 40%);">+               if test $? -eq 0 ; then</span><br><span style="color: hsl(120, 100%, 40%);">+                  $1_VALIDATED="1"</span><br><span style="color: hsl(120, 100%, 40%);">+                  AC_MSG_RESULT(yes)</span><br><span style="color: hsl(120, 100%, 40%);">+               else</span><br><span style="color: hsl(120, 100%, 40%);">+                  AC_MSG_RESULT(no)</span><br><span style="color: hsl(120, 100%, 40%);">+               fi</span><br><span style="color: hsl(120, 100%, 40%);">+            fi</span><br><span style="color: hsl(120, 100%, 40%);">+         ],</span><br><span style="color: hsl(120, 100%, 40%);">+         [</span><br><span style="color: hsl(120, 100%, 40%);">+            AC_MSG_RESULT(no)</span><br><span style="color: hsl(120, 100%, 40%);">+         ]</span><br><span style="color: hsl(120, 100%, 40%);">+      )</span><br><span style="color: hsl(120, 100%, 40%);">+      CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      LIBS="${ast_ext_lib_check_saved_LIBS}"</span><br><span style="color: hsl(120, 100%, 40%);">+   fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   if test "x${$1_VALIDATED}" = "x1" ; then</span><br><span style="color: hsl(120, 100%, 40%);">+      m4_ifval([$3], [], [</span><br><span style="color: hsl(120, 100%, 40%);">+         # only checking headers -> no library</span><br><span style="color: hsl(120, 100%, 40%);">+         $1_LIB=""</span><br><span style="color: hsl(120, 100%, 40%);">+      ])</span><br><span style="color: hsl(120, 100%, 40%);">+      PBX_$1=1</span><br><span style="color: hsl(120, 100%, 40%);">+      cat >>confdefs.h <<_ACEOF</span><br><span style="color: hsl(120, 100%, 40%);">+[@%:@define] HAVE_$1 1</span><br><span style="color: hsl(120, 100%, 40%);">+_ACEOF</span><br><span style="color: hsl(120, 100%, 40%);">+      m4_ifval([$9], [</span><br><span style="color: hsl(120, 100%, 40%);">+      cat >>confdefs.h <<_ACEOF</span><br><span style="color: hsl(120, 100%, 40%);">+[@%:@define] HAVE_$1_$9 1</span><br><span style="color: hsl(120, 100%, 40%);">+_ACEOF</span><br><span style="color: hsl(120, 100%, 40%);">+            ])</span><br><span style="color: hsl(120, 100%, 40%);">+   else</span><br><span style="color: hsl(120, 100%, 40%);">+      $1_LIB=""</span><br><span style="color: hsl(120, 100%, 40%);">+      $1_INCLUDE=""</span><br><span style="color: hsl(120, 100%, 40%);">+   fi</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+m4_ifval([$9], [AH_TEMPLATE(m4_bpatsubst([[HAVE_$1_$9]], [(.*)]), [Define if $8])])</span><br><span style="color: hsl(120, 100%, 40%);">+])</span><br><span>diff --git a/configure b/configure</span><br><span>index c45e1b8..fafe27f 100755</span><br><span>--- a/configure</span><br><span>+++ b/configure</span><br><span>@@ -1351,7 +1351,6 @@</span><br><span> docdir</span><br><span> oldincludedir</span><br><span> includedir</span><br><span style="color: hsl(0, 100%, 40%);">-runstatedir</span><br><span> localstatedir</span><br><span> sharedstatedir</span><br><span> sysconfdir</span><br><span>@@ -1542,7 +1541,6 @@</span><br><span> sysconfdir='${prefix}/etc'</span><br><span> sharedstatedir='${prefix}/com'</span><br><span> localstatedir='${prefix}/var'</span><br><span style="color: hsl(0, 100%, 40%);">-runstatedir='${localstatedir}/run'</span><br><span> includedir='${prefix}/include'</span><br><span> oldincludedir='/usr/include'</span><br><span> docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'</span><br><span>@@ -1795,15 +1793,6 @@</span><br><span>   | -silent | --silent | --silen | --sile | --sil)</span><br><span>     silent=yes ;;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  -runstatedir | --runstatedir | --runstatedi | --runstated \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --runstate | --runstat | --runsta | --runst | --runs \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --run | --ru | --r)</span><br><span style="color: hsl(0, 100%, 40%);">-    ac_prev=runstatedir ;;</span><br><span style="color: hsl(0, 100%, 40%);">-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --run=* | --ru=* | --r=*)</span><br><span style="color: hsl(0, 100%, 40%);">-    runstatedir=$ac_optarg ;;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)</span><br><span>     ac_prev=sbindir ;;</span><br><span>   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \</span><br><span>@@ -1941,7 +1930,7 @@</span><br><span> for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \</span><br><span>           datadir sysconfdir sharedstatedir localstatedir includedir \</span><br><span>                 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \</span><br><span style="color: hsl(0, 100%, 40%);">-              libdir localedir mandir runstatedir</span><br><span style="color: hsl(120, 100%, 40%);">+           libdir localedir mandir</span><br><span> do</span><br><span>   eval ac_val=\$$ac_var</span><br><span>   # Remove trailing slashes.</span><br><span>@@ -2094,7 +2083,6 @@</span><br><span>   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]</span><br><span>   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]</span><br><span>   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]</span><br><span style="color: hsl(0, 100%, 40%);">-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]</span><br><span>   --libdir=DIR            object code libraries [EPREFIX/lib]</span><br><span>   --includedir=DIR        C header files [PREFIX/include]</span><br><span>   --oldincludedir=DIR     C header files for non-gcc [/usr/include]</span><br><span>@@ -15335,7 +15323,7 @@</span><br><span>     We can't simply define LARGE_OFF_T to be 9223372036854775807,</span><br><span>     since some C++ compilers masquerading as C compilers</span><br><span>     incorrectly reject 9223372036854775807.  */</span><br><span style="color: hsl(0, 100%, 40%);">-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))</span><br><span style="color: hsl(120, 100%, 40%);">+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))</span><br><span>   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721</span><br><span>                   && LARGE_OFF_T % 2147483647 == 1)</span><br><span>                   ? 1 : -1];</span><br><span>@@ -15381,7 +15369,7 @@</span><br><span>     We can't simply define LARGE_OFF_T to be 9223372036854775807,</span><br><span>     since some C++ compilers masquerading as C compilers</span><br><span>     incorrectly reject 9223372036854775807.  */</span><br><span style="color: hsl(0, 100%, 40%);">-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))</span><br><span style="color: hsl(120, 100%, 40%);">+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))</span><br><span>   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721</span><br><span>                     && LARGE_OFF_T % 2147483647 == 1)</span><br><span>                   ? 1 : -1];</span><br><span>@@ -15405,7 +15393,7 @@</span><br><span>     We can't simply define LARGE_OFF_T to be 9223372036854775807,</span><br><span>     since some C++ compilers masquerading as C compilers</span><br><span>     incorrectly reject 9223372036854775807.  */</span><br><span style="color: hsl(0, 100%, 40%);">-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))</span><br><span style="color: hsl(120, 100%, 40%);">+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))</span><br><span>   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721</span><br><span>                     && LARGE_OFF_T % 2147483647 == 1)</span><br><span>                   ? 1 : -1];</span><br><span>@@ -15450,7 +15438,7 @@</span><br><span>     We can't simply define LARGE_OFF_T to be 9223372036854775807,</span><br><span>     since some C++ compilers masquerading as C compilers</span><br><span>     incorrectly reject 9223372036854775807.  */</span><br><span style="color: hsl(0, 100%, 40%);">-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))</span><br><span style="color: hsl(120, 100%, 40%);">+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))</span><br><span>   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721</span><br><span>                     && LARGE_OFF_T % 2147483647 == 1)</span><br><span>                   ? 1 : -1];</span><br><span>@@ -15474,7 +15462,7 @@</span><br><span>     We can't simply define LARGE_OFF_T to be 9223372036854775807,</span><br><span>     since some C++ compilers masquerading as C compilers</span><br><span>     incorrectly reject 9223372036854775807.  */</span><br><span style="color: hsl(0, 100%, 40%);">-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))</span><br><span style="color: hsl(120, 100%, 40%);">+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))</span><br><span>   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721</span><br><span>                     && LARGE_OFF_T % 2147483647 == 1)</span><br><span>                   ? 1 : -1];</span><br><span>@@ -16774,8 +16762,6 @@</span><br><span>     if (*(data + i) != *(data3 + i))</span><br><span>       return 14;</span><br><span>   close (fd);</span><br><span style="color: hsl(0, 100%, 40%);">-  free (data);</span><br><span style="color: hsl(0, 100%, 40%);">-  free (data3);</span><br><span>   return 0;</span><br><span> }</span><br><span> _ACEOF</span><br><span>@@ -24003,13 +23989,7 @@</span><br><span> </span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# libunbound v1.5.0 added the ub_ctx_add_ta_autr() API call that we can</span><br><span style="color: hsl(0, 100%, 40%);">-# detect as a useable version so that is going to be the minimum version</span><br><span style="color: hsl(0, 100%, 40%);">-# that we will require.</span><br><span style="color: hsl(0, 100%, 40%);">-# Technically v1.4.21 and later could be used but v1.4.21 has a configure</span><br><span style="color: hsl(0, 100%, 40%);">-# script bug which does not find the ldns library.  The bug is fixed in</span><br><span style="color: hsl(0, 100%, 40%);">-# v1.4.22 but that version is not easily detectable.</span><br><span style="color: hsl(0, 100%, 40%);">-#</span><br><span style="color: hsl(120, 100%, 40%);">+# Check that unbound is installed and the version code fragment compiles</span><br><span> </span><br><span> if test "x${PBX_UNBOUND}" != "x1" -a "${USE_UNBOUND}" != "no"; then</span><br><span>    pbxlibdir=""</span><br><span>@@ -24091,63 +24071,77 @@</span><br><span> </span><br><span>          CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      if test "x${UNBOUND_HEADER_FOUND}" = "x0" ; then</span><br><span style="color: hsl(0, 100%, 40%);">-         UNBOUND_LIB=""</span><br><span style="color: hsl(0, 100%, 40%);">-         UNBOUND_INCLUDE=""</span><br><span style="color: hsl(0, 100%, 40%);">-      else</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-         PBX_UNBOUND=1</span><br><span style="color: hsl(0, 100%, 40%);">-         cat >>confdefs.h <<_ACEOF</span><br><span style="color: hsl(0, 100%, 40%);">-#define HAVE_UNBOUND 1</span><br><span style="color: hsl(0, 100%, 40%);">-_ACEOF</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      fi</span><br><span>    fi</span><br><span style="color: hsl(0, 100%, 40%);">-fi</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    if test "x${PBX_UNBOUND_CONST_PARAMS}" != "x1" -a "${USE_UNBOUND_CONST_PARAMS}" != "no"; then</span><br><span style="color: hsl(0, 100%, 40%);">-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UNBOUND_VERSION_MAJOR declared in unbound.h" >&5</span><br><span style="color: hsl(0, 100%, 40%);">-$as_echo_n "checking for UNBOUND_VERSION_MAJOR declared in unbound.h... " >&6; }</span><br><span style="color: hsl(0, 100%, 40%);">-        saved_cppflags="${CPPFLAGS}"</span><br><span style="color: hsl(0, 100%, 40%);">-        if test "x${UNBOUND_CONST_PARAMS_DIR}" != "x"; then</span><br><span style="color: hsl(0, 100%, 40%);">-            UNBOUND_CONST_PARAMS_INCLUDE="-I${UNBOUND_CONST_PARAMS_DIR}/include"</span><br><span style="color: hsl(0, 100%, 40%);">-        fi</span><br><span style="color: hsl(0, 100%, 40%);">-        CPPFLAGS="${CPPFLAGS} ${UNBOUND_CONST_PARAMS_INCLUDE}"</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext</span><br><span style="color: hsl(120, 100%, 40%);">+   # Validate the package with the supplied code.</span><br><span style="color: hsl(120, 100%, 40%);">+   if test "x${UNBOUND_HEADER_FOUND}" = "x1" ; then</span><br><span style="color: hsl(120, 100%, 40%);">+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unbound version >= 1.5" >&5</span><br><span style="color: hsl(120, 100%, 40%);">+$as_echo_n "checking for unbound version >= 1.5... " >&6; }</span><br><span style="color: hsl(120, 100%, 40%);">+      ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      CPPFLAGS="${CPPFLAGS} ${UNBOUND_INCLUDE}"</span><br><span style="color: hsl(120, 100%, 40%);">+      ast_ext_lib_check_saved_LIBS="${LIBS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      LIBS="${UNBOUND_LIB}"</span><br><span style="color: hsl(120, 100%, 40%);">+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext</span><br><span> /* end confdefs.h.  */</span><br><span style="color: hsl(0, 100%, 40%);">- #include <unbound.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      #include <unbound.h></span><br><span> int</span><br><span> main ()</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-#if !defined(UNBOUND_VERSION_MAJOR)</span><br><span style="color: hsl(0, 100%, 40%);">-                                    (void) UNBOUND_VERSION_MAJOR;</span><br><span style="color: hsl(0, 100%, 40%);">-                                #endif</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            #if (UNBOUND_VERSION_MAJOR < 1 || (UNBOUND_VERSION_MAJOR == 1 && UNBOUND_VERSION_MINOR < 5 ))</span><br><span style="color: hsl(120, 100%, 40%);">+            #error "Unbound version must be >= 1.5"</span><br><span style="color: hsl(120, 100%, 40%);">+            #endif</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> </span><br><span>   ;</span><br><span>   return 0;</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> _ACEOF</span><br><span style="color: hsl(0, 100%, 40%);">-if ac_fn_c_try_compile "$LINENO"; then :</span><br><span style="color: hsl(0, 100%, 40%);">-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5</span><br><span style="color: hsl(120, 100%, 40%);">+if ac_fn_c_try_link "$LINENO"; then :</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            if test "x${cross_compiling}" = "xyes" ; then</span><br><span style="color: hsl(120, 100%, 40%);">+               UNBOUND_VALIDATED="1"</span><br><span style="color: hsl(120, 100%, 40%);">+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (guessed for cross-compile)" >&5</span><br><span style="color: hsl(120, 100%, 40%);">+$as_echo "yes (guessed for cross-compile)" >&6; }</span><br><span style="color: hsl(120, 100%, 40%);">+            else</span><br><span style="color: hsl(120, 100%, 40%);">+               ./conftest$EXEEXT</span><br><span style="color: hsl(120, 100%, 40%);">+               if test $? -eq 0 ; then</span><br><span style="color: hsl(120, 100%, 40%);">+                  UNBOUND_VALIDATED="1"</span><br><span style="color: hsl(120, 100%, 40%);">+                  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5</span><br><span> $as_echo "yes" >&6; }</span><br><span style="color: hsl(0, 100%, 40%);">-                PBX_UNBOUND_CONST_PARAMS=1</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-$as_echo "#define HAVE_UNBOUND_CONST_PARAMS 1" >>confdefs.h</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+               else</span><br><span style="color: hsl(120, 100%, 40%);">+                  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5</span><br><span style="color: hsl(120, 100%, 40%);">+$as_echo "no" >&6; }</span><br><span style="color: hsl(120, 100%, 40%);">+               fi</span><br><span style="color: hsl(120, 100%, 40%);">+            fi</span><br><span> </span><br><span> else</span><br><span style="color: hsl(0, 100%, 40%);">-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5</span><br><span> $as_echo "no" >&6; }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-fi</span><br><span style="color: hsl(0, 100%, 40%);">-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        CPPFLAGS="${saved_cppflags}"</span><br><span style="color: hsl(0, 100%, 40%);">-    fi</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+rm -f core conftest.err conftest.$ac_objext \</span><br><span style="color: hsl(120, 100%, 40%);">+    conftest$ac_exeext conftest.$ac_ext</span><br><span style="color: hsl(120, 100%, 40%);">+      CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}"</span><br><span style="color: hsl(120, 100%, 40%);">+      LIBS="${ast_ext_lib_check_saved_LIBS}"</span><br><span style="color: hsl(120, 100%, 40%);">+   fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   if test "x${UNBOUND_VALIDATED}" = "x1" ; then</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      PBX_UNBOUND=1</span><br><span style="color: hsl(120, 100%, 40%);">+      cat >>confdefs.h <<_ACEOF</span><br><span style="color: hsl(120, 100%, 40%);">+#define HAVE_UNBOUND 1</span><br><span style="color: hsl(120, 100%, 40%);">+_ACEOF</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   else</span><br><span style="color: hsl(120, 100%, 40%);">+      UNBOUND_LIB=""</span><br><span style="color: hsl(120, 100%, 40%);">+      UNBOUND_INCLUDE=""</span><br><span style="color: hsl(120, 100%, 40%);">+   fi</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> </span><br><span> </span><br><span> </span><br><span>diff --git a/configure.ac b/configure.ac</span><br><span>index 69b198a..de31d08 100644</span><br><span>--- a/configure.ac</span><br><span>+++ b/configure.ac</span><br><span>@@ -2295,15 +2295,17 @@</span><br><span> </span><br><span> AST_EXT_LIB_CHECK([NEWT], [newt], [newtBell], [newt.h])</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# libunbound v1.5.0 added the ub_ctx_add_ta_autr() API call that we can</span><br><span style="color: hsl(0, 100%, 40%);">-# detect as a useable version so that is going to be the minimum version</span><br><span style="color: hsl(0, 100%, 40%);">-# that we will require.</span><br><span style="color: hsl(0, 100%, 40%);">-# Technically v1.4.21 and later could be used but v1.4.21 has a configure</span><br><span style="color: hsl(0, 100%, 40%);">-# script bug which does not find the ldns library.  The bug is fixed in</span><br><span style="color: hsl(0, 100%, 40%);">-# v1.4.22 but that version is not easily detectable.</span><br><span style="color: hsl(0, 100%, 40%);">-#</span><br><span style="color: hsl(0, 100%, 40%);">-AST_EXT_LIB_CHECK([UNBOUND], [unbound], [ub_ctx_delete], [unbound.h])</span><br><span style="color: hsl(0, 100%, 40%);">-AST_C_DECLARE_CHECK([UNBOUND_CONST_PARAMS], [UNBOUND_VERSION_MAJOR], [unbound.h])</span><br><span style="color: hsl(120, 100%, 40%);">+# Check that unbound is installed and the version code fragment compiles</span><br><span style="color: hsl(120, 100%, 40%);">+AST_EXT_LIB_EXTRA_CHECK([UNBOUND], [unbound], [ub_ctx_delete], [unbound.h],</span><br><span style="color: hsl(120, 100%, 40%);">+   [], [], [</span><br><span style="color: hsl(120, 100%, 40%);">+      AC_LANG_PROGRAM( [#include <unbound.h>],</span><br><span style="color: hsl(120, 100%, 40%);">+         [</span><br><span style="color: hsl(120, 100%, 40%);">+            #if (UNBOUND_VERSION_MAJOR < 1 || (UNBOUND_VERSION_MAJOR == 1 && UNBOUND_VERSION_MINOR < 5 ))</span><br><span style="color: hsl(120, 100%, 40%);">+            #error "Unbound version must be >= 1.5"</span><br><span style="color: hsl(120, 100%, 40%);">+            #endif</span><br><span style="color: hsl(120, 100%, 40%);">+         ]</span><br><span style="color: hsl(120, 100%, 40%);">+      )</span><br><span style="color: hsl(120, 100%, 40%);">+   ], [unbound version >= 1.5])</span><br><span> </span><br><span> AST_EXT_LIB_CHECK([UNIXODBC], [odbc], [SQLConnect], [sql.h])</span><br><span> </span><br><span>diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in</span><br><span>index c90f425..c297d9f 100644</span><br><span>--- a/include/asterisk/autoconfig.h.in</span><br><span>+++ b/include/asterisk/autoconfig.h.in</span><br><span>@@ -1183,9 +1183,6 @@</span><br><span> /* Define to 1 if you have the unbound library. */</span><br><span> #undef HAVE_UNBOUND</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* Define if your system has UNBOUND_VERSION_MAJOR declared. */</span><br><span style="color: hsl(0, 100%, 40%);">-#undef HAVE_UNBOUND_CONST_PARAMS</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /* Define to 1 if you have the <unistd.h> header file. */</span><br><span> #undef HAVE_UNISTD_H</span><br><span> </span><br><span>diff --git a/menuselect/configure b/menuselect/configure</span><br><span>index fd7d24b..8efb637 100755</span><br><span>--- a/menuselect/configure</span><br><span>+++ b/menuselect/configure</span><br><span>@@ -692,7 +692,6 @@</span><br><span> docdir</span><br><span> oldincludedir</span><br><span> includedir</span><br><span style="color: hsl(0, 100%, 40%);">-runstatedir</span><br><span> localstatedir</span><br><span> sharedstatedir</span><br><span> sysconfdir</span><br><span>@@ -773,7 +772,6 @@</span><br><span> sysconfdir='${prefix}/etc'</span><br><span> sharedstatedir='${prefix}/com'</span><br><span> localstatedir='${prefix}/var'</span><br><span style="color: hsl(0, 100%, 40%);">-runstatedir='${localstatedir}/run'</span><br><span> includedir='${prefix}/include'</span><br><span> oldincludedir='/usr/include'</span><br><span> docdir='${datarootdir}/doc/${PACKAGE}'</span><br><span>@@ -1026,15 +1024,6 @@</span><br><span>   | -silent | --silent | --silen | --sile | --sil)</span><br><span>     silent=yes ;;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  -runstatedir | --runstatedir | --runstatedi | --runstated \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --runstate | --runstat | --runsta | --runst | --runs \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --run | --ru | --r)</span><br><span style="color: hsl(0, 100%, 40%);">-    ac_prev=runstatedir ;;</span><br><span style="color: hsl(0, 100%, 40%);">-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \</span><br><span style="color: hsl(0, 100%, 40%);">-  | --run=* | --ru=* | --r=*)</span><br><span style="color: hsl(0, 100%, 40%);">-    runstatedir=$ac_optarg ;;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)</span><br><span>     ac_prev=sbindir ;;</span><br><span>   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \</span><br><span>@@ -1172,7 +1161,7 @@</span><br><span> for ac_var in      exec_prefix prefix bindir sbindir libexecdir datarootdir \</span><br><span>           datadir sysconfdir sharedstatedir localstatedir includedir \</span><br><span>                 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \</span><br><span style="color: hsl(0, 100%, 40%);">-              libdir localedir mandir runstatedir</span><br><span style="color: hsl(120, 100%, 40%);">+           libdir localedir mandir</span><br><span> do</span><br><span>   eval ac_val=\$$ac_var</span><br><span>   # Remove trailing slashes.</span><br><span>@@ -1325,7 +1314,6 @@</span><br><span>   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]</span><br><span>   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]</span><br><span>   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]</span><br><span style="color: hsl(0, 100%, 40%);">-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]</span><br><span>   --libdir=DIR            object code libraries [EPREFIX/lib]</span><br><span>   --includedir=DIR        C header files [PREFIX/include]</span><br><span>   --oldincludedir=DIR     C header files for non-gcc [/usr/include]</span><br><span>diff --git a/res/res_resolver_unbound.c b/res/res_resolver_unbound.c</span><br><span>index 89a934c..7f3836a 100644</span><br><span>--- a/res/res_resolver_unbound.c</span><br><span>+++ b/res/res_resolver_unbound.c</span><br><span>@@ -77,17 +77,6 @@</span><br><span>         </configInfo></span><br><span>  ***/</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/*!</span><br><span style="color: hsl(0, 100%, 40%);">- * Unbound versions <= 1.4.20 declare string function parameters as 'char *'</span><br><span style="color: hsl(0, 100%, 40%);">- * but versions >= 1.4.21 declare them as 'const char *'.  Since CentOS6 is still</span><br><span style="color: hsl(0, 100%, 40%);">- * at 1.4.20, we need to cast away the 'const' if we detect the earlier version.</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-#ifdef HAVE_UNBOUND_CONST_PARAMS</span><br><span style="color: hsl(0, 100%, 40%);">-#define UNBOUND_CHAR const char</span><br><span style="color: hsl(0, 100%, 40%);">-#else</span><br><span style="color: hsl(0, 100%, 40%);">-#define UNBOUND_CHAR char</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /*! \brief Structure for an unbound resolver */</span><br><span> struct unbound_resolver {</span><br><span>         /*! \brief Resolver context itself */</span><br><span>@@ -309,7 +298,7 @@</span><br><span>  data->resolver = ao2_bump(cfg->global->state->resolver);</span><br><span>         ast_dns_resolver_set_data(query, data);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     res = ub_resolve_async(data->resolver->context, (UNBOUND_CHAR *)ast_dns_query_get_name(query),</span><br><span style="color: hsl(120, 100%, 40%);">+  res = ub_resolve_async(data->resolver->context, ast_dns_query_get_name(query),</span><br><span>                 ast_dns_query_get_rr_type(query), ast_dns_query_get_rr_class(query),</span><br><span>                 ao2_bump(query), unbound_resolver_callback, &data->id);</span><br><span> </span><br><span>@@ -421,7 +410,7 @@</span><br><span>     if (!strcmp(cfg->global->hosts, "system")) {</span><br><span>                 res = ub_ctx_hosts(cfg->global->state->resolver->context, NULL);</span><br><span>         } else if (!ast_strlen_zero(cfg->global->hosts)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                res = ub_ctx_hosts(cfg->global->state->resolver->context, (UNBOUND_CHAR *)cfg->global->hosts);</span><br><span style="color: hsl(120, 100%, 40%);">+              res = ub_ctx_hosts(cfg->global->state->resolver->context, cfg->global->hosts);</span><br><span>     }</span><br><span> </span><br><span>        if (res) {</span><br><span>@@ -436,7 +425,7 @@</span><br><span> </span><br><span>                 it_nameservers = ao2_iterator_init(cfg->global->nameservers, 0);</span><br><span>               while (!res && (nameserver = ao2_iterator_next(&it_nameservers))) {</span><br><span style="color: hsl(0, 100%, 40%);">-                 res = ub_ctx_set_fwd(cfg->global->state->resolver->context, (UNBOUND_CHAR *)nameserver);</span><br><span style="color: hsl(120, 100%, 40%);">+                  res = ub_ctx_set_fwd(cfg->global->state->resolver->context, nameserver);</span><br><span> </span><br><span>                     if (res) {</span><br><span>                           ast_log(LOG_ERROR, "Failed to add nameserver '%s' to unbound resolver: %s\n",</span><br><span>@@ -453,7 +442,7 @@</span><br><span>        if (!strcmp(cfg->global->resolv, "system")) {</span><br><span>                res = ub_ctx_resolvconf(cfg->global->state->resolver->context, NULL);</span><br><span>    } else if (!ast_strlen_zero(cfg->global->resolv)) {</span><br><span style="color: hsl(0, 100%, 40%);">-               res = ub_ctx_resolvconf(cfg->global->state->resolver->context, (UNBOUND_CHAR *)cfg->global->resolv);</span><br><span style="color: hsl(120, 100%, 40%);">+                res = ub_ctx_resolvconf(cfg->global->state->resolver->context, cfg->global->resolv);</span><br><span>       }</span><br><span> </span><br><span>        if (res) {</span><br><span>@@ -463,7 +452,7 @@</span><br><span>     }</span><br><span> </span><br><span>        if (!ast_strlen_zero(cfg->global->ta_file)) {</span><br><span style="color: hsl(0, 100%, 40%);">-             res = ub_ctx_add_ta_file(cfg->global->state->resolver->context, (UNBOUND_CHAR *)cfg->global->ta_file);</span><br><span style="color: hsl(120, 100%, 40%);">+              res = ub_ctx_add_ta_file(cfg->global->state->resolver->context, cfg->global->ta_file);</span><br><span> </span><br><span>                 if (res) {</span><br><span>                   ast_log(LOG_ERROR, "Failed to set trusted anchor file to '%s' in unbound resolver: %s\n",</span><br><span>@@ -759,13 +748,13 @@</span><br><span>  static const size_t V4_SIZE = sizeof(struct in_addr);</span><br><span>        static const size_t V6_SIZE = sizeof(struct in6_addr);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      static UNBOUND_CHAR *DOMAIN1 = "goose.feathers";</span><br><span style="color: hsl(0, 100%, 40%);">-      static UNBOUND_CHAR *DOMAIN2 = "duck.feathers";</span><br><span style="color: hsl(120, 100%, 40%);">+     static const char *DOMAIN1 = "goose.feathers";</span><br><span style="color: hsl(120, 100%, 40%);">+      static const char *DOMAIN2 = "duck.feathers";</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     static UNBOUND_CHAR *ADDR1 = "127.0.0.2";</span><br><span style="color: hsl(0, 100%, 40%);">-     static UNBOUND_CHAR *ADDR2 = "127.0.0.3";</span><br><span style="color: hsl(0, 100%, 40%);">-     static UNBOUND_CHAR *ADDR3 = "::1";</span><br><span style="color: hsl(0, 100%, 40%);">-   static UNBOUND_CHAR *ADDR4 = "127.0.0.4";</span><br><span style="color: hsl(120, 100%, 40%);">+   static const char *ADDR1 = "127.0.0.2";</span><br><span style="color: hsl(120, 100%, 40%);">+     static const char *ADDR2 = "127.0.0.3";</span><br><span style="color: hsl(120, 100%, 40%);">+     static const char *ADDR3 = "::1";</span><br><span style="color: hsl(120, 100%, 40%);">+   static const char *ADDR4 = "127.0.0.4";</span><br><span> </span><br><span>        char addr1_buf[V4_SIZE];</span><br><span>     char addr2_buf[V4_SIZE];</span><br><span>@@ -805,7 +794,7 @@</span><br><span>       ub_ctx_zone_add(resolver->context, DOMAIN2, "static");</span><br><span> </span><br><span>      for (i = 0; i < ARRAY_LEN(records); ++i) {</span><br><span style="color: hsl(0, 100%, 40%);">-           ub_ctx_data_add(resolver->context, (UNBOUND_CHAR *)records[i].as_string);</span><br><span style="color: hsl(120, 100%, 40%);">+          ub_ctx_data_add(resolver->context, records[i].as_string);</span><br><span>         }</span><br><span> </span><br><span>        for (i = 0; i < ARRAY_LEN(runs); ++i) {</span><br><span>@@ -827,7 +816,7 @@</span><br><span> </span><br><span> cleanup:</span><br><span>     for (i = 0; i < ARRAY_LEN(records); ++i) {</span><br><span style="color: hsl(0, 100%, 40%);">-           ub_ctx_data_remove(resolver->context, (UNBOUND_CHAR *)records[i].as_string);</span><br><span style="color: hsl(120, 100%, 40%);">+               ub_ctx_data_remove(resolver->context, records[i].as_string);</span><br><span>      }</span><br><span>    ub_ctx_zone_remove(resolver->context, DOMAIN1);</span><br><span>   ub_ctx_zone_remove(resolver->context, DOMAIN2);</span><br><span>@@ -1031,10 +1020,10 @@</span><br><span> </span><br><span>     static const size_t V4_SIZE = sizeof(struct in_addr);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       static UNBOUND_CHAR *DOMAIN1 = "goose.feathers";</span><br><span style="color: hsl(0, 100%, 40%);">-      static UNBOUND_CHAR *DOMAIN2 = "duck.feathers";</span><br><span style="color: hsl(120, 100%, 40%);">+     static const char *DOMAIN1 = "goose.feathers";</span><br><span style="color: hsl(120, 100%, 40%);">+      static const char *DOMAIN2 = "duck.feathers";</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     static UNBOUND_CHAR *ADDR1 = "127.0.0.2";</span><br><span style="color: hsl(120, 100%, 40%);">+   static const char *ADDR1 = "127.0.0.2";</span><br><span> </span><br><span>        char addr1_buf[V4_SIZE];</span><br><span> </span><br><span>@@ -1065,7 +1054,7 @@</span><br><span>         ub_ctx_zone_add(resolver->context, DOMAIN2, "static");</span><br><span> </span><br><span>      for (i = 0; i < ARRAY_LEN(records); ++i) {</span><br><span style="color: hsl(0, 100%, 40%);">-           ub_ctx_data_add(resolver->context, (UNBOUND_CHAR *)records[i].as_string);</span><br><span style="color: hsl(120, 100%, 40%);">+          ub_ctx_data_add(resolver->context, records[i].as_string);</span><br><span>         }</span><br><span> </span><br><span>        for (i = 0; i < ARRAY_LEN(runs); ++i) {</span><br><span>@@ -1253,7 +1242,7 @@</span><br><span>   ub_ctx_zone_add(resolver->context, DOMAIN1, "static");</span><br><span> </span><br><span>      for (i = 0; i < ARRAY_LEN(records); ++i) {</span><br><span style="color: hsl(0, 100%, 40%);">-           ub_ctx_data_add(resolver->context, (UNBOUND_CHAR *)records[i].zone_entry);</span><br><span style="color: hsl(120, 100%, 40%);">+         ub_ctx_data_add(resolver->context, records[i].zone_entry);</span><br><span>        }</span><br><span> </span><br><span>        if (ast_dns_resolve(DOMAIN1, ns_t_naptr, ns_c_in, &result)) {</span><br><span>@@ -1330,8 +1319,8 @@</span><br><span>    RAII_VAR(struct unbound_config *, cfg, NULL, ao2_cleanup);</span><br><span>   RAII_VAR(struct ast_dns_result *, result, NULL, ast_dns_result_free);</span><br><span>        const struct ast_dns_record *record;</span><br><span style="color: hsl(0, 100%, 40%);">-    static UNBOUND_CHAR *DOMAIN1 = "taco.bananas";</span><br><span style="color: hsl(0, 100%, 40%);">-        static UNBOUND_CHAR *DOMAIN1_SRV = "taco.bananas 12345 IN SRV 10 20 5060 sip.taco.bananas";</span><br><span style="color: hsl(120, 100%, 40%);">+ static const char *DOMAIN1 = "taco.bananas";</span><br><span style="color: hsl(120, 100%, 40%);">+        static const char *DOMAIN1_SRV = "taco.bananas 12345 IN SRV 10 20 5060 sip.taco.bananas";</span><br><span>  enum ast_test_result_state res = AST_TEST_PASS;</span><br><span> </span><br><span>  switch (cmd) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/10266">change 10266</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/10266"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 15 </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Iee94ad543cd6f8b118df8c4c7afd9c4e2ca1fa72 </div>
<div style="display:none"> Gerrit-Change-Number: 10266 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Corey Farrell <git@cfware.com> </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 (1000185) </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@digium.com> </div>