Works with `rwrap_example`. ``` LD_PRELOAD=libresolv_wrapper.so RESOLV_WRAPPER_CONF=/tmp/testresolv.conf ``` ``` RESOLV_WRAPPER_DEBUGLEVEL=4 ./rwrap_example a RWRAP_TRACE(19981) - _rwrap_bind_symbol: Loaded __res_ninit from libc RWRAP_TRACE(19981) - rwrap_res_nquery: Resolve the domain name [kdc.example.com] - class=1, type=1 RWRAP_TRACE(19981) - rwrap_res_nquery: nameserver: 10.137.2.1 RWRAP_TRACE(19981) - rwrap_res_nquery: nameserver: 10.137.2.254 RWRAP_TRACE(19981) - _rwrap_bind_symbol: Loaded __res_nquery from libresolv RWRAP_TRACE(19981) - rwrap_res_nquery: The returned response length is: -1 ``` Doesn't work with `curl` though? ``` LD_PRELOAD=libresolv_wrapper.so RESOLV_WRAPPER_CONF=/tmp/testresolv.conf RESOLV_WRAPPER_DEBUGLEVEL=4 curl google.com ``` Once I delete, `/etc/resolv.conf`, DNS resolution is broken. (`/tmp/testresolv.conf` being a copy of `/etc/resolv.conf`.) Am I doing something wrong?
I guess curl uses https://c-ares.haxx.se/ so it doesn't call the libc res_* functions from libresolv.
From the webpage: Who c-ares? ----------- c-ares is being used by libcurl Here we go. Check the c-ares documentation if it is possible to change the resolv.conf file :-)
Covering redirection of c-ares based applications is out of scope for the resolv_wrapper library project?
Yes, resolv_wrapper is only for libresolv.so nothing else :-)
Thanks for the clarification! :-)