summaryrefslogtreecommitdiff
path: root/extra/ktorrent/kdebug-315239.patch
blob: 524a10d88dbb3e509b35efcca17e76634e51f2c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
commit 3dfcbeb9765e99f9b99951134b17268eb7a617d2
Author: Joris Guisson <joris.guisson@gmail.com>
Date:   Thu Aug 1 13:19:29 2013 +0200

    Backport ipfilter extraction fixes from master branch to 4.3 branch
    
    BUG: 315239

diff --git a/ChangeLog b/ChangeLog
index c5ae9da..42c48ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+Changes in 4.3.2:
+- Backport ipfilter extraction fixes from master branch (315239)
+
 Changes in 4.3.1:
 - Fix new custom groups not appearing in add to group submenu (307230)
 - Fix crash when right clicking on some locations in the GroupView due to 0 pointer (307160)
diff --git a/plugins/ipfilter/downloadandconvertjob.cpp b/plugins/ipfilter/downloadandconvertjob.cpp
index d3092ac..4080c2a 100644
--- a/plugins/ipfilter/downloadandconvertjob.cpp
+++ b/plugins/ipfilter/downloadandconvertjob.cpp
@@ -114,12 +114,13 @@ namespace kt
 		
 		//now determine if it's ZIP or TXT file
 		KMimeType::Ptr ptr = KMimeType::findByPath(temp);
+        Out(SYS_IPF|LOG_NOTICE) << "Mimetype: " << ptr->name() << endl;
 		if (ptr->name() == "application/zip")
 		{
 			active_job = KIO::file_move(temp,QString(kt::DataDir() + QLatin1String("level1.zip")),-1,KIO::HideProgressInfo|KIO::Overwrite);
 			connect(active_job,SIGNAL(result(KJob*)),this,SLOT(extract(KJob*)));
 		}
-		else if (ptr->name() == "application/x-gzip" || ptr->name() == "application/x-bzip")
+		else if (ptr->name() == "application/x-gzip" || ptr->name() == "application/x-bzip" || ptr->name() == "application/gzip")
 		{
 			active_job = new bt::DecompressFileJob(temp,QString(kt::DataDir() + "level1.txt"));
 			connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
@@ -174,23 +175,10 @@ namespace kt
 		}
 		
 		QString destination = kt::DataDir() + "level1.txt";
-		if (zip->directory()->entries().contains("splist.txt"))
+        QStringList entries = zip->directory()->entries();
+		if (entries.count() >= 1)
 		{
-			active_job = new bt::ExtractFileJob(zip,"splist.txt",destination);
-			connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
-			unzip = true;
-			active_job->start();
-		}
-		else if (zip->directory()->entries().contains("level1.txt"))
-		{
-			active_job = new bt::ExtractFileJob(zip,"level1.txt",destination);
-			connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
-			unzip = true;
-			active_job->start();
-		}
-		else if (zip->directory()->entries().contains("ipfilter.dat"))
-		{
-			active_job = new bt::ExtractFileJob(zip,"ipfilter.dat",destination);
+			active_job = new bt::ExtractFileJob(zip,entries.front(),destination);
 			connect(active_job,SIGNAL(result(KJob*)),this,SLOT(convert(KJob*)));
 			unzip = true;
 			active_job->start();