diff --git a/client/index.html b/client/index.html
index 9760e4c..8555276 100644
--- a/client/index.html
+++ b/client/index.html
@@ -6,7 +6,7 @@
diff --git a/client/libcurl/main.c b/client/libcurl/main.c
index 249cd24..4f5578a 100644
--- a/client/libcurl/main.c
+++ b/client/libcurl/main.c
@@ -19,9 +19,10 @@ void finish_request(CURLMsg *curl_msg);
CURLM *multi_handle;
int request_active = 0;
+struct curl_blob cacert_blob;
-int write_function(void *data, size_t size, size_t nmemb, DataCallback data_callback) {
- long real_size = size * nmemb;
+size_t write_function(void *data, size_t size, size_t nmemb, DataCallback data_callback) {
+ size_t real_size = size * nmemb;
char* chunk = malloc(real_size);
memcpy(chunk, data, real_size);
data_callback(chunk, real_size);
@@ -53,8 +54,7 @@ CURL* start_request(const char* url, const char* json_params, DataCallback data_
int prevent_cleanup = 0;
curl_easy_setopt(http_handle, CURLOPT_URL, url);
- curl_easy_setopt(http_handle, CURLOPT_CAINFO, "/cacert.pem");
- curl_easy_setopt(http_handle, CURLOPT_CAPATH, "/cacert.pem");
+ curl_easy_setopt(http_handle, CURLOPT_CAINFO_BLOB , cacert_blob);
//callbacks to pass the response data back to js
curl_easy_setopt(http_handle, CURLOPT_WRITEFUNCTION, &write_function);
@@ -195,7 +195,7 @@ void init_curl() {
curl_multi_setopt(multi_handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, 50L);
curl_multi_setopt(multi_handle, CURLMOPT_MAXCONNECTS, 40L);
- FILE* file = fopen("/cacert.pem", "wb");
- fwrite(_cacert_pem, 1, _cacert_pem_len, file);
- fclose(file);
+ cacert_blob.data = _cacert_pem;
+ cacert_blob.len = _cacert_pem_len;
+ cacert_blob.flags = CURL_BLOB_NOCOPY;
}
\ No newline at end of file
diff --git a/client/package.json b/client/package.json
index 80bfb0c..d85ef44 100644
--- a/client/package.json
+++ b/client/package.json
@@ -1,6 +1,6 @@
{
"name": "libcurl.js",
- "version": "0.3.6",
+ "version": "0.3.7",
"description": "An experimental port of libcurl to WebAssembly for use in the browser.",
"main": "libcurl.mjs",
"scripts": {
diff --git a/client/tools/brotli.sh b/client/tools/brotli.sh
index 1210f4b..c9cba4a 100755
--- a/client/tools/brotli.sh
+++ b/client/tools/brotli.sh
@@ -10,7 +10,7 @@ PREFIX=$(realpath build/brotli-wasm)
cd build
rm -rf brotli
-git clone -b master --depth=1 https://github.com/google/brotli
+git clone -b v1.1.0 --depth=1 https://github.com/google/brotli
cd brotli
emcmake cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./installed
diff --git a/client/tools/cjson.sh b/client/tools/cjson.sh
index acf7290..5cdfc1e 100755
--- a/client/tools/cjson.sh
+++ b/client/tools/cjson.sh
@@ -11,7 +11,7 @@ mkdir -p $PREFIX
cd build
rm -rf cjson
-git clone -b master --depth=1 https://github.com/DaveGamble/cJSON cjson
+git clone -b v1.7.17 --depth=1 https://github.com/DaveGamble/cJSON cjson
cd cjson
sed -i 's/-fstack-protector-strong//' Makefile
diff --git a/client/tools/curl.sh b/client/tools/curl.sh
index 7f4afa0..cf286a5 100755
--- a/client/tools/curl.sh
+++ b/client/tools/curl.sh
@@ -14,7 +14,7 @@ NGHTTP2_PREFIX=$(realpath build/nghttp2-wasm)
cd build
rm -rf curl
-git clone -b master --depth=1 https://github.com/curl/curl
+git clone -b curl-8_6_0 --depth=1 https://github.com/curl/curl
cd curl
autoreconf -fi
diff --git a/client/tools/nghttp2.sh b/client/tools/nghttp2.sh
index e9c86eb..58a5aba 100755
--- a/client/tools/nghttp2.sh
+++ b/client/tools/nghttp2.sh
@@ -10,7 +10,7 @@ PREFIX=$(realpath build/nghttp2-wasm)
cd build
rm -rf nghttp2
-git clone -b master --depth=1 https://github.com/nghttp2/nghttp2
+git clone -b v1.59.0 --depth=1 https://github.com/nghttp2/nghttp2
cd nghttp2
rm -rf $PREFIX
diff --git a/client/tools/openssl.sh b/client/tools/openssl.sh
index dc8a041..014f5c3 100755
--- a/client/tools/openssl.sh
+++ b/client/tools/openssl.sh
@@ -11,7 +11,7 @@ mkdir -p $PREFIX
cd build
rm -rf openssl
-git clone -b master --depth=1 https://github.com/openssl/openssl
+git clone -b openssl-3.2.1 --depth=1 https://github.com/openssl/openssl
cd openssl
export CFLAGS="-Wall -Oz"
diff --git a/client/tools/zlib.sh b/client/tools/zlib.sh
index 624246e..10c7bd1 100755
--- a/client/tools/zlib.sh
+++ b/client/tools/zlib.sh
@@ -10,7 +10,7 @@ PREFIX=$(realpath build/zlib-wasm)
cd build
rm -rf zlib
-git clone -b master --depth=1 https://github.com/madler/zlib
+git clone -b v1.3.1 --depth=1 https://github.com/madler/zlib
cd zlib
emconfigure ./configure --static