Package: wine / 1.8.7-2

disable/winemenubuilder-blacklist-extensions.patch Patch series | download
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
Description: Blacklist all extensions that trigger a freedesktop file type association from an empty prefix.
Author: Jens Reyer <jre.winesim@gmail.com>
Bug: https://bugs.winehq.org/show_bug.cgi?id=28159
Bug-Debian: https://bugs.debian.org/845334

--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -2506,10 +2506,51 @@ static BOOL is_extension_blacklisted(LPC
     static const WCHAR comW[] = {'.','c','o','m',0};
     static const WCHAR exeW[] = {'.','e','x','e',0};
     static const WCHAR msiW[] = {'.','m','s','i',0};
+    /* All extensions that are associated natively from an empty prefix. Blacklist them for security
+     * reasons, and because most people don't want their native file type associations changed.
+     */
+    static const WCHAR chmW[] = {'.','c','h','m',0};
+    static const WCHAR gifW[] = {'.','g','i','f',0};
+    static const WCHAR hlpW[] = {'.','h','l','p',0};
+    static const WCHAR htmW[] = {'.','h','t','m',0};
+    static const WCHAR htmlW[] = {'.','h','t','m','l',0};
+    static const WCHAR iniW[] = {'.','i','n','i',0};
+    static const WCHAR jfifW[] = {'.','j','f','i','f',0};
+    static const WCHAR jpeW[] = {'.','j','p','e',0};
+    static const WCHAR jpegW[] = {'.','j','p','e','g',0};
+    static const WCHAR jpgW[] = {'.','j','p','g',0};
+    static const WCHAR mspW[] = {'.','m','s','p',0};
+    static const WCHAR pdfW[] = {'.','p','d','f',0};
+    static const WCHAR pngW[] = {'.','p','n','g',0};
+    static const WCHAR rtfW[] = {'.','r','t','f',0};
+    static const WCHAR txtW[] = {'.','t','x','t',0};
+    static const WCHAR urlW[] = {'.','u','r','l',0};
+    static const WCHAR vbsW[] = {'.','v','b','s',0};
+    static const WCHAR wriW[] = {'.','w','r','i',0};
+    static const WCHAR xmlW[] = {'.','x','m','l',0};
 
     if (!strcmpiW(extension, comW) ||
         !strcmpiW(extension, exeW) ||
-        !strcmpiW(extension, msiW))
+        !strcmpiW(extension, msiW) ||
+        !strcmpiW(extension, chmW) ||
+        !strcmpiW(extension, gifW) ||
+        !strcmpiW(extension, hlpW) ||
+        !strcmpiW(extension, htmW) ||
+        !strcmpiW(extension, htmlW) ||
+        !strcmpiW(extension, iniW) ||
+        !strcmpiW(extension, jfifW) ||
+        !strcmpiW(extension, jpeW) ||
+        !strcmpiW(extension, jpegW) ||
+        !strcmpiW(extension, jpgW) ||
+        !strcmpiW(extension, mspW) ||
+        !strcmpiW(extension, pdfW) ||
+        !strcmpiW(extension, pngW) ||
+        !strcmpiW(extension, rtfW) ||
+        !strcmpiW(extension, txtW) ||
+        !strcmpiW(extension, urlW) ||
+        !strcmpiW(extension, vbsW) ||
+        !strcmpiW(extension, wriW) ||
+        !strcmpiW(extension, xmlW))
         return TRUE;
     return FALSE;
 }