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.
Daniel Stenberg [Thu, 24 May 2007 20:58:25 +0000 (20:58 +0000)]
'mytx' in bug report #1723194 (http://curl.haxx.se/bug/view.cgi?id=1723194)
pointed out that the warnf() function in the curl tool didn't properly deal
with the cases when excessively long words were used in the string to chop
up.
Daniel Stenberg [Tue, 22 May 2007 19:51:44 +0000 (19:51 +0000)]
Andre Guibert de Bruet fixed a memory leak in the function that verifies the
peer's name in the SSL certificate when built for OpenSSL. The leak happens
for libcurls with CURL_DOES_CONVERSIONS enabled that fail to convert the CN
name from UTF8.
Daniel Stenberg [Fri, 18 May 2007 10:32:48 +0000 (10:32 +0000)]
Feng Tu reported that curl -w did wrong on TFTP transfers in
bug report #1715394 (http://curl.haxx.se/bug/view.cgi?id=1715394), and the
transfer-related info "variables" were indeed overwritten with zeroes wrongly
and have now been adjusted. The upload size still isn't accurate.
Dan Fandrich [Tue, 15 May 2007 00:36:56 +0000 (00:36 +0000)]
Added call to setvbuf (disabled by default for speed) to flush the
memdebug log file after every line and avoid losing the last few log
entries if curl crashes.
Dan Fandrich [Wed, 9 May 2007 18:24:27 +0000 (18:24 +0000)]
Kristian Gunstone fixed a problem where overwriting an uploaded file with
sftp didn't truncate it first, which would corrupt the file if the new
file was shorter than the old.
Daniel Stenberg [Tue, 8 May 2007 11:34:31 +0000 (11:34 +0000)]
CURLE_FTP_COULDNT_STOR_FILE is now known as CURLE_UPLOAD_FAILED. This is
because I just made SCP uploads return this value if the file size of
the upload file isn't given with CURLOPT_INFILESIZE*. Docs updated to
reflect this news, and a define for the old name was added to the public
header file.
Daniel Stenberg [Thu, 3 May 2007 20:50:07 +0000 (20:50 +0000)]
42. Daniel Black filed bug report #1705802 where he accurately mentions that
several FTP-SSL test cases fail when we build libcurl with NSS for TLS/SSL:
http://curl.haxx.se/bug/view.cgi?id=1705802