| Index: src/platform/minijail/env.h
|
| diff --git a/src/platform/minijail/env.h b/src/platform/minijail/env.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..18cde8ad2069d844163ea782208824473a201491
|
| --- /dev/null
|
| +++ b/src/platform/minijail/env.h
|
| @@ -0,0 +1,53 @@
|
| +// Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +//
|
| +// Provide a interfacefor supplying system interface functionality at a
|
| +// behavioral level.
|
| +//
|
| +// TODO(wad) Support LinuxSUIDSandox, net namespaces, jail profiles, etc.
|
| +
|
| +#ifndef __CHROMEOS_MINIJAIL_ENV_H
|
| +#define __CHROMEOS_MINIJAIL_ENV_H
|
| +
|
| +#include <base/basictypes.h>
|
| +#include <base/scoped_ptr.h>
|
| +
|
| +namespace chromeos {
|
| +namespace minijail {
|
| +
|
| +class Env {
|
| + public:
|
| + Env() { }
|
| + virtual ~Env() { }
|
| + virtual bool ChangeUser(uid_t uid, gid_t gid) const;
|
| + virtual bool DisableDefaultRootPrivileges() const;
|
| + virtual bool DisableTracing() const;
|
| + virtual bool EnterNamespace(int namespaces) const;
|
| + virtual bool FilterSyscallsBenchmarkOnly() const;
|
| + virtual bool FilterSyscallsBySource() const;
|
| + // virtual bool ExportXAuthority(int appgroup, bool trusted) const;
|
| + virtual bool KeepRootCapabilities() const;
|
| + // bool do_delayed_chroot;
|
| + // bool enter_net_namespace();
|
| + // TODO(wad) add flags: ro_proc, custom /dev, ...
|
| + virtual bool Mount() const;
|
| + virtual bool SanitizeBoundingSet(uint64 capmask) const;
|
| + // /dev/input/*
|
| + // /dev/video*
|
| + // /dev/*audio*
|
| + // bool ShimUserDevices();
|
| + //bool add_to_cgroup(const char *cgroup_name);
|
| + virtual bool SanitizeCapabilities(uint64 eff_capmask) const;
|
| +
|
| + virtual bool Run(const char *path,
|
| + char * const *argv,
|
| + char * const *envp) const;
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(Env);
|
| +};
|
| +
|
| +} // namespace minijail
|
| +} // namespace chromeos
|
| +
|
| +#endif // __CHROMEOS_MINIJAIL_ENV_H
|
|
|