ports/117654: [PATCH]: net-p2p/ktorrent. fix for bug which results in data loss.

Shane Bell decept0 at gmail.com
Tue Oct 30 03:20:01 UTC 2007


>Number:         117654
>Category:       ports
>Synopsis:       [PATCH]: net-p2p/ktorrent. fix for bug which results in data loss.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 30 03:20:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Shane Bell
>Release:        
>Organization:
>Environment:
>Description:
This patch fixes an annoying bug which results in downloaded data being accidentally deleted, details of the bug at the link below.

http://bugs.kde.org/show_bug.cgi?id=150563
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -ruN /usr/ports/net-p2p/ktorrent/Makefile ktorrent/Makefile
--- /usr/ports/net-p2p/ktorrent/Makefile	2007-10-24 00:02:06.000000000 +1300
+++ ktorrent/Makefile	2007-10-30 15:06:31.000000000 +1300
@@ -7,6 +7,7 @@
 
 PORTNAME=	ktorrent
 PORTVERSION=	2.2.2
+PORTREVISION=	1
 CATEGORIES=	net-p2p kde
 MASTER_SITES=	http://ktorrent.org/downloads/${PORTVERSION}/ \
 		http://www.brueffer.de/distfiles/
diff -ruN /usr/ports/net-p2p/ktorrent/files/patch-apps-ktorrent-fileselectdlg.cpp ktorrent/files/patch-apps-ktorrent-fileselectdlg.cpp
--- /usr/ports/net-p2p/ktorrent/files/patch-apps-ktorrent-fileselectdlg.cpp	1970-01-01 12:00:00.000000000 +1200
+++ ktorrent/files/patch-apps-ktorrent-fileselectdlg.cpp	2007-10-17 21:37:29.000000000 +1300
@@ -0,0 +1,34 @@
+--- apps/ktorrent/fileselectdlg.cpp.orig	2007-10-17 21:34:50.000000000 +1300
++++ apps/ktorrent/fileselectdlg.cpp	2007-10-17 21:36:14.000000000 +1300
+@@ -94,11 +94,20 @@
+ void FileSelectDlg::accept()
+ {
+ 	QStringList pe_ex;
++	
++	QString dn = m_downloadLocation->url();
++	if (!dn.endsWith(bt::DirSeparator()))
++		dn += bt::DirSeparator();
+ 
+ 	for (Uint32 i = 0;i < tc->getNumFiles();i++)
+ 	{
+ 		kt::TorrentFileInterface & file = tc->getTorrentFile(i);
+ 
++		// check for preexsting files
++		QString path = dn + tc->getStats().torrent_name + bt::DirSeparator() + file.getPath();
++		if (bt::Exists(path))
++			file.setPreExisting(true);
++		
+ 		if (file.doNotDownload() && file.isPreExistingFile())
+ 		{
+ 			// we have excluded a preexsting file
+@@ -136,10 +145,7 @@
+ 	}
+ 	
+ 	//Setup custom download location
+-	QString dn = m_downloadLocation->url();
+ 	QString ddir = tc->getDataDir();
+-	if (!dn.endsWith(bt::DirSeparator()))
+-		dn += bt::DirSeparator();
+ 	if (!ddir.endsWith(bt::DirSeparator()))
+ 		ddir += bt::DirSeparator();
+ 	


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



More information about the freebsd-ports-bugs mailing list