Daniel Stenberg [Mon, 25 Jun 2007 13:58:14 +0000 (13:58 +0000)]
Adjusted how libcurl treats HTTP 1.1 responses without content-lenth or
chunked encoding (that also lacks "Connection: close"). It now simply
assumes that the connection WILL be closed to signal the end, as that is how
RFC2616 section 4.4 point #5 says we should behave.
Daniel Stenberg [Sun, 24 Jun 2007 19:32:33 +0000 (19:32 +0000)]
As reported by "Tro" in http://curl.haxx.se/mail/lib-2007-06/0161.html and
http://curl.haxx.se/mail/lib-2007-06/0238.html, libcurl didn't properly do
no-body requests on FTP files on re-used connections properly, or at least
it didn't provide the info back in the header callback properly in the
subsequent requests.
Daniel Stenberg [Thu, 21 Jun 2007 14:23:38 +0000 (14:23 +0000)]
Gerrit Bruchhäuser pointed out a warning that the Intel(R) Thread Checker
tool reports and it was indeed a legitimate one and it is one fixed. It was
a use of a share without doing the proper locking first.
Daniel Stenberg [Wed, 20 Jun 2007 21:57:28 +0000 (21:57 +0000)]
Adam Piggott filed bug report #1740263
(http://curl.haxx.se/bug/view.cgi?id=1740263). Adam discovered that when
getting a large amount of URLs with curl, they were fetched slower and
slower... which turned out to be because the --libcurl data collecting which
wrongly always was enabled, but no longer is...
Daniel Stenberg [Mon, 18 Jun 2007 21:09:32 +0000 (21:09 +0000)]
Robson Braga Araujo filed bug report #1739100
(http://curl.haxx.se/bug/view.cgi?id=1739100) that mentioned that libcurl
could not actually list the contents of the root directory of a given FTP
server if the login directory isn't root. I fixed the problem and added three
test cases (one is disabled for now since I identified KNOWN_BUGS #44, we
cannot use --ftp-method nocwd and list ftp directories).
Daniel Stenberg [Mon, 18 Jun 2007 21:04:05 +0000 (21:04 +0000)]
Test listing of root dir with the three ftp-methods. KNOWN_BUGS #44 make me
disable test 351 by default by I add the test case anyway to make it easier
to work on this problem in the future.
Daniel Stenberg [Thu, 14 Jun 2007 11:21:48 +0000 (11:21 +0000)]
Make our own definitions of the POLL* defiens and the pollfd struct only get
done if the sys/poll.h file is missing, as we have seen machines with poll()
present but without the header file and machines that don't get HAVE_POLL
defined but that do have the sys/poll.h header file...
James Housley [Thu, 14 Jun 2007 10:36:53 +0000 (10:36 +0000)]
BUG FIX: When reading a directory listing that contains symlinks
with the latest libssh2, the listing would be truncated at the symlink.
Fix by looping on LIBSSH2_ERROR_EAGAIN, like the rest of the calls.
Daniel Stenberg [Wed, 13 Jun 2007 20:17:35 +0000 (20:17 +0000)]
Tom Regner provided a patch and worked together with James Housley, so now
CURLOPT_FTP_CREATE_MISSING_DIRS works for SFTP connections as well as FTP
ones.
Daniel Stenberg [Wed, 13 Jun 2007 20:08:19 +0000 (20:08 +0000)]
Rich Rauenzahn filed bug report #1733119
(http://curl.haxx.se/bug/view.cgi?id=1733119) and we collaborated on the fix.
The problem is that for 64bit HPUX builds, several socket-related functions
would still assume int (32 bit) arguments and not socklen_t (64 bit) ones.
James Housley [Wed, 13 Jun 2007 12:15:23 +0000 (12:15 +0000)]
Commit Tom Regner's code for SFTP create missing directories. This patch
uses the --ftp-create-dirs flag to control if cURL will try and create
directories that are specified in an upload path, but don't exist.
Daniel Stenberg [Tue, 12 Jun 2007 21:39:21 +0000 (21:39 +0000)]
With lots of help from Rich Rauenza(?) in bug #1733119, we introduce a fairly
complicated work-around for 64bit HPUX compiles. We do the fix using inline
static functions to make them follow the header file properly and thus get
used fine in the test suite too etc.
James Housley [Tue, 12 Jun 2007 16:15:20 +0000 (16:15 +0000)]
While connect and transfer works fine in non-blocking mode for the test
suite, transfer fails in the real world. So after connect set to blocking
as full non-blocking is migrated out.
Dan Fandrich [Mon, 11 Jun 2007 17:53:10 +0000 (17:53 +0000)]
Wait longer for servers to start up since the ssh server needs to generate
keys the first time (which can take a while on a slow or loaded host).
Enforce a longer startup wait time for the ssh client SOCKS server, too.
Check for an error code from startnew() when starting any server.
James Housley [Fri, 8 Jun 2007 16:02:57 +0000 (16:02 +0000)]
Fix to work with the latest CVS version of libssh2
* As of (LIBSSH2_APINO >= 200706012030) there are not *nb() functions
* As of (LIBSSH2_APINO >= 200706012030) most libssh2_*() functions
can return LIBSSH2_ERROR_EAGAIN to indicate that the call would block.
To make the code work as previously, blocking, all the code has been
updated so that when (LIBSSH2_APINO >= 200706012030) it loops simulating
blocking. This allows the existing code to function and not hold up
the upcoming release.
Daniel Stenberg [Thu, 7 Jun 2007 21:47:29 +0000 (21:47 +0000)]
Daniel S (6 June 2007)
- -s/--silent can now be used to toggle off the silence again if used a second
time.
Daniel S (5 June 2007)
- Added Daniel Black's work that adds the first few SOCKS test cases. I also
fixed two minor SOCKS problems to make the test cases run fine.
Dan Fandrich [Thu, 7 Jun 2007 21:42:33 +0000 (21:42 +0000)]
Renamed the sshd log file to sshd.log.
Added more options to the ssh config file to improve the consistency of
the test environment.
Force a rewrite of the ssh config files on every invocation.
Changed the opens to work on older versions of perl.
Daniel Stenberg [Thu, 31 May 2007 11:34:32 +0000 (11:34 +0000)]
When transferring 500 downloads in parallel with a c-ares enabled build only
to find that it crashed miserably, and this was due to some select()isms left
in the code. This was due to API restrictions in c-ares 1.3.x, but with the
upcoming c-ares 1.4.0 this is no longer the case so now libcurl runs much
better with c-ares and the multi interface with > 1024 file descriptors in
use.
Daniel Stenberg [Wed, 30 May 2007 20:04:44 +0000 (20:04 +0000)]
Added CURLMOPT_MAXCONNECTS which is a curl_multi_setopt() option for setting
the maximum size of the connection cache maximum size of the multi handle.
Daniel Stenberg [Wed, 30 May 2007 12:58:47 +0000 (12:58 +0000)]
added ares_process_fd() to allow applications to ask for processing on
specific sockets and thus avoiding select() and associated functions/macros.
This function will be used by upcoming libcurl releases for this very
reason. It also made me export the ares_socket_t type in the public ares.h
header file, since ares_process_fd() uses that type for two of the arguments.
Daniel Stenberg [Sat, 26 May 2007 22:09:08 +0000 (22:09 +0000)]
When working with a problem Stefan Becker had, I found an off-by-one buffer
overwrite in Curl_select(). While fixing it, I also improved its performance
somewhat by changing calloc to malloc and breaking out of a loop earlier
(when possible).
Daniel Stenberg [Sat, 26 May 2007 22:02:29 +0000 (22:02 +0000)]
Primarily this fixes an off-by-one buffer overwrite (rare but still existing).
I also switched from calloc() to malloc() as a minor performance boost since
the rest of the code fills in the structs fine anyway - and they must for the
case when we use the stack-based auto variable array instead of the allocated
one.
I made the loop filling in poll_fds[] break when poll_nfds is reached as a
minor speed improvement.
Daniel Stenberg [Fri, 25 May 2007 21:56:27 +0000 (21:56 +0000)]
Rob Crittenden fixed bug #1705802
(http://curl.haxx.se/bug/view.cgi?id=1705802), which was filed by Daniel
Black identifying several FTP-SSL test cases fail when we build libcurl with
NSS for TLS/SSL. Listed as #42 in KNOWN_BUGS.