--- icebreaker-1.21.orig/hiscore.c +++ icebreaker-1.21/hiscore.c @@ -83,7 +83,7 @@ // ok, so now, we can copy things over in the proper sorted order for (i=0;i #include #include +#include +#include #include "icebreaker.h" #include "globals.h" #include "icebreaker.h" @@ -48,14 +50,17 @@ FILE * optionfile; char linebuf[50]; char filename[255]; - char optbuf[20]; - char valbuf[10]; + char optbuf[21]; + char valbuf[11]; int i; + uid_t gid=getegid(), uid=geteuid(); setdefaultoptions(); snprintf(filename,255,"%s/%s",homedir,OPTIONFILE); + seteuid(getuid()); + setegid(getgid()); optionfile=fopen(filename,"r"); if (optionfile==NULL) { @@ -110,6 +115,8 @@ } fclose(optionfile); + setegid(gid); + seteuid(uid); return false; } @@ -118,8 +125,12 @@ { FILE * optionfile; char filename[255]; + uid_t gid=getegid(), uid=geteuid(); + snprintf(filename,255,"%s/%s",homedir,OPTIONFILE); + seteuid(getuid()); + setegid(getgid()); optionfile=fopen(filename,"w"); if (optionfile==NULL) { @@ -168,6 +179,8 @@ fclose(optionfile); + setegid(gid); + seteuid(uid); return false; } --- icebreaker-1.21.orig/icebreaker.desktop +++ icebreaker-1.21/icebreaker.desktop @@ -1,7 +1,10 @@ [Desktop Entry] +Version=1.0 Name=IceBreaker +GenericName=IceBreaker Type=Application -Comment=%{Summary} +Comment=Melt an iceberg into small pieces, in order to trap the penguins Exec=icebreaker -Icon=/usr/share/icebreaker/icebreaker_48.bmp -Terminal=0 +Icon=icebreaker_48 +Terminal=false +Categories=Game;ArcadeGame; --- icebreaker-1.21.orig/Makefile +++ icebreaker-1.21/Makefile @@ -103,14 +103,14 @@ sed 's/\$$VERDATE/$(VERDATE)/' > $@ install: all - mkdir -p $(prefix)/bin - mkdir -p $(prefix)/share/icebreaker - mkdir -p $(highscoredir) - mkdir -p $(mandir)/man6 +# mkdir -p $(prefix)/bin +# mkdir -p $(prefix)/share/icebreaker +# mkdir -p $(highscoredir) +# mkdir -p $(mandir)/man6 install -m 644 *.wav *.bmp $(prefix)/share/icebreaker - install -g games -s -m 2755 icebreaker $(prefix)/bin - install -m 644 icebreaker.6 $(mandir)/man6 + install -g games -m 2755 icebreaker $(prefix)/games +# install -m 644 icebreaker.6 $(mandir)/man6 touch $(highscoredir)/icebreaker.scores chown games:games $(highscoredir)/icebreaker.scores chmod 664 $(highscoredir)/icebreaker.scores --- icebreaker-1.21.orig/icebreaker.man.in +++ icebreaker-1.21/icebreaker.man.in @@ -33,7 +33,7 @@ .SH FILES .TP -.I /var/lib/games/icebreaker.scores +.I /var/games/icebreaker.scores The system-wide list of high scores. .TP .I ~/.icebreaker --- icebreaker-1.21.orig/debian/control +++ icebreaker-1.21/debian/control @@ -0,0 +1,30 @@ +Source: icebreaker +Section: games +Priority: optional +Maintainer: Ubuntu MOTU Developers +XSBC-Original-Maintainer: LaMont Jones +Build-Depends: debhelper, libsdl-mixer1.2-dev (>= 1.2.0-1.1) +Standards-Version: 3.1.1 +XS-Vcs-Browser: http://git.debian.org/?p=users/lamont/icebreaker.git +XS-Vcs-Git: git://git.debian.org/~lamont/icebreaker.git + +Package: icebreaker +Architecture: any +Depends: ${shlibs:Depends} +Description: Break the iceberg + So, uh, there's a bunch of penguins on an iceberg in Antarctica. You have + been selected to catch them so they can be shipped to Finland, where they + are essential to a secret plot for world domination. + . + In order to trap the penguins, you'll need to break the iceberg into small + chunks. (They're afraid of water, for no apparent reason. Ah well. "The + Matrix" had more plot holes than this, and it still was a hit.) You do + this by melting lines in the ice with Special High-Tech GNU Tools. + . + Once 80% or more of the iceberg is gone, the remaining chunks are small + enough for shipping. Of course, if you manage to get rid of more than + that, you'll save on postage, thus earning you exponential amounts of Geek + Cred (a.k.a. "score"). + . + See also http://www.mattdm.org/icebreaker/ + --- icebreaker-1.21.orig/debian/postinst +++ icebreaker-1.21/debian/postinst @@ -0,0 +1,56 @@ +#! /bin/sh +# postinst script for icebreaker +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/share/doc/packaging-manual/ +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + + if [ -f /var/lib/games/icebreaker.scores -a ! -f /var/games/icebreaker.scores ]; then + mv /var/lib/games/icebreaker.scores /var/games/icebreaker.scores + fi + + touch /var/games/icebreaker.scores + chown root:games /var/games/icebreaker.scores + chmod 664 /var/games/icebreaker.scores + + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- icebreaker-1.21.orig/debian/menu +++ icebreaker-1.21/debian/menu @@ -0,0 +1,3 @@ +?package(icebreaker):needs=X11 section=Games/Arcade\ + title="icebreaker" command="/usr/games/icebreaker"\ + icon="/usr/share/icebreaker/icebreaker_48.bmp" --- icebreaker-1.21.orig/debian/rules +++ icebreaker-1.21/debian/rules @@ -0,0 +1,82 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatability version to use. +export DH_COMPAT=2 + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + +build: configure-stamp build-stamp +build-stamp: + dh_testdir + + # Add here commands to compile the package. + $(MAKE) prefix=/usr highscoredir=/var/games + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + rm -f *.d + -$(MAKE) clean + rm -f *.d + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + $(MAKE) install prefix=`pwd`/debian/icebreaker/usr highscoredir=`pwd`/debian/icebreaker/var/games + rm `pwd`/debian/icebreaker/var/games/icebreaker.scores + + install -d debian/icebreaker/usr/share/pixmaps + install -d debian/icebreaker/usr/share/applications + install -m644 debian/icebreaker_48.xpm debian/icebreaker/usr/share/pixmaps + install -m644 icebreaker.desktop debian/icebreaker/usr/share/applications + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install +# dh_testversion + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs README TODO + dh_installexamples + dh_installmenu + dh_installmanpages +# dh_installinfo + dh_undocumented + dh_installchangelogs ChangeLog +# dh_link + dh_strip + dh_compress +# dh_fixperms +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- icebreaker-1.21.orig/debian/dirs +++ icebreaker-1.21/debian/dirs @@ -0,0 +1,3 @@ +usr/games +usr/share/icebreaker +var/games --- icebreaker-1.21.orig/debian/changelog +++ icebreaker-1.21/debian/changelog @@ -0,0 +1,136 @@ +icebreaker (1.21-11ubuntu1) karmic; urgency=low + + * Fixed a buffer overflow in options.c that caused a crash on startup. + + -- Alexander Faithfull Mon, 20 Jul 2009 17:34:34 +0100 + +icebreaker (1.21-11) unstable; urgency=low + + [Barry deFreese] + + * Merge Ubuntu changes. Closes: #376907 + - Add xpm icon file from Aaron Whitehouse. + - Fix up desktop file and install in proper location. + + [LaMont Jones] + + * document git repository location + * Makefile: do not strip binary in Makefile. Closes: #437185 + + -- LaMont Jones Thu, 08 Nov 2007 21:04:59 -0700 + +icebreaker (1.21-10ubuntu1) edgy; urgency=low + + * Re-sync with Debian + * Fix up desktop file and install in proper location. + * Add xpm icon file from Aaron Whitehouse. + + -- Barry deFreese Wed, 5 Jul 2006 12:49:02 -0400 + +icebreaker (1.21-10) unstable; urgency=low + + * Acknowledge NMU. Closes: #297644 + * Add link to project page to description. Closes: #348279 + + -- LaMont Jones Wed, 26 Apr 2006 17:49:15 -0600 + +icebreaker (1.21-9.1) unstable; urgency=low + + * NMU + * Patch from Ulf Härnhammar to fix format string vulnerability. + Closes: #297644 + + -- Joey Hess Mon, 17 Oct 2005 17:46:50 -0400 + +icebreaker (1.21-9) unstable; urgency=low + + * Add menu icon. Closes: #275641 + + -- LaMont Jones Sat, 9 Oct 2004 13:38:09 -0600 + +icebreaker (1.21-8) unstable; urgency=low + + * Fix options writing code. Closes: #174679 + + -- LaMont Jones Mon, 19 May 2003 20:15:14 -0600 + +icebreaker (1.21-7) unstable; urgency=low + + * remove unnecessary diffs from upstream. + + -- LaMont Jones Thu, 23 May 2002 10:37:21 -0600 + +icebreaker (1.21-6) unstable; urgency=low + + * Fix typos in postinst. Closes: #133104. + + -- LaMont Jones Sat, 9 Feb 2002 13:30:16 -0700 + +icebreaker (1.21-5) unstable; urgency=low + + * New maintainer. Closes: #130825 + + -- LaMont Jones Mon, 28 Jan 2002 16:30:34 -0700 + +icebreaker (1.21-4) unstable; urgency=low + + * Orphaned this package. + + -- Adrian Bunk Fri, 25 Jan 2002 12:52:44 +0100 + +icebreaker (1.21-3) unstable; urgency=high + + * Move the highscore file from /var/lib/games to /var/games. + (closes: #115854) + + -- Adrian Bunk Sat, 17 Nov 2001 18:32:12 +0100 + +icebreaker (1.21-2) unstable; urgency=high + + * Versioned the build dependency on libsdl-mixer1.2-dev to + ensure that the package gets built with the new SDL packages. + + -- Adrian Bunk Mon, 15 Oct 2001 20:34:16 +0200 + +icebreaker (1.21-1) unstable; urgency=low + + * New upstream release. + + -- Adrian Bunk Sun, 12 Aug 2001 19:14:56 +0200 + +icebreaker (1.10-1) unstable; urgency=low + + * New upstream release. + - This release includes a man page. (closes: #87143) + + -- Adrian Bunk Mon, 23 Jul 2001 13:13:01 +0200 + +icebreaker (1.09-1) unstable; urgency=low + + * New upstream release. + + -- Adrian Bunk Wed, 18 Jul 2001 23:18:31 +0200 + +icebreaker (1.0-3) unstable; urgency=low + + * Rebuild with libsdl1.2 . + + -- Adrian Bunk Tue, 1 May 2001 11:06:04 +0200 + +icebreaker (1.0-2) unstable; urgency=medium + + * Rebuild to get icebreaker linked with the right libsdl-mixer + library. (closes: #79835) + * Removed some obsolete build dependencies. + + -- Adrian Bunk Sun, 17 Dec 2000 20:16:14 +0100 + +icebreaker (1.0-1) unstable; urgency=low + + * Initial Release. (closes: #74356) + + -- Adrian Bunk Sat, 18 Nov 2000 02:45:10 +0100 + +Local variables: +mode: debian-changelog +End: --- icebreaker-1.21.orig/debian/icebreaker_48.xpm +++ icebreaker-1.21/debian/icebreaker_48.xpm @@ -0,0 +1,121 @@ +/* XPM */ +static char * icebreaker_48_xpm[] = { +"48 48 70 1", +" c #EEEAEE", +". c #E2DEE2", +"+ c #FFFAFF", +"@ c #E2E0E2", +"# c #FFFEFF", +"$ c #DEDADE", +"% c #F6F2F6", +"& c #DAD6DA", +"* c #6281A4", +"= c #004083", +"- c #D4D0D4", +"; c #D4D1D4", +"> c #D1CED1", +", c #CFCCCF", +"' c #DAD8DA", +") c #EEEEEE", +"! c #CAC8CA", +"~ c #828282", +"{ c #CCCACC", +"] c #836445", +"^ c #A0865E", +"/ c #7F7862", +"( c #666866", +"_ c #422002", +": c #582F0A", +"< c #291E0C", +"[ c #5A5B5A", +"} c #CFCDCF", +"| c #DEDCDE", +"1 c #F6F6F6", +"2 c #D5D5D5", +"3 c #020302", +"4 c #373635", +"5 c #B6B6B4", +"6 c #404042", +"7 c #040404", +"8 c #D5D2D5", +"9 c #D6D2D6", +"0 c #E6E2E6", +"a c #A0A0A0", +"b c #000100", +"c c #A8A8A6", +"d c #F9F7F2", +"e c #9E9D9E", +"f c #0C0C0C", +"g c #A6A4A6", +"h c #0A0B0A", +"i c #D2D0C9", +"j c #FFFCF6", +"k c #C5C4C5", +"l c #262826", +"m c #6C645C", +"n c #A29889", +"o c #D8D7D8", +"p c #BAB4AA", +"q c #6E6960", +"r c #FAC08F", +"s c #F6CC89", +"t c #C5BCAC", +"u c #F4C29A", +"v c #EAC285", +"w c #D1CFD1", +"x c #CDCACD", +"y c #622062", +"z c #C50041", +"A c #DA7798", +"B c #CF6C8D", +"C c #E6E6E6", +"D c #D6D4D6", +"E c #CDCBCD", +" .++++++@######$%%%%%%& *================", +" .++++++@######$%%%%%%& *================", +" .++++++@######$%%%%%%& *================", +" .++++++@######$%%%%%%& *================", +"&&&-......;@@@@@@>$$$$$$,&&&&&&*================", +"+++.++++++@######$%%%%%%'))))))*================", +"+++.++++++@######$%%%%%%'))))))*================", +"+++.++++++@######$%%%%%%'))))))*================", +"+++.++++++@######$%%%%%%'))))))*================", +"+++.++++++@###!~{$%%%%%%'))))))*================", +"+++.++++++@###]^/$%%%%%%'))))))*================", +"...-......;@@(_:<[$$$$$$}''''''*================", +" .++++++|12345678%%%%%900000090000009000000|11", +" .++++++|1abcdefg%%%%%900000090000009000000|11", +" .++++++|11hijkl%%%%%%900000090000009000000|11", +" .++++++|11mnopq%%%%%%900000090000009000000|11", +" .++++++|11rstuv%%%%%%900000090000009000000|11", +" .++++++|111111$%%%%%%900000090000009000000|11", +"&&&-......w||||||>$$$$$$x999999x999999x999999w||", +"+++& $%%%%%%.++++++.++++++$%%%%%%$%%%%%%.++", +"+++& $%%%%%%.++++++.++++++$%%%%%%$%%%%%%.++", +"+++& $%%%%%%.++++++.++++++$%%%%%%$%%%%%%.++", +"+++& $%%%%%%.++++++.++++++$%%%%%%$%%%%%%.++", +"+++& $%%%%%%.++++++.++++++$%%%%%%$%%%%%%.++", +"+++& $%%%%%%.++++++.++++++$%%%%%%$%%%%%%.++", +"...,&&&&&&>$$$$$$-......-......>$$$$$$>$$$$$$-..", +"==========yzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzA))@##", +"==========yzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzA))@##", +"==========yzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzA))@##", +"==========yzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzA))@##", +"==========yzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzA))@##", +"==========yzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzA))@##", +"==========yzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzB'';@@", +"CCCDCCCCCC& $%%%%%%& & .++++++@##", +"CCCDCCCCCC& $%%%%%%& & .++++++@##", +"CCCDCCCCCC& $%%%%%%& & .++++++@##", +"CCCDCCCCCC& $%%%%%%& & .++++++@##", +"CCCDCCCCCC& $%%%%%%& & .++++++@##", +"CCCDCCCCCC& $%%%%%%& & .++++++@##", +"DDDEDDDDDD,&&&&&&>$$$$$$,&&&&&&,&&&&&&-......;@@", +" @######& |111111DCCCCCC9000000.++++++900", +" @######& |111111DCCCCCC9000000.++++++900", +" @######& |111111DCCCCCC9000000.++++++900", +" @######& |111111DCCCCCC9000000.++++++900", +" @######& |111111DCCCCCC9000000.++++++900", +" @######& |111111DCCCCCC9000000.++++++900", +"&&&;@@@@@@,&&&&&&w||||||EDDDDDDx999999-......x99", +"000@######DCCCCCCDCCCCCC.++++++9000000.++++++$%%"}; --- icebreaker-1.21.orig/debian/copyright +++ icebreaker-1.21/debian/copyright @@ -0,0 +1,11 @@ +This package was debianized by Adrian Bunk on +Tue, 10 Oct 2000 23:46:47 +0200. + +It was downloaded from http://www.mattdm.org/icebreaker/ + +Upstream Author: Matthew Miller + +Copyright: + +This program is copyright under the GNU Public License (GPL), a copy +of which may be found in /usr/share/common-licenses/GPL --- icebreaker-1.21.orig/debian/postrm +++ icebreaker-1.21/debian/postrm @@ -0,0 +1,42 @@ +#! /bin/sh +# postrm script for icebreaker +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see /usr/share/doc/packaging-manual/ + +case "$1" in + purge) + + rm -f /var/games/icebreaker.scores + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 0 + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +