From f9894f4ebcbe863c5075d411585dbca75311d427 Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Wed, 27 Aug 2008 00:25:02 +0000
Subject: [PATCH] Don't abort configuration if recvfrom() is not available.

---
 acinclude.m4      |  9 ++++++--
 ares/acinclude.m4 | 52 ++++++++++++++++++++++++++---------------------
 ares/setup_once.h |  2 ++
 lib/setup_once.h  |  2 ++
 4 files changed, 40 insertions(+), 25 deletions(-)

diff --git a/acinclude.m4 b/acinclude.m4
index 71c3ca5794..59ef35d28c 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1733,8 +1733,13 @@ AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
         done
       done
     ]) # AC-CACHE-CHECK
+    # Nearly last minute change for this release starts here
+    AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
+      [Define to 1 if you have the recvfrom function.])
+    ac_cv_func_recvfrom="yes"
+    # Nearly last minute change for this release ends here
     if test "$curl_cv_func_recvfrom_args" = "unknown"; then
-      AC_MSG_ERROR([Cannot find proper types to use for recvfrom args])
+      AC_MSG_WARN([Cannot find proper types to use for recvfrom args])
     else
       recvfrom_prev_IFS=$IFS; IFS=','
       set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
@@ -1801,7 +1806,7 @@ AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
       ac_cv_func_recvfrom="yes"
     fi
   else
-    AC_MSG_ERROR([Unable to link function recvfrom])
+    AC_MSG_WARN([Unable to link function recvfrom])
   fi
 ])
 
diff --git a/ares/acinclude.m4 b/ares/acinclude.m4
index 6e7c64e38c..707ba7ee15 100644
--- a/ares/acinclude.m4
+++ b/ares/acinclude.m4
@@ -589,7 +589,7 @@ AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
           done
         done
       done
-    ]) # AC_CACHE_CHECK
+    ]) # AC-CACHE-CHECK
     if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
       AC_MSG_WARN([Cannot find proper types to use for getnameinfo args])
       AC_MSG_WARN([HAVE_GETNAMEINFO will not be defined])
@@ -647,7 +647,7 @@ AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
       ac_cv_func_getnameinfo="yes"
     fi
   fi
-]) # AC_DEFUN
+])
 
 
 dnl TYPE_SOCKADDR_STORAGE
@@ -751,7 +751,7 @@ AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID], [
 #else
         return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
 #endif
-      ]]) # AC_LANG_PROGRAM
+      ]]) # AC-LANG-PROGRAM
     ],[
       # Exit code == 0. Program worked.
       ac_cv_working_ni_withscopeid="yes"
@@ -773,16 +773,16 @@ AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID], [
         ac_cv_working_ni_withscopeid="yes"
       ],[
         ac_cv_working_ni_withscopeid="no"
-      ]) # AC_COMPILE_IFELSE
-    ]) # AC_RUN_IFELSE
-  ]) # AC_CACHE_CHECK
+      ]) # AC-COMPILE-IFELSE
+    ]) # AC-RUN-IFELSE
+  ]) # AC-CACHE-CHECK
   case "$ac_cv_working_ni_withscopeid" in
     yes)
       AC_DEFINE(HAVE_NI_WITHSCOPEID, 1,
         [Define to 1 if NI_WITHSCOPEID exists and works.])
       ;;
   esac
-]) # AC_DEFUN
+])
 
 
 dnl CURL_CHECK_FUNC_RECV
@@ -888,7 +888,7 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [
           done
         done
       done
-    ]) # AC_CACHE_CHECK
+    ]) # AC-CACHE-CHECK
     if test "$curl_cv_func_recv_args" = "unknown"; then
       AC_MSG_ERROR([Cannot find proper types to use for recv args])
     else
@@ -915,7 +915,7 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [
   else
     AC_MSG_ERROR([Unable to link function recv])
   fi
-]) # AC_DEFUN
+])
 
 
 dnl CURL_CHECK_FUNC_SEND
@@ -1021,7 +1021,7 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
           done
         done
       done
-    ]) # AC_CACHE_CHECK
+    ]) # AC-CACHE-CHECK
     if test "$curl_cv_func_send_args" = "unknown"; then
       AC_MSG_ERROR([Cannot find proper types to use for send args])
     else
@@ -1082,7 +1082,7 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
   else
     AC_MSG_ERROR([Unable to link function send])
   fi
-]) # AC_DEFUN
+])
 
 
 dnl CURL_CHECK_FUNC_RECVFROM
@@ -1199,9 +1199,14 @@ AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
           done
         done
       done
-    ]) # AC_CACHE_CHECK
+    ]) # AC-CACHE-CHECK
+    # Nearly last minute change for this release starts here
+    AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
+      [Define to 1 if you have the recvfrom function.])
+    ac_cv_func_recvfrom="yes"
+    # Nearly last minute change for this release ends here
     if test "$curl_cv_func_recvfrom_args" = "unknown"; then
-      AC_MSG_ERROR([Cannot find proper types to use for recvfrom args])
+      AC_MSG_WARN([Cannot find proper types to use for recvfrom args])
     else
       recvfrom_prev_IFS=$IFS; IFS=','
       set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
@@ -1268,9 +1273,10 @@ AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
       ac_cv_func_recvfrom="yes"
     fi
   else
-    AC_MSG_ERROR([Unable to link function recvfrom])
+    AC_MSG_WARN([Unable to link function recvfrom])
+    AC_MSG_WARN([Your system will be vulnerable to some forms of DNS cache poisoning])
   fi
-]) # AC_DEFUN
+])
 
 
 dnl CURL_CHECK_MSG_NOSIGNAL
@@ -1318,7 +1324,7 @@ AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [
         [Define to 1 if you have the MSG_NOSIGNAL flag.])
       ;;
   esac
-]) # AC_DEFUN
+])
 
 
 dnl CURL_CHECK_STRUCT_TIMEVAL
@@ -1377,7 +1383,7 @@ AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [
         [Define to 1 if you have the timeval struct.])
       ;;
   esac
-]) # AC_DEFUN
+])
 
 
 dnl TYPE_SIG_ATOMIC_T
@@ -1421,7 +1427,7 @@ AC_DEFUN([TYPE_SIG_ATOMIC_T], [
       fi
       ;;
   esac
-]) # AC_DEFUN
+])
 
 
 dnl CURL_CHECK_NONBLOCKING_SOCKET
@@ -1660,8 +1666,8 @@ AC_DEFUN([TYPE_IN_ADDR_T], [
 #include <arpa/inet.h>
 #endif
 #endif
-  ]) dnl AC_CHECK_TYPE
-]) dnl AC_DEFUN
+  ])
+])
 
 
 dnl CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC
@@ -1700,7 +1706,7 @@ AC_DEFUN([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC], [
   ])
   dnl Definition of HAVE_CLOCK_GETTIME_MONOTONIC is intentionally postponed
   dnl until library linking and run-time checks for clock_gettime succeed.
-]) dnl AC_DEFUN
+])
 
 
 dnl CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
@@ -1818,7 +1824,7 @@ AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [
     #
   fi
   #
-]) dnl AC_DEFUN
+])
 
 
 dnl **********************************************************************
@@ -1972,7 +1978,7 @@ AC_DEFUN([CURL_CC_DEBUG_OPTS],
     done
     CFLAGS=$NEWFLAGS
 
-]) dnl end of AC_DEFUN()
+])
 
 
 dnl This macro determines if the specified struct exists in the specified file
diff --git a/ares/setup_once.h b/ares/setup_once.h
index 4a71c29194..4f88d9994b 100644
--- a/ares/setup_once.h
+++ b/ares/setup_once.h
@@ -191,6 +191,7 @@ struct timeval {
 #endif /* HAVE_SEND */
 
 
+#if 0
 #if defined(HAVE_RECVFROM)
 /*
  * Currently recvfrom is only used on udp sockets.
@@ -227,6 +228,7 @@ struct timeval {
 #else
 #  define RECVFROM_ARG6_T RECVFROM_TYPE_ARG6
 #endif
+#endif /* if 0 */
 
 
 /*
diff --git a/lib/setup_once.h b/lib/setup_once.h
index 82d74e72f7..90c5de14ff 100644
--- a/lib/setup_once.h
+++ b/lib/setup_once.h
@@ -198,6 +198,7 @@ struct timeval {
 #endif /* HAVE_SEND */
 
 
+#if 0
 #if defined(HAVE_RECVFROM)
 /*
  * Currently recvfrom is only used on udp sockets.
@@ -234,6 +235,7 @@ struct timeval {
 #else
 #  define RECVFROM_ARG6_T RECVFROM_TYPE_ARG6
 #endif
+#endif /* if 0 */
 
 
 /*
-- 
GitLab