[SOUP] Disable RC4
[WebKit-https.git] / Source / WebKit2 / WebProcess / EntryPoint / unix / WebProcessMain.cpp
index 6c637fd237c3d75a5332d1e190cbc9e8226cbcae..5f45d01af78ae8668c9de77adc1bf01ab0108cda 100644 (file)
 
 #include "WebProcessMainUnix.h"
 
+#include <cstdlib>
+
 using namespace WebKit;
 
 int main(int argc, char** argv)
 {
+    // Disable SSLv3 very early because it is practically impossible to safely
+    // use setenv() when multiple threads are running, as another thread calling
+    // getenv() could cause a crash, and many functions use getenv() internally.
+    // This workaround will stop working if glib-networking switches away from
+    // GnuTLS or simply stops parsing this variable. We intentionally do not
+    // overwrite this priority string if it's already set by the user.
+    // https://bugzilla.gnome.org/show_bug.cgi?id=738633
+    // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp.
+    setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0);
+
     return WebProcessMainUnix(argc, argv);
 }