diff options
author | Achim Gottinger <achim@gentoo.org> | 2000-08-07 11:29:13 +0000 |
---|---|---|
committer | Achim Gottinger <achim@gentoo.org> | 2000-08-07 11:29:13 +0000 |
commit | 880b28cbb4de01885b7687b4e37a66ecf81e3a5a (patch) | |
tree | 3362a6d99553d209b023e7754db9ece59d27725e /app-editors/joe | |
parent | *** empty log message *** (diff) | |
download | historical-880b28cbb4de01885b7687b4e37a66ecf81e3a5a.tar.gz historical-880b28cbb4de01885b7687b4e37a66ecf81e3a5a.tar.bz2 historical-880b28cbb4de01885b7687b4e37a66ecf81e3a5a.zip |
*** empty log message ***
Diffstat (limited to 'app-editors/joe')
-rw-r--r-- | app-editors/joe/files/digest | 1 | ||||
-rw-r--r-- | app-editors/joe/files/joe2.8.dif | 286 | ||||
-rw-r--r-- | app-editors/joe/joe-2.8-r1.ebuild | 5 |
3 files changed, 290 insertions, 2 deletions
diff --git a/app-editors/joe/files/digest b/app-editors/joe/files/digest new file mode 100644 index 000000000000..2bdf00cb75ad --- /dev/null +++ b/app-editors/joe/files/digest @@ -0,0 +1 @@ +MD5 bad4221aa63ca432e37dac1a953294b1 joe2.8.tar.Z diff --git a/app-editors/joe/files/joe2.8.dif b/app-editors/joe/files/joe2.8.dif new file mode 100644 index 000000000000..37009d869597 --- /dev/null +++ b/app-editors/joe/files/joe2.8.dif @@ -0,0 +1,286 @@ +--- b.c ++++ b.c 2000/03/02 13:15:55 +@@ -15,8 +15,15 @@ + You should have received a copy of the GNU General Public License along with + JOE; see the file COPYING. If not, write to the Free Software Foundation, + 675 Mass Ave, Cambridge, MA 02139, USA. */ ++/* ++DEADJOE tmp race condition security fix by thomas@suse.de ++at 1999-07-23 ++*/ + + #include <stdio.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <fcntl.h> + #ifndef __MSDOS__ + #include <pwd.h> + #endif +@@ -1990,7 +1997,30 @@ + { + long tim=time(0); + B *b; +- FILE *f=fopen("DEADJOE","a"); ++ FILE *f; ++ int tmpfd; ++ struct stat sbuf; ++ ++ if((tmpfd = open("DEADJOE", O_RDWR|O_EXCL|O_CREAT, 0600)) < 0) { ++ if(lstat("DEADJOE", &sbuf) < 0) ++ _exit(-1); ++ if(!S_ISREG(sbuf.st_mode) || sbuf.st_uid != geteuid()) ++ _exit(-1); ++ /* ++ A race condition still exists between the lstat() and the open() ++ systemcall, which leads to a possible denial-of-service attack ++ by setting the file access mode to 600 for every file the ++ user executing joe has permissions to. ++ This can't be fixed w/o breacking the behavior of the orig. joe! ++ */ ++ if((tmpfd = open("DEADJOE", O_RDWR|O_APPEND)) < 0) ++ _exit(-1); ++ if(fchmod(tmpfd, S_IRUSR|S_IWUSR) < 0) ++ _exit(-1); ++ } ++ if((f = fdopen(tmpfd, "a")) == NULL) ++ _exit(-1); ++ + fprintf(f,"\n*** Modified files in JOE when it aborted on %s",ctime(&tim)); + if(sig) fprintf(f,"*** JOE was aborted by signal %d\n",sig); + else fprintf(f,"*** JOE was aborted because the terminal closed\n"); +--- conf.c ++++ conf.c 2000/03/02 13:15:55 +@@ -204,8 +204,10 @@ + fprintf(f,"\n"); + + fprintf(f,"char *getenv();\n"); ++ fprintf(f,"#ifndef __alpha__\n"); + if(sizeof(long)==8) fprintf(f,"int time();\n"); + else fprintf(f,"long time();\n"); ++ fprintf(f,"#endif\n"); + fprintf(f,"void *malloc();\n"); + fprintf(f,"void free();\n"); + fprintf(f,"void *calloc();\n"); +--- jmacsrc ++++ jmacsrc 2000/03/02 13:15:55 +@@ -376,6 +376,8 @@ + bof ^[ < Goto beginning of file + bol .kh Goto beginning of line + bol ^A ++bol ^[ [ H ++bol ^[ [ 1 ~ + bop ^[ p (uemacs) + bufed ^X b + bknd ^[ ' Shell window +@@ -394,6 +396,8 @@ + eof ^[ > Go to end of file + eol .kH Go to end of line + eol ^E ++eol ^[ [ F ++eol ^[ [ 4 ~ + eop ^[ n (uemacs) + execmd ^[ x + insc ^C (uemacs) +--- joerc ++++ joerc 2000/03/02 13:15:55 +@@ -25,7 +25,7 @@ + + -marking Text between ^KB and cursor is highlighted (use with -lightoff) + +- -asis Characters 128 - 255 shown as-is ++-asis Characters 128 - 255 shown as-is + + -force Force final newline when files are saved + +@@ -456,6 +456,8 @@ + bof ^K u + bol .kh Goto beginning of line + bol ^A ++bol ^[ [ H ++bol ^[ [ 1 ~ + center ^K A Center line + center ^K ^A + center ^K a +@@ -478,6 +480,8 @@ + eof ^K v + eol .kH Go to end of line + eol ^E ++eol ^[ [ F ++eol ^[ [ 4 ~ + exsave ^K X Save and exit + exsave ^K ^X + exsave ^K x +--- jpicorc ++++ jpicorc 2000/03/02 13:15:55 +@@ -351,6 +351,8 @@ + bof ^[ y + bol .kh Goto beginning of line + bol ^A ++bol ^[ [ H ++bol ^[ [ 1 ~ + center ^[ ^C Center line + center ^[ c + delch .kD Delete character +@@ -373,6 +375,8 @@ + eof ^[ v + eol .kH Go to end of line + eol ^E ++eol ^[ [ F ++eol ^[ [ 4 ~ + execmd ^[ X Prompt for command to execute + execmd ^[ ^X Prompt for command to execute + execmd ^[ x Prompt for command to execute +--- jstarrc ++++ jstarrc 2000/03/02 13:15:55 +@@ -371,6 +371,8 @@ + bof ^Q ^R + bof ^Q r + bol .kh Goto beginning of line ++bol ^[ [ H ++bol ^[ [ 1 ~ + bol ^Q S + bol ^Q ^S + bol ^Q s +@@ -403,6 +405,8 @@ + eof ^Q ^C + eof ^Q c + eol .kH Go to end of line ++eol ^[ [ F ++eol ^[ [ 4 ~ + eol ^Q D + eol ^Q ^D + eol ^Q d +--- Makefile ++++ Makefile 2000/03/02 13:15:55 +@@ -9,15 +9,15 @@ + # to go and where you want the man page + # to go: + +-WHEREJOE = /usr/local/bin +-WHERERC = /usr/local/lib +-WHEREMAN = /usr/man/man1 ++WHEREJOE = /usr/bin ++WHERERC = /usr/lib ++WHEREMAN = /usr/man/man1 + + # If you want to use TERMINFO, you have to set + # the following variable to 1. Also you have to + # include some additional libraries- see below. + +-TERMINFO = 0 ++TERMINFO = 1 + + # You may also have to add some additional + # defines to get the include files to work +@@ -27,11 +27,11 @@ + + # C compiler options: make's built-in rules use this variable + +-CFLAGS = -O ++CFLAGS = -O2 -fsigned-char -fomit-frame-pointer -pipe + + # C compiler to use: make's built-in rules use this variable + +-CC = cc ++CC = gcc + + # You may have to include some extra libraries + # for some systems +@@ -45,7 +45,7 @@ + # add '-ltinfo', '-lcurses' or '-ltermlib', + # depending on the system. + +-EXTRALIBS = ++EXTRALIBS = -lncurses + + # Object files + +@@ -85,44 +85,36 @@ + # Install proceedure + + install: joe termidx +- strip joe +- strip termidx + if [ ! -d $(WHEREJOE) ]; then mkdir $(WHEREJOE); chmod a+rx $(WHEREJOE); fi + rm -f $(WHEREJOE)/joe $(WHEREJOE)/jmacs $(WHEREJOE)/jstar $(WHEREJOE)/jpico $(WHEREJOE)/rjoe $(WHEREJOE)/termidx +- mv joe $(WHEREJOE) +- ln $(WHEREJOE)/joe $(WHEREJOE)/jmacs +- ln $(WHEREJOE)/joe $(WHEREJOE)/jstar +- ln $(WHEREJOE)/joe $(WHEREJOE)/rjoe +- ln $(WHEREJOE)/joe $(WHEREJOE)/jpico +- mv termidx $(WHEREJOE) ++ install -s joe $(WHEREJOE) ++ ln -s $(WHEREJOE)/joe $(WHEREJOE)/jmacs ++ ln -s $(WHEREJOE)/joe $(WHEREJOE)/jstar ++ ln -s $(WHEREJOE)/joe $(WHEREJOE)/rjoe ++ ln -s $(WHEREJOE)/joe $(WHEREJOE)/jpico ++ install -s termidx $(WHEREJOE) + if [ ! -d $(WHERERC) ]; then mkdir $(WHERERC); chmod a+rx $(WHERERC); fi + rm -f $(WHERERC)/joerc $(WHERERC)/jmacsrc $(WHERERC)/jstarrc $(WHERERC)/jpicorc $(WHERERC)/rjoerc $(WHEREMAN)/joe.1 +- cp joerc $(WHERERC) +- cp jmacsrc $(WHERERC) +- cp jstarrc $(WHERERC) +- cp rjoerc $(WHERERC) +- cp jpicorc $(WHERERC) +- cp joe.1 $(WHEREMAN) +- chmod a+x $(WHEREJOE)/joe +- chmod a+x $(WHEREJOE)/jmacs +- chmod a+x $(WHEREJOE)/jstar +- chmod a+x $(WHEREJOE)/rjoe +- chmod a+x $(WHEREJOE)/jpico +- chmod a+r $(WHERERC)/joerc +- chmod a+r $(WHERERC)/jmacsrc +- chmod a+r $(WHERERC)/jstarrc +- chmod a+r $(WHERERC)/rjoerc +- chmod a+r $(WHERERC)/jpicorc +- chmod a+r $(WHEREMAN)/joe.1 +- chmod a+x $(WHEREJOE)/termidx +- rm -f $(WHERERC)/termcap +- cp termcap $(WHERERC)/termcap +- chmod a+r $(WHERERC)/termcap +- rm -f $(WHERERC)/terminfo +- cp terminfo $(WHERERC)/terminfo +- chmod a+r $(WHERERC)/terminfo ++ install -m 644 joerc $(WHERERC) ++ install -m 644 jmacsrc $(WHERERC) ++ install -m 644 jstarrc $(WHERERC) ++ install -m 644 rjoerc $(WHERERC) ++ install -m 644 jpicorc $(WHERERC) ++ install -m 644 joe.1 $(WHEREMAN) ++ #rm -f $(WHERERC)/termcap ++ #cp termcap $(WHERERC)/termcap ++ #chmod a+r $(WHERERC)/termcap ++ #rm -f $(WHERERC)/terminfo ++ #cp terminfo $(WHERERC)/terminfo ++ #chmod a+r $(WHERERC)/terminfo + + # Cleanup proceedure + + clean: + rm -f $(OBJS) termidx.o conf conf.o config.h ++ ++ ++ ++ ++ ++ +--- rjoerc ++++ rjoerc 2000/03/02 13:15:55 +@@ -436,6 +436,8 @@ + bof ^K u + bol .kh Goto beginning of line + bol ^A ++bol ^[ [ H ++bol ^[ [ 1 ~ + center ^K A Center line + center ^K ^A + center ^K a +@@ -458,6 +460,8 @@ + eof ^K v + eol .kH Go to end of line + eol ^E ++eol ^[ [ F ++eol ^[ [ 4 ~ + exsave ^K X Save and exit + exsave ^K ^X + exsave ^K x diff --git a/app-editors/joe/joe-2.8-r1.ebuild b/app-editors/joe/joe-2.8-r1.ebuild index 3502196afd1e..0676a04a73eb 100644 --- a/app-editors/joe/joe-2.8-r1.ebuild +++ b/app-editors/joe/joe-2.8-r1.ebuild @@ -1,12 +1,12 @@ # Copyright 1999-2000 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author Achim Gottinger <achim@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/app-editors/joe/joe-2.8-r1.ebuild,v 1.1 2000/08/07 11:25:41 achim Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-editors/joe/joe-2.8-r1.ebuild,v 1.2 2000/08/07 11:29:13 achim Exp $ P=joe-2.8 A=joe2.8.tar.Z S=${WORKDIR}/joe -CATEGORY="sys" +CATEGORY="app-misc" DESCRIPTION="A free ASCII-Text Screen Editor for UNIX" SRC_URI="ftp://ftp.std.com/src/editors/"${A} @@ -46,3 +46,4 @@ src_install() { } + |