Thread (33 messages) flat view 33 messages, 9 authors, 2016-06-15

Re: [PATCH] Work around curl-gnutls not liking to be reinitialized

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:11

Hi,

On Fri, 8 Feb 2008, Mike Hommey wrote:
quoted
 In the end, it was a bit of git's fault, but either curl or gnutls is 
 the actual culprit. I've not looked into either code to find out 
 who's responsible, but a very simplified testcase is as follows:

	#include <curl/curl.h>
	#include <curl/easy.h>

	int main(void) {
	        CURL *easy = curl_easy_init();
	        curl_easy_setopt(easy, CURLOPT_VERBOSE, 1);
	        curl_easy_setopt(easy, CURLOPT_URL, "https://www.verisign.com/");
	        curl_easy_perform(easy);
	        curl_global_cleanup();
	        easy = curl_easy_init();
	        curl_easy_setopt(easy, CURLOPT_VERBOSE, 1);
	        curl_easy_setopt(easy, CURLOPT_URL, "https://www.verisign.com/");
	        curl_easy_perform(easy);
	}

	(build with gcc -o test test.c -lcurl)
	(note curl_easy_init does curl_global_init behind the curtains, 
     even the second time. You can convince yourself by adding
	 curl_global_init(CURL_GLOBAL_ALL);)
And the winner is... curl !
The bug was introduced in this commit:
http://cool.haxx.se/cvs.cgi/curl/lib/gtls.c.diff?r1=1.26&r2=1.27
Note how gtls_inited is not set back to FALSE in cleanup.
Wow.  I hope you used "git bisect", in order to spare you unnecessary 
work...
This ended up released in 7.16.3. I'm filing a bug.
Thanks for being so persistent.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help