Commit Graph

3125 Commits

Author SHA1 Message Date
Daniel Stenberg
b61c06384a Jeff Pohlmeyer has been working with the hiperfifo.c example source code,
and while doing so it became apparent that the current timeout system for
the socket API really was a bit awkward since it become quite some work to
be sure we have the correct timeout set.

Jeff then provided the new CURLMOPT_TIMERFUNCTION that is yet another
callback the app can set to get to know when the general timeout time
changes and thus for an application like hiperfifo.c it makes everything a
lot easier and nicer. There's a CURLMOPT_TIMERDATA option too of course in
good old libcurl tradition.
2006-10-12 08:36:47 +00:00
Yang Tse
22307ae0ee Inclusion of time header files based on header existance 2006-10-12 03:57:33 +00:00
Yang Tse
e150150d9f Remove redundant __CYGWIN__ symbol check 2006-10-11 16:01:16 +00:00
Daniel Stenberg
1ce7b48057 mark the handle as no longer having a broken pipe when a transfer has failed 2006-10-10 14:23:34 +00:00
Daniel Stenberg
d390039873 minor indent fix 2006-10-09 21:24:50 +00:00
Daniel Stenberg
7d0c58a285 when going to completed due to error, mark the handle as not in a pipeline
anymore
2006-10-09 21:24:34 +00:00
Yang Tse
15e3dfe1d3 Compiler warning fix 2006-10-09 11:21:40 +00:00
Daniel Stenberg
a1de9367ec Bogdan Nicula's second test case (posted Sun, 08 Oct 2006) converted to test
case 535 and it now runs fine. Again a problem with the pipelining code not
taking all possible (error) conditions into account.
2006-10-09 06:58:05 +00:00
Yang Tse
eceb37bde2 Cygwin 1.5.21 needs this hack to pass test 160.
In this way 304 tests out of 304 reported OK.
2006-10-09 00:35:36 +00:00
Daniel Stenberg
1128029599 don't display or act on state changes that doesn't actually change state 2006-10-07 21:04:57 +00:00
Daniel Stenberg
befc30bc55 Bogdan Nicula's hanging test case was converted to test case 533 and the test
now runs fine.
2006-10-06 21:19:57 +00:00
Gunter Knauf
8547ab1663 updated for latest OpenSSL release. 2006-10-06 00:24:25 +00:00
Daniel Stenberg
552b963e6d Dmitriy Sergeyev provided an example source code that crashed CVS libcurl
but that worked nicely in 7.15.5. I converted it into test case 532 and
fixed the problem.
2006-10-04 21:11:08 +00:00
Daniel Stenberg
e2b48366d3 removed more dead code that is unused since the removal of the third party
transfer support
2006-10-02 13:00:54 +00:00
Daniel Stenberg
5e0d9aea32 Support for FTP third party transfers is now dropped 2006-09-30 20:31:11 +00:00
Daniel Stenberg
ae13c93b7d Reported in #1561470 (http://curl.haxx.se/bug/view.cgi?id=1561470), libcurl
would crash if a bad function sequence was used when shutting down after
using the multi interface (i.e using easy_cleanup after multi_cleanup) so
precautions have been added to make sure it doesn't any more - test case 529
was added to verify.
2006-09-28 21:26:06 +00:00
Daniel Stenberg
68e9f75708 As reported in bug: #1566077 the former URL mentioned in the generated cookie
jar has died and we now instead point out our own version of that
2006-09-27 21:00:45 +00:00
Yang Tse
15d8bb2105 Compiler warning fix 2006-09-25 00:54:32 +00:00
Yang Tse
b2ca777a08 Compiler warning fix 2006-09-25 00:16:23 +00:00
Yang Tse
ba01198e6c Compiler warning fix 2006-09-25 00:05:39 +00:00
Yang Tse
6ebd5e1761 Compiler warning fix 2006-09-24 23:55:53 +00:00
Daniel Stenberg
1fa3a5cce9 Cory Nelson made libcurl use the WSAPoll() function if built for Windows
Vista (_WIN32_WINNT >= 0x0600)
2006-09-24 10:41:00 +00:00
Daniel Stenberg
9cd928674f standard curl source code headers 2006-09-23 19:09:39 +00:00
Daniel Stenberg
3ea8a4d220 Dmitriy Sergeyev provided a patch that made the SOCKS[45] code work better as
it now will read the full data sent from servers. The SOCKS-related code was
also moved to the new lib/socks.c source file.
2006-09-23 19:07:20 +00:00
Daniel Stenberg
ab798fe5ba (FTP) a failed upload does not invalidate the control connection 2006-09-21 20:52:58 +00:00
Daniel Stenberg
ec4a16f2e0 Armel Asselin fixed problems when you gave a proxy URL with user name and
empty password or no password at all. Test case 278 and 279 were added to
verify.
2006-09-20 21:49:41 +00:00
Daniel Stenberg
71920d61e6 Michael Wallner's test program again help me track down a problem. This time
it basically was that we didn't remove the current connection from the pipe
list when following a redirect. Also in this commit: several cases of
additional debug code for debug builds helping to check and track down some
signs of run-time trouble.
2006-09-20 12:03:50 +00:00
Daniel Stenberg
2d5fc39d35 Resize the connection cache upwards when adding more handles than what
currently fits in the cache, to make the cache work better especially for
pipelining cases but also for "mere" (persistent) connection re-use.
2006-09-16 21:50:29 +00:00
Daniel Stenberg
c001ed53fa Armel Asselin - When the easy handle is removed from the multi while libcurl
is still trying to resolve the host name, it seems that the ftp struct is not
yet initialized, but the removal action calls Curl_done() which calls
Curl_ftp_done. So we simply return success from there if no ftp pointer is
set.
2006-09-16 20:57:59 +00:00
Daniel Stenberg
39e01e9349 file-local function should be static and not use Curl_ prefix!
Curl_signalPipeClose is now signalPipeClose().
2006-09-15 08:47:55 +00:00
Yang Tse
7d3e719a2c Compiler warning fix 2006-09-13 12:42:12 +00:00
Yang Tse
733a184ce0 Compiler warning fix 2006-09-12 23:51:01 +00:00
Daniel Stenberg
7c5745720a If the current connection doesn't fit to get added to the connection cache,
we certainly MUST NOT kill an active connection... Problem tracked down thanks
to Michael Wallner's excellent test program.
2006-09-11 20:50:58 +00:00
Daniel Stenberg
29dc39fce1 - Fixed my breakage from earlier today so that doing curl_easy_cleanup() on a
handle that is part of a multi handle first removes the handle from the
  stack.

- Added CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid to disable SSL
  session-ID re-use on demand since there obviously are broken servers out
  there that misbehave with session-IDs used.
2006-09-11 17:18:18 +00:00
Daniel Stenberg
5c184cfc0d stupid mistake rectified by Jeff Pohlmeyer 2006-09-11 11:25:47 +00:00
Yang Tse
055022a55f Compiler warning fix 2006-09-10 23:45:54 +00:00
Yang Tse
c30e908034 Compiler warning fix 2006-09-10 23:37:42 +00:00
Daniel Stenberg
8240cea628 Jeff Pohlmeyer presented a *multi_socket()-using program that exposed a
problem with it (SIGSEGV-style). It clearly showed that the existing
  socket-state and state-difference function wasn't good enough so I rewrote
  it and could then re-run Jeff's program without any crash. The previous
  version clearly could miss to tell the application when a handle changed
  from using one socket to using another.

  While I was at it (as I could use this as a means to track this problem
  down), I've now added a 'magic' number to the easy handle struct that is
  inited at curl_easy_init() time and cleared at curl_easy_cleanup() time that
  we can use internally to detect that an easy handle seems to be fine, or at
  least not closed or freed (freeing in debug builds fill the area with 0x13
  bytes but in normal builds we can of course not assume any particular data
  in the freed areas).
2006-09-10 22:15:32 +00:00
Daniel Stenberg
f2a33eb372 Added a useful debug function within #if 0. The function makes it easy to
"dump" a hash table which is useful when tracking problems with data stored
in one of our hashes.
2006-09-10 22:12:24 +00:00
Gisle Vanem
690888cfc1 SIGALARM -> SIGALRM. 2006-09-09 19:13:13 +00:00
Gisle Vanem
fb8d9b6645 #ifdef around alarmfunc() to supress warning. 2006-09-09 19:11:54 +00:00
Gisle Vanem
f7ddb39ee1 iconv-data needs to be fully reallocated (to prevent a double-free). 2006-09-09 18:23:29 +00:00
Gisle Vanem
f1ba12607a Duplicate iconv-data too in curl_easy_duphandle(). 2006-09-09 16:36:05 +00:00
Yang Tse
bb87b65f08 Compiler warning fix 2006-09-09 13:24:42 +00:00
Daniel Stenberg
b0f6e7cee4 Michele Bini fixed how the hostname is put in NTLM packages. As servers
don't expect fully qualified names we need to cut them off at the first dot.
2006-09-09 11:45:27 +00:00
Daniel Stenberg
ed72d4e104 tab => space 2006-09-09 11:45:05 +00:00
Daniel Stenberg
8ec1bfe897 Peter Sylvester cleaned up and fixed the getsockname() uses in ftp.c. Some
of them can be completetly removed though...
2006-09-08 22:17:39 +00:00
Gisle Vanem
1dec17562f signal() returns 'void (*)(int)'. 2006-09-08 13:06:41 +00:00
Gisle Vanem
be1306a6c2 Update comment reflecting structure change. 2006-09-08 12:17:58 +00:00
Gisle Vanem
0a670c578f Compilation fix; 'reqdata' is not a pointer. 'path' is part of SessionHandle. 2006-09-08 12:03:39 +00:00