diff options
author | Thomas Munro | 2025-03-19 03:56:19 +0000 |
---|---|---|
committer | Thomas Munro | 2025-03-19 03:56:19 +0000 |
commit | d7e40845f923ed5091b334b1018a547e39846415 (patch) | |
tree | 5777e50da5ff5bda8b99b14e2f80558ff5d3a4c9 /configure | |
parent | 434dbf6907ec8fafa6862a0f00385f293e63ac0e (diff) |
oauth: Disallow synchronous DNS in libcurl
There is concern that a blocking DNS lookup in libpq could stall a
backend process (say, via FDW). Since there's currently no strong
evidence that synchronous DNS is a popular option, disallow it entirely
rather than warning at configure time. We can revisit if anyone
complains.
Per query from Andres Freund.
Author: Jacob Champion <jacob.champion@enterprisedb.com>
Discussion: https://postgr.es/m/p4bd7mn6dxr2zdak74abocyltpfdxif4pxqzixqpxpetjwt34h%40qc6jgfmoddvq
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/configure b/configure index 93fddd69981..559f535f5cd 100755 --- a/configure +++ b/configure @@ -12493,7 +12493,7 @@ $as_echo "#define HAVE_THREADSAFE_CURL_GLOBAL_INIT 1" >>confdefs.h fi - # Warn if a thread-friendly DNS resolver isn't built. + # Fail if a thread-friendly DNS resolver isn't built. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl support for asynchronous DNS" >&5 $as_echo_n "checking for curl support for asynchronous DNS... " >&6; } if ${pgac_cv__libcurl_async_dns+:} false; then : @@ -12535,15 +12535,11 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__libcurl_async_dns" >&5 $as_echo "$pgac_cv__libcurl_async_dns" >&6; } - if test x"$pgac_cv__libcurl_async_dns" != xyes ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -*** The installed version of libcurl does not support asynchronous DNS -*** lookups. Connection timeouts will not be honored during DNS resolution, -*** which may lead to hangs in client programs." >&5 -$as_echo "$as_me: WARNING: + if test x"$pgac_cv__libcurl_async_dns" = xno ; then + as_fn_error $? " *** The installed version of libcurl does not support asynchronous DNS -*** lookups. Connection timeouts will not be honored during DNS resolution, -*** which may lead to hangs in client programs." >&2;} +*** lookups. Rebuild libcurl with the AsynchDNS feature enabled in order +*** to use it with libpq." "$LINENO" 5 fi fi |