diff options
author | Jan-Michael Brummer <jan.brummer@tabos.org> | 2023-02-06 08:54:31 +0100 |
---|---|---|
committer | Jan-Michael Brummer <jan.brummer@tabos.org> | 2023-03-27 16:31:58 +0200 |
commit | 09587d08d2f0013adcfe0026cc37c74e9e1b628b (patch) | |
tree | 02bd757b479b6ef09a6993a18713ad4b7da7d355 | |
parent | 89fecc5a95ed64dc590e203f3dc3bef70313345d (diff) | |
download | libproxy-git-09587d08d2f0013adcfe0026cc37c74e9e1b628b.tar.gz |
Set curl options to fix recursive calls (#45)
Set various curl options to ensure we are not calling back to libproxy
and also improve timeout handling and identification.
-rw-r--r-- | src/backend/plugins/download-curl/download-curl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/plugins/download-curl/download-curl.c b/src/backend/plugins/download-curl/download-curl.c index 924153f..d848795 100644 --- a/src/backend/plugins/download-curl/download-curl.c +++ b/src/backend/plugins/download-curl/download-curl.c @@ -71,9 +71,18 @@ px_download_curl_download (PxDownload *download, if (!self->curl) self->curl = curl_easy_init (); + if (!self->curl) + return NULL; + if (g_str_has_prefix (url, "pac+")) url += 4; + curl_easy_setopt (self->curl, CURLOPT_NOSIGNAL, 1); + curl_easy_setopt (self->curl, CURLOPT_FOLLOWLOCATION, 1); + curl_easy_setopt (self->curl, CURLOPT_NOPROXY, "*"); + curl_easy_setopt (self->curl, CURLOPT_CONNECTTIMEOUT, 30); + curl_easy_setopt (self->curl, CURLOPT_USERAGENT, "libproxy"); + curl_easy_setopt (self->curl, CURLOPT_URL, url); curl_easy_setopt (self->curl, CURLOPT_WRITEFUNCTION, store_data); curl_easy_setopt (self->curl, CURLOPT_WRITEDATA, byte_array); |