On Sun, May 24, 2020 at 03:17:31PM +0200, Klemens Nanni wrote:
> 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?
Ping.


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    5 Jun 2020 21:05:06 -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