зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1382099 - Remove MOZ_WIDGET_GONK from ipc/. r=jld.
--HG-- extra : rebase_source : fab4cc67bb4d9911e9ca4f9062bfaa2772a1da4f
This commit is contained in:
Родитель
ff8375cf2e
Коммит
9b33b50478
|
@ -48,11 +48,7 @@ PlatformThreadId PlatformThread::CurrentId() {
|
|||
mach_port_deallocate(mach_task_self(), port);
|
||||
return port;
|
||||
#elif defined(OS_LINUX)
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
return (intptr_t) (pthread_self());
|
||||
#else
|
||||
return syscall(__NR_gettid);
|
||||
#endif
|
||||
#elif defined(OS_OPENBSD) || defined(OS_SOLARIS) || defined(__GLIBC__)
|
||||
return (intptr_t) (pthread_self());
|
||||
#elif defined(OS_NETBSD)
|
||||
|
|
|
@ -23,24 +23,12 @@
|
|||
|
||||
#include "prenv.h"
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
/*
|
||||
* AID_APP is the first application UID used by Android. We're using
|
||||
* it as our unprivilegied UID. This ensure the UID used is not
|
||||
* shared with any other processes than our own childs.
|
||||
*/
|
||||
# include <private/android_filesystem_config.h>
|
||||
# define CHILD_UNPRIVILEGED_UID AID_APP
|
||||
# define CHILD_UNPRIVILEGED_GID AID_APP
|
||||
#else
|
||||
/*
|
||||
* On platforms that are not gonk based, we fall back to an arbitrary
|
||||
* UID. This is generally the UID for user `nobody', albeit it is not
|
||||
* always the case.
|
||||
* We fall back to an arbitrary UID. This is generally the UID for user
|
||||
* `nobody', albeit it is not always the case.
|
||||
*/
|
||||
# define CHILD_UNPRIVILEGED_UID 65534
|
||||
# define CHILD_UNPRIVILEGED_GID 65534
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
|
@ -228,36 +216,6 @@ void SetCurrentProcessPrivileges(ChildPrivileges privs) {
|
|||
|
||||
gid_t gid = CHILD_UNPRIVILEGED_GID;
|
||||
uid_t uid = CHILD_UNPRIVILEGED_UID;
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
{
|
||||
static bool checked_pix_max, pix_max_ok;
|
||||
if (!checked_pix_max) {
|
||||
checked_pix_max = true;
|
||||
int fd = open("/proc/sys/kernel/pid_max", O_CLOEXEC | O_RDONLY);
|
||||
if (fd < 0) {
|
||||
DLOG(ERROR) << "Failed to open pid_max";
|
||||
_exit(127);
|
||||
}
|
||||
char buf[PATH_MAX];
|
||||
ssize_t len = read(fd, buf, sizeof(buf) - 1);
|
||||
close(fd);
|
||||
if (len < 0) {
|
||||
DLOG(ERROR) << "Failed to read pid_max";
|
||||
_exit(127);
|
||||
}
|
||||
buf[len] = '\0';
|
||||
int pid_max = atoi(buf);
|
||||
pix_max_ok =
|
||||
(pid_max + CHILD_UNPRIVILEGED_UID > CHILD_UNPRIVILEGED_UID);
|
||||
}
|
||||
if (!pix_max_ok) {
|
||||
DLOG(ERROR) << "Can't safely get unique uid/gid";
|
||||
_exit(127);
|
||||
}
|
||||
gid += getpid();
|
||||
uid += getpid();
|
||||
}
|
||||
#endif
|
||||
if (setgid(gid) != 0) {
|
||||
DLOG(ERROR) << "FAILED TO setgid() CHILD PROCESS";
|
||||
_exit(127);
|
||||
|
|
|
@ -14,12 +14,7 @@
|
|||
#include "nsThreadUtils.h"
|
||||
|
||||
#undef CHROMIUM_LOG
|
||||
#if defined(MOZ_WIDGET_GONK)
|
||||
#include <android/log.h>
|
||||
#define CHROMIUM_LOG(args...) __android_log_print(ANDROID_LOG_INFO, "Gonk", args);
|
||||
#else
|
||||
#define CHROMIUM_LOG(args...) printf(args);
|
||||
#endif
|
||||
|
||||
namespace mozilla {
|
||||
namespace ipc {
|
||||
|
|
|
@ -20,12 +20,7 @@
|
|||
#include "DBusUtils.h"
|
||||
|
||||
#undef CHROMIUM_LOG
|
||||
#if defined(MOZ_WIDGET_GONK)
|
||||
#include <android/log.h>
|
||||
#define CHROMIUM_LOG(args...) __android_log_print(ANDROID_LOG_INFO, "Gonk", args);
|
||||
#else
|
||||
#define CHROMIUM_LOG(args...) printf(args);
|
||||
#endif
|
||||
|
||||
namespace mozilla {
|
||||
namespace ipc {
|
||||
|
|
|
@ -75,15 +75,9 @@ using mozilla::ipc::GeckoChildProcessHost;
|
|||
#include "mozilla/jni/Utils.h"
|
||||
#endif
|
||||
|
||||
static const bool kLowRightsSubprocesses =
|
||||
// We currently only attempt to drop privileges on gonk, because we
|
||||
// have no plugins or extensions to worry about breaking.
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
true
|
||||
#else
|
||||
false
|
||||
#endif
|
||||
;
|
||||
// We currently don't drop privileges on any platform, because we have to worry
|
||||
// about plugins and extensions breaking.
|
||||
static const bool kLowRightsSubprocesses = false;
|
||||
|
||||
static bool
|
||||
ShouldHaveDirectoryService()
|
||||
|
@ -756,12 +750,6 @@ GeckoChildProcessHost::PerformAsyncLaunchInternal(std::vector<std::string>& aExt
|
|||
FilePath exePath;
|
||||
BinaryPathType pathType = GetPathToBinary(exePath, mProcessType);
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
if (const char *ldPreloadPath = getenv("LD_PRELOAD")) {
|
||||
newEnvVars["LD_PRELOAD"] = ldPreloadPath;
|
||||
}
|
||||
#endif // MOZ_WIDGET_GONK
|
||||
|
||||
#if defined(XP_LINUX) && defined(MOZ_SANDBOX)
|
||||
// Preload libmozsandbox.so so that sandbox-related interpositions
|
||||
// can be defined there instead of in the executable.
|
||||
|
|
|
@ -21,12 +21,7 @@
|
|||
#undef CHROMIUM_LOG
|
||||
#endif
|
||||
|
||||
#if defined(MOZ_WIDGET_GONK)
|
||||
#include <android/log.h>
|
||||
#define CHROMIUM_LOG(args...) __android_log_print(ANDROID_LOG_INFO, "Gonk", args)
|
||||
#else
|
||||
#define CHROMIUM_LOG(args...) printf(args);
|
||||
#endif
|
||||
|
||||
namespace mozilla {
|
||||
namespace ipc {
|
||||
|
|
|
@ -181,11 +181,7 @@ RilConnector::CreateStreamSocket(struct sockaddr* aAddress,
|
|||
socklen_t* aAddressLength,
|
||||
int& aStreamFd)
|
||||
{
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
static const int sDomain = AF_UNIX;
|
||||
#else
|
||||
static const int sDomain = AF_INET;
|
||||
#endif
|
||||
|
||||
ScopedClose fd;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче