fune/security/sandbox/linux/launch/SandboxLaunch.h
Thinker Li e9554bb05d Bug 1470591 - Part 2: Provide methods to recreate a delegated forker. r=gsvelto
With a fork server, the parameters to fork a new content process are
passed through a socket.  This patch does following tasks to adapt
sandbox to work with a fork server,

 - passing a FD of a chroot server,
 - passing flags of SandboxFork, and
 - setting LaunchOptions and its fork_delegate field at a fork server.

Depends on D46878

Differential Revision: https://phabricator.services.mozilla.com/D46879

--HG--
extra : moz-landing-system : lando
2019-12-05 00:03:52 +00:00

29 lines
1 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_SandboxLaunch_h
#define mozilla_SandboxLaunch_h
#include "base/process_util.h"
#include "nsXULAppAPI.h"
#include <vector>
namespace mozilla {
// Called in the parent process to set up launch-time aspects of
// sandboxing. If aType is GeckoProcessType_Content, this must be
// called on the main thread in order to access prefs.
void SandboxLaunchPrepare(GeckoProcessType aType,
base::LaunchOptions* aOptions);
#if defined(MOZ_ENABLE_FORKSERVER)
void SandboxLaunchForkServerPrepare(const std::vector<std::string>& aArgv,
base::LaunchOptions& aOptions);
#endif
bool HasAtiDrivers();
} // namespace mozilla
#endif // mozilla_SandboxLaunch_h