On Sun, 2 May 2021, D. Hugh Redelmeier wrote:

Subject: [Swan-dev] get rid of getnetbyname() /etc/networks?

Comments I added recently:

+       /*
+        * try a name from /etc/networks
+        *
+        * Seems pretty obsolete:
+        * - latest RFC, 1101, dated April 1989
+        * - IPv4 only
+        * - doesn't support classless networks
+        * - Window has it
+        */

We are using this as a fallback when DNS doesn't resolve a name.
We are not even using it to find a network, only an IP address.

kill it :)

Related, there are still a few places that end up calling
gethostbyname2() which is also obsolete and does not work for IPv6:

lib/libswan/ttoaddress.c:       struct hostent *h = gethostbyname2(p, af);

programs/showhostkey/showhostkey.c:     gethostname(qname, sizeof(qname));

The case in ttoaddress.c is the main one. Since it is used by
ttoaddress_dns() which is used in many places, we cannot replace it
with an async libunbound call. And to do a sync unbound call, last I
looked at this years ago, we would have to start another libunbound
context which gets its own cachce. Also, it would mean people can no
longer compile without libunbound. I guess the best fix would be to
rewrite it to use getaddrinfo() or res_ functions?

Paul
_______________________________________________
Swan-dev mailing list
[email protected]
https://lists.libreswan.org/mailman/listinfo/swan-dev

Reply via email to