From 7735141e73a56810daf4b0727fb932f69386ce45 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 31 Aug 2012 23:23:40 +0200 Subject: test2032: bail out after last transfer The test would hang and get aborted with a "ABORTING TEST, since it seems that it would have run forever." until I prevented that from happening. I also fixed the data file which got broken CRLF line endings when I sucked down the path from Joe's repo == my fault. Removed #37 from KNOWN_BUGS as this fix and test case verifies exactly this. --- docs/KNOWN_BUGS | 7 ------- tests/data/test2032 | 40 ++++++++++++++++++++-------------------- tests/libtest/libntlmconnect.c | 10 ++++++++++ 3 files changed, 30 insertions(+), 27 deletions(-) diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS index 6e207789c..4601d48da 100644 --- a/docs/KNOWN_BUGS +++ b/docs/KNOWN_BUGS @@ -134,13 +134,6 @@ may have been fixed since this was written! 38. Kumar Swamy Bhatt's problem in ftp/ssl "LIST" operation: http://curl.haxx.se/mail/lib-2007-01/0103.html -37. Having more than one connection to the same host when doing NTLM - authentication (with performs multiple "passes" and authenticates a - connection rather than a HTTP request), and particularly when using the - multi interface, there's a risk that libcurl will re-use a wrong connection - when doing the different passes in the NTLM negotiation and thus fail to - negotiate (in seemingly mysterious ways). - 35. Both SOCKS5 and SOCKS4 proxy connections are done blocking, which is very bad when used with the multi interface. diff --git a/tests/data/test2032 b/tests/data/test2032 index 4e1f230d9..5a9e4a2fd 100644 --- a/tests/data/test2032 +++ b/tests/data/test2032 @@ -118,26 +118,26 @@ chkhostname curlhost ^User-Agent:.* -GET /20320100 HTTP/1.1 -Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= -Host: 127.0.0.1:8990 -Accept: */* - -GET /20320100 HTTP/1.1 -Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= -Host: 127.0.0.1:8990 -Accept: */* - -GET /20320200 HTTP/1.1 -Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= -Host: 127.0.0.1:8990 -Accept: */* - -GET /20320200 HTTP/1.1 -Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q= -Host: 127.0.0.1:8990 -Accept: */* - +GET /20320100 HTTP/1.1 +Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= +Host: 127.0.0.1:8990 +Accept: */* + +GET /20320100 HTTP/1.1 +Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= +Host: 127.0.0.1:8990 +Accept: */* + +GET /20320200 HTTP/1.1 +Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= +Host: 127.0.0.1:8990 +Accept: */* + +GET /20320200 HTTP/1.1 +Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q= +Host: 127.0.0.1:8990 +Accept: */* + diff --git a/tests/libtest/libntlmconnect.c b/tests/libtest/libntlmconnect.c index 8486f3c31..0ef8fc03f 100644 --- a/tests/libtest/libntlmconnect.c +++ b/tests/libtest/libntlmconnect.c @@ -207,6 +207,9 @@ int test(char *url) /* At this point, timeout is guaranteed to be greater or equal than -1. */ + fprintf(stderr, "%s:%d num_handles %d timeout %ld\n", + __FILE__, __LINE__, num_handles, timeout); + if(timeout != -1L) { interval.tv_sec = timeout/1000; interval.tv_usec = (timeout%1000)*1000; @@ -214,6 +217,13 @@ int test(char *url) else { interval.tv_sec = TEST_HANG_TIMEOUT/1000+1; interval.tv_usec = 0; + + /* if there's no timeout and we get here on the last handle, we may + already have read the last part of the stream so waiting makes no + sense */ + if(num_handles == 3) { + break; + } } select_test(maxfd+1, &fdread, &fdwrite, &fdexcep, &interval); -- cgit v1.2.3