diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 1997-01-30 17:00:56 +0000 | 
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 1997-01-30 17:00:56 +0000 | 
| commit | 624195f0764367c99cc3c640d7fcda1f86a322e4 (patch) | |
| tree | 453a32509d088cc39a5467b701a4ef68bbd788da | |
| parent | Update (diff) | |
Upgrade to Academ 2.4.2-beta-12 as recommended by AUSCERT security
advisory.
P.S. this version is much improved comparing to what we have previously,
f.e. it already contains most of our fixes.
Notes
Notes:
    svn path=/head/; revision=5473
| -rw-r--r-- | ftp/wu-ftpd+ipv6/Makefile | 13 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/distinfo | 2 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-aa | 19 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ab | 138 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ac | 78 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ad | 580 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-ai | 17 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-al | 25 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/files/patch-am | 44 | ||||
| -rw-r--r-- | ftp/wu-ftpd+ipv6/scripts/configure | 3 | ||||
| -rw-r--r-- | ftp/wu-ftpd/Makefile | 13 | ||||
| -rw-r--r-- | ftp/wu-ftpd/distinfo | 2 | ||||
| -rw-r--r-- | ftp/wu-ftpd/files/patch-aa | 19 | ||||
| -rw-r--r-- | ftp/wu-ftpd/files/patch-ab | 138 | ||||
| -rw-r--r-- | ftp/wu-ftpd/files/patch-ac | 78 | ||||
| -rw-r--r-- | ftp/wu-ftpd/files/patch-ad | 580 | ||||
| -rw-r--r-- | ftp/wu-ftpd/files/patch-ai | 17 | ||||
| -rw-r--r-- | ftp/wu-ftpd/files/patch-al | 25 | ||||
| -rw-r--r-- | ftp/wu-ftpd/files/patch-am | 44 | ||||
| -rw-r--r-- | ftp/wu-ftpd/scripts/configure | 3 | 
20 files changed, 524 insertions, 1314 deletions
diff --git a/ftp/wu-ftpd+ipv6/Makefile b/ftp/wu-ftpd+ipv6/Makefile index 078be5289b1a..ba6af0c11b7c 100644 --- a/ftp/wu-ftpd+ipv6/Makefile +++ b/ftp/wu-ftpd+ipv6/Makefile @@ -1,17 +1,20 @@  # New ports collection makefile for:	wu-ftpd -# Version required:	2.4 +# Version required:     2.4.2-beta-12  # Date created:		18 Oct 1994  # Whom:			torstenb  # -# $Id: Makefile,v 1.8 1996/12/01 01:23:20 obrien Exp $ +# $Id: Makefile,v 1.9 1996/12/01 01:34:11 obrien Exp $  # -DISTNAME=	wu-ftpd-2.4 +DISTNAME=       wu-ftpd-2.4.2-beta-12  CATEGORIES=	net -MASTER_SITES=   ftp://ftp.wustl.edu/packages/wuarchive-ftpd/ \ -		http://wuarchive.wustl.edu/packages/wuarchive-ftpd/ +# AUSCERT recommendation +MASTER_SITES=   ftp://ftp.academ.com/pub/wu-ftpd/private/  EXTRACT_SUFX=   .tar.Z +do-build: +	cd ${WRKSRC} && ./build fbs +  MAINTAINER=	torstenb@FreeBSD.org  MAN1=		ftpcount.1 ftpwho.1 diff --git a/ftp/wu-ftpd+ipv6/distinfo b/ftp/wu-ftpd+ipv6/distinfo index 1bdb395a4eed..48944170cef0 100644 --- a/ftp/wu-ftpd+ipv6/distinfo +++ b/ftp/wu-ftpd+ipv6/distinfo @@ -1 +1 @@ -MD5 (wu-ftpd-2.4.tar.Z) = a1780e6a1e2b18b6614028fa8f945e14 +MD5 (wu-ftpd-2.4.2-beta-12.tar.Z) = 9c9a38d9de9611f6e9a8d30582ba4b5b diff --git a/ftp/wu-ftpd+ipv6/files/patch-aa b/ftp/wu-ftpd+ipv6/files/patch-aa deleted file mode 100644 index e5b1455adc81..000000000000 --- a/ftp/wu-ftpd+ipv6/files/patch-aa +++ /dev/null @@ -1,19 +0,0 @@ -*** src/realpath.c.orig	Wed Jan 18 22:39:04 1995 ---- src/realpath.c	Wed Jan 18 22:38:48 1995 -*************** -*** 42,48 **** -  #endif -   -  char * -! realpath(char *pathname, char *result) -  { -      struct stat sbuf; -      char curpath[MAXPATHLEN], ---- 42,48 ---- -  #endif -   -  char * -! realpath(const char *pathname, char *result) -  { -      struct stat sbuf; -      char curpath[MAXPATHLEN], diff --git a/ftp/wu-ftpd+ipv6/files/patch-ab b/ftp/wu-ftpd+ipv6/files/patch-ab index e8ea68abc559..7c29fc242065 100644 --- a/ftp/wu-ftpd+ipv6/files/patch-ab +++ b/ftp/wu-ftpd+ipv6/files/patch-ab @@ -1,51 +1,87 @@ ---- Makefile.orig	Fri Apr  1 11:03:58 1994 -+++ Makefile	Sat Nov 30 17:31:22 1996 -@@ -1,25 +1,32 @@ --BINDIR=		/usr/local/bin --ETCDIR=		/usr/local/etc --MANDIR=		/usr/local/man -+BINDIR=		${PREFIX}/bin -+LIBEXECDIR=	${PREFIX}/libexec -+ETCDIR=		${PREFIX}/etc -+MANDIR=		${PREFIX}/man - MANEXT=		8 -  - all: -+	/bin/sh build fb2 - 	@ echo 'Use the "build" command (shell script) to make ftpd.' - 	@ echo 'You can say "build help" for details on how it works.' -  - install: bin/ftpd bin/ftpcount bin/ftpshut --	-mv -f ${ETCDIR}/ftpd ${ETCDIR}/ftpd-old -+	-mv -f ${LIBEXECDIR}/ftpd ${LIBEXECDIR}/ftpd-old - 	@echo Installing binaries. --	install -o bin -g bin -m 755 bin/ftpd ${ETCDIR}/ftpd --	install -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut --	install -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount --	install -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho -+	install -c -o bin -g bin -m 755 bin/ftpd ${LIBEXECDIR}/ftpd -+	install -c -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut -+	install -c -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount -+	install -c -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho -+	install -c -o bin -g bin -m 755 bin/ckconfig ${BINDIR}/ftpckconfig -+	@echo Installing basic configuration -+	install -c -o root -g bin -m 644 doc/examples/ftpaccess ${ETCDIR}/ftpaccess.example -+	install -c -o root -g bin -m 644 doc/examples/ftpusers ${ETCDIR}/ftpusers.example -+	install -c -o root -g bin -m 644 doc/examples/ftpconversions ${ETCDIR}/ftpconversions.example - 	@echo Installing manpages. --	install -o bin -g bin -m 755 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 --	install -o bin -g bin -m 755 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 --	install -o bin -g bin -m 755 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 --	install -o bin -g bin -m 755 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 --	install -o bin -g bin -m 755 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 --	install -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 --	install -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 --	install -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 -+	install -c -o bin -g bin -m 644 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 -+	install -c -o bin -g bin -m 644 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 -+	install -c -o bin -g bin -m 644 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 -+	install -c -o bin -g bin -m 644 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 -+	install -c -o bin -g bin -m 644 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 -+	install -c -o bin -g bin -m 644 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 -+	install -c -o bin -g bin -m 644 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 -+	install -c -o bin -g bin -m 644 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +*** makefiles/Makefile.fbs.bak	Thu Jan 16 19:57:40 1997 +--- makefiles/Makefile.fbs	Thu Jan 30 17:06:29 1997 +*************** +*** 1,7 **** +! PREFIX=		/usr/local +  BINDIR=		${PREFIX}/bin +  ETCDIR=		${PREFIX}/etc +  MANDIR=		${PREFIX}/man +  MANEXT=		8 +  INSTALL=	install +   +--- 1,8 ---- +! PREFIX?=        /usr/local +  BINDIR=		${PREFIX}/bin +  ETCDIR=		${PREFIX}/etc +  MANDIR=		${PREFIX}/man ++ LIBEXECDIR=     ${PREFIX}/libexec +  MANEXT=		8 +  INSTALL=	install +   +*************** +*** 10,41 **** +  	@ echo 'You can say "build help" for details on how it works.' +   +  install: bin/ftpd bin/ftpcount bin/ftpshut +! 	-mv -f ${ETCDIR}/ftpd ${ETCDIR}/ftpd-old +  	@echo installing binaries. +! 	${INSTALL} -c -o bin -g bin -m 755 bin/ftpd ${ETCDIR}/ftpd +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho +  	install -c -o bin -g bin -m 755 bin/ckconfig ${BINDIR}/ftpckconfig +  	@echo NOT Installing basic configuration +! #	install -c -o root -g bin -m 755 doc/examples/ftpaccess ${ETCDIR}/ftpaccess +! #	install -c -o root -g bin -m 755 doc/examples/ftpusers ${ETCDIR}/ftpusers +! #	install -c -o root -g bin -m 755 doc/examples/ftpconversions ${ETCDIR}/ftpconversions +  	@echo installing manpages. +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +! 	@echo Compressing manpages +! 	gzip -f -9 ${MANDIR}/man8/ftpd.8 +! 	gzip -f -9 ${MANDIR}/man1/ftpcount.1 +! 	gzip -f -9 ${MANDIR}/man1/ftpwho.1 +! 	gzip -f -9 ${MANDIR}/man8/ftpshut.8 +! 	gzip -f -9 ${MANDIR}/man5/ftpaccess.5 +! 	gzip -f -9 ${MANDIR}/man5/ftphosts.5 +! 	gzip -f -9 ${MANDIR}/man5/ftpconversions.5 +! 	gzip -f -9 ${MANDIR}/man5/xferlog.5 +--- 11,42 ---- +  	@ echo 'You can say "build help" for details on how it works.' +   +  install: bin/ftpd bin/ftpcount bin/ftpshut +! 	-mv -f ${LIBEXECDIR}/ftpd ${LIBEXECDIR}/ftpd-old +  	@echo installing binaries. +! 	${INSTALL} -c -o bin -g bin -m 755 bin/ftpd ${LIBEXECDIR}/ftpd +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho +  	install -c -o bin -g bin -m 755 bin/ckconfig ${BINDIR}/ftpckconfig +  	@echo NOT Installing basic configuration +! 	install -c -o root -g bin -m 755 doc/examples/ftpaccess ${ETCDIR}/ftpaccess.example +! 	install -c -o root -g bin -m 755 doc/examples/ftpusers ${ETCDIR}/ftpusers.example +! 	install -c -o root -g bin -m 755 doc/examples/ftpconversions ${ETCDIR}/ftpconversions.example +  	@echo installing manpages. +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +! #       @echo Compressing manpages +! #       gzip -f -9 ${MANDIR}/man8/ftpd.8 +! #       gzip -f -9 ${MANDIR}/man1/ftpcount.1 +! #       gzip -f -9 ${MANDIR}/man1/ftpwho.1 +! #       gzip -f -9 ${MANDIR}/man8/ftpshut.8 +! #       gzip -f -9 ${MANDIR}/man5/ftpaccess.5 +! #       gzip -f -9 ${MANDIR}/man5/ftphosts.5 +! #       gzip -f -9 ${MANDIR}/man5/ftpconversions.5 +! #       gzip -f -9 ${MANDIR}/man5/xferlog.5 diff --git a/ftp/wu-ftpd+ipv6/files/patch-ac b/ftp/wu-ftpd+ipv6/files/patch-ac index 971dbb40f3e6..93749a1da79a 100644 --- a/ftp/wu-ftpd+ipv6/files/patch-ac +++ b/ftp/wu-ftpd+ipv6/files/patch-ac @@ -1,50 +1,42 @@ -*** src/pathnames.h.orig	Wed Apr 13 13:46:48 1994 ---- src/pathnames.h	Sun Aug  6 21:45:38 1995 +*** src/pathnames.h.bak	Mon Jan 20 06:21:45 1997 +--- src/pathnames.h	Thu Jan 30 15:42:24 1997  *************** -*** 29,46 **** -   * -   * @(#)pathnames.h 5.2 (Berkeley) 6/1/90 */ -   -! #define _PATH_FTPUSERS  "/etc/ftpusers" -  #define _PATH_FTPACCESS "/usr/local/etc/ftpaccess" -  #define _PATH_EXECPATH  "/bin/ftp-exec" -! #define _PATH_PIDNAMES  "/usr/local/daemon/ftpd/ftp.pids-%s" -  #define _PATH_CVT       "/usr/local/etc/ftpconversions" -! #define _PATH_XFERLOG   "/usr/adm/xferlog" -! #define _PATH_PRIVATE   "/etc/ftpgroups" -   -  #ifndef _PATH_UTMP -! #define _PATH_UTMP      "/etc/utmp" -! #define _PATH_WTMP      "/usr/adm/wtmp" -! #define _PATH_LASTLOG   "/usr/adm/lastlog" +*** 45,54 **** +  #define _PATH_CVT       "/etc/ftpd/ftpconversions" +  #define _PATH_PRIVATE   "/etc/ftpd/ftpgroups" +  #else +! #define _PATH_FTPUSERS  "/usr/local/lib/ftpd/ftpusers" +! #define _PATH_FTPACCESS "/usr/local/lib/ftpd/ftpaccess" +! #define _PATH_CVT       "/usr/local/lib/ftpd/ftpconversions" +! #define _PATH_PRIVATE   "/usr/local/lib/ftpd/ftpgroups" +  #endif    #endif -  #define _PATH_BSHELL    "/bin/sh" ---- 29,46 ---- -   * -   * @(#)pathnames.h 5.2 (Berkeley) 6/1/90 */ -   -! #define _PATH_FTPUSERS  "/usr/local/etc/ftpusers" -  #define _PATH_FTPACCESS "/usr/local/etc/ftpaccess" -  #define _PATH_EXECPATH  "/bin/ftp-exec" -! #define _PATH_PIDNAMES  "/var/run/ftp.pids-%s" -  #define _PATH_CVT       "/usr/local/etc/ftpconversions" -! #define _PATH_XFERLOG   "/var/log/xferlog" -! #define _PATH_PRIVATE   "/usr/local/etc/ftpgroups" -   -  #ifndef _PATH_UTMP -! #define _PATH_UTMP      "/var/run/utmp" -! #define _PATH_WTMP      "/var/log/wtmp" -! #define _PATH_LASTLOG   "/var/log/lastlog" +--- 45,54 ---- +  #define _PATH_CVT       "/etc/ftpd/ftpconversions" +  #define _PATH_PRIVATE   "/etc/ftpd/ftpgroups" +  #else +! #define _PATH_FTPUSERS  "!!PREFIX!!/etc/ftpusers" +! #define _PATH_FTPACCESS "!!PREFIX!!/etc/ftpaccess" +! #define _PATH_CVT       "!!PREFIX!!/etc/ftpconversions" +! #define _PATH_PRIVATE   "!!PREFIX!!/etc/ftpgroups" +  #endif    #endif -  #define _PATH_BSHELL    "/bin/sh"  *************** -*** 48,52 **** ---- 48,53 ---- -   -  #ifdef  HOST_ACCESS -  #define _PATH_FTPHOSTS  "/usr/local/etc/ftphosts" -+ #else +*** 109,115 **** +  #ifdef USE_ETC_FTPD +  #define _PATH_FTPHOSTS  "/etc/ftpd/ftphosts" +  #else +! #define _PATH_FTPHOSTS  "/usr/local/lib/ftpd/ftphosts" +  #endif +  #endif +  #endif +--- 109,115 ---- +  #ifdef USE_ETC_FTPD +  #define _PATH_FTPHOSTS  "/etc/ftpd/ftphosts" +  #else +! #define _PATH_FTPHOSTS  "!!PREFIX!!/etc/ftphosts" +  #endif +  #endif    #endif -   diff --git a/ftp/wu-ftpd+ipv6/files/patch-ad b/ftp/wu-ftpd+ipv6/files/patch-ad index 8a6749a4e6de..c94318c267f6 100644 --- a/ftp/wu-ftpd+ipv6/files/patch-ad +++ b/ftp/wu-ftpd+ipv6/files/patch-ad @@ -1,544 +1,58 @@ -*** src/ftpd.c.orig	Tue Jan  7 00:27:09 1997 ---- src/ftpd.c	Fri Jan 17 17:45:14 1997 -*************** -*** 139,146 **** -   *freopen(const char *, const char *, FILE *); -  extern int ftpd_pclose(FILE *iop), -    fclose(FILE *); -! extern char *getline(), -!  *realpath(char *pathname, char *result); -  extern char cbuf[]; -  extern off_t restart_point; -   ---- 139,146 ---- -   *freopen(const char *, const char *, FILE *); -  extern int ftpd_pclose(FILE *iop), -    fclose(FILE *); -! extern char *getline(); -! extern char *realpath(const char *pathname, char *result); -  extern char cbuf[]; -  extern off_t restart_point; -   -*************** -*** 237,242 **** ---- 237,247 ---- -   -  #endif /* SETPROCTITLE */ -   -+ #ifdef SKEY -+ #include <skey.h> -+ int	pwok = 0; -+ #endif -+  -  #ifdef KERBEROS -  void init_krb(); -  void end_krb(); -*************** -*** 252,257 **** ---- 257,269 ---- -  char  ls_short[50]; -  struct aclmember *entry = NULL; -   -+ void end_login(void); -+ void send_data(FILE *, FILE *, off_t); -+ void dolog(struct sockaddr_in *); -+ void dologout(int); -+ void perror_reply(int, char *); -+  -+ void -  main(int argc, char **argv, char **envp) -  { -      int addrlen, -*************** -*** 686,691 **** ---- 698,705 ---- -   * does not have a standard shell as returned by getusershell().  Disallow -   * anyone mentioned in the file _PATH_FTPUSERS to allow people such as root -   * and uucp to be avoided. */ -+  -+ void -  user(char *name) -  { -      register char *cp; -*************** -*** 878,884 **** ---- 892,903 ---- -      } else -          acl_setfunctions(); -   -+ #ifdef SKEY -+     pwok = skeyaccess(name, NULL, remotehost, remoteaddr); -+     reply(331, "%s", skey_challenge(name, pw, pwok)); -+ #else +*** src/ftpd.c.bak	Mon Jan 20 08:05:11 1997 +--- src/ftpd.c	Thu Jan 30 17:46:16 1997 +*************** +*** 235,246 **** +  int logging = 0; +  int log_commands = 0; +   +- #ifdef SKEY			/* H* add-on.  Not as elegant as Wietse's */ +- #include "skey.h"		/* logdaemon package, but does the job.   */ +- struct skey skey_blk; +- char chbuff[80]; +- #endif +-  +  #ifdef SECUREOSF +  #define SecureWare +  #include <prot.h> +--- 235,240 ---- +*************** +*** 1201,1212 **** +              acl_setfunctions(); +   +  #ifdef SKEY +! /* 0 means we found the user and the skeykeys file is open for update. */ +!     if (skeychallenge (&skey_blk, name, chbuff) == 0) +! 	reply (331, "[%s] required for %s.", chbuff, name); +!     else +! #endif        reply(331, "Password required for %s.", name); -+ #endif        askpasswd = 1;        /* Delay before reading passwd after first failed attempt to slow down         * passwd-guessing programs. */ -*************** -*** 887,892 **** ---- 906,912 ---- -  } -   -  /* Check if a user is in the file _PATH_FTPUSERS */ -+ int -  checkuser(char *name) -  { -      register FILE *fd; -*************** -*** 911,916 **** ---- 931,937 ---- -   -  /* Terminate login as previous user, if any, resetting state; used when USER -   * command is given or login fails. */ -+ void -  end_login(void) -  { +--- 1195,1205 ---- +              acl_setfunctions(); -*************** -*** 965,970 **** ---- 986,992 ---- -          return 0; -  } -   -+ void -  pass(char *passwd) -  { -      char *xpasswd, -*************** -*** 1007,1014 **** ---- 1029,1041 ---- -  #ifdef KERBEROS -          xpasswd = crypt16(passwd, salt); -  #else -+ #ifdef SKEY -+ 	xpasswd = skey_crypt(passwd, salt, pw, pwok); -+ 	pwok = 0; -+ #else -          xpasswd = crypt(passwd, salt); -  #endif -+ #endif -   -  #ifdef ULTRIX_AUTH -          if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { -*************** -*** 1095,1101 **** -      (void) initgroups(pw->pw_name, pw->pw_gid); -   -      /* open wtmp before chroot */ -!     (void) sprintf(ttyline, "ftp%d", getpid()); -      logwtmp(ttyline, pw->pw_name, remotehost); -      logged_in = 1; -   ---- 1122,1132 ---- -      (void) initgroups(pw->pw_name, pw->pw_gid); -   -      /* open wtmp before chroot */ -! #if (defined(BSD) && (BSD >= 199103)) -!     (void) sprintf(ttyline, "ftp%ld", getpid()); -! #else -!     (void) sprintf(ttyline, "ftpd%d", getpid()); -! #endif -      logwtmp(ttyline, pw->pw_name, remotehost); -      logged_in = 1; -   -*************** -*** 1190,1197 **** -          reply(230, "Guest login ok, access restrictions apply."); -  #ifdef SETPROCTITLE -          sprintf(proctitle, "%s: anonymous/%.*s", remotehost, -!                     sizeof(proctitle) - sizeof(remotehost) - -!                     sizeof(": anonymous/"), passwd); -          setproctitle("%s", proctitle); -  #endif /* SETPROCTITLE */ -          if (logging) ---- 1221,1228 ---- -          reply(230, "Guest login ok, access restrictions apply."); -  #ifdef SETPROCTITLE -          sprintf(proctitle, "%s: anonymous/%.*s", remotehost, -!                     (int) (sizeof(proctitle) - sizeof(remotehost) - -!                     sizeof(": anonymous/")), passwd); -          setproctitle("%s", proctitle); -  #endif /* SETPROCTITLE */ -          if (logging) -*************** -*** 1235,1240 **** ---- 1266,1272 ---- -      return (buf); -  } -   -+ void -  retrieve(char *cmd, char *name) -  { -      FILE *fin, -*************** -*** 1403,1409 **** -      if (dout == NULL) -          goto done; -  #ifdef HAVE_ST_BLKSIZE -!     send_data(fin, dout, st.st_blksize); -  #else -      send_data(fin, dout, BUFSIZ); -  #endif ---- 1435,1441 ---- -      if (dout == NULL) -          goto done; -  #ifdef HAVE_ST_BLKSIZE -!     send_data(fin, dout, st.st_blksize*2); -  #else -      send_data(fin, dout, BUFSIZ); -  #endif -*************** -*** 1422,1428 **** ---- 1454,1464 ---- -          for (loop = 0; namebuf[loop]; loop++) -              if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) -                  namebuf[loop] = '_'; -+ #if (defined(BSD) && (BSD >= 199103)) -+         sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", -+ #else -          sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", -+ #endif -                  ctime(&curtime), -                  xfertime, -                  remotehost, -*************** -*** 1445,1450 **** ---- 1481,1487 ---- -          (*closefunc) (fin); -  } -   -+ void -  store(char *name, char *mode, int unique) -  { -      FILE *fout, *din; -*************** -*** 1610,1616 **** -          for (loop = 0; namebuf[loop]; loop++) -              if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) -                  namebuf[loop] = '_'; -!         sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", -                  ctime(&curtime), -                  xfertime, -                  remotehost, ---- 1647,1657 ---- -          for (loop = 0; namebuf[loop]; loop++) -              if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) -                  namebuf[loop] = '_'; -! #if (defined(BSD) && (BSD >= 199103)) -!         sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", +  #ifdef SKEY +!     pwok = skeyaccess(name, NULL, remotehost, remoteaddr); +!     reply(331, "%s", skey_challenge(name, pw, pwok));  ! #else -!         sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n",  -! #endif -                  ctime(&curtime), -                  xfertime, -                  remotehost, -*************** -*** 1678,1683 **** ---- 1719,1735 ---- -      if (setsockopt(s, IPPROTO_IP, IP_TOS, (char *) &on, sizeof(int)) < 0) -            syslog(LOG_WARNING, "setsockopt (IP_TOS): %m"); -  #endif -+ #ifdef TCP_NOPUSH -+ 	/* -+ 	 * Turn off push flag to keep sender TCP from sending short packets -+ 	 * at the boundaries of each write().  Should probably do a SO_SNDBUF -+ 	 * to set the send buffer size as well, but that may not be desirable -+ 	 * in heavy-load situations. -+ 	 */ -+ 	on = 1; -+ 	if (setsockopt(s, IPPROTO_TCP, TCP_NOPUSH, (char *)&on, sizeof on) < 0) -+ 		syslog(LOG_WARNING, "setsockopt (TCP_NOPUSH): %m"); +      reply(331, "Password required for %s.", name);  + #endif -   -      return (fdopen(s, mode)); -    bad: -*************** -*** 1699,1705 **** -      file_size = size; -      byte_count = 0; -      if (size != (off_t) - 1) -!         (void) sprintf(sizebuf, " (%ld bytes)", size); -      else -          (void) strcpy(sizebuf, ""); -      if (pdata >= 0) { ---- 1751,1761 ---- -      file_size = size; -      byte_count = 0; -      if (size != (off_t) - 1) -! #if (defined(BSD) && (BSD >= 199103)) -!         (void) sprintf(sizebuf, " (%qd bytes)", size); -! #else -! 	(void) sprintf(sizebuf, " (%d bytes)", size); -! #endif -      else -          (void) strcpy(sizebuf, ""); -      if (pdata >= 0) { -*************** -*** 1707,1715 **** -          int s, -            fromlen = sizeof(from); -   -!         s = accept(pdata, (struct sockaddr *) &from, &fromlen); -!         if (s < 0) { -!             reply(425, "Can't open data connection."); -              (void) close(pdata); -              pdata = -1; -              return (NULL); ---- 1763,1785 ---- -          int s, -            fromlen = sizeof(from); -   -! #ifdef FD_ZERO -!        struct timeval timeout; -!        fd_set set; -!  -!        FD_ZERO(&set); -!        FD_SET(pdata, &set); -!  -!        timeout.tv_usec = 0; -!        timeout.tv_sec = 120; -!  -!        if (select(pdata+1, &set, (fd_set *) 0, (fd_set *) 0, &timeout) == 0 || -!            (s = accept(pdata, (struct sockaddr *) &from, &fromlen)) < 0) { -! #else -!           s = accept(pdata, (struct sockaddr *) &from, &fromlen); -!           if (s < 0) { -! #endif -! 	    reply(425, "Can't open data connection."); -              (void) close(pdata); -              pdata = -1; -              return (NULL); -*************** -*** 1764,1769 **** ---- 1834,1840 ---- -   * encapsulation of the data subject to Mode, Structure, and Type. -   * -   * NB: Form isn't handled. */ -+ void -  send_data(FILE *instr, FILE *outstr, off_t blksize) -  { -      register int c, -*************** -*** 1839,1844 **** ---- 1910,1916 ---- -   * the data subject to Mode, Structure, and Type. -   * -   * N.B.: Form isn't handled. */ -+ int -  receive_data(FILE *instr, FILE *outstr) -  { -      register int c; -*************** -*** 1915,1920 **** ---- 1987,1993 ---- -      return (-1); -  } -   -+ void -  statfilecmd(char *filename) -  { -      char line[BUFSIZ]; -*************** -*** 1948,1953 **** ---- 2021,2027 ---- -      reply(211, "End of Status"); -  } -   -+ void -  statcmd(void) -  { -      struct sockaddr_in *sin; -*************** -*** 2001,2006 **** ---- 2075,2081 ---- -      reply(211, "End of status"); -  } -   -+ void -  fatal(char *s) -  { -      reply(451, "Error in server: %s\n", s); -*************** -*** 2095,2100 **** ---- 2170,2176 ---- -   -  #else -  /* VARARGS2 */ -+ void -  reply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) -  { -      if (autospout != NULL) { -*************** -*** 2129,2134 **** ---- 2205,2211 ---- -  } -   -  /* VARARGS2 */ -+ void -  lreply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) -  { -      if (!dolreplies) +      askpasswd = 1; +      /* Delay before reading passwd after first failed attempt to slow down +       * passwd-guessing programs. */  *************** -*** 2144,2160 **** ---- 2221,2240 ---- -  } +*** 1378,1389 **** +          xpasswd = crypt(passwd, salt);    #endif -   -+ void -  ack(char *s) -  { -      reply(250, "%s command successful.", s); -  } -   -+ void -  nack(char *s) -  { -      reply(502, "%s command not implemented.", s); -  } -   -  /* ARGSUSED */ -+ void -  yyerror(char *s) -  { -      char *cp; -*************** -*** 2164,2169 **** ---- 2244,2250 ---- -      reply(500, "'%s': command not understood.", cbuf); -  } -   -+ void -  delete(char *name) -  { -      struct stat st; -*************** -*** 2208,2213 **** ---- 2289,2295 ---- -      ack("DELE"); -  } -   -+ void -  cwd(char *path) -  { -      struct aclmember *entry = NULL; -*************** -*** 2248,2253 **** ---- 2330,2336 ---- -      } -  } -   -+ void -  makedir(char *name) -  { -  	uid_t uid; -*************** -*** 2274,2282 **** -      reply(257, "MKD command successful."); -  } -   -  removedir(char *name) -  { -! 	int c, d;  /* dummy variables */ -          int valid = 0; -   -      /* ---- 2357,2366 ---- -      reply(257, "MKD command successful."); -  } -   -+ void -  removedir(char *name) -  { -! 	unsigned long c, d;  /* dummy variables */ -          int valid = 0; -   -      /* -*************** -*** 2298,2303 **** ---- 2382,2388 ---- -          ack("RMD"); -  } -   -+ void -  pwd(void) -  { -      char path[MAXPATHLEN + 1]; -*************** -*** 2312,2318 **** -  #else -      if (getwd(path) == (char *) NULL)    #endif -!         reply(550, "%s.", path); -      else -          reply(257, "\"%s\" is current directory.", path); -  } ---- 2397,2404 ---- -  #else -      if (getwd(path) == (char *) NULL) +- #endif +- #ifdef SKEY +- /* comment the next line if you REALLY want to allow replayable passwds. */ +- 	strcpy (xpasswd, "wrongo:spazmoid");  /* disable regular passwds */ +- 	if (skeyverify (&skey_blk, passwd) == 0) +- 	    strcpy (xpasswd, pw->pw_passwd);	/* do it the sleazy way */    #endif -! /*        reply(550, "%s.", path); */ -! 	reply(550, "Permission denied."); -      else -          reply(257, "\"%s\" is current directory.", path); -  } -*************** -*** 2342,2347 **** ---- 2428,2434 ---- -      return (name); -  } -   -+ void -  renamecmd(char *from, char *to) -  { -   -*************** -*** 2357,2362 **** ---- 2444,2450 ---- -          ack("RNTO"); -  } -   -+ void -  dolog(struct sockaddr_in *sin) -  { -      struct hostent *hp; -*************** -*** 2412,2417 **** ---- 2500,2506 ---- -  } -   -  /* Record logout in wtmp file and exit with supplied status. */ -+ void -  dologout(int status) -  { -     /* -*************** -*** 2466,2471 **** ---- 2555,2561 ---- -   * PASV command in RFC959. However, it has been blessed as a legitimate -   * response by Jon Postel in a telephone conversation with Rick Adams on 25 -   * Jan 89. */ -+ void -  passive(void) -  { -      int len; -*************** -*** 2537,2542 **** ---- 2627,2633 ---- -  } -   -  /* Format and send reply containing system error number. */ -+ void -  perror_reply(int code, char *string) -  { -      reply(code, "%s: %s.", string, strerror(errno)); -*************** -*** 2545,2550 **** ---- 2636,2642 ---- -  static char *onefile[] = -  {"", 0}; -   -+ void -  send_file_list(char *whichfiles) -  { -      struct stat st; +  #ifdef ULTRIX_AUTH +          if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { +--- 1371,1376 ---- diff --git a/ftp/wu-ftpd+ipv6/files/patch-ai b/ftp/wu-ftpd+ipv6/files/patch-ai index 67cb35730961..8397aba1d9d2 100644 --- a/ftp/wu-ftpd+ipv6/files/patch-ai +++ b/ftp/wu-ftpd+ipv6/files/patch-ai @@ -1,5 +1,5 @@ -*** config.h	Fri Apr  1 11:03:59 1994 ---- config.h	Sat Oct  7 10:09:48 1995 +*** config.h.orig	Mon Jan 20 06:21:30 1997 +--- config.h	Thu Jan 30 16:13:31 1997  ***************  *** 30,35 ****  --- 30,43 ---- @@ -17,3 +17,16 @@     * allow use of private file.  (for site group and site gpass)     */ +*************** +*** 64,68 **** +   * See README-2.4-HOBBIT for more information on this option. +   */ +   +! #undef SKEY +   +--- 72,76 ---- +   * See README-2.4-HOBBIT for more information on this option. +   */ +   +! #define SKEY +   diff --git a/ftp/wu-ftpd+ipv6/files/patch-al b/ftp/wu-ftpd+ipv6/files/patch-al new file mode 100644 index 000000000000..91414fc3ef3e --- /dev/null +++ b/ftp/wu-ftpd+ipv6/files/patch-al @@ -0,0 +1,25 @@ +*** support/makefiles/Makefile.fbs.bak	Fri Feb 17 20:36:56 1995 +--- support/makefiles/Makefile.fbs	Thu Jan 30 16:32:32 1997 +*************** +*** 4,13 **** +  LIBC   = /usr/lib/libc.a +  IFLAGS =  +  LFLAGS =  +! CFLAGS = -O ${IFLAGS} ${LFLAGS} -DNO_MALLOC_PROTO +   +! SRCS   = fnmatch.c strcasestr.c authuser.c ftw.c +! OBJS   = fnmatch.o strcasestr.o authuser.o ftw.o +   +  all: $(OBJS) +  	-rm -f libsupport.a +--- 4,13 ---- +  LIBC   = /usr/lib/libc.a +  IFLAGS =  +  LFLAGS =  +! CFLAGS += ${IFLAGS} ${LFLAGS} -DNO_MALLOC_PROTO +   +! SRCS   = strcasestr.c authuser.c ftw.c +! OBJS   = strcasestr.o authuser.o ftw.o +   +  all: $(OBJS) +  	-rm -f libsupport.a diff --git a/ftp/wu-ftpd+ipv6/files/patch-am b/ftp/wu-ftpd+ipv6/files/patch-am new file mode 100644 index 000000000000..54655a677dee --- /dev/null +++ b/ftp/wu-ftpd+ipv6/files/patch-am @@ -0,0 +1,44 @@ +*** src/makefiles/Makefile.fbs.orig	Thu Jan 16 11:27:58 1997 +--- src/makefiles/Makefile.fbs	Thu Jan 30 17:50:47 1997 +*************** +*** 1,8 **** +  CC       = cc +  IFLAGS   = -I.. -I../support +  LFLAGS   = -L../support -s +! CFLAGS   = -O ${IFLAGS} ${LFLAGS} +! LIBES    = -lsupport -lcrypt +  LIBC     = /usr/lib/libc.a +  LINTFLAGS=	 +  LKERB    = -lauth -lckrb -lkrb -ldes +--- 1,8 ---- +  CC       = cc +  IFLAGS   = -I.. -I../support +  LFLAGS   = -L../support -s +! CFLAGS   += ${IFLAGS} ${LFLAGS} +! LIBES    = -lsupport -lutil -lskey -lmd -lcrypt +  LIBC     = /usr/lib/libc.a +  LINTFLAGS=	 +  LKERB    = -lauth -lckrb -lkrb -ldes +*************** +*** 10,19 **** +   +  SRCS   = ftpd.c ftpcmd.c glob.c logwtmp.c popen.c vers.c access.c extensions.c \ +  	 realpath.c acl.c private.c authenticate.c conversions.c hostacc.c \ +! 	 sigfix.c +  OBJS   = ftpd.o ftpcmd.o glob.o logwtmp.o popen.o vers.o access.o extensions.o \ +  	 realpath.o acl.o private.o authenticate.o conversions.o hostacc.o \ +! 	 sigfix.o +   +  all: ftpd ftpcount ftpshut ckconfig +   +--- 10,19 ---- +   +  SRCS   = ftpd.c ftpcmd.c glob.c logwtmp.c popen.c vers.c access.c extensions.c \ +  	 realpath.c acl.c private.c authenticate.c conversions.c hostacc.c \ +! 	 sigfix.c skey-stuff.c +  OBJS   = ftpd.o ftpcmd.o glob.o logwtmp.o popen.o vers.o access.o extensions.o \ +  	 realpath.o acl.o private.o authenticate.o conversions.o hostacc.o \ +! 	 sigfix.o skey-stuff.o +   +  all: ftpd ftpcount ftpshut ckconfig +   diff --git a/ftp/wu-ftpd+ipv6/scripts/configure b/ftp/wu-ftpd+ipv6/scripts/configure index e557ecd38d08..1d1fc078cfef 100644 --- a/ftp/wu-ftpd+ipv6/scripts/configure +++ b/ftp/wu-ftpd+ipv6/scripts/configure @@ -6,7 +6,4 @@  mv ${WRKSRC}/src/pathnames.h ${WRKSRC}/src/pathnames.h.bak  sed <${WRKSRC}/src/pathnames.h.bak >${WRKSRC}/src/pathnames.h s+!!PREFIX!!+$PREFIX+g -cp ${FILESDIR}/Makefile.fb2 ${WRKSRC}/src/makefiles/Makefile.fb2 -cp ${FILESDIR}/config.fb2 ${WRKSRC}/src/config/config.fb2 -cp ${FILESDIR}/support-Makefile.fb2 ${WRKSRC}/support/makefiles/Makefile.fb2  cp ${FILESDIR}/skey-stuff.c ${WRKSRC}/src/skey-stuff.c diff --git a/ftp/wu-ftpd/Makefile b/ftp/wu-ftpd/Makefile index 078be5289b1a..ba6af0c11b7c 100644 --- a/ftp/wu-ftpd/Makefile +++ b/ftp/wu-ftpd/Makefile @@ -1,17 +1,20 @@  # New ports collection makefile for:	wu-ftpd -# Version required:	2.4 +# Version required:     2.4.2-beta-12  # Date created:		18 Oct 1994  # Whom:			torstenb  # -# $Id: Makefile,v 1.8 1996/12/01 01:23:20 obrien Exp $ +# $Id: Makefile,v 1.9 1996/12/01 01:34:11 obrien Exp $  # -DISTNAME=	wu-ftpd-2.4 +DISTNAME=       wu-ftpd-2.4.2-beta-12  CATEGORIES=	net -MASTER_SITES=   ftp://ftp.wustl.edu/packages/wuarchive-ftpd/ \ -		http://wuarchive.wustl.edu/packages/wuarchive-ftpd/ +# AUSCERT recommendation +MASTER_SITES=   ftp://ftp.academ.com/pub/wu-ftpd/private/  EXTRACT_SUFX=   .tar.Z +do-build: +	cd ${WRKSRC} && ./build fbs +  MAINTAINER=	torstenb@FreeBSD.org  MAN1=		ftpcount.1 ftpwho.1 diff --git a/ftp/wu-ftpd/distinfo b/ftp/wu-ftpd/distinfo index 1bdb395a4eed..48944170cef0 100644 --- a/ftp/wu-ftpd/distinfo +++ b/ftp/wu-ftpd/distinfo @@ -1 +1 @@ -MD5 (wu-ftpd-2.4.tar.Z) = a1780e6a1e2b18b6614028fa8f945e14 +MD5 (wu-ftpd-2.4.2-beta-12.tar.Z) = 9c9a38d9de9611f6e9a8d30582ba4b5b diff --git a/ftp/wu-ftpd/files/patch-aa b/ftp/wu-ftpd/files/patch-aa deleted file mode 100644 index e5b1455adc81..000000000000 --- a/ftp/wu-ftpd/files/patch-aa +++ /dev/null @@ -1,19 +0,0 @@ -*** src/realpath.c.orig	Wed Jan 18 22:39:04 1995 ---- src/realpath.c	Wed Jan 18 22:38:48 1995 -*************** -*** 42,48 **** -  #endif -   -  char * -! realpath(char *pathname, char *result) -  { -      struct stat sbuf; -      char curpath[MAXPATHLEN], ---- 42,48 ---- -  #endif -   -  char * -! realpath(const char *pathname, char *result) -  { -      struct stat sbuf; -      char curpath[MAXPATHLEN], diff --git a/ftp/wu-ftpd/files/patch-ab b/ftp/wu-ftpd/files/patch-ab index e8ea68abc559..7c29fc242065 100644 --- a/ftp/wu-ftpd/files/patch-ab +++ b/ftp/wu-ftpd/files/patch-ab @@ -1,51 +1,87 @@ ---- Makefile.orig	Fri Apr  1 11:03:58 1994 -+++ Makefile	Sat Nov 30 17:31:22 1996 -@@ -1,25 +1,32 @@ --BINDIR=		/usr/local/bin --ETCDIR=		/usr/local/etc --MANDIR=		/usr/local/man -+BINDIR=		${PREFIX}/bin -+LIBEXECDIR=	${PREFIX}/libexec -+ETCDIR=		${PREFIX}/etc -+MANDIR=		${PREFIX}/man - MANEXT=		8 -  - all: -+	/bin/sh build fb2 - 	@ echo 'Use the "build" command (shell script) to make ftpd.' - 	@ echo 'You can say "build help" for details on how it works.' -  - install: bin/ftpd bin/ftpcount bin/ftpshut --	-mv -f ${ETCDIR}/ftpd ${ETCDIR}/ftpd-old -+	-mv -f ${LIBEXECDIR}/ftpd ${LIBEXECDIR}/ftpd-old - 	@echo Installing binaries. --	install -o bin -g bin -m 755 bin/ftpd ${ETCDIR}/ftpd --	install -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut --	install -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount --	install -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho -+	install -c -o bin -g bin -m 755 bin/ftpd ${LIBEXECDIR}/ftpd -+	install -c -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut -+	install -c -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount -+	install -c -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho -+	install -c -o bin -g bin -m 755 bin/ckconfig ${BINDIR}/ftpckconfig -+	@echo Installing basic configuration -+	install -c -o root -g bin -m 644 doc/examples/ftpaccess ${ETCDIR}/ftpaccess.example -+	install -c -o root -g bin -m 644 doc/examples/ftpusers ${ETCDIR}/ftpusers.example -+	install -c -o root -g bin -m 644 doc/examples/ftpconversions ${ETCDIR}/ftpconversions.example - 	@echo Installing manpages. --	install -o bin -g bin -m 755 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 --	install -o bin -g bin -m 755 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 --	install -o bin -g bin -m 755 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 --	install -o bin -g bin -m 755 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 --	install -o bin -g bin -m 755 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 --	install -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 --	install -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 --	install -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 -+	install -c -o bin -g bin -m 644 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 -+	install -c -o bin -g bin -m 644 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 -+	install -c -o bin -g bin -m 644 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 -+	install -c -o bin -g bin -m 644 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 -+	install -c -o bin -g bin -m 644 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 -+	install -c -o bin -g bin -m 644 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 -+	install -c -o bin -g bin -m 644 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 -+	install -c -o bin -g bin -m 644 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +*** makefiles/Makefile.fbs.bak	Thu Jan 16 19:57:40 1997 +--- makefiles/Makefile.fbs	Thu Jan 30 17:06:29 1997 +*************** +*** 1,7 **** +! PREFIX=		/usr/local +  BINDIR=		${PREFIX}/bin +  ETCDIR=		${PREFIX}/etc +  MANDIR=		${PREFIX}/man +  MANEXT=		8 +  INSTALL=	install +   +--- 1,8 ---- +! PREFIX?=        /usr/local +  BINDIR=		${PREFIX}/bin +  ETCDIR=		${PREFIX}/etc +  MANDIR=		${PREFIX}/man ++ LIBEXECDIR=     ${PREFIX}/libexec +  MANEXT=		8 +  INSTALL=	install +   +*************** +*** 10,41 **** +  	@ echo 'You can say "build help" for details on how it works.' +   +  install: bin/ftpd bin/ftpcount bin/ftpshut +! 	-mv -f ${ETCDIR}/ftpd ${ETCDIR}/ftpd-old +  	@echo installing binaries. +! 	${INSTALL} -c -o bin -g bin -m 755 bin/ftpd ${ETCDIR}/ftpd +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho +  	install -c -o bin -g bin -m 755 bin/ckconfig ${BINDIR}/ftpckconfig +  	@echo NOT Installing basic configuration +! #	install -c -o root -g bin -m 755 doc/examples/ftpaccess ${ETCDIR}/ftpaccess +! #	install -c -o root -g bin -m 755 doc/examples/ftpusers ${ETCDIR}/ftpusers +! #	install -c -o root -g bin -m 755 doc/examples/ftpconversions ${ETCDIR}/ftpconversions +  	@echo installing manpages. +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 +! 	${INSTALL} -c -o bin -g bin -m 755 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +! 	@echo Compressing manpages +! 	gzip -f -9 ${MANDIR}/man8/ftpd.8 +! 	gzip -f -9 ${MANDIR}/man1/ftpcount.1 +! 	gzip -f -9 ${MANDIR}/man1/ftpwho.1 +! 	gzip -f -9 ${MANDIR}/man8/ftpshut.8 +! 	gzip -f -9 ${MANDIR}/man5/ftpaccess.5 +! 	gzip -f -9 ${MANDIR}/man5/ftphosts.5 +! 	gzip -f -9 ${MANDIR}/man5/ftpconversions.5 +! 	gzip -f -9 ${MANDIR}/man5/xferlog.5 +--- 11,42 ---- +  	@ echo 'You can say "build help" for details on how it works.' +   +  install: bin/ftpd bin/ftpcount bin/ftpshut +! 	-mv -f ${LIBEXECDIR}/ftpd ${LIBEXECDIR}/ftpd-old +  	@echo installing binaries. +! 	${INSTALL} -c -o bin -g bin -m 755 bin/ftpd ${LIBEXECDIR}/ftpd +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpshut ${BINDIR}/ftpshut +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpcount ${BINDIR}/ftpcount +  	${INSTALL} -c -o bin -g bin -m 755 bin/ftpwho ${BINDIR}/ftpwho +  	install -c -o bin -g bin -m 755 bin/ckconfig ${BINDIR}/ftpckconfig +  	@echo NOT Installing basic configuration +! 	install -c -o root -g bin -m 755 doc/examples/ftpaccess ${ETCDIR}/ftpaccess.example +! 	install -c -o root -g bin -m 755 doc/examples/ftpusers ${ETCDIR}/ftpusers.example +! 	install -c -o root -g bin -m 755 doc/examples/ftpconversions ${ETCDIR}/ftpconversions.example +  	@echo installing manpages. +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpd.8 ${MANDIR}/man8/ftpd.8 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpcount.1 ${MANDIR}/man1/ftpcount.1 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpwho.1 ${MANDIR}/man1/ftpwho.1 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpshut.8 ${MANDIR}/man8/ftpshut.8 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpaccess.5 ${MANDIR}/man5/ftpaccess.5 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftphosts.5 ${MANDIR}/man5/ftphosts.5 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/ftpconversions.5 ${MANDIR}/man5/ftpconversions.5 +! 	${INSTALL} -c -o bin -g bin -m 644 doc/xferlog.5 ${MANDIR}/man5/xferlog.5 +! #       @echo Compressing manpages +! #       gzip -f -9 ${MANDIR}/man8/ftpd.8 +! #       gzip -f -9 ${MANDIR}/man1/ftpcount.1 +! #       gzip -f -9 ${MANDIR}/man1/ftpwho.1 +! #       gzip -f -9 ${MANDIR}/man8/ftpshut.8 +! #       gzip -f -9 ${MANDIR}/man5/ftpaccess.5 +! #       gzip -f -9 ${MANDIR}/man5/ftphosts.5 +! #       gzip -f -9 ${MANDIR}/man5/ftpconversions.5 +! #       gzip -f -9 ${MANDIR}/man5/xferlog.5 diff --git a/ftp/wu-ftpd/files/patch-ac b/ftp/wu-ftpd/files/patch-ac index 971dbb40f3e6..93749a1da79a 100644 --- a/ftp/wu-ftpd/files/patch-ac +++ b/ftp/wu-ftpd/files/patch-ac @@ -1,50 +1,42 @@ -*** src/pathnames.h.orig	Wed Apr 13 13:46:48 1994 ---- src/pathnames.h	Sun Aug  6 21:45:38 1995 +*** src/pathnames.h.bak	Mon Jan 20 06:21:45 1997 +--- src/pathnames.h	Thu Jan 30 15:42:24 1997  *************** -*** 29,46 **** -   * -   * @(#)pathnames.h 5.2 (Berkeley) 6/1/90 */ -   -! #define _PATH_FTPUSERS  "/etc/ftpusers" -  #define _PATH_FTPACCESS "/usr/local/etc/ftpaccess" -  #define _PATH_EXECPATH  "/bin/ftp-exec" -! #define _PATH_PIDNAMES  "/usr/local/daemon/ftpd/ftp.pids-%s" -  #define _PATH_CVT       "/usr/local/etc/ftpconversions" -! #define _PATH_XFERLOG   "/usr/adm/xferlog" -! #define _PATH_PRIVATE   "/etc/ftpgroups" -   -  #ifndef _PATH_UTMP -! #define _PATH_UTMP      "/etc/utmp" -! #define _PATH_WTMP      "/usr/adm/wtmp" -! #define _PATH_LASTLOG   "/usr/adm/lastlog" +*** 45,54 **** +  #define _PATH_CVT       "/etc/ftpd/ftpconversions" +  #define _PATH_PRIVATE   "/etc/ftpd/ftpgroups" +  #else +! #define _PATH_FTPUSERS  "/usr/local/lib/ftpd/ftpusers" +! #define _PATH_FTPACCESS "/usr/local/lib/ftpd/ftpaccess" +! #define _PATH_CVT       "/usr/local/lib/ftpd/ftpconversions" +! #define _PATH_PRIVATE   "/usr/local/lib/ftpd/ftpgroups" +  #endif    #endif -  #define _PATH_BSHELL    "/bin/sh" ---- 29,46 ---- -   * -   * @(#)pathnames.h 5.2 (Berkeley) 6/1/90 */ -   -! #define _PATH_FTPUSERS  "/usr/local/etc/ftpusers" -  #define _PATH_FTPACCESS "/usr/local/etc/ftpaccess" -  #define _PATH_EXECPATH  "/bin/ftp-exec" -! #define _PATH_PIDNAMES  "/var/run/ftp.pids-%s" -  #define _PATH_CVT       "/usr/local/etc/ftpconversions" -! #define _PATH_XFERLOG   "/var/log/xferlog" -! #define _PATH_PRIVATE   "/usr/local/etc/ftpgroups" -   -  #ifndef _PATH_UTMP -! #define _PATH_UTMP      "/var/run/utmp" -! #define _PATH_WTMP      "/var/log/wtmp" -! #define _PATH_LASTLOG   "/var/log/lastlog" +--- 45,54 ---- +  #define _PATH_CVT       "/etc/ftpd/ftpconversions" +  #define _PATH_PRIVATE   "/etc/ftpd/ftpgroups" +  #else +! #define _PATH_FTPUSERS  "!!PREFIX!!/etc/ftpusers" +! #define _PATH_FTPACCESS "!!PREFIX!!/etc/ftpaccess" +! #define _PATH_CVT       "!!PREFIX!!/etc/ftpconversions" +! #define _PATH_PRIVATE   "!!PREFIX!!/etc/ftpgroups" +  #endif    #endif -  #define _PATH_BSHELL    "/bin/sh"  *************** -*** 48,52 **** ---- 48,53 ---- -   -  #ifdef  HOST_ACCESS -  #define _PATH_FTPHOSTS  "/usr/local/etc/ftphosts" -+ #else +*** 109,115 **** +  #ifdef USE_ETC_FTPD +  #define _PATH_FTPHOSTS  "/etc/ftpd/ftphosts" +  #else +! #define _PATH_FTPHOSTS  "/usr/local/lib/ftpd/ftphosts" +  #endif +  #endif +  #endif +--- 109,115 ---- +  #ifdef USE_ETC_FTPD +  #define _PATH_FTPHOSTS  "/etc/ftpd/ftphosts" +  #else +! #define _PATH_FTPHOSTS  "!!PREFIX!!/etc/ftphosts" +  #endif +  #endif    #endif -   diff --git a/ftp/wu-ftpd/files/patch-ad b/ftp/wu-ftpd/files/patch-ad index 8a6749a4e6de..c94318c267f6 100644 --- a/ftp/wu-ftpd/files/patch-ad +++ b/ftp/wu-ftpd/files/patch-ad @@ -1,544 +1,58 @@ -*** src/ftpd.c.orig	Tue Jan  7 00:27:09 1997 ---- src/ftpd.c	Fri Jan 17 17:45:14 1997 -*************** -*** 139,146 **** -   *freopen(const char *, const char *, FILE *); -  extern int ftpd_pclose(FILE *iop), -    fclose(FILE *); -! extern char *getline(), -!  *realpath(char *pathname, char *result); -  extern char cbuf[]; -  extern off_t restart_point; -   ---- 139,146 ---- -   *freopen(const char *, const char *, FILE *); -  extern int ftpd_pclose(FILE *iop), -    fclose(FILE *); -! extern char *getline(); -! extern char *realpath(const char *pathname, char *result); -  extern char cbuf[]; -  extern off_t restart_point; -   -*************** -*** 237,242 **** ---- 237,247 ---- -   -  #endif /* SETPROCTITLE */ -   -+ #ifdef SKEY -+ #include <skey.h> -+ int	pwok = 0; -+ #endif -+  -  #ifdef KERBEROS -  void init_krb(); -  void end_krb(); -*************** -*** 252,257 **** ---- 257,269 ---- -  char  ls_short[50]; -  struct aclmember *entry = NULL; -   -+ void end_login(void); -+ void send_data(FILE *, FILE *, off_t); -+ void dolog(struct sockaddr_in *); -+ void dologout(int); -+ void perror_reply(int, char *); -+  -+ void -  main(int argc, char **argv, char **envp) -  { -      int addrlen, -*************** -*** 686,691 **** ---- 698,705 ---- -   * does not have a standard shell as returned by getusershell().  Disallow -   * anyone mentioned in the file _PATH_FTPUSERS to allow people such as root -   * and uucp to be avoided. */ -+  -+ void -  user(char *name) -  { -      register char *cp; -*************** -*** 878,884 **** ---- 892,903 ---- -      } else -          acl_setfunctions(); -   -+ #ifdef SKEY -+     pwok = skeyaccess(name, NULL, remotehost, remoteaddr); -+     reply(331, "%s", skey_challenge(name, pw, pwok)); -+ #else +*** src/ftpd.c.bak	Mon Jan 20 08:05:11 1997 +--- src/ftpd.c	Thu Jan 30 17:46:16 1997 +*************** +*** 235,246 **** +  int logging = 0; +  int log_commands = 0; +   +- #ifdef SKEY			/* H* add-on.  Not as elegant as Wietse's */ +- #include "skey.h"		/* logdaemon package, but does the job.   */ +- struct skey skey_blk; +- char chbuff[80]; +- #endif +-  +  #ifdef SECUREOSF +  #define SecureWare +  #include <prot.h> +--- 235,240 ---- +*************** +*** 1201,1212 **** +              acl_setfunctions(); +   +  #ifdef SKEY +! /* 0 means we found the user and the skeykeys file is open for update. */ +!     if (skeychallenge (&skey_blk, name, chbuff) == 0) +! 	reply (331, "[%s] required for %s.", chbuff, name); +!     else +! #endif        reply(331, "Password required for %s.", name); -+ #endif        askpasswd = 1;        /* Delay before reading passwd after first failed attempt to slow down         * passwd-guessing programs. */ -*************** -*** 887,892 **** ---- 906,912 ---- -  } -   -  /* Check if a user is in the file _PATH_FTPUSERS */ -+ int -  checkuser(char *name) -  { -      register FILE *fd; -*************** -*** 911,916 **** ---- 931,937 ---- -   -  /* Terminate login as previous user, if any, resetting state; used when USER -   * command is given or login fails. */ -+ void -  end_login(void) -  { +--- 1195,1205 ---- +              acl_setfunctions(); -*************** -*** 965,970 **** ---- 986,992 ---- -          return 0; -  } -   -+ void -  pass(char *passwd) -  { -      char *xpasswd, -*************** -*** 1007,1014 **** ---- 1029,1041 ---- -  #ifdef KERBEROS -          xpasswd = crypt16(passwd, salt); -  #else -+ #ifdef SKEY -+ 	xpasswd = skey_crypt(passwd, salt, pw, pwok); -+ 	pwok = 0; -+ #else -          xpasswd = crypt(passwd, salt); -  #endif -+ #endif -   -  #ifdef ULTRIX_AUTH -          if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { -*************** -*** 1095,1101 **** -      (void) initgroups(pw->pw_name, pw->pw_gid); -   -      /* open wtmp before chroot */ -!     (void) sprintf(ttyline, "ftp%d", getpid()); -      logwtmp(ttyline, pw->pw_name, remotehost); -      logged_in = 1; -   ---- 1122,1132 ---- -      (void) initgroups(pw->pw_name, pw->pw_gid); -   -      /* open wtmp before chroot */ -! #if (defined(BSD) && (BSD >= 199103)) -!     (void) sprintf(ttyline, "ftp%ld", getpid()); -! #else -!     (void) sprintf(ttyline, "ftpd%d", getpid()); -! #endif -      logwtmp(ttyline, pw->pw_name, remotehost); -      logged_in = 1; -   -*************** -*** 1190,1197 **** -          reply(230, "Guest login ok, access restrictions apply."); -  #ifdef SETPROCTITLE -          sprintf(proctitle, "%s: anonymous/%.*s", remotehost, -!                     sizeof(proctitle) - sizeof(remotehost) - -!                     sizeof(": anonymous/"), passwd); -          setproctitle("%s", proctitle); -  #endif /* SETPROCTITLE */ -          if (logging) ---- 1221,1228 ---- -          reply(230, "Guest login ok, access restrictions apply."); -  #ifdef SETPROCTITLE -          sprintf(proctitle, "%s: anonymous/%.*s", remotehost, -!                     (int) (sizeof(proctitle) - sizeof(remotehost) - -!                     sizeof(": anonymous/")), passwd); -          setproctitle("%s", proctitle); -  #endif /* SETPROCTITLE */ -          if (logging) -*************** -*** 1235,1240 **** ---- 1266,1272 ---- -      return (buf); -  } -   -+ void -  retrieve(char *cmd, char *name) -  { -      FILE *fin, -*************** -*** 1403,1409 **** -      if (dout == NULL) -          goto done; -  #ifdef HAVE_ST_BLKSIZE -!     send_data(fin, dout, st.st_blksize); -  #else -      send_data(fin, dout, BUFSIZ); -  #endif ---- 1435,1441 ---- -      if (dout == NULL) -          goto done; -  #ifdef HAVE_ST_BLKSIZE -!     send_data(fin, dout, st.st_blksize*2); -  #else -      send_data(fin, dout, BUFSIZ); -  #endif -*************** -*** 1422,1428 **** ---- 1454,1464 ---- -          for (loop = 0; namebuf[loop]; loop++) -              if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) -                  namebuf[loop] = '_'; -+ #if (defined(BSD) && (BSD >= 199103)) -+         sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", -+ #else -          sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", -+ #endif -                  ctime(&curtime), -                  xfertime, -                  remotehost, -*************** -*** 1445,1450 **** ---- 1481,1487 ---- -          (*closefunc) (fin); -  } -   -+ void -  store(char *name, char *mode, int unique) -  { -      FILE *fout, *din; -*************** -*** 1610,1616 **** -          for (loop = 0; namebuf[loop]; loop++) -              if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) -                  namebuf[loop] = '_'; -!         sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n", -                  ctime(&curtime), -                  xfertime, -                  remotehost, ---- 1647,1657 ---- -          for (loop = 0; namebuf[loop]; loop++) -              if (isspace(namebuf[loop]) || iscntrl(namebuf[loop])) -                  namebuf[loop] = '_'; -! #if (defined(BSD) && (BSD >= 199103)) -!         sprintf(msg, "%.24s %d %s %qd %s %c %s %c %c %s ftp %d %s\n", +  #ifdef SKEY +!     pwok = skeyaccess(name, NULL, remotehost, remoteaddr); +!     reply(331, "%s", skey_challenge(name, pw, pwok));  ! #else -!         sprintf(msg, "%.24s %d %s %d %s %c %s %c %c %s ftp %d %s\n",  -! #endif -                  ctime(&curtime), -                  xfertime, -                  remotehost, -*************** -*** 1678,1683 **** ---- 1719,1735 ---- -      if (setsockopt(s, IPPROTO_IP, IP_TOS, (char *) &on, sizeof(int)) < 0) -            syslog(LOG_WARNING, "setsockopt (IP_TOS): %m"); -  #endif -+ #ifdef TCP_NOPUSH -+ 	/* -+ 	 * Turn off push flag to keep sender TCP from sending short packets -+ 	 * at the boundaries of each write().  Should probably do a SO_SNDBUF -+ 	 * to set the send buffer size as well, but that may not be desirable -+ 	 * in heavy-load situations. -+ 	 */ -+ 	on = 1; -+ 	if (setsockopt(s, IPPROTO_TCP, TCP_NOPUSH, (char *)&on, sizeof on) < 0) -+ 		syslog(LOG_WARNING, "setsockopt (TCP_NOPUSH): %m"); +      reply(331, "Password required for %s.", name);  + #endif -   -      return (fdopen(s, mode)); -    bad: -*************** -*** 1699,1705 **** -      file_size = size; -      byte_count = 0; -      if (size != (off_t) - 1) -!         (void) sprintf(sizebuf, " (%ld bytes)", size); -      else -          (void) strcpy(sizebuf, ""); -      if (pdata >= 0) { ---- 1751,1761 ---- -      file_size = size; -      byte_count = 0; -      if (size != (off_t) - 1) -! #if (defined(BSD) && (BSD >= 199103)) -!         (void) sprintf(sizebuf, " (%qd bytes)", size); -! #else -! 	(void) sprintf(sizebuf, " (%d bytes)", size); -! #endif -      else -          (void) strcpy(sizebuf, ""); -      if (pdata >= 0) { -*************** -*** 1707,1715 **** -          int s, -            fromlen = sizeof(from); -   -!         s = accept(pdata, (struct sockaddr *) &from, &fromlen); -!         if (s < 0) { -!             reply(425, "Can't open data connection."); -              (void) close(pdata); -              pdata = -1; -              return (NULL); ---- 1763,1785 ---- -          int s, -            fromlen = sizeof(from); -   -! #ifdef FD_ZERO -!        struct timeval timeout; -!        fd_set set; -!  -!        FD_ZERO(&set); -!        FD_SET(pdata, &set); -!  -!        timeout.tv_usec = 0; -!        timeout.tv_sec = 120; -!  -!        if (select(pdata+1, &set, (fd_set *) 0, (fd_set *) 0, &timeout) == 0 || -!            (s = accept(pdata, (struct sockaddr *) &from, &fromlen)) < 0) { -! #else -!           s = accept(pdata, (struct sockaddr *) &from, &fromlen); -!           if (s < 0) { -! #endif -! 	    reply(425, "Can't open data connection."); -              (void) close(pdata); -              pdata = -1; -              return (NULL); -*************** -*** 1764,1769 **** ---- 1834,1840 ---- -   * encapsulation of the data subject to Mode, Structure, and Type. -   * -   * NB: Form isn't handled. */ -+ void -  send_data(FILE *instr, FILE *outstr, off_t blksize) -  { -      register int c, -*************** -*** 1839,1844 **** ---- 1910,1916 ---- -   * the data subject to Mode, Structure, and Type. -   * -   * N.B.: Form isn't handled. */ -+ int -  receive_data(FILE *instr, FILE *outstr) -  { -      register int c; -*************** -*** 1915,1920 **** ---- 1987,1993 ---- -      return (-1); -  } -   -+ void -  statfilecmd(char *filename) -  { -      char line[BUFSIZ]; -*************** -*** 1948,1953 **** ---- 2021,2027 ---- -      reply(211, "End of Status"); -  } -   -+ void -  statcmd(void) -  { -      struct sockaddr_in *sin; -*************** -*** 2001,2006 **** ---- 2075,2081 ---- -      reply(211, "End of status"); -  } -   -+ void -  fatal(char *s) -  { -      reply(451, "Error in server: %s\n", s); -*************** -*** 2095,2100 **** ---- 2170,2176 ---- -   -  #else -  /* VARARGS2 */ -+ void -  reply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) -  { -      if (autospout != NULL) { -*************** -*** 2129,2134 **** ---- 2205,2211 ---- -  } -   -  /* VARARGS2 */ -+ void -  lreply(int n, char *fmt, int p0, int p1, int p2, int p3, int p4, int p5) -  { -      if (!dolreplies) +      askpasswd = 1; +      /* Delay before reading passwd after first failed attempt to slow down +       * passwd-guessing programs. */  *************** -*** 2144,2160 **** ---- 2221,2240 ---- -  } +*** 1378,1389 **** +          xpasswd = crypt(passwd, salt);    #endif -   -+ void -  ack(char *s) -  { -      reply(250, "%s command successful.", s); -  } -   -+ void -  nack(char *s) -  { -      reply(502, "%s command not implemented.", s); -  } -   -  /* ARGSUSED */ -+ void -  yyerror(char *s) -  { -      char *cp; -*************** -*** 2164,2169 **** ---- 2244,2250 ---- -      reply(500, "'%s': command not understood.", cbuf); -  } -   -+ void -  delete(char *name) -  { -      struct stat st; -*************** -*** 2208,2213 **** ---- 2289,2295 ---- -      ack("DELE"); -  } -   -+ void -  cwd(char *path) -  { -      struct aclmember *entry = NULL; -*************** -*** 2248,2253 **** ---- 2330,2336 ---- -      } -  } -   -+ void -  makedir(char *name) -  { -  	uid_t uid; -*************** -*** 2274,2282 **** -      reply(257, "MKD command successful."); -  } -   -  removedir(char *name) -  { -! 	int c, d;  /* dummy variables */ -          int valid = 0; -   -      /* ---- 2357,2366 ---- -      reply(257, "MKD command successful."); -  } -   -+ void -  removedir(char *name) -  { -! 	unsigned long c, d;  /* dummy variables */ -          int valid = 0; -   -      /* -*************** -*** 2298,2303 **** ---- 2382,2388 ---- -          ack("RMD"); -  } -   -+ void -  pwd(void) -  { -      char path[MAXPATHLEN + 1]; -*************** -*** 2312,2318 **** -  #else -      if (getwd(path) == (char *) NULL)    #endif -!         reply(550, "%s.", path); -      else -          reply(257, "\"%s\" is current directory.", path); -  } ---- 2397,2404 ---- -  #else -      if (getwd(path) == (char *) NULL) +- #endif +- #ifdef SKEY +- /* comment the next line if you REALLY want to allow replayable passwds. */ +- 	strcpy (xpasswd, "wrongo:spazmoid");  /* disable regular passwds */ +- 	if (skeyverify (&skey_blk, passwd) == 0) +- 	    strcpy (xpasswd, pw->pw_passwd);	/* do it the sleazy way */    #endif -! /*        reply(550, "%s.", path); */ -! 	reply(550, "Permission denied."); -      else -          reply(257, "\"%s\" is current directory.", path); -  } -*************** -*** 2342,2347 **** ---- 2428,2434 ---- -      return (name); -  } -   -+ void -  renamecmd(char *from, char *to) -  { -   -*************** -*** 2357,2362 **** ---- 2444,2450 ---- -          ack("RNTO"); -  } -   -+ void -  dolog(struct sockaddr_in *sin) -  { -      struct hostent *hp; -*************** -*** 2412,2417 **** ---- 2500,2506 ---- -  } -   -  /* Record logout in wtmp file and exit with supplied status. */ -+ void -  dologout(int status) -  { -     /* -*************** -*** 2466,2471 **** ---- 2555,2561 ---- -   * PASV command in RFC959. However, it has been blessed as a legitimate -   * response by Jon Postel in a telephone conversation with Rick Adams on 25 -   * Jan 89. */ -+ void -  passive(void) -  { -      int len; -*************** -*** 2537,2542 **** ---- 2627,2633 ---- -  } -   -  /* Format and send reply containing system error number. */ -+ void -  perror_reply(int code, char *string) -  { -      reply(code, "%s: %s.", string, strerror(errno)); -*************** -*** 2545,2550 **** ---- 2636,2642 ---- -  static char *onefile[] = -  {"", 0}; -   -+ void -  send_file_list(char *whichfiles) -  { -      struct stat st; +  #ifdef ULTRIX_AUTH +          if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) { +--- 1371,1376 ---- diff --git a/ftp/wu-ftpd/files/patch-ai b/ftp/wu-ftpd/files/patch-ai index 67cb35730961..8397aba1d9d2 100644 --- a/ftp/wu-ftpd/files/patch-ai +++ b/ftp/wu-ftpd/files/patch-ai @@ -1,5 +1,5 @@ -*** config.h	Fri Apr  1 11:03:59 1994 ---- config.h	Sat Oct  7 10:09:48 1995 +*** config.h.orig	Mon Jan 20 06:21:30 1997 +--- config.h	Thu Jan 30 16:13:31 1997  ***************  *** 30,35 ****  --- 30,43 ---- @@ -17,3 +17,16 @@     * allow use of private file.  (for site group and site gpass)     */ +*************** +*** 64,68 **** +   * See README-2.4-HOBBIT for more information on this option. +   */ +   +! #undef SKEY +   +--- 72,76 ---- +   * See README-2.4-HOBBIT for more information on this option. +   */ +   +! #define SKEY +   diff --git a/ftp/wu-ftpd/files/patch-al b/ftp/wu-ftpd/files/patch-al new file mode 100644 index 000000000000..91414fc3ef3e --- /dev/null +++ b/ftp/wu-ftpd/files/patch-al @@ -0,0 +1,25 @@ +*** support/makefiles/Makefile.fbs.bak	Fri Feb 17 20:36:56 1995 +--- support/makefiles/Makefile.fbs	Thu Jan 30 16:32:32 1997 +*************** +*** 4,13 **** +  LIBC   = /usr/lib/libc.a +  IFLAGS =  +  LFLAGS =  +! CFLAGS = -O ${IFLAGS} ${LFLAGS} -DNO_MALLOC_PROTO +   +! SRCS   = fnmatch.c strcasestr.c authuser.c ftw.c +! OBJS   = fnmatch.o strcasestr.o authuser.o ftw.o +   +  all: $(OBJS) +  	-rm -f libsupport.a +--- 4,13 ---- +  LIBC   = /usr/lib/libc.a +  IFLAGS =  +  LFLAGS =  +! CFLAGS += ${IFLAGS} ${LFLAGS} -DNO_MALLOC_PROTO +   +! SRCS   = strcasestr.c authuser.c ftw.c +! OBJS   = strcasestr.o authuser.o ftw.o +   +  all: $(OBJS) +  	-rm -f libsupport.a diff --git a/ftp/wu-ftpd/files/patch-am b/ftp/wu-ftpd/files/patch-am new file mode 100644 index 000000000000..54655a677dee --- /dev/null +++ b/ftp/wu-ftpd/files/patch-am @@ -0,0 +1,44 @@ +*** src/makefiles/Makefile.fbs.orig	Thu Jan 16 11:27:58 1997 +--- src/makefiles/Makefile.fbs	Thu Jan 30 17:50:47 1997 +*************** +*** 1,8 **** +  CC       = cc +  IFLAGS   = -I.. -I../support +  LFLAGS   = -L../support -s +! CFLAGS   = -O ${IFLAGS} ${LFLAGS} +! LIBES    = -lsupport -lcrypt +  LIBC     = /usr/lib/libc.a +  LINTFLAGS=	 +  LKERB    = -lauth -lckrb -lkrb -ldes +--- 1,8 ---- +  CC       = cc +  IFLAGS   = -I.. -I../support +  LFLAGS   = -L../support -s +! CFLAGS   += ${IFLAGS} ${LFLAGS} +! LIBES    = -lsupport -lutil -lskey -lmd -lcrypt +  LIBC     = /usr/lib/libc.a +  LINTFLAGS=	 +  LKERB    = -lauth -lckrb -lkrb -ldes +*************** +*** 10,19 **** +   +  SRCS   = ftpd.c ftpcmd.c glob.c logwtmp.c popen.c vers.c access.c extensions.c \ +  	 realpath.c acl.c private.c authenticate.c conversions.c hostacc.c \ +! 	 sigfix.c +  OBJS   = ftpd.o ftpcmd.o glob.o logwtmp.o popen.o vers.o access.o extensions.o \ +  	 realpath.o acl.o private.o authenticate.o conversions.o hostacc.o \ +! 	 sigfix.o +   +  all: ftpd ftpcount ftpshut ckconfig +   +--- 10,19 ---- +   +  SRCS   = ftpd.c ftpcmd.c glob.c logwtmp.c popen.c vers.c access.c extensions.c \ +  	 realpath.c acl.c private.c authenticate.c conversions.c hostacc.c \ +! 	 sigfix.c skey-stuff.c +  OBJS   = ftpd.o ftpcmd.o glob.o logwtmp.o popen.o vers.o access.o extensions.o \ +  	 realpath.o acl.o private.o authenticate.o conversions.o hostacc.o \ +! 	 sigfix.o skey-stuff.o +   +  all: ftpd ftpcount ftpshut ckconfig +   diff --git a/ftp/wu-ftpd/scripts/configure b/ftp/wu-ftpd/scripts/configure index e557ecd38d08..1d1fc078cfef 100644 --- a/ftp/wu-ftpd/scripts/configure +++ b/ftp/wu-ftpd/scripts/configure @@ -6,7 +6,4 @@  mv ${WRKSRC}/src/pathnames.h ${WRKSRC}/src/pathnames.h.bak  sed <${WRKSRC}/src/pathnames.h.bak >${WRKSRC}/src/pathnames.h s+!!PREFIX!!+$PREFIX+g -cp ${FILESDIR}/Makefile.fb2 ${WRKSRC}/src/makefiles/Makefile.fb2 -cp ${FILESDIR}/config.fb2 ${WRKSRC}/src/config/config.fb2 -cp ${FILESDIR}/support-Makefile.fb2 ${WRKSRC}/support/makefiles/Makefile.fb2  cp ${FILESDIR}/skey-stuff.c ${WRKSRC}/src/skey-stuff.c  | 
