On 2020-01-22, Claus Assmann <[email protected]> wrote:
> The functional tests for sendmail use ldns-testns as DNS server
> which provides specific test data and error behaviours.
> It runs on a port  > 1024 to avoid requiring root access.
> There's code in sendmail to set the IP and port for a NS:
>       _res.nsaddr_list[0].sin_family = AF_INET;
>       _res.nsaddr_list[0].sin_addr = *ns;
>       _res.nsaddr_list[0].sin_port = htons(port);
>       _res.nscount = 1;
> but this does not work (anymore) on OpenBSD -- AFAICT the
> resolver implementation (asr?) has a hardcoded port (53).
> Is there some way to set a different port for testing?  I also tried
> to link sendmail against libbind but then it fails during executtion:
>
> sendmail:/usr/lib/libc.so.95.0: ../sendmail/sendmail : WARNING: 
> symbol(__p_type_syms) size mismatch, relink your program
> sendmail:/usr/lib/libc.so.95.0: ../sendmail/sendmail : WARNING: symbol(_res) 
> size mismatch, relink your program
> fill_fd: before readcf: fd 0 not open: Bad file descriptor
>
> Any (simple?) suggestion to get this working on OpenBSD (just for
> functional testing)?
>

For the libbind port, to avoid the conflict with libc/asr, those two
symbols are renamed. You need to set cpp flags to make sure you're
getting the version of resolv.h from /usr/local/include *not* the one in
/usr/include.


Reply via email to