aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsumikawa <sumikawa@FreeBSD.org>2005-05-19 09:57:42 +0800
committersumikawa <sumikawa@FreeBSD.org>2005-05-19 09:57:42 +0800
commitd10aa01e3af785278be2df82831e5ee2d45747e9 (patch)
treee9c75a87fa070c1ef04e8d378469ec7e24c3d5ef
parent966cce9c4272273813a90a505159f9861fe0e1e8 (diff)
downloadfreebsd-ports-gnome-d10aa01e3af785278be2df82831e5ee2d45747e9.tar.gz
freebsd-ports-gnome-d10aa01e3af785278be2df82831e5ee2d45747e9.tar.zst
freebsd-ports-gnome-d10aa01e3af785278be2df82831e5ee2d45747e9.zip
Integrate official skeychallenge.patch
Fix denial of service in NLST CAN-2005-0256
-rw-r--r--ftp/wu-ftpd+ipv6/Makefile2
-rw-r--r--ftp/wu-ftpd+ipv6/files/patch-aa27
-rw-r--r--ftp/wu-ftpd+ipv6/files/patch-ap29
3 files changed, 50 insertions, 8 deletions
diff --git a/ftp/wu-ftpd+ipv6/Makefile b/ftp/wu-ftpd+ipv6/Makefile
index 92f49b1424f2..ee487f485db0 100644
--- a/ftp/wu-ftpd+ipv6/Makefile
+++ b/ftp/wu-ftpd+ipv6/Makefile
@@ -9,7 +9,7 @@
PORTNAME= wu-ftpd+ipv6
PORTVERSION= 2.6.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= ftp ipv6
MASTER_SITES= ftp://ftp.wu-ftpd.org/pub/wu-ftpd/
DISTNAME= wu-ftpd-${PORTVERSION}
diff --git a/ftp/wu-ftpd+ipv6/files/patch-aa b/ftp/wu-ftpd+ipv6/files/patch-aa
index fb9496f1c4fe..6ea6479bb5d5 100644
--- a/ftp/wu-ftpd+ipv6/files/patch-aa
+++ b/ftp/wu-ftpd+ipv6/files/patch-aa
@@ -1,5 +1,5 @@
---- src/ftpd.c.orig Mon Mar 8 07:24:50 2004
-+++ src/ftpd.c Mon Mar 8 07:24:50 2004
+--- src/ftpd.c.orig Tue Apr 5 03:22:01 2005
++++ src/ftpd.c Tue Apr 5 04:10:13 2005
@@ -447,7 +447,6 @@
#ifdef OPIE
#include <opie.h>
@@ -24,10 +24,10 @@
if (pwd == NULL || skeychallenge(&skey, pwd->pw_name, sbuf))
- sprintf(buf, "Password required for %s.", name);
-+ snprintf(buf, 128, "Password required for %s.", name);
++ snprintf(buf, sizeof(buf)-1, "Password required for %s.", name);
else
- sprintf(buf, "%s %s for %s.", sbuf,
-+ snprintf(buf, 128, "%s %s for %s.", sbuf,
++ snprintf(buf, sizeof(buf)-1, "%s %s for %s.", sbuf,
pwok ? "allowed" : "required", name);
return (buf);
}
@@ -95,3 +95,22 @@
#ifdef VERBOSE_ERROR_LOGING
syslog(LOG_NOTICE, "FTP LOGIN FAILED (cannot chdir) for %s, %s",
remoteident, pw->pw_name);
+@@ -7469,6 +7471,8 @@
+ in++;
+ if (*in == '/')
+ in++;
++ else
++ out++;
+ }
+ else if ((in[0] == '.') && (in[1] == '.') && ((in[2] == '/') || (in[2] == '\0'))) {
+ if (out == path) {
+@@ -7497,6 +7501,9 @@
+ }
+ else {
+ do
++ if ((in[0] == '*') && (in[1] == '*'))
++ in++;
++ else
+ *out++ = *in++;
+ while ((*in != '\0') && (*in != '/'));
+ if (*in == '/')
diff --git a/ftp/wu-ftpd+ipv6/files/patch-ap b/ftp/wu-ftpd+ipv6/files/patch-ap
index 68357225ffe0..852d49fc1120 100644
--- a/ftp/wu-ftpd+ipv6/files/patch-ap
+++ b/ftp/wu-ftpd+ipv6/files/patch-ap
@@ -1,6 +1,20 @@
---- src/glob.c.old Sat Jul 1 22:17:39 2000
-+++ src/glob.c Wed Nov 28 13:42:26 2001
-@@ -112,7 +118,7 @@
+--- src/glob.c.old Thu Nov 29 20:01:38 2001
++++ src/glob.c Thu Jun 10 06:13:51 2004
+@@ -45,10 +45,12 @@
+
+ #include "proto.h"
+
++#define ARGSIZ (524288)
++
+ #define QUOTE 0200
+ #define TRIM 0177
+ #define eq(a,b) (strcmp(a, b)==0)
+-#define GAVSIZ (NCARGS/6)
++#define GAVSIZ (ARGSIZ/6)
+ #define isdir(d) ((d.st_mode & S_IFMT) == S_IFDIR)
+
+ static char **gargv; /* Pointer to the (stack) arglist */
+@@ -112,7 +114,7 @@
fixpath(v);
if (v[0] == '\0')
@@ -9,3 +23,12 @@
else if ((strlen(v) > 1) && (v[strlen(v) - 1] == '/'))
v[strlen(v) - 1] = '\0';
+@@ -149,7 +151,7 @@
+ gargv = agargv;
+ sortbas = agargv;
+ gargc = 0;
+- gnleft = NCARGS - 4;
++ gnleft = ARGSIZ - 4;
+ }
+
+ static void collect(register char *as)