Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Nov 2013 19:51:23 GMT
From:      Vladimir Kondratiev <wulf@cicgroup.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/184252: [patch] games/0verkill security fixes support staging
Message-ID:  <201311241951.rAOJpNDL031778@oldred.freebsd.org>
Resent-Message-ID: <201311242000.rAOK00PB072586@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         184252
>Category:       ports
>Synopsis:       [patch] games/0verkill security fixes support staging
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 24 20:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Vladimir Kondratiev
>Release:        
>Organization:
>Environment:
>Description:
1. Merge fixes for long known bugs from hackndev[1] version
3507529 64bit fix ... now works on amd64 as well ;-)
95d2af2 Replaced all those insecure sprintf's with snprintf's (partial)
33a1a8d Fix sigsegv on hero reaching topmost or leftmost border of the game area
436bbfc Push back network stack underflow bugfix
160e4d6 Prevent buffer overflow
ee911ba make the server invulnerable to long names
2. Add patch from gentoo linux[2] to use unmodified game data.
3. Support staging
4. Use options framework

[1] https://github.com/hackndev/0verkill
[2] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/games-action/0verkill/files/0verkill-0.16-gentoo-paths.patch?revision=1.1&view=markup
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: 0verkill/Makefile
===================================================================
--- 0verkill/Makefile	(revision 334715)
+++ 0verkill/Makefile	(working copy)
@@ -3,7 +3,7 @@
 
 PORTNAME=	0verkill
 PORTVERSION=	0.16
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	games
 MASTER_SITES=	http://artax.karlin.mff.cuni.cz/~brain/0verkill/release/
 EXTRACT_SUFX=	.tgz
@@ -15,51 +15,39 @@
 
 GNU_CONFIGURE=	yes
 
-.if defined(WITHOUT_X11)
-PLIST_SUB=	X11="@comment "
-.else
-USE_XORG=	xpm
-CONFIGURE_ARGS+=	--with-x
-PLIST_SUB=	X11=""
-.endif
+OPTIONS_DEFINE=	X11 DOCS
+OPTIONS_DEFAULT=X11 DOCS
 
-NO_STAGE=	yes
-pre-everything::
-.if !defined(WITHOUT_X11)
-	@${ECHO_MSG}
-	@${ECHO_MSG} "If you want to compile without X11 support,"
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITHOUT_X11=yes\""
-	@${ECHO_MSG}
-.endif
+OPTIONS_SUB=	yes
+X11_USE=	XORG=xpm
+X11_CONFIGURE_WITH=	x
 
+.include <bsd.port.options.mk>
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|data/|${DATADIR}/data/|g' ${WRKSRC}/cfg.h
-	@${REINPLACE_CMD} -e 's|grx/|${DATADIR}/grx/|g' ${WRKSRC}/data/*
 	@${REINPLACE_CMD} -e 's|-O3 ||g ; \
 		 s|gcc |\$$\(CC\) |g' ${WRKSRC}/Makefile.in
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/0verkill ${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKSRC}/0verkill ${STAGEDIR}${PREFIX}/bin
 .for file in avi bot editor server test_server
-	${INSTALL_PROGRAM} ${WRKSRC}/${file} ${PREFIX}/bin/0verkill-${file}
+	${INSTALL_PROGRAM} ${WRKSRC}/${file} \
+		${STAGEDIR}${PREFIX}/bin/0verkill-${file}
 .endfor
-.if !defined(WITHOUT_X11)
-	${INSTALL_PROGRAM} ${WRKSRC}/x0verkill ${PREFIX}/bin
+.if ${PORT_OPTIONS:MX11}
+	${INSTALL_PROGRAM} ${WRKSRC}/x0verkill ${STAGEDIR}${PREFIX}/bin
 .for file in avi editor
-	${INSTALL_PROGRAM} ${WRKSRC}/x${file} ${PREFIX}/bin/x0verkill-${file}
+	${INSTALL_PROGRAM} ${WRKSRC}/x${file} \
+		${STAGEDIR}${PREFIX}/bin/x0verkill-${file}
 .endfor
 .endif
-	@${MKDIR} ${DATADIR}/data
-.for file in banner.dat level.dat sprites.dat *.sp *.dn *.st
-	${INSTALL_DATA} ${WRKSRC}/data/${file} ${DATADIR}/data
+.for dir in data grx
+	cd ${WRKSRC} && ${COPYTREE_SHARE} ${dir} ${STAGEDIR}${DATADIR}
 .endfor
-	@${MKDIR} ${DATADIR}/grx
-	${INSTALL_DATA} ${WRKSRC}/grx/* ${DATADIR}/grx
-.if !defined(NOPORTDOCS)
-	@${MKDIR} ${DOCSDIR}
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
 .for file in AUTHORS README.html avi.txt bot.txt doc.html
-	${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/doc/${file} ${STAGEDIR}${DOCSDIR}
 .endfor
-.endif
 
 .include <bsd.port.mk>
Index: 0verkill/files/patch-client.c
===================================================================
--- 0verkill/files/patch-client.c	(revision 0)
+++ 0verkill/files/patch-client.c	(working copy)
@@ -0,0 +1,26 @@
+--- client.c.orig	2001-12-16 12:26:38.000000000 +0300
++++ client.c	2013-11-17 11:40:44.755218781 +0400
+@@ -191,9 +191,9 @@
+ 	unsigned char txt[256];
+ 
+ #ifndef WIN32
+-	sprintf(txt,"%s/%s",getenv("HOME"),CFG_FILE);
++	snprintf(txt,sizeof(txt),"%s/%s",getenv("HOME"),CFG_FILE);
+ #else
+-	sprintf(txt,"./%s",CFG_FILE);
++	snprintf(txt,sizeof(txt),"./%s",CFG_FILE);
+ #endif
+ 	stream=fopen(txt,"r");
+ 	if (!stream)return;
+@@ -223,9 +223,9 @@
+ 	unsigned char txt[256];
+ 
+ #ifndef WIN32
+-	sprintf(txt,"%s/%s",getenv("HOME"),CFG_FILE);
++	snprintf(txt,sizeof(txt),"%s/%s",getenv("HOME"),CFG_FILE);
+ #else
+-	sprintf(txt,"./%s",CFG_FILE);
++	snprintf(txt,sizeof(txt),"./%s",CFG_FILE);
+ #endif
+ 	stream=fopen(txt,"w");
+ 	if (!stream)return;

Property changes on: 0verkill/files/patch-client.c
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: 0verkill/files/patch-data.c
===================================================================
--- 0verkill/files/patch-data.c	(revision 0)
+++ 0verkill/files/patch-data.c	(working copy)
@@ -0,0 +1,20 @@
+--- data.c.orig	2013-11-17 11:25:40.820307151 +0400
++++ data.c	2013-11-17 11:27:32.743383408 +0400
+@@ -460,7 +460,7 @@
+ my_double can_go_x(my_double old_x,my_double new_x,int yh, int yl,unsigned char *flag)
+ {
+ 	int x,y;
+-	
++	if (yh<0) yh=0;
+ 	if (old_x==new_x+.5)
+ 	{
+ 		if(flag)*flag=0;
+@@ -494,7 +494,7 @@
+ my_double can_go_y(my_double old_y, my_double new_y,int xl, int xr,unsigned char *flag,unsigned char down_ladder)
+ {
+ 	int x,y;
+-	
++	if (xl<0) xl=0;
+ 	if (old_y==new_y){if(flag)*flag=0;return new_y;}
+ 	if(flag)*flag=1;
+ 	if (old_y<new_y)

Property changes on: 0verkill/files/patch-data.c
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: 0verkill/files/patch-net.c
===================================================================
--- 0verkill/files/patch-net.c	(revision 0)
+++ 0verkill/files/patch-net.c	(working copy)
@@ -0,0 +1,20 @@
+--- net.c.orig	2001-12-15 20:51:50.000000000 +0300
++++ net.c	2013-11-17 11:19:18.535476607 +0400
+@@ -78,12 +78,16 @@
+ {
+ 	unsigned char *p;
+ 	int retval;
+-	unsigned long crc;
++	unsigned int crc;
+ 	int s,r;
+ 	
+ 	p=mem_alloc(max_len+12);
+ 	if (!p)return -1;  /* not enough memory */
+ 	retval=recvfrom(fd,p,max_len+12,0,addr,addr_len);
++	if (retval<12) {
++		mem_free(p);
++		return -1;
++	}
+ 	memcpy(packet,p+12,max_len);
+ 	crc=p[0]+(p[1]<<8)+(p[2]<<16)+(p[3]<<24);
+ 	s=p[4]+(p[5]<<8)+(p[6]<<16)+(p[7]<<24);

Property changes on: 0verkill/files/patch-net.c
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: 0verkill/files/patch-server.c
===================================================================
--- 0verkill/files/patch-server.c	(revision 0)
+++ 0verkill/files/patch-server.c	(working copy)
@@ -0,0 +1,33 @@
+--- server.c.orig	2001-12-16 18:18:45.000000000 +0300
++++ server.c	2013-11-24 22:37:06.306435317 +0400
+@@ -907,6 +907,8 @@
+ 	packet[0]=P_MESSAGE;
+ 	if (!name){snprintf(packet+1,256,"%s",msg);len=strlen(msg)+1+1;}
+ 	else {snprintf(packet+1,256,"%s> %s",name,msg);len=strlen(name)+strlen(msg)+1+3;}
++	if (len > 255)
++		len = 255;
+ 	send_chunk_packet_to_player(packet,len,player);
+ }
+ 
+@@ -921,6 +923,8 @@
+ 	packet[0]=P_MESSAGE;
+ 	if (!name){snprintf(packet+1,255,"%s",msg);len=strlen(msg)+1+1;}
+ 	else {snprintf(packet+1,255,"%s> %s",name,msg);len=strlen(name)+strlen(msg)+1+3;}
++	if (len > 255)
++		len = 255;
+ 	for (p=&players;p->next;p=p->next)
+ 		if ((!not1||(&(p->next->member))!=not1)&&(!not2||(&(p->next->member))!=not2))
+  			send_chunk_packet_to_player(packet,len,&(p->next->member));
+@@ -1228,6 +1232,12 @@
+ 					send_packet(packet,2,(struct sockaddr*)(&client),0,last_player->member.id);
+ 					break;
+ 				}
++				if (strlen(packet+5) > MAX_NAME_LEN)
++				{
++					snprintf(txt,256,"Name too long, shortening it to %i characters\n",MAX_NAME_LEN);
++					message(txt,2);
++					packet[5+MAX_NAME_LEN]='\0';
++				}
+ 				find_birthplace(&x,&y);
+ 				if (add_player(packet[4],packet+5,&client,x,y)) /* failed to add player */
+ 				{

Property changes on: 0verkill/files/patch-server.c
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: 0verkill/files/patch-sprite.c
===================================================================
--- 0verkill/files/patch-sprite.c	(revision 0)
+++ 0verkill/files/patch-sprite.c	(working copy)
@@ -0,0 +1,25 @@
+--- sprite.c.orig	2001-12-15 20:51:53.000000000 +0300
++++ sprite.c	2013-11-17 13:00:40.184048213 +0400
+@@ -2,6 +2,7 @@
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <unistd.h>
+ 
+ #ifndef WIN32
+ #include "config.h"
+@@ -188,6 +189,14 @@
+  
+ 	if (!(f=fopen(filename,"rb")))
+ 	{
++		chdir(DATA_PATH);
++	}
++	if (!(f=fopen(filename,"rb")))
++	{
++		chdir(DATA_PATH "/../");
++	}
++	if (!(f=fopen(filename,"rb")))
++	{
+ 		unsigned char msg[256];
+ 		snprintf(msg,256,"Error opening file \"%s\"!\n",filename);
+ 		ERROR(msg);

Property changes on: 0verkill/files/patch-sprite.c
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: 0verkill/pkg-descr
===================================================================
--- 0verkill/pkg-descr	(revision 334715)
+++ 0verkill/pkg-descr	(working copy)
@@ -8,4 +8,4 @@
 No one ever connected gushing blood with those innocent ASCII letters that were
 so utterly boring until recently, when 0verkill was released.
 
-WWW:	http://artax.karlin.mff.cuni.cz/~brain/0verkill/
+WWW: http://artax.karlin.mff.cuni.cz/~brain/0verkill/
Index: 0verkill/pkg-plist
===================================================================
--- 0verkill/pkg-plist	(revision 334715)
+++ 0verkill/pkg-plist	(working copy)
@@ -7,250 +7,250 @@
 %%X11%%bin/x0verkill
 %%X11%%bin/x0verkill-avi
 %%X11%%bin/x0verkill-editor
-share/0verkill/data/banner.dat
-share/0verkill/data/level.dat
-share/0verkill/data/sprites.dat
-share/0verkill/data/level1.dn
-share/0verkill/data/level1.sp
-share/0verkill/data/level1.st
-share/0verkill/data/level2.dn
-share/0verkill/data/level2.sp
-share/0verkill/data/level2.st
-share/0verkill/grx/0verkill.avi
-share/0verkill/grx/ackermann.avi
-share/0verkill/grx/altar.avi
-share/0verkill/grx/ammo.avi
-share/0verkill/grx/anthrax.avi
-share/0verkill/grx/armor.avi
-share/0verkill/grx/barrel.avi
-share/0verkill/grx/barrel_fire.avi
-share/0verkill/grx/bedna.avi
-share/0verkill/grx/bedna_v.avi
-share/0verkill/grx/bednarek.avi
-share/0verkill/grx/beer.avi
-share/0verkill/grx/beran.avi
-share/0verkill/grx/bici.avi
-share/0verkill/grx/biohazard.avi
-share/0verkill/grx/blood.avi
-share/0verkill/grx/bulge.avi
-share/0verkill/grx/bullet.avi
-share/0verkill/grx/bus.avi
-share/0verkill/grx/camel.avi
-share/0verkill/grx/cartridge.avi
-share/0verkill/grx/chain1.avi
-share/0verkill/grx/chain2.avi
-share/0verkill/grx/chain3.avi
-share/0verkill/grx/closed.avi
-share/0verkill/grx/cloud.avi
-share/0verkill/grx/corpse1.avi
-share/0verkill/grx/corpse2.avi
-share/0verkill/grx/corpse3.avi
-share/0verkill/grx/corpse4.avi
-share/0verkill/grx/corpse5.avi
-share/0verkill/grx/corpse6.avi
-share/0verkill/grx/corpse7.avi
-share/0verkill/grx/corpse8.avi
-share/0verkill/grx/corpse9.avi
-share/0verkill/grx/corpseA.avi
-share/0verkill/grx/corpseB.avi
-share/0verkill/grx/corpseC.avi
-share/0verkill/grx/corpseD.avi
-share/0verkill/grx/corpseE.avi
-share/0verkill/grx/corpseF.avi
-share/0verkill/grx/corpse_girl_1.avi
-share/0verkill/grx/corpse_girl_2.avi
-share/0verkill/grx/corpse_girl_3.avi
-share/0verkill/grx/corpse_girl_4.avi
-share/0verkill/grx/corpse_girl_5.avi
-share/0verkill/grx/corpse_girl_6.avi
-share/0verkill/grx/corpse_girl_7.avi
-share/0verkill/grx/corpse_girl_8.avi
-share/0verkill/grx/corpse_girl_9.avi
-share/0verkill/grx/corpse_girl_A.avi
-share/0verkill/grx/corpse_girl_B.avi
-share/0verkill/grx/corpse_girl_C.avi
-share/0verkill/grx/corpse_girl_D.avi
-share/0verkill/grx/corpse_girl_E.avi
-share/0verkill/grx/corpse_girl_F.avi
-share/0verkill/grx/corpse_girl_univ.avi
-share/0verkill/grx/corpse_univ.avi
-share/0verkill/grx/cowboys.avi
-share/0verkill/grx/dekl.avi
-share/0verkill/grx/domecek.avi
-share/0verkill/grx/door.avi
-share/0verkill/grx/dope.avi
-share/0verkill/grx/dvirka.avi
-share/0verkill/grx/erectus.avi
-share/0verkill/grx/fan.avi
-share/0verkill/grx/favo.avi
-share/0verkill/grx/footboard.avi
-share/0verkill/grx/forum.avi
-share/0verkill/grx/gentlemen.avi
-share/0verkill/grx/girl1.avi
-share/0verkill/grx/girl2.avi
-share/0verkill/grx/girl3.avi
-share/0verkill/grx/girl4.avi
-share/0verkill/grx/girl5.avi
-share/0verkill/grx/girl6.avi
-share/0verkill/grx/girl7.avi
-share/0verkill/grx/girl8.avi
-share/0verkill/grx/girl9.avi
-share/0verkill/grx/girlA.avi
-share/0verkill/grx/girlB.avi
-share/0verkill/grx/girlC.avi
-share/0verkill/grx/girlD.avi
-share/0verkill/grx/girlE.avi
-share/0verkill/grx/girlF.avi
-share/0verkill/grx/girl_univ.avi
-share/0verkill/grx/grave1.avi
-share/0verkill/grx/grave2.avi
-share/0verkill/grx/grave3.avi
-share/0verkill/grx/grenade.avi
-share/0verkill/grx/grenades.avi
-share/0verkill/grx/guitarist1.avi
-share/0verkill/grx/guitarist2.avi
-share/0verkill/grx/guitarist3.avi
-share/0verkill/grx/gun.avi
-share/0verkill/grx/hajzl.avi
-share/0verkill/grx/hajzlik.avi
-share/0verkill/grx/hellslime.avi
-share/0verkill/grx/hero1.avi
-share/0verkill/grx/hero2.avi
-share/0verkill/grx/hero3.avi
-share/0verkill/grx/hero4.avi
-share/0verkill/grx/hero5.avi
-share/0verkill/grx/hero6.avi
-share/0verkill/grx/hero7.avi
-share/0verkill/grx/hero8.avi
-share/0verkill/grx/hero9.avi
-share/0verkill/grx/heroA.avi
-share/0verkill/grx/heroB.avi
-share/0verkill/grx/heroC.avi
-share/0verkill/grx/heroD.avi
-share/0verkill/grx/heroE.avi
-share/0verkill/grx/heroF.avi
-share/0verkill/grx/hero_univ.avi
-share/0verkill/grx/heute.avi
-share/0verkill/grx/hit.avi
-share/0verkill/grx/hlina.avi
-share/0verkill/grx/hook.avi
-share/0verkill/grx/humpolec.avi
-share/0verkill/grx/kamelky.avi
-share/0verkill/grx/kanal.avi
-share/0verkill/grx/klesani.avi
-share/0verkill/grx/koleje.avi
-share/0verkill/grx/kotel.avi
-share/0verkill/grx/kotelna.avi
-share/0verkill/grx/kotelnik.avi
-share/0verkill/grx/koubek.avi
-share/0verkill/grx/krovi.avi
-share/0verkill/grx/ladder.avi
-share/0verkill/grx/ladies.avi
-share/0verkill/grx/lamp1.avi
-share/0verkill/grx/lamp2.avi
-share/0verkill/grx/lamp3.avi
-share/0verkill/grx/lava.avi
-share/0verkill/grx/lava1.avi
-share/0verkill/grx/lava2.avi
-share/0verkill/grx/lebzhnaty.avi
-share/0verkill/grx/links.avi
-share/0verkill/grx/liqory.avi
-share/0verkill/grx/make_hero
-share/0verkill/grx/mar.avi
-share/0verkill/grx/medikit.avi
-share/0verkill/grx/melasa.avi
-share/0verkill/grx/mess.avi
-share/0verkill/grx/mess1.avi
-share/0verkill/grx/mess2.avi
-share/0verkill/grx/mess3.avi
-share/0verkill/grx/mess4.avi
-share/0verkill/grx/metro.avi
-share/0verkill/grx/noise.avi
-share/0verkill/grx/nosmoking.avi
-share/0verkill/grx/ohrada.avi
-share/0verkill/grx/okno.avi
-share/0verkill/grx/para.avi
-share/0verkill/grx/perm.avi
-share/0verkill/grx/petice.avi
-share/0verkill/grx/pi.avi
-share/0verkill/grx/pillar.avi
-share/0verkill/grx/pipe.avi
-share/0verkill/grx/pipe1.avi
-share/0verkill/grx/pipe2.avi
-share/0verkill/grx/pipe3.avi
-share/0verkill/grx/pipe4.avi
-share/0verkill/grx/pivrnec.avi
-share/0verkill/grx/podium.avi
-share/0verkill/grx/podlaha.avi
-share/0verkill/grx/prkno.avi
-share/0verkill/grx/pruhonice.avi
-share/0verkill/grx/pub.avi
-share/0verkill/grx/pumping.avi
-share/0verkill/grx/pytlak.avi
-share/0verkill/grx/radioactive.avi
-share/0verkill/grx/raid.avi
-share/0verkill/grx/raidrekl.avi
-share/0verkill/grx/rampa.avi
-share/0verkill/grx/reklama.avi
-share/0verkill/grx/rg6.avi
-share/0verkill/grx/rifle.avi
-share/0verkill/grx/rocket.avi
-share/0verkill/grx/rough.avi
-share/0verkill/grx/schody1l.avi
-share/0verkill/grx/schody1r.avi
-share/0verkill/grx/schodyl.avi
-share/0verkill/grx/schodyr.avi
-share/0verkill/grx/shell.avi
-share/0verkill/grx/shells.avi
-share/0verkill/grx/shotgun.avi
-share/0verkill/grx/shrapnel1.avi
-share/0verkill/grx/shrapnel10.avi
-share/0verkill/grx/shrapnel2.avi
-share/0verkill/grx/shrapnel3.avi
-share/0verkill/grx/shrapnel4.avi
-share/0verkill/grx/shrapnel5.avi
-share/0verkill/grx/shrapnel6.avi
-share/0verkill/grx/shrapnel7.avi
-share/0verkill/grx/shrapnel8.avi
-share/0verkill/grx/shrapnel9.avi
-share/0verkill/grx/skull.avi
-share/0verkill/grx/slug.avi
-share/0verkill/grx/smoker.avi
-share/0verkill/grx/sshell.avi
-share/0verkill/grx/stone.avi
-share/0verkill/grx/stone1.avi
-share/0verkill/grx/stone2.avi
-share/0verkill/grx/stone3.avi
-share/0verkill/grx/stone_steps_l.avi
-share/0verkill/grx/stone_steps_r.avi
-share/0verkill/grx/sugar.avi
-share/0verkill/grx/svab.avi
-share/0verkill/grx/swing_lamp.avi
-share/0verkill/grx/tabule.avi
-share/0verkill/grx/tnt.avi
-share/0verkill/grx/toadstool.avi
-share/0verkill/grx/traverza.avi
-share/0verkill/grx/traverza1.avi
-share/0verkill/grx/traverza2.avi
-share/0verkill/grx/u_kuceru.avi
-share/0verkill/grx/uhli.avi
-share/0verkill/grx/uzi.avi
-share/0verkill/grx/vetrak.avi
-share/0verkill/grx/waltr.avi
-share/0verkill/grx/water.avi
-share/0verkill/grx/zabradli.avi
-share/0verkill/grx/zarivka.avi
-share/0verkill/grx/zebrik2.avi
-share/0verkill/grx/zed.avi
-share/0verkill/grx/zed2.avi
-share/0verkill/grx/zed3.avi
-share/0verkill/grx/zpevak.avi
-%%PORTDOCS%%share/doc/0verkill/AUTHORS
-%%PORTDOCS%%share/doc/0verkill/README.html
-%%PORTDOCS%%share/doc/0verkill/avi.txt
-%%PORTDOCS%%share/doc/0verkill/bot.txt
-%%PORTDOCS%%share/doc/0verkill/doc.html
-%%PORTDOCS%%@dirrm share/doc/0verkill
-@dirrm share/0verkill/grx
-@dirrm share/0verkill/data
-@dirrm share/0verkill
+%%DATADIR%%/data/banner.dat
+%%DATADIR%%/data/level.dat
+%%DATADIR%%/data/sprites.dat
+%%DATADIR%%/data/level1.dn
+%%DATADIR%%/data/level1.sp
+%%DATADIR%%/data/level1.st
+%%DATADIR%%/data/level2.dn
+%%DATADIR%%/data/level2.sp
+%%DATADIR%%/data/level2.st
+%%DATADIR%%/grx/0verkill.avi
+%%DATADIR%%/grx/ackermann.avi
+%%DATADIR%%/grx/altar.avi
+%%DATADIR%%/grx/ammo.avi
+%%DATADIR%%/grx/anthrax.avi
+%%DATADIR%%/grx/armor.avi
+%%DATADIR%%/grx/barrel.avi
+%%DATADIR%%/grx/barrel_fire.avi
+%%DATADIR%%/grx/bedna.avi
+%%DATADIR%%/grx/bedna_v.avi
+%%DATADIR%%/grx/bednarek.avi
+%%DATADIR%%/grx/beer.avi
+%%DATADIR%%/grx/beran.avi
+%%DATADIR%%/grx/bici.avi
+%%DATADIR%%/grx/biohazard.avi
+%%DATADIR%%/grx/blood.avi
+%%DATADIR%%/grx/bulge.avi
+%%DATADIR%%/grx/bullet.avi
+%%DATADIR%%/grx/bus.avi
+%%DATADIR%%/grx/camel.avi
+%%DATADIR%%/grx/cartridge.avi
+%%DATADIR%%/grx/chain1.avi
+%%DATADIR%%/grx/chain2.avi
+%%DATADIR%%/grx/chain3.avi
+%%DATADIR%%/grx/closed.avi
+%%DATADIR%%/grx/cloud.avi
+%%DATADIR%%/grx/corpse1.avi
+%%DATADIR%%/grx/corpse2.avi
+%%DATADIR%%/grx/corpse3.avi
+%%DATADIR%%/grx/corpse4.avi
+%%DATADIR%%/grx/corpse5.avi
+%%DATADIR%%/grx/corpse6.avi
+%%DATADIR%%/grx/corpse7.avi
+%%DATADIR%%/grx/corpse8.avi
+%%DATADIR%%/grx/corpse9.avi
+%%DATADIR%%/grx/corpseA.avi
+%%DATADIR%%/grx/corpseB.avi
+%%DATADIR%%/grx/corpseC.avi
+%%DATADIR%%/grx/corpseD.avi
+%%DATADIR%%/grx/corpseE.avi
+%%DATADIR%%/grx/corpseF.avi
+%%DATADIR%%/grx/corpse_girl_1.avi
+%%DATADIR%%/grx/corpse_girl_2.avi
+%%DATADIR%%/grx/corpse_girl_3.avi
+%%DATADIR%%/grx/corpse_girl_4.avi
+%%DATADIR%%/grx/corpse_girl_5.avi
+%%DATADIR%%/grx/corpse_girl_6.avi
+%%DATADIR%%/grx/corpse_girl_7.avi
+%%DATADIR%%/grx/corpse_girl_8.avi
+%%DATADIR%%/grx/corpse_girl_9.avi
+%%DATADIR%%/grx/corpse_girl_A.avi
+%%DATADIR%%/grx/corpse_girl_B.avi
+%%DATADIR%%/grx/corpse_girl_C.avi
+%%DATADIR%%/grx/corpse_girl_D.avi
+%%DATADIR%%/grx/corpse_girl_E.avi
+%%DATADIR%%/grx/corpse_girl_F.avi
+%%DATADIR%%/grx/corpse_girl_univ.avi
+%%DATADIR%%/grx/corpse_univ.avi
+%%DATADIR%%/grx/cowboys.avi
+%%DATADIR%%/grx/dekl.avi
+%%DATADIR%%/grx/domecek.avi
+%%DATADIR%%/grx/door.avi
+%%DATADIR%%/grx/dope.avi
+%%DATADIR%%/grx/dvirka.avi
+%%DATADIR%%/grx/erectus.avi
+%%DATADIR%%/grx/fan.avi
+%%DATADIR%%/grx/favo.avi
+%%DATADIR%%/grx/footboard.avi
+%%DATADIR%%/grx/forum.avi
+%%DATADIR%%/grx/gentlemen.avi
+%%DATADIR%%/grx/girl1.avi
+%%DATADIR%%/grx/girl2.avi
+%%DATADIR%%/grx/girl3.avi
+%%DATADIR%%/grx/girl4.avi
+%%DATADIR%%/grx/girl5.avi
+%%DATADIR%%/grx/girl6.avi
+%%DATADIR%%/grx/girl7.avi
+%%DATADIR%%/grx/girl8.avi
+%%DATADIR%%/grx/girl9.avi
+%%DATADIR%%/grx/girlA.avi
+%%DATADIR%%/grx/girlB.avi
+%%DATADIR%%/grx/girlC.avi
+%%DATADIR%%/grx/girlD.avi
+%%DATADIR%%/grx/girlE.avi
+%%DATADIR%%/grx/girlF.avi
+%%DATADIR%%/grx/girl_univ.avi
+%%DATADIR%%/grx/grave1.avi
+%%DATADIR%%/grx/grave2.avi
+%%DATADIR%%/grx/grave3.avi
+%%DATADIR%%/grx/grenade.avi
+%%DATADIR%%/grx/grenades.avi
+%%DATADIR%%/grx/guitarist1.avi
+%%DATADIR%%/grx/guitarist2.avi
+%%DATADIR%%/grx/guitarist3.avi
+%%DATADIR%%/grx/gun.avi
+%%DATADIR%%/grx/hajzl.avi
+%%DATADIR%%/grx/hajzlik.avi
+%%DATADIR%%/grx/hellslime.avi
+%%DATADIR%%/grx/hero1.avi
+%%DATADIR%%/grx/hero2.avi
+%%DATADIR%%/grx/hero3.avi
+%%DATADIR%%/grx/hero4.avi
+%%DATADIR%%/grx/hero5.avi
+%%DATADIR%%/grx/hero6.avi
+%%DATADIR%%/grx/hero7.avi
+%%DATADIR%%/grx/hero8.avi
+%%DATADIR%%/grx/hero9.avi
+%%DATADIR%%/grx/heroA.avi
+%%DATADIR%%/grx/heroB.avi
+%%DATADIR%%/grx/heroC.avi
+%%DATADIR%%/grx/heroD.avi
+%%DATADIR%%/grx/heroE.avi
+%%DATADIR%%/grx/heroF.avi
+%%DATADIR%%/grx/hero_univ.avi
+%%DATADIR%%/grx/heute.avi
+%%DATADIR%%/grx/hit.avi
+%%DATADIR%%/grx/hlina.avi
+%%DATADIR%%/grx/hook.avi
+%%DATADIR%%/grx/humpolec.avi
+%%DATADIR%%/grx/kamelky.avi
+%%DATADIR%%/grx/kanal.avi
+%%DATADIR%%/grx/klesani.avi
+%%DATADIR%%/grx/koleje.avi
+%%DATADIR%%/grx/kotel.avi
+%%DATADIR%%/grx/kotelna.avi
+%%DATADIR%%/grx/kotelnik.avi
+%%DATADIR%%/grx/koubek.avi
+%%DATADIR%%/grx/krovi.avi
+%%DATADIR%%/grx/ladder.avi
+%%DATADIR%%/grx/ladies.avi
+%%DATADIR%%/grx/lamp1.avi
+%%DATADIR%%/grx/lamp2.avi
+%%DATADIR%%/grx/lamp3.avi
+%%DATADIR%%/grx/lava.avi
+%%DATADIR%%/grx/lava1.avi
+%%DATADIR%%/grx/lava2.avi
+%%DATADIR%%/grx/lebzhnaty.avi
+%%DATADIR%%/grx/links.avi
+%%DATADIR%%/grx/liqory.avi
+%%DATADIR%%/grx/make_hero
+%%DATADIR%%/grx/mar.avi
+%%DATADIR%%/grx/medikit.avi
+%%DATADIR%%/grx/melasa.avi
+%%DATADIR%%/grx/mess.avi
+%%DATADIR%%/grx/mess1.avi
+%%DATADIR%%/grx/mess2.avi
+%%DATADIR%%/grx/mess3.avi
+%%DATADIR%%/grx/mess4.avi
+%%DATADIR%%/grx/metro.avi
+%%DATADIR%%/grx/noise.avi
+%%DATADIR%%/grx/nosmoking.avi
+%%DATADIR%%/grx/ohrada.avi
+%%DATADIR%%/grx/okno.avi
+%%DATADIR%%/grx/para.avi
+%%DATADIR%%/grx/perm.avi
+%%DATADIR%%/grx/petice.avi
+%%DATADIR%%/grx/pi.avi
+%%DATADIR%%/grx/pillar.avi
+%%DATADIR%%/grx/pipe.avi
+%%DATADIR%%/grx/pipe1.avi
+%%DATADIR%%/grx/pipe2.avi
+%%DATADIR%%/grx/pipe3.avi
+%%DATADIR%%/grx/pipe4.avi
+%%DATADIR%%/grx/pivrnec.avi
+%%DATADIR%%/grx/podium.avi
+%%DATADIR%%/grx/podlaha.avi
+%%DATADIR%%/grx/prkno.avi
+%%DATADIR%%/grx/pruhonice.avi
+%%DATADIR%%/grx/pub.avi
+%%DATADIR%%/grx/pumping.avi
+%%DATADIR%%/grx/pytlak.avi
+%%DATADIR%%/grx/radioactive.avi
+%%DATADIR%%/grx/raid.avi
+%%DATADIR%%/grx/raidrekl.avi
+%%DATADIR%%/grx/rampa.avi
+%%DATADIR%%/grx/reklama.avi
+%%DATADIR%%/grx/rg6.avi
+%%DATADIR%%/grx/rifle.avi
+%%DATADIR%%/grx/rocket.avi
+%%DATADIR%%/grx/rough.avi
+%%DATADIR%%/grx/schody1l.avi
+%%DATADIR%%/grx/schody1r.avi
+%%DATADIR%%/grx/schodyl.avi
+%%DATADIR%%/grx/schodyr.avi
+%%DATADIR%%/grx/shell.avi
+%%DATADIR%%/grx/shells.avi
+%%DATADIR%%/grx/shotgun.avi
+%%DATADIR%%/grx/shrapnel1.avi
+%%DATADIR%%/grx/shrapnel10.avi
+%%DATADIR%%/grx/shrapnel2.avi
+%%DATADIR%%/grx/shrapnel3.avi
+%%DATADIR%%/grx/shrapnel4.avi
+%%DATADIR%%/grx/shrapnel5.avi
+%%DATADIR%%/grx/shrapnel6.avi
+%%DATADIR%%/grx/shrapnel7.avi
+%%DATADIR%%/grx/shrapnel8.avi
+%%DATADIR%%/grx/shrapnel9.avi
+%%DATADIR%%/grx/skull.avi
+%%DATADIR%%/grx/slug.avi
+%%DATADIR%%/grx/smoker.avi
+%%DATADIR%%/grx/sshell.avi
+%%DATADIR%%/grx/stone.avi
+%%DATADIR%%/grx/stone1.avi
+%%DATADIR%%/grx/stone2.avi
+%%DATADIR%%/grx/stone3.avi
+%%DATADIR%%/grx/stone_steps_l.avi
+%%DATADIR%%/grx/stone_steps_r.avi
+%%DATADIR%%/grx/sugar.avi
+%%DATADIR%%/grx/svab.avi
+%%DATADIR%%/grx/swing_lamp.avi
+%%DATADIR%%/grx/tabule.avi
+%%DATADIR%%/grx/tnt.avi
+%%DATADIR%%/grx/toadstool.avi
+%%DATADIR%%/grx/traverza.avi
+%%DATADIR%%/grx/traverza1.avi
+%%DATADIR%%/grx/traverza2.avi
+%%DATADIR%%/grx/u_kuceru.avi
+%%DATADIR%%/grx/uhli.avi
+%%DATADIR%%/grx/uzi.avi
+%%DATADIR%%/grx/vetrak.avi
+%%DATADIR%%/grx/waltr.avi
+%%DATADIR%%/grx/water.avi
+%%DATADIR%%/grx/zabradli.avi
+%%DATADIR%%/grx/zarivka.avi
+%%DATADIR%%/grx/zebrik2.avi
+%%DATADIR%%/grx/zed.avi
+%%DATADIR%%/grx/zed2.avi
+%%DATADIR%%/grx/zed3.avi
+%%DATADIR%%/grx/zpevak.avi
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/README.html
+%%PORTDOCS%%%%DOCSDIR%%/avi.txt
+%%PORTDOCS%%%%DOCSDIR%%/bot.txt
+%%PORTDOCS%%%%DOCSDIR%%/doc.html
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm %%DATADIR%%/grx
+@dirrm %%DATADIR%%/data
+@dirrm %%DATADIR%%


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311241951.rAOJpNDL031778>