From 0b6b4674bdbf02d081cb3f52d872c125dd512ac5 Mon Sep 17 00:00:00 2001 From: Denis Leroy Date: Fri, 22 May 2009 13:15:15 +0000 Subject: [PATCH] - Update to upstream 1.53 - XDG Download patch upstreamed - Security fix CVE-2009-1757 (#500278) --- .cvsignore | 2 +- sources | 2 +- transmission-1.51-xdg-download-dir.patch | 138 ----------------------- transmission.spec | 11 +- 4 files changed, 9 insertions(+), 144 deletions(-) delete mode 100644 transmission-1.51-xdg-download-dir.patch diff --git a/.cvsignore b/.cvsignore index 740f13d..5fa5d6a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -transmission-1.51.tar.bz2 +transmission-1.53.tar.bz2 diff --git a/sources b/sources index 77de363..5671290 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b93439fbd0040ad6eb448f70a48355f5 transmission-1.51.tar.bz2 +62e79fb2a03b09c4fa507bb7a9c91bc3 transmission-1.53.tar.bz2 diff --git a/transmission-1.51-xdg-download-dir.patch b/transmission-1.51-xdg-download-dir.patch deleted file mode 100644 index 5d74d60..0000000 --- a/transmission-1.51-xdg-download-dir.patch +++ /dev/null @@ -1,138 +0,0 @@ -Use the XDG download directory for downloads instead of -made-up unusally nonesixtent ~/Downloads (fall back to it -in case there's no XDG user dir configuration). - -Lubomir Rintel - -diff -up transmission-1.51/libtransmission/platform.c.xdg-download-dir transmission-1.51/libtransmission/platform.c ---- transmission-1.51/libtransmission/platform.c.xdg-download-dir 2009-03-28 12:30:43.817212449 +0100 -+++ transmission-1.51/libtransmission/platform.c 2009-03-28 12:31:39.752214378 +0100 -@@ -443,15 +443,124 @@ tr_getDefaultConfigDir( const char * app - return s; - } - -+/* This was stolen from gthumb, though it probably originates from -+ * xdg-user-dirs's xdg-user-dir-lookup.c. See: -+ * http://www.redhat.com/archives/fedora-devel-list/2007-March/msg00677.html -+ */ - const char* - tr_getDefaultDownloadDir( void ) - { -- static char * s = NULL; -+ static char * user_dir = NULL; -+ char type[] = "DOWNLOAD"; -+ FILE * file; -+ char * home_dir, * config_home, * config_file; -+ char buffer[512]; -+ char * p, * d; -+ int len; -+ int relative; -+ -+ if( user_dir != NULL ) -+ return user_dir; -+ -+ home_dir = getenv( "HOME" ); -+ if( home_dir == NULL ) -+ return strdup("/tmp" ); - -- if( s == NULL ) -- s = tr_buildPath( getHomeDir( ), "Downloads", NULL ); -+ config_home = getenv( "XDG_CONFIG_HOME" ); -+ if( config_home == NULL || config_home[0] == 0 ) -+ { -+ config_file = malloc( strlen( home_dir ) + strlen( "/.config/user-dirs.dirs" ) + 1 ); -+ strcpy( config_file, home_dir ); -+ strcat( config_file, "/.config/user-dirs.dirs" ); -+ } -+ else -+ { -+ config_file = malloc( strlen ( config_home ) + strlen( "/user-dirs.dirs" ) + 1 ); -+ strcpy( config_file, config_home ); -+ strcat( config_file, "/user-dirs.dirs" ); -+ } - -- return s; -+ file = fopen( config_file, "r" ); -+ free( config_file ); -+ if( file == NULL ) -+ goto error; -+ -+ while( fgets( buffer, sizeof( buffer ), file ) ) -+ { -+ /* Remove newline at end */ -+ len = strlen( buffer ); -+ if( len > 0 && buffer[len-1] == '\n' ) -+ buffer[len-1] = 0; -+ -+ p = buffer; -+ while( *p == ' ' || *p == '\t' ) -+ p++; -+ -+ if( strncmp( p, "XDG_", 4 ) != 0 ) -+ continue; -+ p += 4; -+ -+ if( strncmp(p, type, strlen (type )) != 0) -+ continue; -+ p += strlen( type ); -+ -+ if( strncmp(p, "_DIR", 4 ) != 0) -+ continue; -+ p += 4; -+ -+ while( *p == ' ' || *p == '\t' ) -+ p++; -+ -+ if( *p != '=' ) -+ continue; -+ p++; -+ -+ while( *p == ' ' || *p == '\t' ) -+ p++; -+ -+ if( *p != '"' ) -+ continue; -+ p++; -+ -+ relative = 0; -+ if( strncmp(p, "$HOME/", 6 ) == 0) -+ { -+ p += 6; -+ relative = 1; -+ } -+ else -+ if( *p != '/' ) -+ continue; -+ -+ if( relative ) -+ { -+ user_dir = malloc( strlen ( home_dir ) + 1 + strlen ( p ) + 1 ); -+ strcpy( user_dir, home_dir ); -+ strcat( user_dir, "/" ); -+ } -+ else -+ { -+ user_dir = malloc( strlen ( p ) + 1 ); -+ *user_dir = 0; -+ } -+ -+ d = user_dir + strlen( user_dir ); -+ while( *p && *p != '"' ) -+ { -+ if( ( *p == '\\' ) && ( *( p + 1 ) != 0 )) -+ p++; -+ *d++ = *p++; -+ } -+ *d = 0; -+ } -+ -+ fclose( file ); -+ -+error: -+ if( !user_dir ) -+ user_dir = tr_buildPath( getHomeDir( ), "Downloads", NULL ); -+ -+ return user_dir; - } - - /*** diff --git a/transmission.spec b/transmission.spec index 4b84d92..40ae7b4 100644 --- a/transmission.spec +++ b/transmission.spec @@ -1,7 +1,7 @@ Name: transmission -Version: 1.51 -Release: 2%{?dist} +Version: 1.53 +Release: 1%{?dist} Summary: A lightweight GTK+ BitTorrent client Group: Applications/Internet @@ -9,7 +9,6 @@ Group: Applications/Internet License: MIT and GPLv2 URL: http://www.transmissionbt.com/ Source0: http://download.m0k.org/transmission/files/transmission-%{version}.tar.bz2 -Patch0: transmission-1.51-xdg-download-dir.patch Patch2: transmission-1.51-copt.patch Patch3: transmission-1.51-libevent.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -33,7 +32,6 @@ back-end. %prep %setup -q -%patch0 -p1 -b .xdg-download-dir %patch2 -p1 -b .copt %patch3 -p1 -b .libevent @@ -82,6 +80,11 @@ update-desktop-database > /dev/null 2>&1 || : %changelog +* Fri May 22 2009 Denis Leroy - 1.53-1 +- Update to upstream 1.53 +- XDG Download patch upstreamed +- Security fix CVE-2009-1757 (#500278) + * Sat Mar 28 2009 Lubomir Rintel - 1.51-2 - Use XDG Download directory (#490950)