From 11626e48bfb1dbf265e7eba3777c77d5ab6bd72b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 26 Aug 2011 19:28:09 +0200 Subject: [PATCH] input/curl: implement a hard-coded timeout of 10 seconds Be sure to stop the operation at some point when the server isn't responding. --- NEWS | 1 + src/input/curl_input_plugin.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index b23c4a087..0bf08d0ab 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ ver 0.16.4 (2011/??/??) * apply follow_inside_symlinks to absolute symlinks * input: - curl: limit the receive buffer size + - curl: implement a hard-coded timeout of 10 seconds * decoder: - ffmpeg: workaround for semantic API change in recent ffmpeg versions - flac: validate the sample rate when scanning the tag diff --git a/src/input/curl_input_plugin.c b/src/input/curl_input_plugin.c index d6424c2c6..2c4ac2ff8 100644 --- a/src/input/curl_input_plugin.c +++ b/src/input/curl_input_plugin.c @@ -680,6 +680,9 @@ input_curl_easy_init(struct input_curl *c, GError **error_r) curl_easy_setopt(c->easy, CURLOPT_MAXREDIRS, 5); curl_easy_setopt(c->easy, CURLOPT_FAILONERROR, true); curl_easy_setopt(c->easy, CURLOPT_ERRORBUFFER, c->error); + curl_easy_setopt(c->easy, CURLOPT_NOPROGRESS, 1l); + curl_easy_setopt(c->easy, CURLOPT_NOSIGNAL, 1l); + curl_easy_setopt(c->easy, CURLOPT_CONNECTTIMEOUT, 10l); if (proxy != NULL) curl_easy_setopt(c->easy, CURLOPT_PROXY, proxy);