Commit Graph

550 Commits

Author SHA1 Message Date
Christian Blichmann
c99076bf94 Replace std::unique_ptr<uint8_t[]> with vector
No need for the smart pointer indirection when an `std::vector` can also hold
the BPF policy.

PiperOrigin-RevId: 340809220
Change-Id: I8a63567e8042d9ff875cba739e8552db87b6901a
2020-11-05 02:03:46 -08:00
Christian Blichmann
7c30aebe2d Use Abseil hash maps instead of std::map<T>
PiperOrigin-RevId: 340807499
Change-Id: I2689bd1d32be45e3085dcc7a0ba4b8fedd7d53b0
2020-11-05 01:49:14 -08:00
Peter Lundblad
2955d20c9f Enable log forwarding from sandboxee if enabled by the supervisor.
If the sandboxer calls `IPC::EnableLogServer()` (and modifies the sandbox policy
accordingly), sandbox logs will be sent back to the sandboxer.

PiperOrigin-RevId: 340663308
Change-Id: I5e8d89314178dfd1b49fc25b8cd2dd02642be43a
2020-11-04 09:24:50 -08:00
Christian Blichmann
2acec65a58 Add an AllowAccess() convenience function to PolicyBuilder
Drive-by: Apply convenience functions in policies.
PiperOrigin-RevId: 340404977
Change-Id: I906106b61c1837d23ddaff15d8792ec79d3d3189
2020-11-03 02:21:21 -08:00
Copybara-Service
8952d2ce04 Merge pull request #66 from cblichmann:master
PiperOrigin-RevId: 339616485
Change-Id: Iaa427e0aa5712f36ae1c176bffbaf00b2b342373
2020-10-29 00:46:47 -07:00
Christian Blichmann
728355da87 Emit non-type template args as part of forward decls
This change allows us to emit forward declarations to classes that are
templated. For headers generated by the proto compiler this is sometimes
necessary.

Note:
- This will only emit types for a single level of template instantiations.
  That is, template template arguments are not supported.
- Typedefs only occurring in template arguments will be fully desugared
  and thus will not be available under their aliased name in the generated
  API code. This is consistent with the Python based generator (which
  does not emit these at all and relies on text extraction).

Signed-off-by: Christian Blichmann <cblichmann@google.com>
2020-10-28 16:48:04 +01:00
Sandboxed API Team
ea379ef4d6 Cleans up statusor.h includes.
PiperOrigin-RevId: 339050213
Change-Id: Iea5747f907b294503cdb37e1c25cf787c7e83dcf
2020-10-26 09:08:41 -07:00
Christian Blichmann
609a370634 Build fixes and parameter passing for the Clang header generator
PiperOrigin-RevId: 338994867
Change-Id: I40f03738ae38bac4bf217c24bd935d5d3572c1f2
2020-10-26 01:42:47 -07:00
Christian Blichmann
19a8e38a51 Support AArch64 and PPC64 in third party dependencies
PiperOrigin-RevId: 338992825
Change-Id: I2f77ea8379e55007a22ad0461efc98f41a01ad44
2020-10-26 01:22:23 -07:00
Maciej Szawłowski
28bb32add6 Allow empty sapi_embedded_dir flag in the header generator - empty sapi_embedded_name still disallowed
PiperOrigin-RevId: 338656398
Change-Id: Ib2ca3d63ff9bed654669d948286f73d430753a20
2020-10-23 05:36:01 -07:00
Christian Blichmann
040d76be28 Simplify libunwind build files
Sandbox2 and SAPI only use the `unwind-ptrace-wrapped` target.

PiperOrigin-RevId: 338450188
Change-Id: Iee7d7aeda244cad90dae8b5228316f506efc3deb
2020-10-22 05:03:15 -07:00
Copybara-Service
cba334a9d1 Merge pull request #64 from bohdanty:gdal_sandbox
PiperOrigin-RevId: 337856019
Change-Id: Ib1d9c5614f02da4df8d624f006f31ea09bb5c560
2020-10-19 08:08:03 -07:00
happyCoder92
2e3b118ec9
Merge branch 'master' into gdal_sandbox 2020-10-19 10:05:44 +02:00
Bohdan Tyshchenko
5159b67d7d Moved test data to paths to environment variables
Added environment variables to remove relative paths from the code
2020-10-16 09:15:11 -07:00
Sandboxed API Team
834d356bce Cleans up statusor.h includes.
PiperOrigin-RevId: 337370254
Change-Id: Ibcbc2921f96d32675720ddc7adb621dd53894dfa
2020-10-15 13:25:30 -07:00
Bohdan Tyshchenko
5711a66d77 Comments fix, code update to correspond latest SAPI version
Comments fix
Changed sapi::StatusOr to absl::StatusOr
Code changes according to new CStr(absl::string_view) constructor
2020-10-15 08:13:11 -07:00
Wiktor Garbacz
29e5d03201 Use string_view instead of char* in CStr ctor
PiperOrigin-RevId: 337045297
Change-Id: If97b405cc2bf1904456bf502fc7d027c7df2ac7a
2020-10-14 02:04:05 -07:00
Bohdan Tyshchenko
b1a1aef39e Project architecture redesign, coding style update
Put duplicated code inside the transaction, which is used by both tests and raster_to_gtiff
Removed <filesystem> header, reimplemented one of its utilities for file checking
Code style changes
Replaced .data() with .c_str() for std::string
Updated README to show how to build both GDAL and PROJ inside the build folder and how to link them to the sandbox
2020-10-13 13:03:04 -07:00
Copybara-Service
33bc36ae3d Merge pull request #62 from andreimedar:libarchive
PiperOrigin-RevId: 336042102
Change-Id: I7b1ceaa794851c10e07dbdef4f4e37000edc25d4
2020-10-08 02:06:50 -07:00
Andrei Medar
f038f7aa3f added empty line at the end of files (was removed by clang-format) 2020-10-07 14:36:24 +00:00
root
c63302f731 Changed constants naming in unit tests. 2020-10-07 12:52:55 +00:00
Andrei Medar
04f4ff5960 Removed computer specific code 2020-10-07 11:51:59 +00:00
Andrei Medar
e87e583bca Merge remote-tracking branch 'upstream/master' into libarchive
Merge fork with upstream for pull request.
2020-10-07 10:10:08 +00:00
Andrei Medar
efff53149d Implemented requested changes (variable names, functions return absl::Status/absl::StatusOr) 2020-10-07 10:07:13 +00:00
Bohdan Tyshchenko
48348d6aa5 Headers order fix, NOLINT project headers 2020-10-07 01:33:20 -07:00
Bohdan Tyshchenko
19612c642f Removed unnecessary code 2020-10-06 04:21:29 -07:00
Bohdan Tyshchenko
8e0141cc9a Readme fix 2020-10-06 04:12:50 -07:00
Bohdan Tyshchenko
22a8cee4ea Updated CMake and tests, wrote README
Added instructions on how to build GDAL Sandbox using GDAL and PROJ build from sources
Updated test data
2020-10-06 04:06:54 -07:00
Christian Blichmann
afa232cc17 Clang generator: Remember "seen" types when collecting related types
This change includes a small refactoring to remember which types the generator
has already seen during header generations. Otherwise we may loop indefinitely
on certain complex types. One such type is `std::FILE` in Clang's libc++.

PiperOrigin-RevId: 335589238
Change-Id: I5bbe03b6c7fc89c743163f5534075d7912ed4e58
2020-10-06 01:04:49 -07:00
Bohdan Tyshchenko
5442d8c6e0 Updated sandbox construction logic and CMakeLists
More flexible CMake file with variables
Added logic to check whether proj.db exists and fetch it from the environment variable
2020-10-05 11:01:15 -07:00
Christian Blichmann
b74cf8839b Minor ForkClient improvements
- Use a `constexpr inline` string constant for the forkserver env var
- Add annotation for the comms channel mutex

PiperOrigin-RevId: 335395005
Change-Id: Ic058c19c3704f182aa7ed7b8e8964b2fc5082800
2020-10-05 05:10:16 -07:00
Andrei Medar
725f665b79 Added one extra test 2020-10-02 16:52:13 +00:00
Andrei Medar
589776b6f9 Modified sandbox to limit ioctl. Use .value() instead of manually checking .ok(). 2020-10-02 15:52:29 +00:00
Copybara-Service
569c7d84b0 Merge pull request #54 from Manwi23:jsonnet
PiperOrigin-RevId: 335017461
Change-Id: I583444057bb4d8c8c33694fbba4d3717bb22101a
2020-10-02 06:47:45 -07:00
Andrei Medar
7e1d9179e5 Solved some pr comments 2020-10-02 10:56:14 +00:00
Copybara-Service
47ba5c8e39 Merge pull request #61 from FedericoStazi:curl
PiperOrigin-RevId: 334994112
Change-Id: Iedd065f33cdb5ebda796722d0a4d158ba719ff2c
2020-10-02 03:15:25 -07:00
Andrei Medar
b4c64dac69 Added FetchContent command to cmake so that patches are applied automatically to libarchive clone 2020-10-01 19:01:50 +00:00
Wiktor Garbacz
83a08daff7 Change int64 to size_t in Buffer
PiperOrigin-RevId: 334802978
Change-Id: I7e421b1a6a98138139003cc4dc2a548ebe366e3e
2020-10-01 06:45:38 -07:00
Christian Blichmann
575f24f5df Internal change
PiperOrigin-RevId: 334569306
Change-Id: Ibf1b3a24b57b02ce1c5e6106e5331520dfdf7112
2020-10-01 06:45:25 -07:00
Bohdan Tyshchenko
b06d020f32 Raster to GTiff workflow implementation
Implemented simple GTiff file parser to test sandboxed part of code on a real data, added unit tests.
Need to improve the CMake file to make it work without specifying the absolute paths to libraries.
2020-10-01 03:59:18 -07:00
Andrei Medar
c5d44eab37 Removed computer specific line in CMakeLists.txt 2020-10-01 00:17:15 +00:00
Andrei Medar
efe48ccca6 Added unit tests. Cleaned up the code and added comments. Added README 2020-10-01 00:15:33 +00:00
Federico Stazi
2025cea89c
Fix formatting in README 2020-09-30 11:18:30 +01:00
Copybara-Service
d292a9af7b Merge pull request #52 from andreimedar:master
PiperOrigin-RevId: 334560525
Change-Id: I605ce78638ebfd7a88811879c4185bb4e107d915
2020-09-30 02:56:32 -07:00
Andrei Medar
525acea7c4 Fixed small typo 2020-09-29 22:58:35 +00:00
Andrei Medar
7e6872ee26 Added first basic test 2020-09-29 22:50:43 +00:00
Andrei Medar
95ef6fc683 Merge remote-tracking branch 'upstream/master'
Sync lodepng project.
2020-09-29 19:32:08 +00:00
Andrei Medar
815fd35930 removed computer specific line in CMakeLists.txt 2020-09-29 19:31:30 +00:00
Andrei Medar
267686afb6 Added test helper class 2020-09-29 19:27:40 +00:00
Federico Stazi
fec2124ee1 Add namespaces and improve error handling in examples 2020-09-29 13:50:13 +00:00