sandboxed-api/oss-internship-2020/curl
2020-09-18 14:17:06 +00:00
..
custom_curl Address review comments 2020-09-18 14:17:06 +00:00
examples Address review comments 2020-09-18 14:17:06 +00:00
.gitignore Added gitignore and curl submodule 2020-09-18 14:16:56 +00:00
CMakeLists.txt Improve comments 2020-09-18 14:17:06 +00:00
README.md Address review comments 2020-09-18 14:17:06 +00:00

Curl

This library is a sandboxed version of the original curl C library, implemented using sandboxed-api.

Supported methods

The library currently supports curl's Easy interface. According to curl's website:

The easy interface is a synchronous, efficient, quickly used and... yes, easy interface for file transfers. Numerous applications have been built using this.

However, all of the methods using function pointers, are not yet supported.

Examples

The examples directory contains the sandboxed versions of example source codes taken from this page on curl's website.

Implementation details

Variadic methods are currently not supported by sandboxed-api. Because of this, the sandboxed header custom_curl.h wraps the curl library and explicitly defines the variadic methods.

For example, instead of using curl_easy_setopt, one of these methods can be used: curl_easy_setopt_ptr, curl_easy_setopt_long or curl_easy_setopt_curl_off_t.