On Fri, Apr 16, 2010 at 03:41:32PM +0200, Daniel Stenberg wrote: > On Thu, 15 Apr 2010, Jerome Vouillon wrote: > > >This patch improves the GnuTLS back-end to make the SSL connection > >phase non-blocking when the multi interface is used. > > GREAT! Many thanks for this improvement. When trying it out, I > noticed that our tests all failed when we built with GnuTLS which > made suspect you didn't try the test suite yet? I fixed that > particular problem, but now with your patch applied I get this: [...] > $ ./runtests -g 305 [...] > Program received signal SIGSEGV, Segmentation fault.
Indeed, I made some tests but did not thought of running the test suite. With the attached fix, all the tests go through. -- Jerome
>From 8a38b157d10b82d2c4888dd09d6e251aba8a9a5f Mon Sep 17 00:00:00 2001 From: Jerome Vouillon <[email protected]> Date: Fri, 16 Apr 2010 22:03:33 +0200 Subject: [PATCH 2/2] Correctly propagate failures --- lib/gtls.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/gtls.c b/lib/gtls.c index 6b09280..4f5edaf 100644 --- a/lib/gtls.c +++ b/lib/gtls.c @@ -682,8 +682,11 @@ gtls_connect_common(struct connectdata *conn, struct ssl_connect_data *connssl = &conn->ssl[sockindex]; /* Initiate the connection, if not already done */ - if(ssl_connect_1==connssl->connecting_state) - gtls_connect_step1 (conn, sockindex); + if(ssl_connect_1==connssl->connecting_state) { + rc = gtls_connect_step1 (conn, sockindex); + if(rc) + return rc; + } rc = handshake(conn, sockindex, TRUE, nonblocking); if(rc) -- 1.7.0
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
