diff --git a/ChangeLog b/ChangeLog index 48bb761f7..77fd48cff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +Sat Feb 23 14:47:12 CET 2019 + Actually disable 100 CONTINUE. -CG + Sun Aug 19 15:15:48 CEST 2018 Increase various limits and rework transaction scopes to improve scalability. -CG diff --git a/src/lib/exchange_api_curl_defaults.c b/src/lib/exchange_api_curl_defaults.c index 1a25e564e..3ac1dfdbe 100644 --- a/src/lib/exchange_api_curl_defaults.c +++ b/src/lib/exchange_api_curl_defaults.c @@ -55,26 +55,5 @@ TEL_curl_easy_get (const char *url) CURLOPT_TCP_FASTOPEN, 1L)); #endif - { - /* Unfortunately libcurl needs chunk to be alive until after - curl_easy_perform. To avoid manual cleanup, we keep - one static list here. */ - static struct curl_slist *chunk = NULL; - if (NULL == chunk) - { - /* With POST requests, we do not want to wait for the - "100 Continue" response, as our request bodies are usually - small and directy sending them saves us a round trip. - - Clearing the expect header like this disables libcurl's - default processing of the header. - - Disabling this header is safe for other HTTP methods, thus - we don't distinguish further before setting it. */ - chunk = curl_slist_append (chunk, "Expect:"); - } - GNUNET_assert (CURLE_OK == curl_easy_setopt (eh, CURLOPT_HTTPHEADER, chunk)); - } - return eh; } diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c index 158afd56f..986bcc4c1 100644 --- a/src/lib/exchange_api_handle.c +++ b/src/lib/exchange_api_handle.c @@ -1740,7 +1740,10 @@ TALER_EXCHANGE_connect TALER_LOG_DEBUG ("Connecting to the exchange (%s)\n", url); - + /* Disable 100 continue processing */ + GNUNET_break (GNUNET_OK == + GNUNET_CURL_append_header (ctx, + "Expect:")); exchange = GNUNET_new (struct TALER_EXCHANGE_Handle); exchange->ctx = ctx; exchange->url = GNUNET_strdup (url);