diff options
Diffstat (limited to 'editors/joe2')
-rw-r--r-- | editors/joe2/Makefile | 4 | ||||
-rw-r--r-- | editors/joe2/files/patch-ad | 6 |
2 files changed, 4 insertions, 6 deletions
diff --git a/editors/joe2/Makefile b/editors/joe2/Makefile index 617c590fea45..bda5ba0dfd74 100644 --- a/editors/joe2/Makefile +++ b/editors/joe2/Makefile @@ -7,7 +7,7 @@ PORTNAME= joe PORTVERSION= 2.8 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= editors MASTER_SITES= ftp://ftp.std.com/src/editors/ DISTNAME= ${PORTNAME}${PORTVERSION} @@ -15,8 +15,6 @@ EXTRACT_SUFX= .tar.Z MAINTAINER= toasty@dragondata.com -FORBIDDEN= "follows hard link (not symlink) to DEADJOE--see http://www.securityfocus.com/archive/1/145305" - WRKSRC= ${WRKDIR}/joe ALL_TARGET= joe MAN1= joe.1 diff --git a/editors/joe2/files/patch-ad b/editors/joe2/files/patch-ad index 47b1bb2131a0..38113e698cfc 100644 --- a/editors/joe2/files/patch-ad +++ b/editors/joe2/files/patch-ad @@ -1,5 +1,5 @@ ---- b.c.orig Fri Jan 20 13:38:25 1995 -+++ b.c Fri Nov 24 00:24:52 2000 +--- b.c.orig Fri Jan 20 00:38:25 1995 ++++ b.c Sun Dec 3 09:58:21 2000 @@ -21,6 +21,9 @@ #include <pwd.h> #endif @@ -83,7 +83,7 @@ - FILE *f=fopen("DEADJOE","a"); + FILE *f; + struct stat sb; -+ if ((lstat("DEADJOE", &sb) == 0) && (sb.st_mode & S_IFLNK) && (sb.st_uid != getuid())) ++ if ((lstat("DEADJOE", &sb) == 0) && (((sb.st_mode & S_IFLNK) && (sb.st_uid != getuid())) || (sb.st_nlink > 1))) + { + printf("*** JOE was aborted "); + if (sig) printf("by signal %d, cannot save DEADJOE due to unsafe symlink\n",sig); |