From a714bdb0ce3ad43b827f0ffba009606bee1a6cdb Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Mon, 23 Dec 2019 14:41:06 +0100
Subject: [PATCH] lib/curl: drop support for CURL versions older than 7.32.0

For simplicity, this commit removes a workaround for an old CURL bug.
---
 NEWS                     |  1 +
 src/lib/curl/Global.hxx  | 10 ----------
 src/lib/curl/Request.cxx |  7 -------
 src/lib/curl/meson.build |  2 +-
 4 files changed, 2 insertions(+), 18 deletions(-)

diff --git a/NEWS b/NEWS
index 3e48c90e6..516148047 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ ver 0.21.18 (not yet released)
   - alsa: fix hang bug with ALSA "null" outputs
 * storage
   - curl: fix crash bug
+* drop support for CURL versions older than 7.32.0
 * reduce unnecessary CPU wakeups
 
 ver 0.21.17 (2019/12/16)
diff --git a/src/lib/curl/Global.hxx b/src/lib/curl/Global.hxx
index d2866c3e9..0a8067fa2 100644
--- a/src/lib/curl/Global.hxx
+++ b/src/lib/curl/Global.hxx
@@ -74,16 +74,6 @@ public:
 		SocketAction(CURL_SOCKET_TIMEOUT, 0);
 	}
 
-	/**
-	 * This is a kludge to allow pausing/resuming a stream with
-	 * libcurl < 7.32.0.  Read the curl_easy_pause manpage for
-	 * more information.
-	 */
-	void ResumeSockets() {
-		int running_handles;
-		curl_multi_socket_all(multi.Get(), &running_handles);
-	}
-
 private:
 	void UpdateTimeout(long timeout_ms) noexcept;
 	static int TimerFunction(CURLM *global, long timeout_ms,
diff --git a/src/lib/curl/Request.cxx b/src/lib/curl/Request.cxx
index 7714712fd..a72fde549 100644
--- a/src/lib/curl/Request.cxx
+++ b/src/lib/curl/Request.cxx
@@ -30,7 +30,6 @@
 #include "config.h"
 #include "Request.hxx"
 #include "Global.hxx"
-#include "Version.hxx"
 #include "Handler.hxx"
 #include "event/Call.hxx"
 #include "util/RuntimeError.hxx"
@@ -124,12 +123,6 @@ CurlRequest::Resume() noexcept
 
 	curl_easy_pause(easy.Get(), CURLPAUSE_CONT);
 
-	if (IsCurlOlderThan(0x072000))
-		/* libcurl older than 7.32.0 does not update
-		   its sockets after curl_easy_pause(); force
-		   libcurl to do it now */
-		global.ResumeSockets();
-
 	global.InvalidateSockets();
 }
 
diff --git a/src/lib/curl/meson.build b/src/lib/curl/meson.build
index 4d9f534e9..b6d015d14 100644
--- a/src/lib/curl/meson.build
+++ b/src/lib/curl/meson.build
@@ -1,4 +1,4 @@
-curl_dep = dependency('libcurl', version: '>= 7.18', required: get_option('curl'))
+curl_dep = dependency('libcurl', version: '>= 7.32', required: get_option('curl'))
 conf.set('ENABLE_CURL', curl_dep.found())
 if not curl_dep.found()
   subdir_done()