[DebianGIS-dev] r1835 - packages/gpsdrive/trunk/debian/patches

nd-guest at alioth.debian.org nd-guest at alioth.debian.org
Mon Dec 29 16:12:01 UTC 2008


Author: nd-guest
Date: 2008-12-29 16:12:01 +0000 (Mon, 29 Dec 2008)
New Revision: 1835

Added:
   packages/gpsdrive/trunk/debian/patches/101-signalposreq.dpatch
   packages/gpsdrive/trunk/debian/patches/102-unittest.dpatch
Modified:
   packages/gpsdrive/trunk/debian/patches/00list
Log:
add patches to fix several symlink vulnerabilites.


Modified: packages/gpsdrive/trunk/debian/patches/00list
===================================================================
--- packages/gpsdrive/trunk/debian/patches/00list	2008-12-27 15:33:32 UTC (rev 1834)
+++ packages/gpsdrive/trunk/debian/patches/00list	2008-12-29 16:12:01 UTC (rev 1835)
@@ -16,3 +16,5 @@
 98-mapnik-exception
 99-autobestmap
 100-fix-insecure-tempfiles
+101-signalposreq
+102-unittest

Added: packages/gpsdrive/trunk/debian/patches/101-signalposreq.dpatch
===================================================================
--- packages/gpsdrive/trunk/debian/patches/101-signalposreq.dpatch	                        (rev 0)
+++ packages/gpsdrive/trunk/debian/patches/101-signalposreq.dpatch	2008-12-29 16:12:01 UTC (rev 1835)
@@ -0,0 +1,70 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 101-signalposreq.dpatch by Andreas Putzo <andreas at putzo.net>
+##
+## DP: Remove signalposreq() from gpsdrive, vulnerable to symlink attacks.
+## DP: Remove weird deletion of temporary files.
+
+ at DPATCH@
+diff -urNad gpsdrive-2.10~pre4-6.dfsg~/src/gpsdrive.c gpsdrive-2.10~pre4-6.dfsg/src/gpsdrive.c
+--- gpsdrive-2.10~pre4-6.dfsg~/src/gpsdrive.c	2008-12-28 18:10:54.000000000 +0000
++++ gpsdrive-2.10~pre4-6.dfsg/src/gpsdrive.c	2008-12-28 18:11:27.000000000 +0000
+@@ -3087,9 +3087,6 @@
+     /*  all default values must be set BEFORE readconfig! */
+     g_strlcpy (setpositionname, "", sizeof (setpositionname));
+ 
+-    /* setup signal handler */
+-    signal (SIGUSR1, signalposreq);
+-
+     sql_load_lib();
+     /*  I18l */
+ 
+@@ -3419,9 +3416,6 @@
+     gdk_pixbuf_unref (friendspixbuf);
+ 
+ 
+-    unlink ("/tmp/cammain.pid");
+-    unlink ("/tmp/gpsdrivetext.out");
+-    unlink ("/tmp/gpsdrivepos");
+     if (local_config.savetrack)
+ 	savetrackfile (2);
+     sqlend ();
+diff -urNad gpsdrive-2.10~pre4-6.dfsg~/src/gpsproto.h gpsdrive-2.10~pre4-6.dfsg/src/gpsproto.h
+--- gpsdrive-2.10~pre4-6.dfsg~/src/gpsproto.h	2007-09-14 21:47:13.000000000 +0000
++++ gpsdrive-2.10~pre4-6.dfsg/src/gpsproto.h	2008-12-28 18:11:32.000000000 +0000
+@@ -75,7 +75,6 @@
+ gint settings_main_cb (GtkWidget *widget, guint datum);
+ gint sel_message_cb (GtkWidget * widget, guint datum);
+ gint setmessage_cb (GtkWidget * widget, guint datum);
+-void signalposreq ();
+ gint reinsertwp_cb (GtkWidget * widget, guint datum);
+ GdkPixbuf *create_pixbuf (const gchar * filename);
+ gint simulated_pos (GtkWidget * widget, guint * datum);
+diff -urNad gpsdrive-2.10~pre4-6.dfsg~/src/splash.c gpsdrive-2.10~pre4-6.dfsg/src/splash.c
+--- gpsdrive-2.10~pre4-6.dfsg~/src/splash.c	2007-09-14 21:47:13.000000000 +0000
++++ gpsdrive-2.10~pre4-6.dfsg/src/splash.c	2008-12-28 18:11:18.000000000 +0000
+@@ -630,25 +630,3 @@
+ 			  (gtk_widget_destroy), NULL);
+ 	return TRUE;
+ }
+-
+-
+-/* writes time and position to /tmp/gpsdrivepos */
+-void
+-signalposreq ()
+-{
+-	FILE *f;
+-	time_t t;
+-	struct tm *ts;
+-
+-	f = fopen ("/tmp/gpsdrivepos", "w");
+-	if (f == NULL)
+-	{
+-		perror ("/tmp/gpsdrivepos");
+-		return;
+-	}
+-	time (&t);
+-	ts = localtime (&t);
+-	fprintf (f, asctime (ts));
+-	fprintf (f, "POS %f %f\n", coords.current_lat, coords.current_lon);
+-	fclose (f);
+-}


Property changes on: packages/gpsdrive/trunk/debian/patches/101-signalposreq.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/gpsdrive/trunk/debian/patches/102-unittest.dpatch
===================================================================
--- packages/gpsdrive/trunk/debian/patches/102-unittest.dpatch	                        (rev 0)
+++ packages/gpsdrive/trunk/debian/patches/102-unittest.dpatch	2008-12-29 16:12:01 UTC (rev 1835)
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 102-unittest.dpatch by Andreas Putzo <andreas at putzo.net>
+##
+## DP: Use mkdtemp to avoid a potential symlink attack.
+
+ at DPATCH@
+diff -urNad gpsdrive-2.10~pre4-6.dfsg~/src/unit_test.c gpsdrive-2.10~pre4-6.dfsg/src/unit_test.c
+--- gpsdrive-2.10~pre4-6.dfsg~/src/unit_test.c	2007-09-15 15:12:03.000000000 +0000
++++ gpsdrive-2.10~pre4-6.dfsg/src/unit_test.c	2008-12-29 15:33:26.000000000 +0000
+@@ -649,10 +649,12 @@
+     gchar fn[500];
+     gint response;
+ 
+-
+-    g_snprintf (dir_proc, sizeof (dir_proc), "/tmp/gpsdrive-unit-test");
+-    mkdir (dir_proc, 0777);
+-    g_snprintf (dir_proc, sizeof (dir_proc), "/tmp/gpsdrive-unit-test/proc");
++    strncpy(dir_proc, "/tmp/gpsdrive-unit-test.XXXXXX", sizeof(dir_proc));
++    if (mkdtemp(dir_proc) == NULL) {
++        printf("Error: Faild to create temporary directory\n");
++        exit(1);
++    }
++    strncat(dir_proc, "/proc", sizeof(dir_proc));
+     mkdir (dir_proc, 0777);
+ 
+     if (mydebug > 0)


Property changes on: packages/gpsdrive/trunk/debian/patches/102-unittest.dpatch
___________________________________________________________________
Name: svn:executable
   + *




More information about the Pkg-grass-devel mailing list