Commit Graph

339 Commits

Author SHA1 Message Date
Copybara-Service
da41899797 Merge pull request #51 from doinachiroiu:master
PiperOrigin-RevId: 331767052
Change-Id: I286e746fec6248c88df563be00da9451ddd63eb7
2020-09-15 07:46:03 -07:00
Christian Blichmann
ed0086eb66 Fix dynamic binary startup on PPC and newer glibc (> 2.19)
This allows the `_llseek` syscall when it is defined.

PiperOrigin-RevId: 331498182
Change-Id: I2760b264e3a82000b38d278a9c280501a3dbc724
2020-09-14 01:18:33 -07:00
Christian Blichmann
21f7373e76 Initial changes to support AArch64
This is a work in progress:
- Syscall tables need work
- Only tested on real hardware using one of our test hosts

As a drive-by, this change also enables the open source version to function on
POWER.

Another side-effect of this change is that the default policies no longer
check for different host architectures at runtime. On x86_64, we do not need
to check for PPC or AArch64 specifice and vice versa.

PiperOrigin-RevId: 331137472
Change-Id: Ic6d6be5cbe61d83dbe13d5a0be036871754b2eb8
2020-09-11 06:34:27 -07:00
Christian Blichmann
c19949eb7b Use inclusive language
PiperOrigin-RevId: 331116936
Change-Id: I7084b24440a1c78c0d70030da900330f0b8d954f
2020-09-11 03:14:12 -07:00
Christian Blichmann
6a1e4b881c Introduce config header to centralize CPU architecture checks
This allows us to remove some uses of macros.

Related changes:
- Make it clear that we support hosting sandboxed binaries from 64-bit
  processes only. CPU architectures are x86-64 and POWER64 (little endian).
- Introduced CPU architecture macros, abstracting away compiler specifics

PiperOrigin-RevId: 330918134
Change-Id: Ife7ad5f14723eec9f68055127b0583b8aecd38dd
2020-09-10 05:48:00 -07:00
Kevin Hamacher
1f8e88586b Log details when executor fails to open the sandboxee binary
PiperOrigin-RevId: 330680717
Change-Id: I4ec855861196177321783dc94f2e05a28e84d512
2020-09-09 02:12:29 -07:00
Sandboxed API Team
776e34502a Internal cleanup migrating StatusOr.
PiperOrigin-RevId: 330561315
Change-Id: Ie8d8857e7fa5819be3358b26425790ede97c99f8
2020-09-08 12:24:35 -07:00
doinachiroiu
1869fe515f Required changes resolved 2020-09-03 14:59:54 +00:00
Christian Blichmann
fdf0483ca0 Migrate to open-source absl::StatusOr<>
This removes our own fork of `absl::StatusOr<>`. Sandboxed API still includes
a custom matcher for Googletest, as that is not open source yet. For
compatibility, the `statusor.h` header is still retained and now aliases
`sapi::StatusOr<>` to `absl::StatusOr<>`.

PiperOrigin-RevId: 329916309
Change-Id: I0544b73a9e312dce499bc4128c28457e04ab9929
2020-09-03 07:40:48 -07:00
Sandboxed API Team
23da55c19a Internal BUILD refactoring
PiperOrigin-RevId: 329720214
Change-Id: I25fbb94dea17db3bdca6438d17508fa304d9706f
2020-09-03 07:40:33 -07:00
Sandboxed API Team
1c833d6f25 Internal cleanup migrating StatusOr.
PiperOrigin-RevId: 329304527
Change-Id: Id6c141272df54c4e165829d690f9f5b2e9ee90cc
2020-08-31 08:13:29 -07:00
doinachiroiu
7e22952c42 Setup error handling modified 2020-08-31 11:48:19 +00:00
doinachiroiu
531850afc2 Required changes resolved 2020-08-31 11:17:15 +00:00
Sandboxed API Team
cfac8eb2d9 Internal cleanup migrating StatusOr.
PiperOrigin-RevId: 329250595
Change-Id: I0447d8154a57b1132981b116f02b4d5bceedfd4c
2020-08-31 00:13:54 -07:00
Wiktor Garbacz
c53f2a900f Automated rollback of commit e7a195ce42.
PiperOrigin-RevId: 328918626
Change-Id: Iabe93ec7062ea6e750e4185e2b0b672a37111ee7
2020-08-28 04:49:41 -07:00
doinachiroiu
905f86a0ab Small README update regarding variables names 2020-08-27 16:59:58 +00:00
doinachiroiu
b2351ec639 Small coding style corrections 2020-08-27 16:55:55 +00:00
doinachiroiu
60b3b5057c Small README correction 2020-08-27 16:49:09 +00:00
doinachiroiu
4336c005d3 Added output format flag and made other required changes 2020-08-27 16:46:59 +00:00
doinachiroiu
bb623d4c0b Required changes resolved 2020-08-27 12:54:57 +00:00
doinachiroiu
5ae99706e2 Added PFFFT_ROOT_DIR 2020-08-26 15:03:25 +00:00
doinachiroiu
c8d07aeaa5 Changing paths for propertly usage of the submodule 2020-08-26 14:56:19 +00:00
doinachiroiu
b08726540a Added PFFFT submodule - master directory 2020-08-26 14:25:11 +00:00
doinachiroiu
139723d3b8 Added LICENSE & coding changes required 2020-08-26 14:18:31 +00:00
doinachiroiu
8f21b0e931 Coding style update 2020-08-26 11:23:33 +00:00
Sandboxed API Team
e7a195ce42 Automated rollback of commit 82c56775ef.
PiperOrigin-RevId: 328340042
Change-Id: Ib225f8012fb373c74e3f1b3e6201b2daca7da40b
2020-08-25 09:01:22 -07:00
Wiktor Garbacz
82c56775ef StatusOr cleanups
PiperOrigin-RevId: 328318284
Change-Id: I207570c0fee6797dbc8995d36ef2130b0bff28fa
2020-08-25 06:22:05 -07:00
doinachiroiu
a2873ac099 Update README.md 2020-08-20 13:15:02 +00:00
doinachiroiu
726a9345ff Enable namespaces 2020-08-20 12:37:34 +00:00
doinachiroiu
fc6e9e82c6 Unnecessary files removed 2020-08-20 11:24:19 +00:00
doinachiroiu
25d18f985d Updated README and change names of main files 2020-08-20 11:19:49 +00:00
doinachiroiu
257e87e076 Added log printing for debug 2020-08-20 08:58:30 +00:00
doinachiroiu
94fcf82dd3 Added comment on Nvalues[] and N purpose 2020-08-20 08:21:32 +00:00
doinachiroiu
096d02625d Modified sapi root to a general path 2020-08-20 07:44:27 +00:00
doinachiroiu
06bf6cdd34 Sandbox not active error - resolved 2020-08-17 11:21:56 +00:00
doinachiroiu
3fb4d59545 Sandbox not active error tracking observations 2020-08-17 11:21:49 +00:00
doinachiroiu
d51d558083 Update .gitignore 2020-08-17 11:21:42 +00:00
doinachiroiu
c39787ddc7 Testing pffft - elaborate output 2020-08-17 11:21:33 +00:00
doinachiroiu
2ab097f82f Added README 2020-08-17 11:21:27 +00:00
doinachiroiu
50921e222d Coding style adaptation 2020-08-17 11:21:19 +00:00
doinachiroiu
deb8869bb6 Added .gitignore 2020-08-17 11:21:11 +00:00
doinachiroiu
80dd873375 Initial version sandbox 2020-08-17 11:20:56 +00:00
Doina Chiroiu
4cc2d40642 Simple version of sandbox 2020-08-13 10:22:33 +00:00
Christian Blichmann
b76cb15f26 Rename accessors, move away from time_t API
- `GetPid()` -> `pid()`
- `GetRpcChannel()` -> `rpc_channel()`
- `IsActive()` -> `is_active()`
- Suggest `SetWallTimeLimit(time_t)` -> `SetWallTimeLimit(absl::Duration)`

In addition, remove the protected zero-argument contructor.

PiperOrigin-RevId: 325390292
Change-Id: Iba044ad5ce44e78c4064c0a09faaa4227c4d19a5
2020-08-07 00:30:28 -07:00
Christian Blichmann
11fd8ba330 Collect Bazel files into bzl_library targets
PiperOrigin-RevId: 325221214
Change-Id: Iab03b900e143b9b95bed151097abb59ac1e0f996
2020-08-06 06:53:44 -07:00
Sandboxed API Team
8633f22185 Increase limit on symbol table size and section size.
PiperOrigin-RevId: 325215228
Change-Id: I2e6ca131d92d86e7aa0d5cc37a3507dce03db25f
2020-08-06 06:04:14 -07:00
Christian Blichmann
db0dfbb21f Add directories/README for contributions
PiperOrigin-RevId: 323566271
Change-Id: I4ccddea09f5d2ecc2a2e17841693350eec9f7d3a
2020-07-29 11:32:41 +02:00
Christian Blichmann
833c9740aa Use absl::StrFormat() in Reg<T>::ToString()
PiperOrigin-RevId: 322528126
Change-Id: Ia5344e53366a8b3c11ec0dbba7cff8e4192a7605
2020-07-22 01:21:02 -07:00
Christian Blichmann
aaa3eded8f Rename SYNC_* constants to conform to style guide
PiperOrigin-RevId: 322137271
Change-Id: I03d7f2e4841f42e439359727a686d55f1b4ab081
2020-07-20 07:05:44 -07:00
Christian Blichmann
c7a27dd4b1 Modernize a few files
- Use default initialization
- Rely on `static_assert()` and use `if constexpr` when checking SAPI
  variable type
- Small style fixes

PiperOrigin-RevId: 322107281
Change-Id: I48cf43f354b60e31e6207552dbbfa16e3acd5615
2020-07-20 03:07:54 -07:00