diff --git a/net/wu-ftpd/Makefile b/net/wu-ftpd/Makefile index f6f01887bcdf..eb33f061a14b 100644 --- a/net/wu-ftpd/Makefile +++ b/net/wu-ftpd/Makefile @@ -1,20 +1,21 @@ -# $NetBSD: Makefile,v 1.9 1999/02/20 22:48:37 hubertf Exp $ +# $NetBSD: Makefile,v 1.10 1999/03/07 16:31:59 rh Exp $ # FreeBSD Id: Makefile,v 1.16 1997/12/24 17:45:28 ache Exp # # REMINDER: to use ftpaccess(5) you need to specify -a in command line, # it is changed from previous versions -DISTNAME= wu-ftpd-2.4.2-beta-18 -PKGNAME= wu-ftpd-2.4.2b18.2 +DISTNAME= wu-ftpd-2.4.2 CATEGORIES= net # AUSCERT recommendation -MASTER_SITES= ftp://ftp.academ.com/pub/wu-ftpd/private/ \ +MASTER_SITES= ftp://ftp.academ.com/pub/wu-ftpd/ \ ftp://ftp.cp.in-berlin.de/pub/ftpsrc/ EXTRACT_SUFX= .tar.Z MAINTAINER= rh@netbsd.org HOMEPAGE= http://www.academ.com/academ/wu-ftpd/ +CONFLICTS+= wu-ftpd-vr-* beroftpd-* + MAKE_ENV+= INSTALL="${INSTALL}" MAKE_ENV+= INSTALL_PROGRAM="${INSTALL_PROGRAM}" MAKE_ENV+= INSTALL_DATA="${INSTALL_DATA}" diff --git a/net/wu-ftpd/files/md5 b/net/wu-ftpd/files/md5 index 5c3deaaa2879..34e452cfcaad 100644 --- a/net/wu-ftpd/files/md5 +++ b/net/wu-ftpd/files/md5 @@ -1,3 +1,3 @@ -$NetBSD: md5,v 1.3 1999/02/13 09:05:02 rh Exp $ +$NetBSD: md5,v 1.4 1999/03/07 16:32:00 rh Exp $ -MD5 (wu-ftpd-2.4.2-beta-18.tar.Z) = b320d7872ba807c04f1b677595f28d86 +MD5 (wu-ftpd-2.4.2.tar.Z) = d0a26079cfdc42e3e981c2bef428f9f4 diff --git a/net/wu-ftpd/patches/patch-al b/net/wu-ftpd/patches/patch-al index ac8f7ac9087a..f32e52de4391 100644 --- a/net/wu-ftpd/patches/patch-al +++ b/net/wu-ftpd/patches/patch-al @@ -1,7 +1,7 @@ -$NetBSD: patch-al,v 1.4 1999/02/14 15:27:50 rh Exp $ +$NetBSD: patch-al,v 1.5 1999/03/07 16:32:00 rh Exp $ ---- src/realpath.c.orig Mon Jul 6 11:14:39 1998 -+++ src/realpath.c Sun Feb 14 14:42:03 1999 +--- src/realpath.c.orig Fri Feb 26 09:08:54 1999 ++++ src/realpath.c Sun Mar 7 15:53:38 1999 @@ -70,7 +70,8 @@ if (result == NULL) /* result must not be null! */ return(NULL); @@ -12,52 +12,20 @@ $NetBSD: patch-al,v 1.4 1999/02/14 15:27:50 rh Exp $ *result = '\0'; return(NULL); } -@@ -141,9 +142,22 @@ - strcpy(namebuf, workpath); +@@ -145,8 +146,15 @@ + for (last = namebuf; *last; last++) continue; - if ((last == namebuf) || (*--last != '/')) -- strcat(namebuf, "/"); -- strcat(namebuf, where); + if ((last == namebuf) || (*--last != '/')) { + if (strlen (namebuf) + 1 < sizeof (namebuf)) { -+ strcat(namebuf, "/"); + strcat(namebuf, "/"); + } else { + /* path too long: bail out */ -+ *result = '\0'; ++ *result = '\0'; + return (NULL); + } -+ } -+ if (strlen(namebuf)+strlen(where) < sizeof(namebuf)) { -+ strcat(namebuf, where); -+ } else { -+ /* path too long: bail out */ -+ *result = '\0'; -+ return (NULL); + } - where = ++ptr; - if (lstat(namebuf, &sbuf) == -1) { -@@ -153,7 +167,7 @@ - /* was IFLNK */ - #ifdef HAVE_SYMLINK - if ((sbuf.st_mode & S_IFMT) == S_IFLNK) { -- len = readlink(namebuf, linkpath, MAXPATHLEN); -+ len = readlink(namebuf, linkpath, sizeof(linkpath) - 1); - if (len == 0) { - strcpy(result, namebuf); - return (NULL); -@@ -164,7 +178,13 @@ - *workpath = '\0'; - if (*where) { - strcat(linkpath, "/"); -+ if (strlen(linkpath) + strlen(where) < sizeof(linkpath)) { - strcat(linkpath, where); -+ } else { -+ /* path too long: bail out */ -+ *result = '\0'; -+ return (NULL); -+ } - } - strcpy(curpath, linkpath); - goto loop; + if (strlen(namebuf) + strlen(where) + 1 < MAXPATHLEN) + strcat(namebuf, where); diff --git a/net/wu-ftpd/patches/patch-am b/net/wu-ftpd/patches/patch-am index c14a00798657..4fd88763c475 100644 --- a/net/wu-ftpd/patches/patch-am +++ b/net/wu-ftpd/patches/patch-am @@ -1,49 +1,16 @@ -$NetBSD: patch-am,v 1.3 1999/02/14 15:27:51 rh Exp $ +$NetBSD: patch-am,v 1.4 1999/03/07 16:32:00 rh Exp $ ---- src/extensions.c.orig Mon Jul 6 11:14:17 1998 -+++ src/extensions.c Sun Feb 14 14:53:10 1999 -@@ -990,14 +990,19 @@ - *ap3 = NULL, - *ap4 = NULL, - *ap6 = NULL; -- char cwdir[BUFSIZ]; -- char path[BUFSIZ]; -+ char cwdir[MAXPATHLEN]; -+ char path[MAXPATHLEN]; - char *sp; - extern struct passwd *pw; - - *valid = 0; - /* what's our current directory? */ - -+ if (strlen (name) >= sizeof path) { /* path too long? --> bail out */ -+ perror_reply(550, "Could not determine cwdir"); -+ return(-1); -+ } -+ - strcpy(path, name); - if (sp = strrchr(path, '/')) *sp = '\0'; - else strcpy(path, "."); -@@ -1046,8 +1051,8 @@ - #endif - { - int match_value = -1; -- char cwdir[BUFSIZ]; -- char path[BUFSIZ]; -+ char cwdir[MAXPATHLEN]; -+ char path[MAXPATHLEN]; - char *sp; - int i; - -@@ -1063,6 +1068,11 @@ - *valid = 0; +--- src/extensions.c.orig Fri Feb 26 09:08:46 1999 ++++ src/extensions.c Sun Mar 7 15:54:53 1999 +@@ -1064,6 +1064,11 @@ /* what's our current directory? */ -+ + + if (strlen (name) >= sizeof path) { /* path too long? --> bail out */ + perror_reply(550, "Could not determine cwdir"); + return(-1); + } - ++ strcpy(path, name); if (sp = strrchr(path, '/')) *sp = '\0'; + else strcpy(path, "."); diff --git a/net/wu-ftpd/patches/patch-an b/net/wu-ftpd/patches/patch-an index 7457ef18d238..a8f7144e6ce5 100644 --- a/net/wu-ftpd/patches/patch-an +++ b/net/wu-ftpd/patches/patch-an @@ -1,8 +1,8 @@ -$NetBSD: patch-an,v 1.1 1999/02/14 15:27:51 rh Exp $ +$NetBSD: patch-an,v 1.2 1999/03/07 16:32:00 rh Exp $ ---- src/ftpcmd.y.orig Mon Jul 6 11:14:19 1998 -+++ src/ftpcmd.y Sun Feb 14 16:00:55 1999 -@@ -641,16 +641,16 @@ +--- src/ftpcmd.y.orig Fri Feb 26 09:08:47 1999 ++++ src/ftpcmd.y Sun Mar 7 15:58:17 1999 +@@ -642,16 +642,16 @@ | SYST CRLF = { if (log_commands) syslog(LOG_INFO, "SYST");