debian/0000775000000000000000000000000012250202140007154 5ustar debian/dirs0000664000000000000000000000001311321152460010041 0ustar /usr/games debian/pinball.manpages0000664000000000000000000000001211321152460012312 0ustar pinball.6 debian/source/0000775000000000000000000000000011321402004010453 5ustar debian/source/format0000664000000000000000000000001411323654262011702 0ustar 3.0 (quilt) debian/copyright0000664000000000000000000000233511321152460011121 0ustar This package was debianized by Didier Dhollande on Sun, 17 Jun 2002 It was downloaded from It is now maintained by Jochen Friedrich on Fri, 05 Mar 2004 Upstream Author: Henrik Enqvist Copyright: copyright : (C) 2000 by Henrik Enqvist This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 dated June, 1991. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. It is now maintained by Jochen Friedrich on Fri, 05 Mar 2004 debian/pinball-dev.install0000664000000000000000000000021011321152460012741 0ustar usr/include usr/games/pinball-config usr/lib/pinball/libemilia_addon.a usr/lib/pinball/libemilia_base.a usr/lib/pinball/libemilia_pin.a debian/pinball.postinst0000664000000000000000000000106311321152460012411 0ustar #! /bin/sh set -e if [ "$1" = "configure" ] ; then TABLES="professor tux" if [ ! -d /var/games ]; then mkdir /var/games fi if [ ! -d /var/games/pinball ]; then mkdir /var/games/pinball fi for DIRS in $TABLES; do if [ ! -d /var/games/pinball/$DIRS ]; then mkdir /var/games/pinball/$DIRS fi if [ -e /var/games/pinball/$DIRS/highscores ]; then continue fi touch /var/games/pinball/$DIRS/highscores chown root:games /var/games/pinball/$DIRS/highscores chmod 664 /var/games/pinball/$DIRS/highscores done fi #DEBHELPER# debian/pinball.menu0000664000000000000000000000044511321152460011475 0ustar ?package(pinball):needs="X11" section="Games/Simulation"\ title="Pinball" command="/usr/games/pinball"\ icon="/usr/share/pixmaps/pinball.xpm" ?package(pinball):needs="vc" section="Games/Simulation"\ title="Pinball" command="/usr/games/pinball"\ icon="/usr/share/pixmaps/pinball.xpm" debian/changelog0000664000000000000000000001530512250202137011040 0ustar pinball (0.3.1-13.1ubuntu1) trusty; urgency=low * Build depend on libtiff-dev, instead of libtiff4-dev. -- Dmitrijs Ledkovs Thu, 05 Dec 2013 22:55:27 +0000 pinball (0.3.1-13.1) unstable; urgency=low * Non-maintainer upload. * Add missing C++ headers to fix FTBFS. Closes: #624953, #640726. * Empty dependency_libs field in la files. Closes: #633208. -- Regis Boudin Thu, 22 Sep 2011 21:16:50 +0100 pinball (0.3.1-13) unstable; urgency=low * Depend on virtual libstdc++-dev in addition to libstdc++6-4.4-dev rather on a fixed version. Closes: #581606. * Delete /var/games/pinball on purge * Bump Standards-Version to 3.8.4 -- Jochen Friedrich Mon, 17 May 2010 18:24:37 +0200 pinball (0.3.1-12) unstable; urgency=low * Refresh patch 05_system_ltdl.patch. Some autobuilders didn't like it for some unknown reason. * Remove build dependency on quilt. -- Jochen Friedrich Thu, 14 Jan 2010 17:42:16 +0100 pinball (0.3.1-11) unstable; urgency=low * Replace macro AC_LIBLTDL_CONVENIENCE with LTDL_INIT. This will make pinball link against the system libltdl instead of the private one. * Switch to dpkg-source 3.0 (quilt) format -- Jochen Friedrich Thu, 07 Jan 2010 16:56:37 +0100 pinball (0.3.1-10) unstable; urgency=low * Build-depend on libltdl-dev (>= 2.2.6b) as earlier versions were vulnerable to a priviledge escalation. (Closes: #559825) Fixes priviledge escalation vulnerability CVE-2009-3736. -- Jochen Friedrich Thu, 10 Dec 2009 18:57:19 +0100 pinball (0.3.1-9) unstable; urgency=low * Fix .desktop file (Closes: #549643). Thanks to Pino Toscano for the patch. * Fix eglibc 2.10 build (Closes: #549984). Thanks to Ilya Barygin for the patch. * Add README.source for quilt patch management. -- Jochen Friedrich Tue, 13 Oct 2009 18:41:23 +0200 pinball (0.3.1-8) unstable; urgency=low * Bump Standards-Version to 3.8.3 * Replace glut with freeglut (Closes: #543701) * Correct license to be GPL-2 * Switch to debhelper 7 * Use current autotools instead of shipped versions (Closes: #401852, #401853) * Fix depends for non-Linux platforms (Closes: #451113) -- Jochen Friedrich Wed, 02 Sep 2009 14:11:01 +0200 pinball (0.3.1-7) unstable; urgency=low * Acknowledge NMU from Matthias Klose . * Fix menu entry (Closes: #386409) * Update watch file for new sourceforge support. -- Jochen Friedrich Wed, 23 Nov 2006 12:30:53 +0100 pinball (0.3.1-6.1) unstable; urgency=high * NMU. * pinball-dev: Fix libstdc++-dev dependency. -- Matthias Klose Mon, 4 Sep 2006 02:20:07 +0200 pinball (0.3.1-6) unstable; urgency=high * Avoid loading levels and compiled plugins from user-controllable locations. Patch from Steve Kemp (skx@debian.org) [CVE-2006-2196] * Bump Standards-Version to 3.7.2 (No changes) * Changing depends on data to allow binary NMUs (Closes: #373141) * Removing libasound2-dev dependency for FreeBSD (Closes: #327688) * Updated auto* and libtool (Closes: #342261) * Updated watch file. -- Jochen Friedrich Fri, 16 Jun 2006 14:14:07 +0200 pinball (0.3.1-5) unstable; urgency=low * Fix CXX transition (Closes: #334167) Thanks to Frank Lichtenheld . -- Jochen Friedrich Wed, 19 Oct 2005 14:54:10 +0200 pinball (0.3.1-4) unstable; urgency=low * aalib1 -> libaa1 transition (Closes: #320878) * Install menu icon properly (Closes: #275636) Thanks to Mark Purcell for the patch. * Bumped standards version to 3.6.2. -- Jochen Friedrich Tue, 2 Aug 2005 18:58:45 +0200 pinball (0.3.1-3) unstable; urgency=low * Add "libtiff4-dev" to build dependencies to force recompile against 3.6.1 with changed API. * Included watch file. -- Jochen Friedrich Fri, 30 Jul 2004 20:17:35 +0200 pinball (0.3.1-2) unstable; urgency=low * Add "aalib1-dev" and "libasound2-dev" to the build dependencies Thanks to Helge Kreutzmann for testing this and pointing me to #240120 (Closes: #239696) -- Jochen Friedrich Sun, 4 Apr 2004 19:44:27 +0200 pinball (0.3.1-1) unstable; urgency=low * New upstream release (Closes: #150140, #180957, #230733, #149858) * New maintainer (Closes: #236233) * Cleaned up debian dir (Closes: #230732) * Fixed build dependencies (Closes: #180957) * Acknowledge NMUs (Closes: #230741, #175896, #172599, #230053) (Also closes: #210505, #212219) -- Jochen Friedrich Fri, 26 Mar 2004 00:37:42 +0100 pinball (0.3.1-0.2) unstable; urgency=low * Non-maintainer upload (sponsored upload of 0.3.1-0.1 with changes) * Add xlibmesa-gl-dev as preferred alternative for libgl-dev * Lintian stuff: - Quote strings in debian/pinball.menu - Bump debhelper build-dependency to 4.0.0 to match debian/compat * Remove config.log in clean target -- Matt Zimmerman Fri, 12 Mar 2004 18:50:15 -0800 pinball (0.3.1-0.1) unstable; urgency=low * Non-Maintainer Upload. * New upstream version (Closes: #172599) which starts on alpha (Closes: #230053) and fixes menu display (Closes: #212219). * Now includes man page (Closes: #230741). * Recompiled with gcc 3.3 (Closes: #210505). * Removed "The" and "." in short description to make linda/lintian happy. * There are now two tables/levels. Updated the description. * Support noopt for DEB_BUILD_OPTIONS and make "-g" the default. * Compile with -mieee on alpha, so it now runs on this platform as well. This Closes: #175896. * Create highscore-directories in /var/games/pinball; this does not work yet, unfortunately. * Removed the .ex-files in the debian/-directory, Closes: FIXME. * There are now binary dependent libs for each table which are therefore in pinball, so that pinball-data remains arch=all. This is an intrim solution, which should be fixed on the next upload by either integrating the tables into the main packages, or switching the -data package into arch=any. -- Helge Kreutzmann Mon, 16 Feb 2004 20:41:10 +0100 pinball (0.0.7-1) unstable; urgency=low * New Release. -- Didier Dhollande Sun, 16 Jun 2002 19:38:07 +0200 pinball (0.0.6-2) unstable; urgency=low * Split data in arch-all package. -- Yann Dirson Fri, 7 Jun 2002 15:08:44 +0200 pinball (0.0.6-1) unstable; urgency=low * Initial Release. * This is my second Debian Package, :) -- Didier Dhollande Fri, 7 Jun 2002 12:24:42 +0200 debian/pinball-config.60000664000000000000000000000204011321152460012132 0ustar .TH "PINBALL-CONFIG" "6" .SH "NAME" pinball-config \- returns information about installed pinball libraries and binaries .SH SYNOPSIS .B pinball-config [OPTIONS] .SH DESCRIPTION The .B pinball-config shell script is designed to retrieve the configuration information about the libraries and binaries of the .B pinball package. .SH "OPTIONS" .TP \fB\-\-version\fR displays the pinball version number .TP \fB\-\-libs\fR lists libraries needed for building new levels .TP \fB\-\-cflags\fR lists additional compilation flags needed .TP \fB\-\-datadir\fR Display the installation datadir .TP \fB\-\-libdir\fR Display the installation libdir .TP \fB\-\-prefix\fR Display the installation prefix .TP \fB\-\-exec\-prefix\fR Display the installation exec-prefix .SH "SEE ALSO" .PP The program is documented fully by the .B README file that can be found under .B /usr/share/doc/pinball/README on .B Debian GNU/Linux. .SH "AUTHOR" .PP This manual page was written by Jochen Friedrich for the .B Debian GNU/Linux system (but may be used by others). debian/control0000664000000000000000000000316312250202141010563 0ustar Source: pinball Section: games Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Jochen Friedrich Build-Depends: debhelper (>= 7.0.50~), libgl1-mesa-dev, libpng-dev, libsdl1.2-dev, freeglut3-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, libogg-dev, libvorbis-dev, sp, sgmlspl, docbook, docbook-utils, libaa1-dev, libasound2-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libtiff-dev, autoconf, automake, libtool, libltdl-dev (>= 2.2.6b) Standards-Version: 3.8.4 Package: pinball Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, pinball-data (= ${source:Version}) Description: Emilia Pinball Emulator The Emilia Pinball Project is a pinball simulator for Linux and other Unix systems. There are only two levels to play with, but they are very addictive. Package: pinball-dev Architecture: any Depends: ${misc:Depends}, libc6-dev, pinball (= ${binary:Version}), libstdc++6-4.4-dev | libstdc++-dev Description: Development files for the Emilia Pinball Emulator The Emilia Pinball Project is a pinball simulator for Linux and other Unix systems. There are only two levels to play with, but they are very addictive. . This package contains header files and configuration for creating new levels. Package: pinball-data Architecture: all Depends: ${misc:Depends} Description: Data files for the Emilia Pinball Emulator The Emilia Pinball Project is a pinball simulator for Linux and other Unix systems. There are only two levels to play with, but they are very addictive. . This package contains various data files used by the pinball emulator. debian/pinball.sgml0000664000000000000000000000555011321152460011475 0ustar pinball 6 pinball pinball addictive pinball simulator pinball COPYRIGHT pinball is (C) 2000 Henrik Enqvist henqvist@excite.com DESCRIPTIONS pinball The Emilia Pinball Project is a pinball simulator for Linux and other Unix systems. There is only one level to play with, but it is very addictive. Keys Esc Meny Enter Launch Ball R Reset Game Left Shift Left Flipper Left Ctrl Nudge from left Right Shift Right Flipper Right Ctrl Nudge from right Space Nudge BUGS Controls meny missing. Turning on sound in sound meny requires restart. Balls may pass through walls. The screen is not updated if you pause the game and switch to another application. NOTES Go to for FAQ. This man page was assembled by Helge Kreutzmann kreutzm@itp.uni-hannover.de for the Debian GNU/Linux distribution but may be used by others as well. debian/pinball.install0000664000000000000000000000020311321152460012167 0ustar usr/games/pinball usr/lib/pinball/*.la usr/lib/pinball/*.so.* usr/share/applications/pinball.desktop usr/share/pixmaps/pinball.xpm debian/rules0000775000000000000000000000237311636714601010262 0ustar #!/usr/bin/make -f DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) ifneq (,$(findstring alpha,$(DEB_BUILD_GNU_TYPE))) CFLAGS += -mieee CXXFLAGS += -mieee endif %: dh $@ .PHONY: clean clean: dh clean rm -rf libltdl .PHONY: override_dh_auto_configure override_dh_auto_configure: libtoolize --install --copy aclocal autoheader automake --add-missing autoconf dh_auto_configure -- --bindir=/usr/games --datadir=/usr/share/games --with-cflags="$(CFLAGS)" --with-cxxflags="$(CXXFLAGS)" .PHONY: override_dh_install override_dh_install: sed -i "/dependency_libs/s/'.*'/''/" $(CURDIR)/debian/tmp/usr/lib/pinball/*.la install -d $(CURDIR)/debian/tmp/usr/share/applications install -d $(CURDIR)/debian/tmp/usr/share/pixmaps install -m 644 pinball.desktop $(CURDIR)/debian/tmp/usr/share/applications install -m 644 data/pinball.xpm $(CURDIR)/debian/tmp/usr/share/pixmaps nsgmls debian/pinball.sgml | sgmlspl sgmlspl-specs/docbook2man-spec.pl dh_install .PHONY: override_dh_fixperms override_dh_fixperms: dh_fixperms chown root:games debian/pinball/usr/games/pinball chmod 2755 debian/pinball/usr/games/pinball .PHONY: override_dh_makeshlibs override_dh_makeshlibs: debian/watch0000664000000000000000000000010011321152460010203 0ustar version=3 http://sf.net/pinball/pinball-([\d+\.]+|\d+)\.tar\.gz debian/pinball.docs0000664000000000000000000000000711321152460011453 0ustar README debian/pinball.postrm0000664000000000000000000000021711374262025012061 0ustar #! /bin/sh set -e if [ "$1" = "purge" ] ; then if [ -d /var/games/pinball ]; then rm -rf /var/games/pinball fi fi #DEBHELPER# debian/clean0000664000000000000000000000057211321152460010174 0ustar config.sub config.guess config.status config.log configure configure.tmp pinball.6 manpage.links manpage.refs manpage.log aclocal.m4 ltmain.sh stamp-h.in install-sh pinconfig.h.in~ pinconfig.h.in libtool missing Makefile.in addon/Makefile.in base/Makefile.in data/Makefile.in data/tux/Makefile.in data/professor/Makefile.in src/Makefile.in test/Makefile.in debian/stamp-patched debian/pinball-data.install0000664000000000000000000000003011321152460013074 0ustar usr/share/games/pinball debian/patches/0000775000000000000000000000000011636715365010634 5ustar debian/patches/02_datadir.patch0000664000000000000000000000433011321152460013544 0ustar --- pinball-0.3.1.orig/base/Config.cpp +++ pinball-0.3.1/base/Config.cpp @@ -358,13 +358,6 @@ } EM_COUT("Using " << m_iBpp << " bpp", 1); REMOVEARG(a, argc, argv); - } else if (strcmp(argv[a], "-data") == 0) { - if (argc > a) { - EM_COUT("Using datapath: " << argv[a+1], 1); - this->setDataDir(argv[a+1]); - REMOVEARG(a, argc, argv); - } - REMOVEARG(a, argc, argv); } else if (strcmp(argv[a], "-nosound") == 0) { this->setSound(0); this->setMusic(0); --- pinball-0.3.1.orig/src/LoaderModule.h +++ pinball-0.3.1/src/LoaderModule.h @@ -40,6 +40,9 @@ /// portable dyn lib loading Behavior* readLibDynamic(string & filename); +private: + void SanitizePath(std::string&str ); + protected: /// map m_hMods; --- pinball-0.3.1.orig/src/LoaderModule.cpp +++ pinball-0.3.1/src/LoaderModule.cpp @@ -61,6 +61,23 @@ } //----------------------------------------------------------------------------- +void LoaderModule::SanitizePath(std::string&str ) +{ + // String to remove. + std::string sub = "../"; + + typedef std::string::size_type st; + typedef std::string::iterator it; + st npos = std::string::npos; + st pos = 0; + + while((pos = str.find(sub)) != npos) { + it first = str.begin() + pos; + it last = first + sub.size(); + str.erase(first, last); + } +} + /// is it possible to do something /// like in java.lang.reflexion instead of protypes ? Behavior* LoaderModule::readLibStatic(string & filename) @@ -82,6 +99,10 @@ { EM_COUT("+ LoaderModule::readLibDynamic",0); Behavior * beh =0; + + // Disallow directory traversal + SanitizePath( filename ); + #ifndef RZR_LIBSTATIC lt_dlhandle handle = lt_dlopen(filename.c_str()); if (handle == NULL) { --- pinball-0.3.1.orig/src/Table.cpp +++ pinball-0.3.1/src/Table.cpp @@ -140,7 +140,7 @@ Loader::getInstance()->clearSignalVariable(); if (Loader::getInstance()->loadFile(filename.c_str(), engine) != 0) { cerr << "Error loading level: " << m_sTableName << endl; - cerr << "Try reinstalling the game or use the -data switch to specify the data directory" + cerr << "Try reinstalling the game" << endl; this->clear(engine); return -1; debian/patches/01_cflags.patch0000664000000000000000000000107711321152460013377 0ustar --- pinball-0.3.1.orig/configure.ac +++ pinball-0.3.1/configure.ac @@ -11,8 +11,16 @@ AM_INIT_AUTOMAKE dnl this is a c++ program -CFLAGS="-g -W -Wall -O2" -CXXFLAGS="-g -W -Wall -O2" +dnl CFLAGS="-g -W -Wall -O2" +dnl CXXFLAGS="-g -W -Wall -O2" + +AC_ARG_WITH(cflags, +[ --with-cflags=CFLAGS use CFLAGS as compile time arguments.], + [CFLAGS=$with_cflags; export CFLAGS]) + +AC_ARG_WITH(cxxflags, +[ --with-cxxflags=CXXFLAGS use CXXFLAGS as compile time arguments.], + [CXXFLAGS=$with_cxxflags; export CXXFLAGS]) AC_CONFIG_SUBDIRS(libltdl) debian/patches/03_desktop.patch0000664000000000000000000000156311321152460013613 0ustar Index: pinball-0.3.1/pinball.desktop =================================================================== --- pinball-0.3.1.orig/pinball.desktop 2009-10-13 18:36:40.000000000 +0200 +++ pinball-0.3.1/pinball.desktop 2009-10-13 18:36:44.000000000 +0200 @@ -1,12 +1,9 @@ [Desktop Entry] -Encoding=UTF-8 -Categories=Application;Game;ArcadeGame;X-Red-Hat-Extra +Categories=Game;ArcadeGame;X-Red-Hat-Extra; X-Desktop-File-Install-Version=0.2 Name=Emilia Pinball Comment=OpenGL pinball game Exec=pinball Icon=pinball.xpm -Terminal=0 +Terminal=false Type=Application - - debian/patches/04_fix_const.patch0000664000000000000000000000104311321152460014130 0ustar Index: pinball-0.3.1/base/Config.cpp =================================================================== --- pinball-0.3.1.orig/base/Config.cpp 2009-10-13 18:33:38.000000000 +0200 +++ pinball-0.3.1/base/Config.cpp 2009-10-13 18:37:12.000000000 +0200 @@ -416,7 +416,7 @@ m_sDataDir = string(EM_DATADIR) + "/"; m_sExeDir = "./"; if ( *( m_sDataDir.c_str() ) != '/' ) { - char* ptr=0; + const char* ptr=0; char* ptrw = 0; //cout<<"relative to exe file"< Bug-Debian: http://bugs.debian.org/624953 Bug-Debian: http://bugs.debian.org/640726 --- pinball-0.3.1.orig/base/Behavior.cpp +++ pinball-0.3.1/base/Behavior.cpp @@ -10,6 +10,8 @@ #include "Behavior.h" #include "Group.h" +#include + Behavior::Behavior() { //EM_COUT("Behavior::Behavior", 1); p_Light = NULL; --- pinball-0.3.1.orig/base/SignalSender.cpp +++ pinball-0.3.1/base/SignalSender.cpp @@ -12,6 +12,8 @@ #include "Group.h" #include "Behavior.h" +#include + SignalSender * SignalSender::p_SignalSender = NULL; SignalSender::SignalSender() { --- pinball-0.3.1.orig/base/BehaviorVisitor.cpp +++ pinball-0.3.1/base/BehaviorVisitor.cpp @@ -10,6 +10,8 @@ #include "Behavior.h" #include "Group.h" +#include + BehaviorVisitor * BehaviorVisitor::p_BehaviorVisitor = NULL; BehaviorVisitor::BehaviorVisitor() { debian/patches/series0000664000000000000000000000016311636714766012055 0ustar 01_cflags.patch 02_datadir.patch 03_desktop.patch 04_fix_const.patch 05_system_ltdl.patch 06_missing_cstddef.patch debian/patches/05_system_ltdl.patch0000664000000000000000000000110411323643047014506 0ustar Index: pinball-0.3.1/configure.ac =================================================================== --- pinball-0.3.1.orig/configure.ac 2010-01-14 17:26:25.000000000 +0100 +++ pinball-0.3.1/configure.ac 2010-01-14 17:26:25.000000000 +0100 @@ -22,14 +22,12 @@ [ --with-cxxflags=CXXFLAGS use CXXFLAGS as compile time arguments.], [CXXFLAGS=$with_cxxflags; export CXXFLAGS]) -AC_CONFIG_SUBDIRS(libltdl) - dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_INSTALL AC_LIBTOOL_DLOPEN -AC_LIBLTDL_CONVENIENCE +LTDL_INIT AC_PROG_LIBTOOL AC_SUBST(INCLTDL) debian/compat0000664000000000000000000000000211321152460010361 0ustar 7 debian/pinball-dev.manpages0000664000000000000000000000003011321152460013066 0ustar debian/pinball-config.6