aboutsummaryrefslogtreecommitdiff
path: root/ftp/wu-ftpd
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1997-01-30 17:00:56 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1997-01-30 17:00:56 +0000
commit624195f0764367c99cc3c640d7fcda1f86a322e4 (patch)
tree453a32509d088cc39a5467b701a4ef68bbd788da /ftp/wu-ftpd
parenta2310bfff12e0a7862e86428194028429716f4cb (diff)
downloadports-624195f0764367c99cc3c640d7fcda1f86a322e4.tar.gz
ports-624195f0764367c99cc3c640d7fcda1f86a322e4.zip
Notes
Diffstat (limited to 'ftp/wu-ftpd')
-rw-r--r--ftp/wu-ftpd/Makefile13
-rw-r--r--ftp/wu-ftpd/distinfo2
-rw-r--r--ftp/wu-ftpd/files/patch-aa19
-rw-r--r--ftp/wu-ftpd/files/patch-ab138
-rw-r--r--ftp/wu-ftpd/files/patch-ac78
-rw-r--r--ftp/wu-ftpd/files/patch-ad580
-rw-r--r--ftp/wu-ftpd/files/patch-ai17
-rw-r--r--ftp/wu-ftpd/files/patch-al25
-rw-r--r--ftp/wu-ftpd/files/patch-am44
-rw-r--r--ftp/wu-ftpd/scripts/configure3
10 files changed, 262 insertions, 657 deletions
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