Magellan Linux

Annotation of /trunk/kaffeine/patches/kaffeine-0.7.x-CVE-2006-0051.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (hide annotations) (download)
Tue May 8 20:06:05 2007 UTC (17 years, 1 month ago) by niro
File size: 2802 byte(s)
-import

1 niro 144 --- kaffeine/player-parts/Makefile.am
2     +++ kaffeine/player-parts/Makefile.am
3     @@ -12,10 +12,8 @@
4     kaffeineincludedir = $(includedir)/kaffeine
5     kaffeineinclude_HEADERS = mrl.h kmediapart.h playlistimport.h
6    
7     -noinst_HEADERS = http.h
8     -
9     METASOURCES = AUTO
10    
11     -libkmediapart_la_SOURCES = mrl.cpp kmediapart.cpp playlistimport.cpp http.c
12     +libkmediapart_la_SOURCES = mrl.cpp kmediapart.cpp playlistimport.cpp
13     libkmediapart_la_LIBADD = $(LIB_KPARTS)
14     libkmediapart_la_LDFLAGS = $(all_libraries) -version-info 0:1:0 -no-undefined
15     --- kaffeine/player-parts/playlistimport.cpp
16     +++ kaffeine/player-parts/playlistimport.cpp
17     @@ -34,7 +34,6 @@
18     #include <qregexp.h>
19    
20     #include "mrl.h"
21     -#include "http.h"
22    
23     #include "playlistimport.h"
24    
25     @@ -430,57 +429,21 @@
26    
27     bool PlaylistImport::ram(const MRL& playlist, MRL::List& mrls, QWidget* parent)
28     {
29     - kdDebug() << "PlaylistImport: ram: " << playlist.url() << endl;
30     - Q_ULONG result;
31     - char buf[10];
32     - char mime[1024];
33     + kdDebug() << "PlaylistImport: ram: " << playlist.url() << endl;
34    
35     - if (playlist.kurl().isLocalFile())
36     - {
37     - QFile file(playlist.kurl().path());
38     - if (!file.open(IO_ReadOnly))
39     - {
40     - kdError() << "PlaylistImport: Can't open " << playlist.url() << endl;
41     - return false;
42     - }
43     - result = file.readBlock(buf, 4);
44     - file.close();
45     - if (result != 4)
46     - {
47     - kdError() << "PlaylistImport: Can't read " << playlist.url() << endl;
48     - return false;
49     - }
50     - }
51     - else
52     - {
53     - if (playlist.kurl().protocol() == "http")
54     - {
55     -
56     - result = http_peek(playlist.url(), 4, buf, mime);
57     -
58     - if (result <= 0)
59     - {
60     - kdError() << "Can't open " << playlist.url() << endl;
61     - return false;
62     - }
63     - }
64     - else
65     - {
66     - kdError() << "PlaylistImport: ram: Download via " << playlist.kurl().protocol() <<
67     - " protocol not supported." << endl;
68     - return false;
69     - }
70     - }
71     -
72     - if (buf[0]=='.' && buf[1]=='R' && buf[2]=='M' && buf[3]=='F')
73     - {
74     - kdDebug() << "PlaylistImport: Seems to be a real media file" << endl;
75     - return false;
76     - }
77     -
78     - kdDebug() << "PlaylistImport: Seems to be a ram playlist!" << endl;
79     + if (!playlist.kurl().isLocalFile() && !playlist.kurl().protocol().startsWith("http")) {
80     + kdError() << "PlaylistImport: ram: Download via " << playlist.kurl().protocol() << " protocol not supported." << endl;
81     + return false;
82     + }
83     +
84     + kdDebug() << "PlaylistImport: Seems to be a ram playlist!" << endl;
85     +
86     + QString localFile, url;
87     + if (KIO::NetAccess::mimetype(playlist.kurl(), parent) == "application/vnd.rn-realmedia") {
88     + kdDebug() << "PlaylistImport: Seems to be a real media file" << endl;
89     + return false;
90     + }
91    
92     - QString localFile, url;
93     if (KIO::NetAccess::download(playlist.kurl(), localFile, parent))
94     {
95     QFile plFile(localFile);