Subject: 2.5.0 Quickfix 'deny.not.nameserved.patch'
From: Gregory A Lundberg <[email-masked]>
Cc: WU-FTPD Questions <[email-masked]>, WU-FTPD Discussion List <[email-masked]>, WUFTPD Development Group <[email-masked]>
Date: Wed, 26 May 1999 09:32:10 -0400 (EDT)

Available from

  ftp://ftp.wu-ftpd.org/pub/wu-ftpd/quickfixes/apply_to_2.5.0/

After release of 2.5.0, two separate reports of problems with
  deny !nameserved msgfile
were received.  Basically, the daemon was treating '!nameserved' as
a host name and not fully giving it the special treatment it needs.
This problem has been in the daemon since, at least, version 2.4
was not unmasked until VR9 changed the details of how hostmatch()
does its thing.

Index: src/access.c
===================================================================
RCS file: /cvsroot/wu-ftpd-stable/src/access.c,v
retrieving revision 1.6
diff -c -r1.6 access.c
*** src/access.c	1999/05/20 10:48:54	1.6
--- src/access.c	1999/05/26 13:17:13
***************
*** 1128,1138 ****
      while (getaclentry("deny", &entry)) {
          if (!ARG0)
              continue;
!         if (!nameserved && !strcasecmp(ARG0, "!nameserved")) {
              if (ARG1)
                  strcpy(msgpathbuf, entry->arg[1]);
              return (1);
          }
          if (hostmatch(ARG0,remoteaddr,remotehost)) {
              if (ARG1)
                  strcpy(msgpathbuf, entry->arg[1]);
--- 1128,1141 ----
      while (getaclentry("deny", &entry)) {
          if (!ARG0)
              continue;
! 	if (strcasecmp(ARG0, "!nameserved") == 0) {
!           if (!nameserved) {
              if (ARG1)
                  strcpy(msgpathbuf, entry->arg[1]);
              return (1);
+           }
          }
+         else
          if (hostmatch(ARG0,remoteaddr,remotehost)) {
              if (ARG1)
                  strcpy(msgpathbuf, entry->arg[1]);

-- 

Gregory A Lundberg              Senior Partner, VRnet Company
1441 Elmdale Drive              [email-masked]
Kettering, OH 45409-1615 USA    1-800-809-2195