summaryrefslogtreecommitdiffstats
path: root/opensuse/core/tdelibs/disable-idn-support.diff
blob: 37c59bc9167f2451d80d9b2e08689bec2c052463 (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
Index: kdecore/network/kresolver.cpp
===================================================================
--- kdecore/network/kresolver.cpp.orig
+++ kdecore/network/kresolver.cpp
@@ -50,6 +50,7 @@
 
 // IDN
 #ifdef HAVE_IDNA_H
+# include <stdlib.h>
 # include <idna.h>
 #endif
 
@@ -1084,6 +1085,10 @@ static QStringList splitLabels(const QSt
 static QCString ToASCII(const QString& label)
 {
 #ifdef HAVE_IDNA_H
+  // We do disable it by default for security reasons for now.
+  if ( getenv("KDE_NO_IPV6") && strcmp( getenv("KDE_NO_IPV6"), "no" ) )
+     return label.latin1();
+
   // We have idna.h, so we can use the idna_to_ascii
   // function :)
 
@@ -1118,6 +1123,10 @@ static QCString ToASCII(const QString& l
 static QString ToUnicode(const QString& label)
 {
 #ifdef HAVE_IDNA_H
+  // We do disable it by default for security reasons for now.
+  if ( getenv("KDE_NO_IPV6") && strcmp( getenv("KDE_NO_IPV6"), "no" ) )
+     return label;
+
   // We have idna.h, so we can use the idna_to_unicode
   // function :)