Sun Oct 15 03:16:07 2017 UTC ()
moria: disable fortify, try to put sense into package.

avoid implicit declarations - add includes where necessary, use
memset rather than bzero while at it - it's the more portable one.

avoid global buffer overflow found via asan.

disable fortify because it still won't run and no tool I've tried found
what's wrong. it's corrupting the GOT at init according to gdb.

bump PKGREVISION


(maya)
diff -r1.19 -r1.20 pkgsrc/games/moria/Makefile
diff -r1.13 -r1.14 pkgsrc/games/moria/distinfo
diff -r1.2 -r1.3 pkgsrc/games/moria/patches/patch-ac
diff -r1.3 -r1.4 pkgsrc/games/moria/patches/patch-ad
diff -r0 -r1.1 pkgsrc/games/moria/patches/patch-source_generate.c
diff -r0 -r1.1 pkgsrc/games/moria/patches/patch-source_tables.c

cvs diff -r1.19 -r1.20 pkgsrc/games/moria/Makefile (expand / switch to context diff)
--- pkgsrc/games/moria/Makefile 2017/01/03 21:50:53 1.19
+++ pkgsrc/games/moria/Makefile 2017/10/15 03:16:07 1.20
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.19 2017/01/03 21:50:53 roy Exp $
+# $NetBSD: Makefile,v 1.20 2017/10/15 03:16:07 maya Exp $
 
 DISTNAME=		um5.5.2
 PKGNAME=		moria-5.5.2
-PKGREVISION=		5
+PKGREVISION=		6
 CATEGORIES=		games
 # The "offical" master site has lost the pub/Games directory.
 #MASTER_SITES=		ftp://ftp.cis.ksu.edu/pub/Games/Moria/source/
@@ -27,6 +27,8 @@
 do-configure:
 	@${RM} -f ${WRKSRC}/*.[ch] ${WRKSRC}/Makefile
 	@cd ${WRKSRC}; ${LN} -s source/* unix/* .
+
+PKGSRC_USE_FORTIFY=no
 
 .include "../../mk/curses.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

cvs diff -r1.13 -r1.14 pkgsrc/games/moria/distinfo (expand / switch to context diff)
--- pkgsrc/games/moria/distinfo 2015/11/03 20:56:59 1.13
+++ pkgsrc/games/moria/distinfo 2017/10/15 03:16:07 1.14
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.13 2015/11/03 20:56:59 agc Exp $
+$NetBSD: distinfo,v 1.14 2017/10/15 03:16:07 maya Exp $
 
 SHA1 (um5.5.2.tar.Z) = 69c7a7bf4e2c5be123ee7a82f5ad12ad5d0f5b08
 RMD160 (um5.5.2.tar.Z) = 1556c76f151d7ea29da79071a57398f63d0b138b
@@ -6,8 +6,8 @@
 Size (um5.5.2.tar.Z) = 910536 bytes
 SHA1 (patch-aa) = 45338539960c193e9f7556aa6a588cf40bfbe726
 SHA1 (patch-ab) = 21418a69d7a694894dd9408513693f87fff91953
-SHA1 (patch-ac) = ea9e23de0a147f317a579a4a04502cb165b4c4bd
-SHA1 (patch-ad) = f83f4596677b8d37493145f82a4d2d5cb489b53a
+SHA1 (patch-ac) = aefb05ebf219bcf803d92409937f48a65c0a6b0a
+SHA1 (patch-ad) = a13dade7ce548ed078870db8b63548d0a91265dc
 SHA1 (patch-ae) = 5cf8ad7c6e5d87856a31a5456ba9ed2422075988
 SHA1 (patch-af) = f8a9f32dffa2123512e36c774ca75e0b28a053cc
 SHA1 (patch-ag) = af425b9a48c17f170fc780909b7287264a053cc4
@@ -18,3 +18,5 @@
 SHA1 (patch-al) = 0625fd70eeecaa7e0b5f5874b180244fb1f034c2
 SHA1 (patch-am) = b5d250e9b870e3540c382c7e7c588e1f1c5a4910
 SHA1 (patch-source_files_c) = 56d4c89b4ab2b0e916f06a39cfb25b8cb6a52877
+SHA1 (patch-source_generate.c) = 2f659fab5d7a54a93b2abeea16ef9540b5d76466
+SHA1 (patch-source_tables.c) = b934535fdf8d1ee53e24538ff92be591d72e4b6c

cvs diff -r1.2 -r1.3 pkgsrc/games/moria/patches/patch-ac (expand / switch to context diff)
--- pkgsrc/games/moria/patches/patch-ac 2004/04/26 10:55:27 1.2
+++ pkgsrc/games/moria/patches/patch-ac 2017/10/15 03:16:07 1.3
@@ -1,8 +1,23 @@
-$NetBSD: patch-ac,v 1.2 2004/04/26 10:55:27 seb Exp $
+$NetBSD: patch-ac,v 1.3 2017/10/15 03:16:07 maya Exp $
 
 --- source/config.h.orig	1994-07-22 01:47:13.000000000 +0000
 +++ source/config.h
-@@ -200,16 +200,18 @@ some of the system defines set up here.
+@@ -12,6 +12,14 @@ Constant.h should always be included aft
+ some of the system defines set up here.
+ #endif
+ 
++#include <sys/stat.h>
++
++#include <time.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++
+ /* Person to bother if something goes wrong.  */
+ /* Recompile files.c and misc2.c if this changes.  */
+ #define WIZARD	"David Grabiner"
+@@ -200,16 +208,18 @@ some of the system defines set up here.
  
  /* This must be unix; change MORIA_LIB as appropriate.  */
  #define MORIA_SAV	"moria.save"

cvs diff -r1.3 -r1.4 pkgsrc/games/moria/patches/patch-ad (expand / switch to context diff)
--- pkgsrc/games/moria/patches/patch-ad 2007/03/06 23:25:48 1.3
+++ pkgsrc/games/moria/patches/patch-ad 2017/10/15 03:16:07 1.4
@@ -1,6 +1,6 @@
-$NetBSD: patch-ad,v 1.3 2007/03/06 23:25:48 rillig Exp $
---- source/io.c.orig	1994-07-22 03:47:26.000000000 +0200
-+++ source/io.c	2007-03-07 00:06:06.234247718 +0100
+$NetBSD: patch-ad,v 1.4 2017/10/15 03:16:07 maya Exp $
+--- source/io.c.orig	1994-07-22 01:47:26.000000000 +0000
++++ source/io.c
 @@ -90,12 +90,19 @@ typedef struct { int stuff; } fpvmach;
  #include <sys/types.h>
  #endif
@@ -30,6 +30,15 @@
  
    py.misc.male |= 2;
    (void) ioctl(0, TIOCGETP, (char *)&tbuf);
+@@ -313,7 +320,7 @@ void init_curses()
+ #endif
+ 
+   /* PC curses returns ERR */
+-#if defined(USG) && !defined(PC_CURSES) && !defined(AMIGA)
++#if 1
+   if (initscr() == NULL)
+ #else
+   if (initscr() == ERR)
 @@ -331,7 +338,7 @@ void init_curses()
  #if defined(atarist) && defined(__GNUC__)
    (void) signal (SIGTSTP, (__Sigfunc)suspend);

File Added: pkgsrc/games/moria/patches/patch-source_generate.c
$NetBSD: patch-source_generate.c,v 1.1 2017/10/15 03:16:07 maya Exp $

Always use memset over bzero.
As opposed to implicitly declaring bzero, and because memset is a
part of the C standard.

--- source/generate.c.orig	1994-07-22 01:47:23.000000000 +0000
+++ source/generate.c
@@ -123,9 +123,6 @@ int *rdir, *cdir;
 /* Blanks out entire cave				-RAK-	*/
 static void blank_cave()
 {
-#ifndef USG
-  bzero ((char *)&cave[0][0], sizeof (cave));
-#else
 #ifdef MAC
   /* On the mac, cave is a pointer, so sizeof(cave) = 4! */
   (void)memset((char *)&cave[0][0], 0,
@@ -133,7 +130,6 @@ static void blank_cave()
 #else
   (void)memset((char *)&cave[0][0], 0, sizeof (cave));
 #endif
-#endif
 }
 
 

File Added: pkgsrc/games/moria/patches/Attic/patch-source_tables.c
$NetBSD: patch-source_tables.c,v 1.1 2017/10/15 03:16:07 maya Exp $

Avoid global buffer overflow

--- source/tables.c.orig	1994-07-22 01:47:47.000000000 +0000
+++ source/tables.c
@@ -13,7 +13,7 @@
 #ifdef MORIA_HOU
 /* Operating hours for Moria				-RAK-	*/
 /*	 X = Open; . = Closed					*/
-char  days[7][29] = { "SUN:XXXXXXXXXXXXXXXXXXXXXXXX",
+char  days[7][30] =  { "SUN:XXXXXXXXXXXXXXXXXXXXXXXX",
 		    "MON:XXXXXXXX.........XXXXXXX",
 		    "TUE:XXXXXXXX.........XXXXXXX",
 		    "WED:XXXXXXXX.........XXXXXXX",