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.

