diff options
Diffstat (limited to 'www')
-rw-r--r-- | www/firefox-esr/Makefile | 1 | ||||
-rw-r--r-- | www/firefox-esr/files/patch-bug1233275 | 40 | ||||
-rw-r--r-- | www/firefox/Makefile | 1 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1233275 | 36 | ||||
-rw-r--r-- | www/libxul/Makefile | 1 | ||||
-rw-r--r-- | www/libxul/files/patch-bug1233275 | 40 | ||||
-rw-r--r-- | www/seamonkey/Makefile | 2 | ||||
-rw-r--r-- | www/seamonkey/files/patch-bug1233275 | 40 |
8 files changed, 160 insertions, 1 deletions
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile index 21af3f868a42..c22e2973c461 100644 --- a/www/firefox-esr/Makefile +++ b/www/firefox-esr/Makefile @@ -4,6 +4,7 @@ PORTNAME= firefox DISTVERSION= 38.7.1 DISTVERSIONSUFFIX=esr.source +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \ diff --git a/www/firefox-esr/files/patch-bug1233275 b/www/firefox-esr/files/patch-bug1233275 new file mode 100644 index 000000000000..e99e86a74ce0 --- /dev/null +++ b/www/firefox-esr/files/patch-bug1233275 @@ -0,0 +1,40 @@ +# Copy environment for IPC using NSPR to avoid race + +diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/process_util_bsd.cc +--- ipc/chromium/src/base/process_util_bsd.cc ++++ ipc/chromium/src/base/process_util_bsd.cc +@@ -13,6 +13,7 @@ + + #include <string> + ++#include "nspr.h" + #include "base/eintr_wrapper.h" + #include "base/file_util.h" + #include "base/logging.h" +@@ -48,7 +49,6 @@ + + #ifdef HAVE_POSIX_SPAWN + #include <spawn.h> +-extern "C" char **environ __dso_public; + #endif + + namespace { +@@ -114,6 +114,7 @@ bool LaunchApp(const std::vector<std::st + // Existing variables are overwritten by env_vars_to_set. + int pos = 0; + environment_map combined_env_vars = env_vars_to_set; ++ char **environ = PR_DuplicateEnvironment(); + while(environ[pos] != NULL) { + std::string varString = environ[pos]; + std::string varName = varString.substr(0, varString.find_first_of('=')); +@@ -121,8 +122,9 @@ bool LaunchApp(const std::vector<std::st + if (combined_env_vars.find(varName) == combined_env_vars.end()) { + combined_env_vars[varName] = varValue; + } +- pos++; ++ PR_Free(environ[pos++]); + } ++ PR_Free(environ); + int varsLen = combined_env_vars.size() + 1; + + char** vars = new char*[varsLen]; diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 5ecc10997eb7..f1f3cd2d8d80 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -4,6 +4,7 @@ PORTNAME= firefox DISTVERSION= 45.0.1 DISTVERSIONSUFFIX=.source +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ diff --git a/www/firefox/files/patch-bug1233275 b/www/firefox/files/patch-bug1233275 new file mode 100644 index 000000000000..ac5d9d2cdedb --- /dev/null +++ b/www/firefox/files/patch-bug1233275 @@ -0,0 +1,36 @@ +# Copy environment for IPC using NSPR to avoid race + +diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/process_util_bsd.cc +--- ipc/chromium/src/base/process_util_bsd.cc ++++ ipc/chromium/src/base/process_util_bsd.cc +@@ -12,10 +12,9 @@ + + #include <string> + ++#include "nspr.h" + #include "base/eintr_wrapper.h" + +-extern "C" char **environ __attribute__((__visibility__("default"))); +- + namespace base { + + void FreeEnvVarsArray(char* array[], int length) +@@ -66,6 +65,7 @@ bool LaunchApp(const std::vector<std::st + // Existing variables are overwritten by env_vars_to_set. + int pos = 0; + environment_map combined_env_vars = env_vars_to_set; ++ char **environ = PR_DuplicateEnvironment(); + while(environ[pos] != NULL) { + std::string varString = environ[pos]; + std::string varName = varString.substr(0, varString.find_first_of('=')); +@@ -73,8 +73,9 @@ bool LaunchApp(const std::vector<std::st + if (combined_env_vars.find(varName) == combined_env_vars.end()) { + combined_env_vars[varName] = varValue; + } +- pos++; ++ PR_Free(environ[pos++]); + } ++ PR_Free(environ); + int varsLen = combined_env_vars.size() + 1; + + char** vars = new char*[varsLen]; diff --git a/www/libxul/Makefile b/www/libxul/Makefile index 35793930f3c0..505d80e26a70 100644 --- a/www/libxul/Makefile +++ b/www/libxul/Makefile @@ -3,6 +3,7 @@ PORTNAME= libxul DISTVERSION= 38.7.1 +PORTREVISION= 1 CATEGORIES?= www devel MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source \ MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build1/source diff --git a/www/libxul/files/patch-bug1233275 b/www/libxul/files/patch-bug1233275 new file mode 100644 index 000000000000..e99e86a74ce0 --- /dev/null +++ b/www/libxul/files/patch-bug1233275 @@ -0,0 +1,40 @@ +# Copy environment for IPC using NSPR to avoid race + +diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/process_util_bsd.cc +--- ipc/chromium/src/base/process_util_bsd.cc ++++ ipc/chromium/src/base/process_util_bsd.cc +@@ -13,6 +13,7 @@ + + #include <string> + ++#include "nspr.h" + #include "base/eintr_wrapper.h" + #include "base/file_util.h" + #include "base/logging.h" +@@ -48,7 +49,6 @@ + + #ifdef HAVE_POSIX_SPAWN + #include <spawn.h> +-extern "C" char **environ __dso_public; + #endif + + namespace { +@@ -114,6 +114,7 @@ bool LaunchApp(const std::vector<std::st + // Existing variables are overwritten by env_vars_to_set. + int pos = 0; + environment_map combined_env_vars = env_vars_to_set; ++ char **environ = PR_DuplicateEnvironment(); + while(environ[pos] != NULL) { + std::string varString = environ[pos]; + std::string varName = varString.substr(0, varString.find_first_of('=')); +@@ -121,8 +122,9 @@ bool LaunchApp(const std::vector<std::st + if (combined_env_vars.find(varName) == combined_env_vars.end()) { + combined_env_vars[varName] = varValue; + } +- pos++; ++ PR_Free(environ[pos++]); + } ++ PR_Free(environ); + int varsLen = combined_env_vars.size() + 1; + + char** vars = new char*[varsLen]; diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile index 1bf44dc2bcab..caa846e77eca 100644 --- a/www/seamonkey/Makefile +++ b/www/seamonkey/Makefile @@ -4,7 +4,7 @@ PORTNAME= seamonkey DISTVERSION= 2.39 MOZILLA_VER= 42 # above + 3 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source diff --git a/www/seamonkey/files/patch-bug1233275 b/www/seamonkey/files/patch-bug1233275 new file mode 100644 index 000000000000..949558662729 --- /dev/null +++ b/www/seamonkey/files/patch-bug1233275 @@ -0,0 +1,40 @@ +# Copy environment for IPC using NSPR to avoid race + +diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/process_util_bsd.cc +--- mozilla/ipc/chromium/src/base/process_util_bsd.cc ++++ mozilla/ipc/chromium/src/base/process_util_bsd.cc +@@ -13,6 +13,7 @@ + + #include <string> + ++#include "nspr.h" + #include "base/eintr_wrapper.h" + #include "base/file_util.h" + #include "base/logging.h" +@@ -48,7 +49,6 @@ + + #ifdef HAVE_POSIX_SPAWN + #include <spawn.h> +-extern "C" char **environ __dso_public; + #endif + + namespace { +@@ -114,6 +114,7 @@ bool LaunchApp(const std::vector<std::st + // Existing variables are overwritten by env_vars_to_set. + int pos = 0; + environment_map combined_env_vars = env_vars_to_set; ++ char **environ = PR_DuplicateEnvironment(); + while(environ[pos] != NULL) { + std::string varString = environ[pos]; + std::string varName = varString.substr(0, varString.find_first_of('=')); +@@ -121,8 +122,9 @@ bool LaunchApp(const std::vector<std::st + if (combined_env_vars.find(varName) == combined_env_vars.end()) { + combined_env_vars[varName] = varValue; + } +- pos++; ++ PR_Free(environ[pos++]); + } ++ PR_Free(environ); + int varsLen = combined_env_vars.size() + 1; + + char** vars = new char*[varsLen]; |