Package-Name: wu-ftpd
Homepage: http://www.wu-ftpd.org/
Source: ftp://ftp.wu-ftpd.org/pub/wu-ftpd/wu-ftpd-(\d+.\d+(.\d+)?).tar.gz $1
Compile-Requires: bison
Zap-Before-Install: 1
Repack:
	tar xzvfp "$(SOURCE)"
Compile:
	mv -f CHANGES CONTRIBUTORS COPYRIGHT ERRATA LICENSE README "$(PREFIX)/"
	$(MAKE) -f ../Makefile configure CONFIGURE_OPTS="--disable-dns --enable-chmod --disable-daemon --disable-map-chdir --disable-pasvip --enable-ls --with-etc-dir='/etc/ftpd' --with-log-dir='/var/log/ftpd'"
	$(MAKE)
	$(MAKE) install
	if test -f "$(PREFIX)"/sbin/in.ftpd ; then \
		mv -f "$(PREFIX)"/sbin/in.ftpd "$(PREFIX)"/sbin/wu.ftpd ; \
	fi
	if test -f "$(PREFIX)"/man/man8/ftpd.8 ; then \
		mv -f "$(PREFIX)"/man/man8/ftpd.8 "$(PREFIX)"/man/man8/wu.ftpd.8 ; \
	fi
Install:
	$(MAKE) instbin BIN="ftpcount ftpwho"
	$(MAKE) instsbin SBIN="ckconfig ftprestart ftpshut privatepw wu.ftpd"
	$(MAKE) instman SECTION=1 MAN="ftpcount ftpwho"
	$(MAKE) instman SECTION=5 MAN="ftpaccess ftpconversions ftphosts ftpservers xferlog"
	$(MAKE) instman SECTION=8 MAN="ftprestart ftpshut privatepw wu.ftpd"
# FIXME: put other packages' stuff in /etc and /var also (so we can just back
# up /etc or /var or whatever and actually get the stuff)
	umask 077 ; mkdir -p /etc/ftpd /var/log/ftpd
Patch: <<EOT
######## bug fixes
--- wu-ftpd-2.6.2.orig/doc/examples/ftpconversions
+++ doc/examples/ftpconversions
@@ -1,9 +1,9 @@
  :.Z:  :  :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
  :   : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
- :.gz: :  :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
- :   : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
- :   : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
- :   : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
- :   : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
- :   : :.crc:/bin/cksum %s:T_REG::CKSUM
- :   : :.md5:/bin/md5sum %s:T_REG::MD5SUM
+ :.gz: :  :/bin/gzip -cd -- %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
+ :   : :.gz:/bin/gzip -9 -c -- %s:T_REG:O_COMPRESS:GZIP
+ :   : :.tar:/bin/tar -c -f - -- %s:T_REG|T_DIR:O_TAR:TAR
+ :   : :.tar.Z:/bin/tar -c -Z -f - -- %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
+ :   : :.tar.gz:/bin/tar -c -z -f - -- %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
+ :   : :.crc:/bin/cksum -- %s:T_REG::CKSUM
+ :   : :.md5:/bin/md5sum -- %s:T_REG::MD5SUM
--- wu-ftpd-2.6.2.orig/src/access.c
+++ src/access.c
@@ -642,7 +642,7 @@
     }
 #ifndef NO_PRIVATE
     entry = (struct aclmember *) NULL;
-    if (getaclentry("private", &entry) && !strcasecmp(ARG0, "yes"))
+    if (getaclentry("private", &entry) && ARG0 && !strcasecmp(ARG0, "yes"))
 	priv_setup(_path_private);
 #endif /* !NO_PRIVATE */
 
@@ -650,7 +650,7 @@
     set = 0;
     while (!set && getaclentry("compress", &entry)) {
 	l_compress = 0;
-	if (!strcasecmp(ARG0, "yes"))
+	if (ARG0 && !strcasecmp(ARG0, "yes"))
 	    l_compress = 1;
 	for (which = 1; (which < MAXARGS) && ARG[which]; which++) {
 	    if (!wu_fnmatch(ARG[which], class, FNM_CASEFOLD)) {
@@ -664,7 +664,7 @@
     set = 0;
     while (!set && getaclentry("tar", &entry)) {
 	l_tar = 0;
-	if (!strcasecmp(ARG0, "yes"))
+	if (ARG0 && !strcasecmp(ARG0, "yes"))
 	    l_tar = 1;
 	for (which = 1; (which < MAXARGS) && ARG[which]; which++) {
 	    if (!wu_fnmatch(ARG[which], class, FNM_CASEFOLD)) {
@@ -678,23 +678,23 @@
 
     entry = (struct aclmember *) NULL;
     while (getaclentry("log", &entry)) {
-	if (!strcasecmp(ARG0, "commands")) {
-	    if (anonymous && strcasestr(ARG1, "anonymous"))
+	if (ARG0 && !strcasecmp(ARG0, "commands")) {
+	    if (ARG1 && anonymous && strcasestr(ARG1, "anonymous"))
 		log_commands = 1;
-	    if (guest && strcasestr(ARG1, "guest"))
+	    if (ARG1 && guest && strcasestr(ARG1, "guest"))
 		log_commands = 1;
-	    if (!guest && !anonymous && strcasestr(ARG1, "real"))
+	    if (ARG1 && !guest && !anonymous && strcasestr(ARG1, "real"))
 		log_commands = 1;
 	}
-	if (!strcasecmp(ARG0, "transfers")) {
+	if (ARG0 && !strcasecmp(ARG0, "transfers")) {
 	    set = 0;
-	    if (strcasestr(ARG1, "anonymous") && anonymous)
+	    if (ARG1 && strcasestr(ARG1, "anonymous") && anonymous)
 		set = 1;
-	    if (strcasestr(ARG1, "guest") && guest)
+	    if (ARG1 && strcasestr(ARG1, "guest") && guest)
 		set = 1;
-	    if (strcasestr(ARG1, "real") && !guest && !anonymous)
+	    if (ARG1 && strcasestr(ARG1, "real") && !guest && !anonymous)
 		set = 1;
-	    if (strcasestr(ARG2, "inbound"))
+	    if (ARG2 && strcasestr(ARG2, "inbound"))
 		inbound = 1;
 	    if (strcasestr(ARG2, "outbound"))
 		outbound = 1;
@@ -703,20 +703,20 @@
 	    if (set)
 		log_outbound_xfers = outbound;
 	}
-	if (!strcasecmp(ARG0, "security")) {
-	    if (strcasestr(ARG1, "anonymous") && anonymous)
+	if (ARG0 && !strcasecmp(ARG0, "security")) {
+	    if (ARG1 && strcasestr(ARG1, "anonymous") && anonymous)
 		log_security = 1;
-	    if (strcasestr(ARG1, "guest") && guest)
+	    if (ARG1 && strcasestr(ARG1, "guest") && guest)
 		log_security = 1;
-	    if (strcasestr(ARG1, "real") && !guest && !anonymous)
+	    if (ARG1 && strcasestr(ARG1, "real") && !guest && !anonymous)
 		log_security = 1;
 	}
-	if (!strcasecmp(ARG0, "syslog"))
+	if (ARG0 && !strcasecmp(ARG0, "syslog"))
 	    syslogmsg = 1;
-	if (!strcasecmp(ARG0, "xferlog"))
+	if (ARG0 && !strcasecmp(ARG0, "xferlog"))
 	    syslogmsg = 0;
-	if (!strcasecmp(ARG0, "syslog+xferlog")
-	    || !strcasecmp(ARG0, "xferlog+syslog"))
+	if (ARG0 && (!strcasecmp(ARG0, "syslog+xferlog")
+	    || !strcasecmp(ARG0, "xferlog+syslog")))
 	    syslogmsg = 2;
     }
 }
--- wu-ftpd-2.6.2.orig/src/ftpcount.c
+++ src/ftpcount.c
@@ -238,8 +238,8 @@
 #elif defined(sun)
 			sprintf(line, "/usr/ucb/ps auxww %ld", buf[which]);
 #else
-#if defined (LINUX_BUT_NOT_REDHAT_6_0)
-			sprintf(line, "/bin/ps axwww %d", buf[which]);
+#if defined (LINUX)
+			sprintf(line, "/bin/ps fwwwp %d", buf[which]);
 #else
 			sprintf(line, "/bin/ps -f -p %d", buf[which]);
 #endif
--- src/ftpd.c.old	2001-11-30 01:56:11 +0900
+++ src/ftpd.c	2002-12-20 23:48:29 +0900
@@ -3508,7 +3508,7 @@
 {
     char *a;
     a = (char *) malloc(len + 1);
-    memset(a, ' ', len-1);
+    memset(a, ' ', len);
     a[len] = 0;
     if (strlen(s) <= len)
 	memcpy(a, s, strlen(s));
--- src/realpath.c.old	2000-07-02 03:17:39 +0900
+++ src/realpath.c	2003-08-14 12:51:03 +0900
@@ -299,7 +299,7 @@
 	rootd = 0;
 
     if (*wbuf) {
-	if (strlen(resolved) + strlen(wbuf) + rootd + 1 > MAXPATHLEN) {
+	if (strlen(resolved) + strlen(wbuf) + (1-rootd) + 1 > MAXPATHLEN) {
 	    errno = ENAMETOOLONG;
 	    goto err1;
 	}
######## rest is fixes to make it compile
--- src/ftpcmd.y.old	2001-11-30 02:01:38 +0900
+++ src/ftpcmd.y	2002-11-24 16:33:02 +0900
@@ -194,7 +194,7 @@
 
 cmd_list:	/* empty */
     | cmd_list cmd
-	=	{
+	{
 	    fromname = (char *) NULL;
 	    restart_point = 0;
 	}
@@ -202,14 +202,14 @@
     ;
 
 cmd: USER SP username CRLF
-	=	{
+	{
 	    user($3);
 	    if (log_commands)
 		syslog(LOG_INFO, "USER %s", $3);
 	    free($3);
 	}
     | PASS SP password CRLF
-	=	{
+	{
 	    if (log_commands)
 		if (anonymous)
 		    syslog(LOG_INFO, "PASS %s", $3);
@@ -220,7 +220,7 @@
 	    free($3);
 	}
     | PORT check_login SP host_port CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "PORT");
 /* H* port fix, part B: admonish the twit.
@@ -252,7 +252,7 @@
 	    }
 	}
     | PASV check_login CRLF
-	=	{
+	{
 /* Require login for PASV, too.  This actually fixes a bug -- telnet to an
    unfixed wu-ftpd and type PASV first off, and it crashes! */
 	    if (log_commands)
@@ -265,7 +265,7 @@
 #endif
 	}
     | TYPE check_login SP type_code CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "TYPE %s", typenames[cmd_type]);
 	    if ($2)
@@ -305,7 +305,7 @@
 		}
 	}
     | STRU check_login SP struct_code CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "STRU %s", strunames[$4]);
 	    if ($2)
@@ -320,7 +320,7 @@
 		}
 	}
     | MODE check_login SP mode_code CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "MODE %s", modenames[$4]);
 	    if ($2)
@@ -335,21 +335,21 @@
 		}
 	}
     | ALLO check_login SP NUMBER CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "ALLO %d", $4);
 	    if ($2)
 		reply(202, "ALLO command ignored.");
 	}
     | ALLO check_login SP NUMBER SP R SP NUMBER CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "ALLO %d R %d", $4, $8);
 	    if ($2)
 		reply(202, "ALLO command ignored.");
 	}
     | RETR check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "RETR %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4)) {
@@ -360,7 +360,7 @@
 		free($4);
 	}
     | STOR check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "STOR %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4))
@@ -369,7 +369,7 @@
 		free($4);
 	}
     | APPE check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "APPE %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4))
@@ -378,14 +378,14 @@
 		free($4);
 	}
     | NLST check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "NLST");
 	    if ($2 && !restrict_check("."))
 		send_file_list("");
 	}
     | NLST check_login SP STRING CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "NLST %s", $4);
 	    if ($2 && $4 && !restrict_check($4))
@@ -394,7 +394,7 @@
 		free($4);
 	}
     | LIST check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "LIST");
 	    if ($2 && !restrict_check(".")) {
@@ -410,7 +410,7 @@
 	    }
 	}
     | LIST check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "LIST %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_list_check($4)) {
@@ -428,7 +428,7 @@
 		free($4);
 	}
     | STAT check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "STAT %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4))
@@ -437,14 +437,14 @@
 		free($4);
 	}
     | STAT check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "STAT");
 	    if ($2)
 		statcmd();
 	}
     | DELE check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "DELE %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4))
@@ -453,7 +453,7 @@
 		free($4);
 	}
     | RNTO check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "RNTO %s", CHECKNULL($4));
 	    if ($2 && $4 && !restrict_check($4)) {
@@ -470,21 +470,21 @@
 		free($4);
 	}
     | ABOR check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "ABOR");
 	    if ($2)
 		reply(225, "ABOR command successful.");
 	}
     | CWD check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "CWD");
 	    if ($2 && !restrict_check(home))
 		cwd(home);
 	}
     | CWD check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "CWD %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4))
@@ -493,14 +493,14 @@
 		free($4);
 	}
     | HELP check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "HELP");
 	    if ($2)
 		help(cmdtab, (char *) NULL);
 	}
     | HELP check_login SP STRING CRLF
-	=	{
+	{
 	    register char *cp = (char *) $4;
 
 	    if (log_commands)
@@ -521,14 +521,14 @@
 		free($4);
 	}
     | NOOP check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "NOOP");
 	    if ($2)
 		reply(200, "NOOP command successful.");
 	}
     | MKD check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "MKD %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4))
@@ -537,7 +537,7 @@
 		free($4);
 	}
     | RMD check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "RMD %s", CHECKNULL($4));
 	    if ($2 && $4 != NULL && !restrict_check($4))
@@ -546,14 +546,14 @@
 		free($4);
 	}
     | PWD check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "PWD");
 	    if ($2)
 		pwd();
 	}
     | CDUP check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "CDUP");
 	    if ($2)
@@ -564,14 +564,14 @@
 	}
 
     | SITE check_login SP HELP CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE HELP");
 	    if ($2)
 		help(sitetab, (char *) NULL);
 	}
     | SITE check_login SP HELP SP STRING CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE HELP %s", $6);
 	    if ($2)
@@ -580,7 +580,7 @@
 		free($6);
 	}
     | SITE check_login SP UMASK CRLF
-	=	{
+	{
 	    mode_t oldmask;
 
 	    if (log_commands)
@@ -592,7 +592,7 @@
 	    }
 	}
     | SITE check_login SP UMASK SP octal_number CRLF
-	=	{
+	{
 	    mode_t oldmask;
 	    struct aclmember *entry = NULL;
 	    int ok = 1;
@@ -620,7 +620,7 @@
 	    }
 	}
     | SITE check_login SP CHMOD SP octal_number SP pathname CRLF
-	=	{
+	{
 	    struct aclmember *entry = NULL;
 	    int ok = (anonymous ? 0 : 1);
 
@@ -670,7 +670,7 @@
 		free($8);
 	}
     | SITE check_login SP IDLE CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE IDLE");
 	    if ($2)
@@ -679,7 +679,7 @@
 		      timeout_idle, timeout_maxidle);
 	}
     | SITE check_login SP IDLE SP NUMBER CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE IDLE %d", $6);
 	    if ($2)
@@ -694,7 +694,7 @@
 		}
 	}
     | SITE check_login SP GROUP SP username CRLF
-	=	{
+	{
 #ifndef NO_PRIVATE
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE GROUP %s", $6);
@@ -704,7 +704,7 @@
 #endif /* !NO_PRIVATE */
 	}
     | SITE check_login SP GPASS SP password CRLF
-	=	{
+	{
 #ifndef NO_PRIVATE
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE GPASS password");
@@ -714,7 +714,7 @@
 #endif /* !NO_PRIVATE */
 	}
     | SITE check_login SP GPASS CRLF
-	=	{
+	{
 #ifndef NO_PRIVATE
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE GPASS");
@@ -723,7 +723,7 @@
 #endif /* !NO_PRIVATE */
 	}
     | SITE check_login SP NEWER SP STRING CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE NEWER %s", $6);
 #ifdef SITE_NEWER
@@ -735,7 +735,7 @@
 	    free($6);
 	}
     | SITE check_login SP NEWER SP STRING SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE NEWER %s %s", $6,
 		       CHECKNULL($8));
@@ -750,7 +750,7 @@
 		free($8);
 	}
     | SITE check_login SP MINFO SP STRING CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE MINFO %s", $6);
 #ifdef SITE_NEWER
@@ -762,7 +762,7 @@
 	    free($6);
 	}
     | SITE check_login SP MINFO SP STRING SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE MINFO %s %s", $6,
 		       CHECKNULL($8));
@@ -777,7 +777,7 @@
 		free($8);
 	}
     | SITE check_login SP INDEX SP STRING CRLF
-	=	{
+	{
 	    /* this is just for backward compatibility since we
 	     * thought of INDEX before we thought of EXEC
 	     */
@@ -792,7 +792,7 @@
 		free($6);
 	}
     | SITE check_login SP EXEC SP STRING CRLF
-	=	{
+	{
 	    if (!restricted_user && $2 != 0 && $6 != NULL) {
 		(void) site_exec((char *) $6);
 	    }
@@ -801,7 +801,7 @@
 	}
 
     | STOU check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "STOU %s", CHECKNULL($4));
 	    if ($2 && $4 && !restrict_check($4))
@@ -810,7 +810,7 @@
 		free($4);
 	}
     | SYST check_login CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SYST");
 	    if ($2)
@@ -834,7 +834,7 @@
 	 * using with RESTART (we just count bytes).
 	 */
     | SIZE check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SIZE %s", CHECKNULL($4));
 	    if ($2 && $4 && !restrict_check($4)) {
@@ -854,7 +854,7 @@
 	 * not necessarily 3 digits)
 	 */
     | MDTM check_login SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "MDTM %s", CHECKNULL($4));
 	    if ($2 && $4 && !restrict_check($4)) {
@@ -879,7 +879,7 @@
 		free($4);
 	}
     | QUIT CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "QUIT");
 #ifdef TRANSFER_COUNT
@@ -893,13 +893,13 @@
 	    dologout(0);
 	}
     | error CRLF
-	=	{
+	{
 	    yyerrok;
 	}
     ;
 
 rcmd: RNFR check_login SP pathname CRLF
-	=	{
+	{
 
 	    if (log_commands)
 		syslog(LOG_INFO, "RNFR %s", CHECKNULL($4));
@@ -912,7 +912,7 @@
 		free($4);
 	}
     | REST check_login SP byte_size CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "REST %d", (int) restart_point);
 	    if ($2) {
@@ -924,14 +924,14 @@
 	}
 
     | SITE check_login SP ALIAS CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE ALIAS");
 	    if ($2)
 		alias((char *) NULL);
 	}
     | SITE check_login SP ALIAS SP STRING CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE ALIAS %s", $6);
 	    if ($2)
@@ -940,21 +940,21 @@
 		free($6);
 	}
     | SITE check_login SP GROUPS CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE GROUPS");
 	    if ($2)
 		print_groups();
 	}
     | SITE check_login SP CDPATH CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE CDPATH");
 	    if ($2)
 		cdpath();
 	}
     | SITE check_login SP CHECKMETHOD SP method CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE CHECKMETHOD %s", CHECKNULL($6));
 	    if (($2) && ($6 != NULL))
@@ -963,14 +963,14 @@
 		free($6);
 	}
     | SITE check_login SP CHECKMETHOD CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE CHECKMETHOD");
 	    if ($2)
 		ShowCheckMethod();
 	}
     | SITE check_login SP CHECKSUM SP pathname CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE CHECKSUM %s", CHECKNULL($6));
 	    if (($2) && ($6 != NULL) && (!restrict_check($6)))
@@ -979,7 +979,7 @@
 		free($6);
 	}
     | SITE check_login SP CHECKSUM CRLF
-	=	{
+	{
 	    if (log_commands)
 		syslog(LOG_INFO, "SITE CHECKSUM");
 	    if ($2)
@@ -991,7 +991,7 @@
     ;
 
 password: /* empty */
-	=	{
+	{
 	    $$ = (char *) malloc(1);
 	    $$[0] = '\0';
 	}
@@ -1002,7 +1002,7 @@
     ;
 
 host_port: NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER
-	=	{
+	{
 	    register char *a, *p;
 
 	    a = (char *) &cliaddr;
@@ -1017,91 +1017,91 @@
     ;
 
 form_code: N
-	=	{
+	{
 	    $$ = FORM_N;
 	}
     | T
-	=	{
+	{
 	    $$ = FORM_T;
 	}
     | C
-	=	{
+	{
 	    $$ = FORM_C;
 	}
     ;
 
 type_code: A
-	=	{
+	{
 	    cmd_type = TYPE_A;
 	    cmd_form = FORM_N;
 	}
     | A SP form_code
-	=	{
+	{
 	    cmd_type = TYPE_A;
 	    cmd_form = $3;
 	}
     | E
-	=	{
+	{
 	    cmd_type = TYPE_E;
 	    cmd_form = FORM_N;
 	}
     | E SP form_code
-	=	{
+	{
 	    cmd_type = TYPE_E;
 	    cmd_form = $3;
 	}
     | I
-	=	{
+	{
 	    cmd_type = TYPE_I;
 	}
     | L
-	=	{
+	{
 	    cmd_type = TYPE_L;
 	    cmd_bytesz = NBBY;
 	}
     | L SP byte_size
-	=	{
+	{
 	    cmd_type = TYPE_L;
 	    cmd_bytesz = $3;
 	}
     /* this is for a bug in the BBN ftp */
     | L byte_size
-	=	{
+	{
 	    cmd_type = TYPE_L;
 	    cmd_bytesz = $2;
 	}
     ;
 
 struct_code: F
-	=	{
+	{
 	    $$ = STRU_F;
 	}
     | R
-	=	{
+	{
 	    $$ = STRU_R;
 	}
     | P
-	=	{
+	{
 	    $$ = STRU_P;
 	}
     ;
 
 mode_code:  S
-	=	{
+	{
 	    $$ = MODE_S;
 	}
     | B
-	=	{
+	{
 	    $$ = MODE_B;
 	}
     | C
-	=	{
+	{
 	    $$ = MODE_C;
 	}
     ;
 
 pathname: pathstring
-	=	{
+	{
 	    /*
 	     * Problem: this production is used for all pathname
 	     * processing, but only gives a 550 error reply.
@@ -1193,7 +1193,7 @@
     ;
 
 octal_number: NUMBER
-	=	{
+	{
 	    register int ret, dec, multby, digit;
 
 	    /*
@@ -1218,7 +1218,7 @@
     ;
 
 check_login: /* empty */
-	=	{
+	{
 	    if (logged_in)
 		$$ = 1;
 	    else {
EOT

-/etc/ftpd/
-/var/log/ftpd/
/etc/ftpd/
/pkg/wu-ftpd/
/usr/bin/ftpcount
/usr/bin/ftpwho
/usr/sbin/ckconfig
/usr/sbin/ftprestart
/usr/sbin/ftpshut
/usr/sbin/privatepw
/usr/sbin/wu.ftpd
/usr/man/man1/ftpcount.1.gz
/usr/man/man1/ftpwho.1.gz
/usr/man/man5/ftpaccess.5.gz
/usr/man/man5/ftpconversions.5.gz
/usr/man/man5/ftphosts.5.gz
/usr/man/man5/ftpservers.5.gz
/usr/man/man5/xferlog.5.gz
/usr/man/man8/ftprestart.8.gz
/usr/man/man8/ftpshut.8.gz
/usr/man/man8/privatepw.8.gz
/usr/man/man8/wu.ftpd.8.gz
/var/log/ftpd/
