Skip to content

libcurl: 6765e6d breaks dns resolution in my setup with c-ares #4893

@ernstp

Description

@ernstp

I did this

Curl compiled for arm with yocto like this:
Host setup: arm-fslc-linux-gnueabi
Install prefix: /usr
Compiler: arm-fslc-linux-gnueabi-gcc -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/work/build/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/curl/7.64.1-r0/recipe-sysroot
CFLAGS: -O2 -pipe -feliminate-unused-debug-types -fmacro-prefix-map=/work/build/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/curl/7.64.1-r0=/usr/src/debug/curl/7.64.1-r0 -fdebug-prefix-map=/work/build/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/curl/7.64.1-r0=/usr/src/debug/curl/7.64.1-r0 -fdebug-prefix-map=/work/build/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/curl/7.64.1-r0/recipe-sysroot= -fdebug-prefix-map=/work/build/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/curl/7.64.1-r0/recipe-sysroot-native= -Werror-implicit-function-declaration -Wno-system-headers
CPPFLAGS:
LDFLAGS: -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now
LIBS: -lcares

curl version: 7.64.1
SSL: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,schannel,secure-transport,mesalink,amissl} )
SSH: no (--with-libssh2)
zlib: no (--with-zlib)
brotli: no (--with-brotli)
GSS-API: no (--with-gssapi)
TLS-SRP: no (--enable-tls-srp)
resolver: c-ares
IPv6: no (--enable-ipv6)
Unix sockets: enabled
IDN: no (--with-{libidn2,winidn})
Build libcurl: Shared=yes, Static=no
Built-in manual: no (--enable-manual)
--libcurl option: no
Verbose errors: enabled (--disable-verbose)
Code coverage: disabled
SSPI: no (--enable-sspi)
ca cert bundle: no
ca cert path:
ca fallback:
LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib)
LDAPS: no (--enable-ldaps)
RTSP: no (--enable-rtsp)
RTMP: no (--with-librtmp)
Metalink: no (--with-libmetalink)
PSL: no (--with-libpsl)
Alt-svc: no (--enable-alt-svc)
HTTP2: disabled (--with-nghttp2)
Protocols: FILE FTP HTTP
Features: UnixSockets AsynchDNS

I expected the following

I do something like this:
curl_easy_setopt(curl_master, CURLOPT_DNS_SERVERS, "1.2.3.4,1.2.3.5");
new_handle = curl_easy_duphandle(curl_master);
setup request on new_handle
curl_easy_perform(new_handle);

  • Could not resolve: foo.bar.stuff (Domain name not found)
  • Closing connection 0
    curl_easy_perform failed: Couldn't resolve host name (6)

curl/libcurl version

I notice this when upgrading from libcurl 7.62 to 7.64. I took a guess and reverted 6765e6d and that made it work again.
My setup also doesn't work with 7.68.

operating system

Linux Yocto 2.7 kernel 4.14 armv7l

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions