schwarze neutered the *netent(3) family as well as networks(5) in 2018,
mountd(8) remains the only user of these functions in base.

setnetent() and endnetent() are empty functions now, getnetent() always
returns NULL unconditionally so the while loop is never entered, the
entire if block is code that does nothing and inetaddr2 eventually
becomes unused alltogether.

See lib/libc/net/getnetent.c or getnetent(3).

get_net()'s maskflg parameter is still used, so nothing to be removed
there.

Feedback? OK?

Index: mountd.c
===================================================================
RCS file: /cvs/src/sbin/mountd/mountd.c,v
retrieving revision 1.88
diff -u -p -r1.88 mountd.c
--- mountd.c    24 Jan 2020 18:51:45 -0000      1.88
+++ mountd.c    24 May 2020 13:11:04 -0000
@@ -2052,29 +2052,13 @@ do_mount(struct exportlist *ep, struct g
 int
 get_net(char *cp, struct netmsk *net, int maskflg)
 {
-       struct in_addr inetaddr, inetaddr2;
+       struct in_addr inetaddr;
        in_addr_t netaddr;
        struct netent *np;
        char *name;
 
        if ((netaddr = inet_network(cp)) != INADDR_NONE) {
                inetaddr = inet_makeaddr(netaddr, 0);
-               /*
-                * Due to arbitrary subnet masks, you don't know how many
-                * bits to shift the address to make it into a network,
-                * however you do know how to make a network address into
-                * a host with host == 0 and then compare them.
-                * (What a pest)
-                */
-               if (!maskflg) {
-                       setnetent(0);
-                       while ((np = getnetent())) {
-                               inetaddr2 = inet_makeaddr(np->n_net, 0);
-                               if (inetaddr2.s_addr == inetaddr.s_addr)
-                                       break;
-                       }
-                       endnetent();
-               }
        } else {
                if ((np = getnetbyname(cp)))
                        inetaddr = inet_makeaddr(np->n_net, 0);

Reply via email to