Daniel Stenberg [Wed, 9 Feb 2005 13:06:40 +0000 (13:06 +0000)]
FTP code turned into state machine. Not completely yet, but a good start.
The tag 'before_ftp_statemachine' was set just before this commit in case
of future need.
Gisle Vanem [Wed, 9 Feb 2005 11:50:41 +0000 (11:50 +0000)]
Replace LF with CRLF. Ref RFC-2229, sec 2.3:
"Each command line must be terminated by a CRLF".
Daniel Stenberg [Tue, 8 Feb 2005 23:39:47 +0000 (23:39 +0000)]
-O clarification
Daniel Stenberg [Tue, 8 Feb 2005 19:07:28 +0000 (19:07 +0000)]
inflate and out of memory fixes
Daniel Stenberg [Tue, 8 Feb 2005 19:03:27 +0000 (19:03 +0000)]
ares_gethostbyname wants a 'ares_host_callback' in the 4th argument
Gisle Vanem [Tue, 8 Feb 2005 12:36:13 +0000 (12:36 +0000)]
Curl_addrinfo?_callback() and addrinfo_callback() now returns
CURLE_OK or CURLE_OUT_OF_MEMORY.
Add typecast in hostares.c.
Gisle Vanem [Tue, 8 Feb 2005 12:32:28 +0000 (12:32 +0000)]
Don't free too much in freedirs() if realloc() fails.
Daniel Stenberg [Tue, 8 Feb 2005 07:36:57 +0000 (07:36 +0000)]
Curl_wait_for_resolv() no longer disconnects on failure, but leaves that
operation to the caller. Disconnecting has the disadvantage that the conn
pointer gets completely invalidated and this is not handled on lots of places
in the code.
Dan Fandrich [Mon, 7 Feb 2005 19:12:37 +0000 (19:12 +0000)]
Fix for a bug report that compressed files that are exactly 64 KiB long
produce a zlib error.
Gisle Vanem [Sun, 6 Feb 2005 12:43:40 +0000 (12:43 +0000)]
Preserve previous status in Curl_http_done().
Daniel Stenberg [Sat, 5 Feb 2005 10:25:20 +0000 (10:25 +0000)]
valgrind errors occur too often when 'make test' is used. It is because too
many third-party libs and tools have problems. When curl is built without
--disable-shared, the testing is done with a front-end script which makes the
valgrind testing include (ba)sh as well and that often causes valgrind
errors. Either we improve the valgrind error scanner a lot to better identify
(lib)curl errors only, or we disable valgrind checking by default
Daniel Stenberg [Fri, 4 Feb 2005 23:53:12 +0000 (23:53 +0000)]
fix type
Daniel Stenberg [Fri, 4 Feb 2005 23:43:44 +0000 (23:43 +0000)]
Eric Vergnaud found a use of an uninitialized variable
Daniel Stenberg [Fri, 4 Feb 2005 13:42:41 +0000 (13:42 +0000)]
David Byron pointed out that this -1 on the buffer size is pointless since
the buffer is already BUFSIZE +1 one big to fit the extra trailing zero. This
change is reported to fix David's weird SSL problem...
Daniel Stenberg [Wed, 2 Feb 2005 19:25:49 +0000 (19:25 +0000)]
another example
Daniel Stenberg [Wed, 2 Feb 2005 19:25:37 +0000 (19:25 +0000)]
HTML parsing example with libtidy, by Jeff Pohlmeyer
Daniel Stenberg [Tue, 1 Feb 2005 08:46:06 +0000 (08:46 +0000)]
and we start over again
Daniel Stenberg [Tue, 1 Feb 2005 07:54:36 +0000 (07:54 +0000)]
7.13 coming up
Daniel Stenberg [Mon, 31 Jan 2005 20:03:01 +0000 (20:03 +0000)]
somewhat nicer libcurl usage
Daniel Stenberg [Mon, 31 Jan 2005 18:23:42 +0000 (18:23 +0000)]
htmltitle
Daniel Stenberg [Mon, 31 Jan 2005 18:22:40 +0000 (18:22 +0000)]
HTML <head> parsing (with libxml) example code by Lars Nilsson.
Daniel Stenberg [Sun, 30 Jan 2005 22:57:19 +0000 (22:57 +0000)]
four changes
Daniel Stenberg [Sun, 30 Jan 2005 22:54:06 +0000 (22:54 +0000)]
if the DO operation returns failure, bail out and close down nicely to
prevent memory leakage
Daniel Stenberg [Sun, 30 Jan 2005 13:26:12 +0000 (13:26 +0000)]
Let's add a cookie interface in 7.14
Daniel Stenberg [Sun, 30 Jan 2005 12:56:36 +0000 (12:56 +0000)]
Bugfixed the parser that scans the valgrind report outputs. I noticed that it
previously didn't detect and report the "Conditional jump or move depends on
uninitialised value(s)" error.
When I fixed this, I caught a few curl bugs with it. And then I had to spend
time to make the test suite IGNORE these errors when OpenSSL is used since it
produce massive amounts of valgrind warnings (but only of the "Conditional..."
kind it seems).
So, if a test that requires SSL is run, it ignores the "Conditional..."
errors, and you'll get a "valgrind PARTIAL" output instead of "valgrind OK".
Daniel Stenberg [Sun, 30 Jan 2005 12:53:05 +0000 (12:53 +0000)]
properly mark tests as requiring feature 'SSL'
Daniel Stenberg [Sun, 30 Jan 2005 12:42:15 +0000 (12:42 +0000)]
Use calloc() to save us the memset() call and terminate conn->host.name
properly, to avoid reading uninited variables when using file:// (valgrind)
Daniel Stenberg [Sat, 29 Jan 2005 23:46:27 +0000 (23:46 +0000)]
Clear the urlglob struct when allocated, since we might otherwise use
uninitialized variables. Pointed out to us by the friendly Valgrind.
Daniel Stenberg [Sat, 29 Jan 2005 22:38:45 +0000 (22:38 +0000)]
include "url.h" for the Curl_safefree() proto
Daniel Stenberg [Sat, 29 Jan 2005 22:31:06 +0000 (22:31 +0000)]
Using the multi interface, and doing a requsted a re-used connection that
gets closed just after the request has been sent failed and did not re-issue
a request on a fresh reconnect like the easy interface did. Now it does!
(define CURL_MULTIEASY, run test case 160)
Daniel Stenberg [Sat, 29 Jan 2005 22:26:38 +0000 (22:26 +0000)]
Define CURL_MULTIEASY when building this, to use my new curl_easy_perform()
that uses the multi interface to run the request. It is a great testbed for
the multi interface and I believe we shall do it this way for real in the
future when we have a successor to curl_multi_fdset().
Daniel Stenberg [Sat, 29 Jan 2005 13:54:15 +0000 (13:54 +0000)]
corrected the URL
Daniel Stenberg [Sat, 29 Jan 2005 13:07:16 +0000 (13:07 +0000)]
conn->ip_addr MUST NOT be used on re-used connections
Daniel Stenberg [Sat, 29 Jan 2005 13:06:31 +0000 (13:06 +0000)]
when using valgrind, include a much longer stack trace
Daniel Stenberg [Sat, 29 Jan 2005 12:01:20 +0000 (12:01 +0000)]
multi interface: when a request is denied due to "Maximum redirects followed"
libcurl leaked the last Location: URL.
Daniel Stenberg [Fri, 28 Jan 2005 23:21:24 +0000 (23:21 +0000)]
Connect failures with the multi interface was often returned as "connect()
timed out" even though the reason was different. Fixed this problem by not
setting this timeout to zero when using multi.
Daniel Stenberg [Fri, 28 Jan 2005 22:22:59 +0000 (22:22 +0000)]
adjusted to the moved unlock of the DNS entry
Daniel Stenberg [Fri, 28 Jan 2005 22:14:48 +0000 (22:14 +0000)]
KNOWN_BUGS #17 fixed. A DNS cache entry may not remain locked between two
curl_easy_perform() invokes. It was previously unlocked at disconnect, which
could mean that it remained locked between multiple transfers. The DNS cache
may not live as long as the connection cache does, as they are separate.
To deal with the lack of DNS (host address) data availability in re-used
connections, libcurl now keeps a copy of the IP adress as a string, to be able
to show it even on subsequent requests on the same connection.
Daniel Stenberg [Fri, 28 Jan 2005 08:26:36 +0000 (08:26 +0000)]
Stephen More pointed out that CURLOPT_FTPPORT and the -P option didn't work
when built ipv6-enabled. I've now made a fix for it. Writing test cases for
custom port strings turned too tricky so unfortunately there's none.
Daniel Stenberg [Thu, 27 Jan 2005 23:03:02 +0000 (23:03 +0000)]
test the EPRT/LPRT/PORT somewhat more
Daniel Stenberg [Thu, 27 Jan 2005 22:40:56 +0000 (22:40 +0000)]
Use the same work-around for the memdebug stuff as in the command line client,
to allow the contents of the env var decide the file name.
Daniel Stenberg [Thu, 27 Jan 2005 15:59:01 +0000 (15:59 +0000)]
a slightly involved work-around to prevent the debug-tracing from logging
a free-without-alloc as the first call
Daniel Stenberg [Thu, 27 Jan 2005 15:51:03 +0000 (15:51 +0000)]
Make the debug build get the debug dump file path from the environment
variable to allow the test suite to better control where it ends up.
Daniel Stenberg [Thu, 27 Jan 2005 12:59:40 +0000 (12:59 +0000)]
verify a part of the PORT line
Daniel Stenberg [Wed, 26 Jan 2005 23:18:31 +0000 (23:18 +0000)]
Make the server ignore the given PORT address, to make it possible to test
curl's -P option easier.
Daniel Stenberg [Wed, 26 Jan 2005 12:05:33 +0000 (12:05 +0000)]
added more official web and download mirrors
Daniel Stenberg [Wed, 26 Jan 2005 11:53:49 +0000 (11:53 +0000)]
new curlpp URL
Daniel Stenberg [Wed, 26 Jan 2005 11:53:12 +0000 (11:53 +0000)]
fixed sort, mention C, the java binding is now maintained by Vic Hanson
Daniel Stenberg [Tue, 25 Jan 2005 23:40:35 +0000 (23:40 +0000)]
add number to the bugs to make them easier to refer to
Daniel Stenberg [Tue, 25 Jan 2005 22:21:42 +0000 (22:21 +0000)]
two known bugs
Daniel Stenberg [Tue, 25 Jan 2005 22:13:12 +0000 (22:13 +0000)]
Ian Ford asked about support for the FTP command ACCT, and I discovered it is
present in RFC959... so now (lib)curl supports it as well. --ftp-account and
CURLOPT_FTP_ACCOUNT set the account string. (The server may ask for an account
string after PASS have been sent away. The client responds with "ACCT [account
string]".) Added test case 228 and 229 to verify the functionality. Updated
the test FTP server to support ACCT somewhat.
Daniel Stenberg [Tue, 25 Jan 2005 21:45:03 +0000 (21:45 +0000)]
A minor "syntax error" in numerous test files corrected
Daniel Stenberg [Tue, 25 Jan 2005 13:59:48 +0000 (13:59 +0000)]
new web mirror
Daniel Stenberg [Tue, 25 Jan 2005 12:06:12 +0000 (12:06 +0000)]
--protocols is added in 7.13.0
Daniel Stenberg [Tue, 25 Jan 2005 09:29:05 +0000 (09:29 +0000)]
David Shaw contributed a fairly complete and detailed autoconf macro you can
use to detect libcurl and setup variables for the protocols the installed
libcurl supports: docs/libcurl/libcurl.m4
Daniel Stenberg [Tue, 25 Jan 2005 00:06:29 +0000 (00:06 +0000)]
Use plain structs and not typedef'ed ones in the hash and linked-list code.
Daniel Stenberg [Sun, 23 Jan 2005 00:08:56 +0000 (00:08 +0000)]
two options less
Daniel Stenberg [Sat, 22 Jan 2005 22:43:04 +0000 (22:43 +0000)]
\fI marked \fP more function calls etc.
Daniel Stenberg [Sat, 22 Jan 2005 22:24:17 +0000 (22:24 +0000)]
If you're using libcurl as a win32 DLL, you MUST use the CURLOPT_WRITEFUNCTION
if you set CURLOPT_WRITEDATA - or you will experience crashes.
Daniel Stenberg [Sat, 22 Jan 2005 19:26:37 +0000 (19:26 +0000)]
next release will be 7.13.0
Daniel Stenberg [Sat, 22 Jan 2005 09:03:55 +0000 (09:03 +0000)]
added a few items I plan to do
Daniel Stenberg [Fri, 21 Jan 2005 09:32:32 +0000 (09:32 +0000)]
FTP third transfer support overhaul. See CHANGES for details.
Daniel Stenberg [Fri, 21 Jan 2005 08:56:04 +0000 (08:56 +0000)]
clarify the struct name for CURLOPT_HTTPPOST
Daniel Stenberg [Thu, 20 Jan 2005 22:48:43 +0000 (22:48 +0000)]
Added support for "verify" => "stripfile" to strip contents of the file that
is being checked.
Also made the server retrying sleep only one second instead of three, to reduce
some waiting when fooling around with the servers.
Daniel Stenberg [Thu, 20 Jan 2005 22:47:31 +0000 (22:47 +0000)]
Support file names passed to RETR that don't start with a number. In that
case, all non-numeric prefixing letters are cut off to figure out the test
number.
Daniel Stenberg [Thu, 20 Jan 2005 22:22:12 +0000 (22:22 +0000)]
Philippe Hameau found out that -Q "+[command]" didn't work, although some code
was written for it. I fixed and added test case 227 to verify it. The curl.1
man page didn't mention the '+' so I added it.
Daniel Stenberg [Thu, 20 Jan 2005 22:05:44 +0000 (22:05 +0000)]
add support for NOOP
Daniel Stenberg [Thu, 20 Jan 2005 14:24:56 +0000 (14:24 +0000)]
If you give a *_LARGE option you MUST make sure that the type of the passed-in
argument is a curl_off_t. If you use CURLOPT_INFILESIZE (without _LARGE) you
must make sure that to pass in a type 'long' argument. */
Daniel Stenberg [Wed, 19 Jan 2005 22:00:54 +0000 (22:00 +0000)]
added test226 too
Daniel Stenberg [Wed, 19 Jan 2005 21:56:02 +0000 (21:56 +0000)]
Stephan Bergmann made libcurl return CURLE_URL_MALFORMAT if an FTP URL
contains %0a or %0d in the user, password or CWD parts. (A future fix would
include doing it for %00 as well - see KNOWN_BUGS for details.) Test case 225
and 226 were added to verify this
Daniel Stenberg [Wed, 19 Jan 2005 18:05:56 +0000 (18:05 +0000)]
today's proxy fixes
Gisle Vanem [Wed, 19 Jan 2005 10:20:55 +0000 (10:20 +0000)]
Don't copy 'stderr' for Win-CE in IPv6 code. Don't call
GetCurrentProcess() twice; use a local variable.
Daniel Stenberg [Wed, 19 Jan 2005 10:09:15 +0000 (10:09 +0000)]
add a URL to an article about making Apache support PUT
Daniel Stenberg [Wed, 19 Jan 2005 09:36:44 +0000 (09:36 +0000)]
Stephan Bergmann pointed out two flaws in libcurl built with HTTP disabled:
1) the proxy environment variables are still read and used to set HTTP proxy
2) you couldn't disable http proxy with CURLOPT_PROXY (since the option was
disabled)
Daniel Stenberg [Tue, 18 Jan 2005 15:13:23 +0000 (15:13 +0000)]
skip sys/socket.h on windows CE
Daniel Stenberg [Tue, 18 Jan 2005 14:34:50 +0000 (14:34 +0000)]
check for errno.h
Daniel Stenberg [Tue, 18 Jan 2005 10:17:34 +0000 (10:17 +0000)]
Cody Jones' enhanced version of Samuel Díaz García's MSVC makefile patch.
Daniel Stenberg [Mon, 17 Jan 2005 20:20:34 +0000 (20:20 +0000)]
Add support for server 'ftp2' which is a second FTP server. Useful for 3rd
party transfer tests or tests that need two FTP servers.
Daniel Stenberg [Mon, 17 Jan 2005 19:49:12 +0000 (19:49 +0000)]
support the new --id command line option, that allows a second (or third or
whatever) instance to run without overwriting the previous' logfiles
Daniel Stenberg [Mon, 17 Jan 2005 14:57:21 +0000 (14:57 +0000)]
mention the name-prefix protocol guess thing
Daniel Stenberg [Mon, 17 Jan 2005 09:18:04 +0000 (09:18 +0000)]
updated the wording for -B/--use-ascii
Daniel Stenberg [Sun, 16 Jan 2005 08:51:52 +0000 (08:51 +0000)]
Alex aka WindEagle pointed out that when doing "curl -v dictionary.com", curl
assumed this used the DICT protocol. While guessing protocols will remain
fuzzy, I've now made sure that the host names must start with "[protocol]."
for them to be a valid guessable name. I also removed "https" as a prefix that
indicates HTTPS, since we hardly ever see any host names using that.
Daniel Stenberg [Sun, 16 Jan 2005 08:34:18 +0000 (08:34 +0000)]
mention --netrc in the -u description
Gisle Vanem [Sat, 15 Jan 2005 09:26:07 +0000 (09:26 +0000)]
errrno can by freak accident become EINTR on DOS or
Windows (unrelated to select). select() can never set errno
to EINTR on Windows.
Daniel Stenberg [Sat, 15 Jan 2005 09:21:51 +0000 (09:21 +0000)]
output better error detection, like when ipv6 can't resolve
Daniel Stenberg [Fri, 14 Jan 2005 13:43:29 +0000 (13:43 +0000)]
Added README.hostip
Daniel Stenberg [Fri, 14 Jan 2005 09:39:20 +0000 (09:39 +0000)]
verify the protocol too
Daniel Stenberg [Thu, 13 Jan 2005 21:51:48 +0000 (21:51 +0000)]
Inspired by Martijn Koster's patch and example source at
http://www.greenhills.co.uk/mak/gentoo/curl-eintr-bug.c, I now made the
select() and poll() calls properly loop if they return -1 and errno is
EINTR. glibc docs for this is found here:
http://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html
This last link says BSD doesn't have this "effect". Will there be a problem
if we do this unconditionally?
S: ----------------------------------------------------------------------
Gisle Vanem [Wed, 12 Jan 2005 15:32:41 +0000 (15:32 +0000)]
Added dependencies.
Gisle Vanem [Wed, 12 Jan 2005 15:32:26 +0000 (15:32 +0000)]
Added '-bd' option; target is a DLL.
Added dependencies.
Daniel Stenberg [Tue, 11 Jan 2005 22:26:00 +0000 (22:26 +0000)]
support for retrieving used IP addresses
Daniel Stenberg [Tue, 11 Jan 2005 20:22:44 +0000 (20:22 +0000)]
Dan Torop cleaned up a few no longer used variables from David Phillips'
select() overhaul fix.
Gisle Vanem [Tue, 11 Jan 2005 17:08:47 +0000 (17:08 +0000)]
Removed CURLTOOLDEBUG. It caused libcurl_wc.dll
to fail in mysterious ways.
Daniel Stenberg [Tue, 11 Jan 2005 15:25:29 +0000 (15:25 +0000)]
Renamed easy.h and multi.h to easyif.h and multiif.h to make sure they don't
shadow our public headers with the former names.
Gisle Vanem [Tue, 11 Jan 2005 14:59:24 +0000 (14:59 +0000)]
".\lib\easy.h" shadows for <curl/easy.h> in Watcom.
Force including ../include/curl/easy.h.
Gisle Vanem [Tue, 11 Jan 2005 14:52:42 +0000 (14:52 +0000)]
Fix '!if' expression.
Gisle Vanem [Tue, 11 Jan 2005 14:32:09 +0000 (14:32 +0000)]
".\lib\multi.h" shadows for <curl/multi.h> in Watcom.
Force including ../include/curl/multi.h.
Daniel Stenberg [Tue, 11 Jan 2005 14:00:45 +0000 (14:00 +0000)]
Cyrill Osterwalder posted a detailed analysis about a bug that occurs when
using a custom Host: header and curl fails to send a request on a re-used
persistent connection and thus creates a new connection and resends it. It
then sent two Host: headers. Cyrill's analysis was posted here:
http://curl.haxx.se/mail/archive-2005-01/0022.html
Daniel Stenberg [Mon, 10 Jan 2005 23:32:14 +0000 (23:32 +0000)]
Bruce Mitchener identified (bug report #
1099640) the never-ending SOCKS5
problem with the version byte and the check for bad versions. Bruce has lots
of clues on this, and based on his suggestion I've now removed the check of
that byte since it seems to be able to contain 1 or 5.
Daniel Stenberg [Mon, 10 Jan 2005 11:42:20 +0000 (11:42 +0000)]
Use Curl_easy_addmulti() to clear associations from easy handles to multi
handles. Include multi.h to get proto.