mirror of
https://github.com/moparisthebest/curl
synced 2024-11-08 02:25:06 -05:00
1011 lines
43 KiB
Plaintext
1011 lines
43 KiB
Plaintext
_ _ ____ _
|
|
___| | | | _ \| |
|
|
/ __| | | | |_) | |
|
|
| (__| |_| | _ <| |___
|
|
\___|\___/|_| \_\_____|
|
|
|
|
Changelog
|
|
|
|
Daniel (11 May 2004)
|
|
- Based on Luca Alteas' comments, I modified the curllib.dsp generation code.
|
|
|
|
Daniel (10 May 2004)
|
|
- Gisle mailed Simon Josefsson (of libidn fame) about the benefits of a
|
|
separate free()-function by that lib to make sure the memory is freed by the
|
|
same memory subsystem that allocated it. He responded positively and this
|
|
will likely cause us to require a newer version of libidn as soon as Simon
|
|
releases one with such a libidn_free() function.
|
|
|
|
- James Bursa made runtests.pl's -t option work for any given test case, and I
|
|
edited to allow -g too. Not even test case 1 worked...
|
|
|
|
- Luca Altea made the nc= field not use quotes in outgoing HTTP Digest headers.
|
|
|
|
- Andrés García fixed a problem in the test script that made it fail to
|
|
recognize our own running HTTP server.
|
|
|
|
Daniel (7 May 2004)
|
|
- James Bursa fixed the memanalyze.pl script to conder malloc(0) areas OK to
|
|
free() and he made two failed-resolve error messages use the new display-
|
|
name instead of the internally-used name.
|
|
|
|
- Gisle Vanem tried curl with
|
|
www.etdomenenavnkanmaksimaltinneholdesekstitrebokstaversliksomdette.com
|
|
which caused problems, and I fixed the single zero byte buffer overwrite
|
|
that occurred (due to a stupid protocol buffer size and parser).
|
|
|
|
- Made the lib/curllib.dsp file get generated automaticly when a distribution
|
|
package is made, with the msvcproj.* files as templates and all
|
|
win32-sources added. I think this can be made to work better than the always
|
|
lagging-behind previous approach. I'm not sure this builds a working project
|
|
file right now though!
|
|
|
|
Daniel (6 May 2004)
|
|
- Michael Benedict brought a fix that fills in the errorbuffer properly when
|
|
ares fails to resolve a name for a case not previously dealt with like this.
|
|
|
|
Daniel (5 May 2004)
|
|
- Joe Halpin fixed the annoying typecast warning in lib/ldap.c
|
|
|
|
- Gisle Vanem fixes:
|
|
o memdebug to not access NULL on several places
|
|
o libcurl.def; curl_formparse is gone.
|
|
o progress.c; fixed the percent values being trunced to 0.
|
|
o if2ip.*; constified the 'interface' argument.
|
|
|
|
- Tor Arntsen reported that many of his autobuilds froze and I found and fixed
|
|
a problem introduced with the HTTP auth overhaul that could lead to a
|
|
never-ending internal request-loop due to un-initialized variables!
|
|
|
|
- Removed several compiler warnings on various compilers/platforms.
|
|
|
|
Daniel (4 May 2004)
|
|
- curl_formparse() has been removed from the library. It has been marked and
|
|
mentioned as deprecated for several years.
|
|
|
|
Daniel (3 May 2004)
|
|
- Rewritten HTTP authentication code. The previous code could not properly
|
|
deal with the added test cases 167, 168 and 169. I've now rewritten the code
|
|
to better separate host and proxy authentication and not re-use the same
|
|
variables as much as before as it proved non working in the more involved
|
|
cases. All the current tests run OK now, and so do the new ones. The curl
|
|
tool got a new option named --proxy-digest to enable HTTP Digest
|
|
authentication with the proxy. I also made the library support it.
|
|
|
|
- Gisle Vanem made the LDAP code work with wldap32.dll as supplied with
|
|
Win-98/ME/2000/XP, so no extra .dlls are required when curl/libcurl is used
|
|
on these Windows versions.
|
|
|
|
Daniel (30 April 2004)
|
|
- runtests.pl now scans the valgrind log for valgrind-detected memory leaks
|
|
after each test case if valgrind was found and used.
|
|
|
|
- I modified the app-code in curl to include the new lib/curlx.h and only
|
|
access those functions using the curlx_-prefix in preparation for the future
|
|
removal of several curl_-functions from the public libcurl API.
|
|
|
|
- Introduced lib/curlx.h as a single header to provide the curlx_-functions
|
|
to apps.
|
|
|
|
- Added notices in the man pages for curl_getenv, curl_mprintf, curl_strequal
|
|
and curl_strnequal that they are subject for removal in a future release.
|
|
STOP USING THESE FUNCTIONS.
|
|
|
|
- Mihai Ionescu noticed he couldn't do formposts with whitespace in the file
|
|
names and yes, I broke that on April 23. Sigh. I fixed it now and added
|
|
test case 166 to verify it.
|
|
|
|
- Luca Altea pointed out a mistake left from the Digest patch of yesterday.
|
|
|
|
Daniel (29 April 2004)
|
|
- Made IDN domains work when sending requsts over HTTP proxy as well. Added
|
|
test case 165 to verify the functionality.
|
|
|
|
- Fixed a bug in the new internal host name setup when re-using connections.
|
|
|
|
- James Bursa found out that curl_easy_duphandle() with ares-built libcurl
|
|
created a bad handle that would crash in the first name resolve attempt. This
|
|
is now fixed and test case 512 was added to verify it.
|
|
|
|
- Luca Altea provided a major HTTP Digest code fix and cleanup. We now follow
|
|
the Digest RFC a lot better.
|
|
|
|
- Gisle Vanem made the SSL code use ERR_error_string_n() where applicable.
|
|
|
|
Daniel (27 April 2004)
|
|
- I remodeled Gisle's IDN code slightly and now we convert both the host name
|
|
and proxy name to the ACE encoded version to use internally for resolves and
|
|
cookies etc. They are now using one 'struct hostname' each that keep both
|
|
the original name and the possibly encoded name. IDN resolves work for me
|
|
now using ipv6, ipv4 and ares resolving. Even cookies on IDN sites seem to
|
|
do right. I got some failures at first when CHARSET wasn't set at all which
|
|
confused libidn completely and it decided by encoding of choice was
|
|
'ANSI_X3.4-1968'...
|
|
|
|
- made 'configure --without-libidn' work
|
|
|
|
Daniel (25 April 2004)
|
|
- Fixed the src/hugehelp.c file to include "setup.h" instead of "config.h" to
|
|
make the problems with USE_MANUAL on windows go away.
|
|
|
|
- configure --without-ssl could still wrongly include some OpenSSL info in the
|
|
Makefiles if pkg-config had info about OpenSSL. Bug #941762 reported by
|
|
Martin.
|
|
|
|
- Since we can now build and use quite a large set of 3rd party libraries, I
|
|
decided I would make configure produce a summary at the end showing what
|
|
libraries it uses and if not, what option to use to make it use that. I also
|
|
added some other random info that is nice in a "configure summary" output.
|
|
|
|
- Applied TommyTam's patch that now make curl work with telnet and stdin
|
|
properly on Windows.
|
|
|
|
- The changes for today below were made by me and Gisle Vanem.
|
|
|
|
The file previously known as hostip.c has now undergone a huge cleanup and
|
|
split:
|
|
|
|
hostip.c explained
|
|
==================
|
|
|
|
The main COMPILE-TIME DEFINES to keep in mind when reading the host*.c
|
|
source file are these:
|
|
|
|
CURLRES_IPV6 - this host has getaddrinfo() and family, and thus we use
|
|
that. The host may not be able to resolve IPv6, but we don't really have to
|
|
take that into account. Hosts that aren't IPv6-enabled have CURLRES_IPV4
|
|
defined.
|
|
|
|
CURLRES_ARES - is defined if libcurl is built to use c-ares for asynchronous
|
|
name resolves. It cannot have ENABLE_IPV6 defined at the same time, as
|
|
c-ares has no ipv6 support. This can be Windows or *nix.
|
|
|
|
CURLRES_THREADED - is defined if libcurl is built to run under (native)
|
|
Windows, and then the name resolve will be done in a new thread, and the
|
|
supported asynch API will be the same as for ares-builds.
|
|
|
|
If any of the two previous are defined, CURLRES_ASYNCH is defined too. If
|
|
libcurl is not built to use an asynchronous resolver, CURLRES_SYNCH is
|
|
defined.
|
|
|
|
The host*.c sources files are split up like this:
|
|
|
|
hostip.c - method-independent resolver functions and utility functions
|
|
hostasyn.c - functions for asynchronous name resolves
|
|
hostsyn.c - functions for synchronous name resolves
|
|
hostares.c - functions for ares-using name resolves
|
|
hostthre.c - functions for threaded name resolves
|
|
hostip4.c - ipv4-specific functions
|
|
hostip6.c - ipv6-specific functions
|
|
|
|
The hostip.h is the single united header file for all this. It defines the
|
|
CURLRES_* defines based on the config*.h and setup.h defines.
|
|
|
|
- Added function header comments to many functions in an attempt to better
|
|
explain the purpose of them all.
|
|
|
|
- configure --with-libidn is now supported. It makes the configure script
|
|
check for libidn libs and include files in the prefix path given. If you
|
|
say --with-libidn=/usr/local, it will check for the lib in /usr/local/lib
|
|
and the includes in /usr/local/include etc.
|
|
|
|
- curl_version_info() now returns a struct aged CURLVERSION_THIRD including
|
|
libidn version info. The string curl_version() returns also includes libidn
|
|
version info, if available.
|
|
|
|
Version 7.11.2 (26 April 2004)
|
|
|
|
Daniel (25 April 2004)
|
|
- Erwin Authried pointed out that configure --disable-manual didn't do right
|
|
if you already had a src/hugehelp.c source file present (which most people
|
|
do I guess). It now uses the USE_MANUAL define properly.
|
|
|
|
Daniel (23 April 2004)
|
|
- Gisle Vanem found and fixed a memory leak when doing (failing) Windows
|
|
threaded name resolves.
|
|
|
|
- I also added test case 163 just to make sure -F "var=<file" works fine and
|
|
can pass on characters such as newlines, carriage-return and tabs.
|
|
|
|
- When we added test case 162 without adding the necessary requirement field
|
|
in the test meta data we could see that curl didn't complain if you used
|
|
--proxy-ntlm even if the underlying libcurl it uses has no NTLM support! I
|
|
now made it check this first, and it now exists with a "the installed
|
|
libcurl version doesn't support this" message if it happens again.
|
|
|
|
Daniel (22 April 2004)
|
|
- David Byron found and fixed a small bug with the --fail and authentication
|
|
stuff added a few weeks ago. Turns out that if you specify --proxy-ntlm and
|
|
communicate with a proxy that requires basic authentication, the proxy
|
|
properly returns a 407, but the failure detection code doesn't realize it
|
|
should give up, so curl returns with exit code 0. Test case 162 added to
|
|
verify the functionality.
|
|
|
|
- allow newlines in the contents when doing -F "var=[contents]"
|
|
Robert Marlow reported.
|
|
|
|
- If a transfer is found out to be only partial, libcurl will now treat that
|
|
as a problem serious enough to skip the final QUIT command before closing
|
|
the control connection. To avoid the risk that it will "hang" waiting for
|
|
the QUIT response. Added test case 161 to verify this.
|
|
|
|
Daniel (21 April 2004)
|
|
- Modified the heuristics for dealing with the test 160 scenario. When a
|
|
connection is re-used and nothing at all is received from it (because the
|
|
server closes the connection), we will now retry the request on a fresh new
|
|
connection. The previous ECONNRESET stuff from January 30 was removed again
|
|
as it didn't detect the situation good enough.
|
|
|
|
Daniel (20 April 2004)
|
|
- Added test case 160 to verify that curl works correctly when it gets a
|
|
connection reset when trying to re-use a connection. It should then simply
|
|
create a new connection and resend the request.
|
|
|
|
Daniel (19 April 2004)
|
|
- No more 512 byte limit for host name (inclusing name + password) in libcurl.
|
|
An added bonus is that we use less memory for the typical (shorter URL)
|
|
case.
|
|
|
|
- Cleaned up the sources to better use the terms 'hostname' and 'path'
|
|
internally when referring to that data. The buffers used for keep that info
|
|
is called 'namebuffer' and 'pathbuffer'. Much easier to read and understand
|
|
than the previous mess.
|
|
|
|
Daniel (15 April 2004)
|
|
- Modified runtests.pl again to remove all log files in the log/ dir between
|
|
each test, and then made -p display all non-zero byte files in the log dir.
|
|
It should make that data more usable and contain less rubbish.
|
|
|
|
- ftpserver.pl now produces log files more similar to how the sws ones look
|
|
and they now also contains a bit more details to help debugging ftp
|
|
problems.
|
|
|
|
- Removed the fixed maximum amount of dir levels the FTP code supported.
|
|
Previously we had a fixed array for 100 levels, now we save space in each
|
|
handle by allocating only for a few level by default and then enlarging that
|
|
in case of need (with no maximum depth). Adjusted test case 142 to verify
|
|
that 150 dir levels work fine. An added bonus is that we use less memory
|
|
for the typical (not very deep) case.
|
|
|
|
Daniel (14 April 2004)
|
|
- Asking for CURL_IPRESOLVE_V6 when ipv6 addresses can't be resolved will
|
|
now cause the resolve function to return NULL immediately. This flaw was
|
|
pointed out by Gisle Vanem.
|
|
|
|
- Gisle Vanem made curl -4/-6 actually set the desired option to libcurl.
|
|
|
|
- runtests.pl now has a new option (-p) that will display "interesting" log
|
|
files to stdout in case of a test failure. This is primarily intended to be
|
|
used in the 'full-test' make target that is used by the autobuild tests, as
|
|
we then get a much better chance to understand (remote) test failures based
|
|
on autobuild logs alone.
|
|
|
|
Daniel (13 April 2004)
|
|
- Gisle Vanem made the multi interface work again on Windows even when built
|
|
without ares. Before this, select() would return -1 during the name resolve
|
|
phase since curl_multi_fdset() didn't return any fd_set at all which wasn't
|
|
appreciated!
|
|
|
|
- curl_easy_duphandle() now duplicates the tcp_nodelay info as well.
|
|
|
|
Daniel (11 April 2004)
|
|
- Applied David Byron's patch for the MSVC libcurl makefile for builds with
|
|
zlib.
|
|
|
|
Daniel (9 April 2004)
|
|
- Dirk Manske improved the timer resolution for CURLINFO_*_TIME, it can now
|
|
be down to usec if the system sypports it.
|
|
|
|
Daniel (7 April 2004)
|
|
- A request that sends "Expect: 100-continue" and gets nothing but a single
|
|
100 response back will now return a CURLE_GOT_NOTHING. Test 158 verifies.
|
|
|
|
- The strtoofft() macro is now named curlx_strtoofft() to use the curlx_*
|
|
approach fully.
|
|
|
|
Daniel (6 April 2004)
|
|
- Gisle Vanem's fixed bug #927979 reported by Nathan O'Sullivan. The problem
|
|
made libcurl on Windows leak a small amount of memory in each name resolve
|
|
when not used as a DLL.
|
|
|
|
- New authentication code added, particularly noticable when doing POST or PUT
|
|
with Digest or NTLM. libcurl will now use HEAD to negotiate the
|
|
authentication and when done perform the requested POST. Previously libcurl
|
|
sent POST immediately and expected the server to reply a final status code
|
|
with an error and then libcurl would not send the request-body but instead
|
|
send then next request in the sequence.
|
|
|
|
The reason for this change is due to IIS6 barfing on libcurl when we attempt
|
|
to POST with NTLM authentication. The reason for the problems is found in
|
|
RFC2616 section 8.2.3 regarding how servers should deal with the 100
|
|
continue request-header:
|
|
|
|
If it responds with a final status code, it MAY close the transport
|
|
connection or it MAY continue to read and discard the rest of the
|
|
request.
|
|
|
|
Previous versions of IIS clearly did close the connection in this case,
|
|
while this newer version decided it should "read and discard". That would've
|
|
forced us to send the whole POST (or PUT) data only to have it discarded and
|
|
then be forced to send it again. To avoid that huge penality, we switch to
|
|
using HEAD until we are authenticated and then send the POST.
|
|
|
|
The only actual drawback I can think of (except for the odd sites that might
|
|
treat HEAD differently than they would treat POST/PUT when given the same
|
|
URL) is that if you do POST with CURLAUTH_ANY set and the site requires NO
|
|
authentication, libcurl will still use a HEAD in a first round and then do a
|
|
POST.
|
|
|
|
If you do a HEAD or a GET on a site using CURLAUTH_ANY, libcurl will send
|
|
an un-authenticated request at once, which then is the only request if the
|
|
site requires no auth.
|
|
|
|
Alan Pinstein helped me work out the protocol details by figuring out why
|
|
libcurl failed and what IIS6 expects.
|
|
|
|
- The --limit-rate logic was corrected and now it works a lot better for
|
|
higher speeds, such as '10m' or similar. Reported in bug report #930249.
|
|
|
|
- Introducing curlx_tvnow() and curlx_tvdiff() using the new curlx_* fashion.
|
|
#include "timeval.h" from the lib dir to get the protos etc. Note that
|
|
these are NOT part of the libcurl API. The curl app simply uses the same
|
|
source files as the library does and therefore the file needs to be compiled
|
|
and linked with curl too, not just when creating libcurl.
|
|
|
|
- lib/strerror.c no longer uses sys_nerr on non-windows platforms since it
|
|
isn't portable enough
|
|
|
|
Daniel (2 April 2004)
|
|
- In the curl_strnqual.3 man page, we now prepend the man3 dir to the file
|
|
name to work better. As pointed out by Robin Kay.
|
|
|
|
- Andrés García updated the mingw makefiles.
|
|
|
|
- Dirk Manske fixed a problem I recently added in the progress meter code that
|
|
broke subsecond resolution for CURLINFO_TOTAL_TIME. He also pointed out a
|
|
mistake in the code that produces the final update of the progress meter
|
|
that would often prevent it from actually being updated that final time.
|
|
|
|
Daniel (1 April 2004)
|
|
- Dirk Manske fixed a memory leak that happened when we use ares for name
|
|
resolves and decides to time-out before ares does it. This fix uses the
|
|
brand new ares_cancel() function which is not present in c-ares 1.1.0.
|
|
|
|
When told to enable ares, the configure script now checks for presence of
|
|
the ares_cancel function to alert users if they attempt to use a too old
|
|
c-ares library.
|
|
|
|
Daniel (31 March 2004)
|
|
- Roy Shan fixed a flaw that prevented ares name resolve timeouts to occur!
|
|
|
|
- Dirk Manske found out that libcurl timed out waiting for resolves far too
|
|
easy when libcurl was built to use (c-)ares for name resolving.
|
|
|
|
- Further Digest fixing and a successful test case 153 now makes me believe
|
|
Mitz Wark's problems are fixed.
|
|
|
|
- Andres Garcia figured out that test case 63, while working, only proved a
|
|
flaw in libcurl's 'http_proxy' parser when a user name and password is
|
|
provided. The user name was not extracted properly (and 'http' was always
|
|
used as user name).
|
|
|
|
- Andrés García fixed compiler warnings in our ioctlsocket() usage.
|
|
|
|
Daniel (30 March 2004)
|
|
- Joe Halpin faced problems with the getnameinfo() argument ai_flags and the
|
|
particular bit named 'NI_WITHSCOPEID' on Solaris 9 for Intel. I've now
|
|
written a configure test that checks for a working NI_WITHSCOPEID
|
|
implemenation. No code uses the result from this test yet, it is still
|
|
experimental. James Carlson wrote in comp.unix.solaris: "It's a bug
|
|
(5006623) -- it's not supported and shouldn't be in the header file."
|
|
|
|
- I provided Mitz Wark with a first patch in order to fix libcurl's problems
|
|
to re-negotiate Digest authentication (when 'stale=true' is included in the
|
|
response header).
|
|
|
|
- Roy Shan discovered that the multi interface didn't properly timeout name
|
|
lookups which could make handles get stuck in that state and thus never get
|
|
completed. I've produced a first test patch that attempts to correct this.
|
|
|
|
- David Byron's patch was appplied to make CURLOPT_FAILONERROR work nicely
|
|
even with authentcations such as NTLM or Digest enabled. Test cases 150, 151
|
|
and 152 were added to verify the functionality.
|
|
|
|
Daniel (29 March 2004)
|
|
- Gisle Vanem updated files for the djgpp/MS-DOS build.
|
|
|
|
- Andrés García helped me work out a fix for the runtests.pl script to make
|
|
the file:// tests run fine when tested with the mingw-built version of curl.
|
|
|
|
- Fixed an include issue with netinet/tcp.h on AIX, based on input by Tor.
|
|
This also required a minor fix of the configure script.
|
|
|
|
- The postit2.c source example used the wrong struct name for the post data.
|
|
|
|
Daniel (26 March 2004)
|
|
- Gisle Vanem improved ipv6 support on windows by making the curl build to use
|
|
the correct getaddrinfo() function.
|
|
|
|
Daniel (25 March 2004)
|
|
- It turned out that AIX, despite having a "thread-safe libc", doesn't offer
|
|
all traditional functions thread-safe. This URL is informative on this
|
|
subject:
|
|
|
|
http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
|
|
genprogc/thread_quick_ref.htm
|
|
|
|
As a result of this, we now check for three *_r() functions on recent AIX
|
|
versions as well that the URL mentions aren't thread-safe in AIX 5.1.
|
|
|
|
- renamed curl_strerror.[ch] to strerror.[ch]
|
|
|
|
- Joe Halpin added CURLOPT_TCP_NODELAY and --tcp-nodelay to make it possible
|
|
for users to disable the Nagle algorthim-usage.
|
|
|
|
- Tor Arntsen provided some interesting strerror_r() knowledge. glibc has its
|
|
own API which differs from the POSIX one. Daniel adjusted the configure
|
|
script to detect the version in use, and the code now uses the new defines
|
|
accordingly.
|
|
|
|
- Fixed some build flaws with the new lib/curl_strerror.c source file.
|
|
|
|
Daniel (24 March 2004)
|
|
- Gisle Vanem's fix to replace the bad use of strerror(). This introduces
|
|
Curl_strerror() that attempts to be thread-safe _and_ works on Windows too!
|
|
|
|
- Tor Arntsen spell-fixed lots of libcurl man pages.
|
|
|
|
- Tor Arntsen made testcurl.pl work with older perl 5 versions, and Daniel
|
|
made it not use chdir .. to go back, as that isn't very good when you've
|
|
setup a testdir containing symlinks.
|
|
|
|
- Added a check for strerror_r() in the configure script.
|
|
|
|
Daniel (23 March 2004)
|
|
- Added Greg Hewgill's testcurl.pl script to CVS. We have not moved over to
|
|
use this script for the real distributed testing just yet, but it is only
|
|
a matter of time.
|
|
|
|
- Gisle Vanem provided code that makes curl report a better error message
|
|
if --interface fails on windows.
|
|
|
|
- The regular progress meter is now fixed to never wrap due to long lines. All
|
|
fields are now static sized. If the time in the time fields get a time value
|
|
that would represent a time that is 100 hours or more (if not, it remains
|
|
using a HH:MM:SS display), it switches first to a "NNNd NNh" display (for
|
|
days and hours) and if that isn't enough it switches to a "NNNd" display if
|
|
it is more than 999 days.
|
|
|
|
Several of the calculations were also moved to fixed-point math instead of
|
|
using doubles.
|
|
|
|
Daniel (22 March 2004)
|
|
- Glen Nakamura noticed CURLINFO_CONTENT_LENGTH_DOWNLOAD didn't work as it
|
|
used to do if CURLOPT_NOBODY is set TRUE.
|
|
|
|
- Kevin Roth patched the cygwin package makefile and README to adjust to
|
|
new cygwin packaging guidelines.
|
|
|
|
- Enabled "NT responses" in the NTLM authentication. Doing this simply means
|
|
that we provide an extra chunk of data in each "type-3 message". The only
|
|
reason for doing this is that it seems that using only the "Lanmanager hash"
|
|
(as we've been doing until now) doesn't support passwords longer than 14
|
|
characters and it turns out there are users out there who want to use
|
|
libcurl and NTLM with such passwords! ;-) Seven NTLM-related test cases were
|
|
updated accordingly. Mentioned as issue 29 in TODO-RELEASE, bug report
|
|
#915609
|
|
|
|
- Moved the generated libcurl version info to a new header file, named
|
|
curl/curlver.h. Now interested parties can include ONLY version info, should
|
|
anyone want that (and it seems at least some windows resource files would).
|
|
Mentioned as issue 27 in TODO-RELEASE.
|
|
|
|
Daniel (21 March 2004)
|
|
- Fixed the root Makefile to use tabs for the netware target. Günter Knauf
|
|
pointed this out.
|
|
|
|
- Marty Kuhrt's VMS cleanup
|
|
|
|
- Thomas Schwinge made buildconf recognize ACLOCAL_FLAGS to invoke aclocal
|
|
with particular pre-determined options.
|
|
|
|
Version 7.11.1 (19 March 2004)
|
|
|
|
Daniel (18 March 2004)
|
|
- Tor Arntsen brought some info about SGI IRIX:
|
|
|
|
IRIX supports 3 different executable/object formats, -32, -n32 and -64.
|
|
-n32 is default 32-bit format, -32 is the "old" 32-bit format, and -64 is
|
|
the 64-bit format. Libraries for the different formats are in lib, lib32
|
|
and lib64 respectively.
|
|
|
|
We've now adjusted the configure script to adapt to this when scanning for
|
|
3rd party libs, such as OpenSSL.
|
|
|
|
Daniel (17 March 2004)
|
|
- Watz pointed out a few missing files in the MSVC project description file.
|
|
|
|
- Günter Knauf brought patches, code and makefiles to build curl on Novell
|
|
NetWare.
|
|
|
|
Daniel (15 March 2004)
|
|
- Lots of libcurl man pages were updated to contain references to other man
|
|
pages the recognized way so that they appear as nice hyperlinks in the HTML
|
|
versions.
|
|
|
|
- buildconf now checks the m4 version too, since autoconf requires a GNU m4
|
|
version to build proper configure scripts.
|
|
|
|
Daniel (12 March 2004)
|
|
- Added CURLOPT_POSTFIELDSIZE_LARGE, the large file version of
|
|
CURLOPT_POSTFIELDSIZE to allow POSTs larger than 2GB.
|
|
|
|
- David Byron fixed an uninitialized variable case/crash.
|
|
|
|
Daniel (10 March 2004)
|
|
- Jeff Lawson fixed the SSL connection to deal with received signals during the
|
|
connect.
|
|
|
|
- Changed the OS string for win32 to become "i386-pc-win32".
|
|
|
|
Daniel (9 March 2004)
|
|
- Changed the internals to use curl_socket_t for socket variable type. This
|
|
should enable us to build with less warnings on Windows, where SOCKET is
|
|
used which is an unsigned int, while most other platforms use a mere int.
|
|
|
|
- Modified lib/config-win32.h to build fine on MSVC again.
|
|
|
|
Version 7.11.1-pre1 (8 March 2004)
|
|
|
|
Daniel (8 March 2004)
|
|
- Minor fix to make curl CURL_VERSION_LARGEFILE is only set if curl_off_t is
|
|
larger than 4 bytes.
|
|
|
|
Daniel (4 March 2004)
|
|
- Improved PUT/POST with NTLM/Digest authentication, the so called issue 12.
|
|
|
|
- Modified the test HTTP server a lot to work with the upcoming changes for
|
|
PUT/POST with NTLM/Digest authentication (like test case 88). Added Andrés
|
|
García's win32-changes. Improved the logging.
|
|
|
|
- Fixed the file:-related progress/getinfo stuff a bit more.
|
|
|
|
Daniel (4 March 2004)
|
|
- I corrected a problem with the multi interface when following a Location:
|
|
header or when doing multiple-request authentications. A subsequent request
|
|
could erroneously re-use a previous connection that was sent with
|
|
Connection: close. Christopher R. Palmer reported.
|
|
|
|
- Andrés García patched curl to prevent warnings while compiling with mingw,
|
|
mainly because it is now possible to have both WIN32 and HAVE_CONFIG_H
|
|
defined.
|
|
|
|
- When transferring files from a file: URL, the progress meter and other
|
|
transfer metrics were not updated properly.
|
|
|
|
- David Byron provided a "version resource" file to the curl executable for
|
|
the windows builds.
|
|
|
|
Daniel (3 March 2004)
|
|
- David Byron's work on making libcurl only require winsock 1.1 on Windows
|
|
machines.
|
|
|
|
- More variable cleanups based on compiler warnings generated by Tor Arntsen's
|
|
autobuilds with MIPSPro.
|
|
|
|
- Joe Halpin helped us fix some pedantic compiler warnings on FreeBSD.
|
|
|
|
- Applied Tom Bates' patch to build on nsr-tandem-nsk.
|
|
|
|
- Dan Fandrich corrected some flaws in the configure GSS detection.
|
|
|
|
Daniel (2 March 2004)
|
|
- Fixed the libcurl code to use FORMAT_OFF_T for printf() formatting
|
|
curl_off_t types internally.
|
|
|
|
Daniel (1 March 2004)
|
|
- Added CURL_VERSION_LARGEFILE as a feature-bit in the curl_version_info()
|
|
response, that signals if this libcurl supports >2GB files. curl -V now
|
|
outputs 'Largefile' in the Features: field if this is the case. Most systems
|
|
are likely to support this.
|
|
|
|
- We offer a CURL_FORMAT_OFF_T define in the public header, which can be used
|
|
to printf() curl_off_t variables. We also modified the libcurl sources to
|
|
use this define instead of the previous %Od approach (although I've left the
|
|
O-flag functional in the code). This should also prevent compilers to warn
|
|
on the home-grown option.
|
|
|
|
- Fixed the resume-check code to test for a working resume at the end of the
|
|
headers and not at the first body-byte.
|
|
|
|
- CURLOPT_DNS_USE_GLOBAL_CACHE is now considered obsolete. Stop using it. If
|
|
you need a global DNS cache for whatever reason, use the share interface and
|
|
you'll get a global cache that works the way it should work. You can even
|
|
have any number of global caches, all at your command. This is now also
|
|
mentioned in the docs.
|
|
|
|
- Made the *printf code support the z-flag to enable size_t printf() in a
|
|
manner similar to how glibc allows it. To make printfing of this work on
|
|
platforms with 64bit size_t and 32bit ints. If there even are any! ;-)
|
|
|
|
- Christopher R. Palmer discovered that if you CURLOPT_FRESH_CONNECT and
|
|
CURLAUTH_NTLM (or CURLAUTH_ANY and libcurl then picked NTLM), libcurl would
|
|
loop without succeeding to authenticate due to the new connection that was
|
|
made for all round-trips in the authentication. Now, the FRESH_CONNECT is
|
|
remade to only matter for the first connection made with curl_easy_perform()
|
|
and all the rest that might follow due to FOLLOWLOCATION or HTTP
|
|
authentication are now ignoring that option.
|
|
|
|
- Adjusted the QUIT code slightly since it could core-dump.
|
|
|
|
- Corrected the test suite's FTP server to provide a correct size to the
|
|
'verifiedserver' request.
|
|
|
|
Daniel (27 February 2004)
|
|
- Joe Halpin made the FTP code send QUIT on the control connection before
|
|
disconnecting the TCP connection. This is what good-behaving ftp clients
|
|
should do.
|
|
|
|
Daniel (26 February 2004)
|
|
- David Byron updated several files to make curl build fine on MSVC 6. He
|
|
also added the 'buildconf.bat' that works like the 'buildconf + configure'
|
|
combo does on unixes.
|
|
|
|
- Gisle Vanem made the memdebug stuff support calloc() as well.
|
|
|
|
- Tor Arntsen pointed out that testcurl.sh needed to remove the generated
|
|
files in order to have them re-generated in each build.
|
|
|
|
- Andy Serpa found out that the share interface did not enjoy life when not
|
|
having the lock and unlock callbacks set, even though documented to be
|
|
OK. It still is OK, and now the code won't segfault anymore!
|
|
|
|
Daniel (25 February 2004)
|
|
- Based on a patch by Greg Hewgill I modified how long long is used in the
|
|
mprintf code, as we can use a 64bit type with MSVC that is a long long
|
|
equivalent. This corrects some weird large file behaviors on windows.
|
|
|
|
- Tor Arntsen helped me work out --enable-debug to work better with different
|
|
versions of the gcc and icc compilers.
|
|
|
|
- Added CURLOPT_SHARE to the curl_easy_setopt.3 man page.
|
|
|
|
Daniel (22 February 2004)
|
|
- Applied the final pieces of Gisle Vanem's patch that brings a working name
|
|
resolve timeout to the windows versions of curl!
|
|
|
|
Daniel (21 February 2004)
|
|
- David Byron's fix to allow the speed-limit logic work even if you set
|
|
limit-rate. It does work on the expense of the rate limiter.
|
|
|
|
Daniel (20 February 2004)
|
|
- configure --enable-debug with gcc now also tries to detect the icc compiler
|
|
(which somehow gets treated as if it is a gcc) to stop using all the gcc
|
|
options with it, and we also provide -isystem options for each extra -I
|
|
option the configure script has figured out (for OpenSSL, kerberos, zlib,
|
|
Heimdal etc). This of course to prevent warnings on headers we don't have
|
|
control of.
|
|
|
|
Daniel (19 February 2004)
|
|
- Doug Porter made libcurl use the HOME environment variable before the
|
|
getpwuid results when looking for .netrc files.
|
|
|
|
- If 'configure --enable-debug' is used with gcc, it now checks which gcc
|
|
version it is and uses as picky compiler options as possible for the
|
|
particular version.
|
|
|
|
- Code that can be used in both the lib and in the curl app is now made to use
|
|
the curlx_ prefix. The first function to be available like this is the
|
|
curlx_strtoll() function. This is made to allow the app to use existing code,
|
|
but without polluting the libcurl API. Further explanations posted here:
|
|
|
|
http://curl.haxx.se/mail/lib-2004-02/0215.html
|
|
|
|
Daniel (18 February 2004)
|
|
- Fixed buildconf to not use "which" as AIX and Tru64 have what have been
|
|
referred to as "horribly broken 'which' programs".
|
|
|
|
- Made sure dns cache timeout set to -1 really means caching forever.
|
|
|
|
Daniel (17 February 2004)
|
|
- Made it possibly to build c-ares with the libcurl memdebug system to better
|
|
track memory.
|
|
|
|
Daniel (16 February 2004)
|
|
- When using ares, we now initialize the ares 'channel' in curl_easy_init()
|
|
and re-use that same handle during the entire curl handle's life-time. It
|
|
improves performance.
|
|
|
|
- Fixed a problem when displaying verbose for ipv6-enabled libcurls and
|
|
re-used connections. Problem reported and fix verified by Grigory Entin.
|
|
|
|
- Jeff Lawson fixed the version-check in the SOCKS5 code.
|
|
|
|
Daniel (15 February 2004)
|
|
- Fixed a case where a host cache entry was not flagged in-use properly when a
|
|
cached entry was used.
|
|
|
|
- Andrés García's patch that checks for winmm in the configure script was
|
|
applied.
|
|
|
|
Daniel (13 February 2004)
|
|
- Ben Greear's SO_BINDTODEVICE patch for the binding of the local end to a
|
|
specific network interface.
|
|
|
|
- Greg Hewgill found out that the variable holding 'contentlength' wasn't big
|
|
enough to hold a large file!
|
|
|
|
- Tor Arntsen fixed a 64bit-related problem in date-related code in the ftp
|
|
department, and there was another potential problem in the name resolve code
|
|
too.
|
|
|
|
Daniel (11 February 2004)
|
|
- Removed a few variables that were only set but never used, as some compilers
|
|
warn about that and we do not like compiler warnings!
|
|
|
|
- Removed the need for symlinks in the tests/data directory if curl is built
|
|
outside of the source directory and the 'make test' is used. This was done
|
|
by providing a "source dir path" to the scripts/servers.
|
|
|
|
- Now, if the configure script can't find an nroff tool or an option to nroff
|
|
to use to convert man pages with, it will completely switch off the built-in
|
|
manual.
|
|
|
|
- 'configure --disable-manual' completely disables the built-in manual from
|
|
the curl command tool.
|
|
|
|
- Andrés García fixed the configure script and a minor source edit, and now
|
|
he has managed to get msys/mingw to run configure and then build!
|
|
|
|
Daniel (9 February 2004)
|
|
- The default HTTP Accept: header was modified to the much simpler
|
|
"Accept: */*".
|
|
|
|
- P R Schaffner updated the curl-ssl spec file for RPMs.
|
|
|
|
- Dominick Meglio brought lots of documentation for the share interface's man
|
|
pages that were previously missing.
|
|
|
|
- Tor Arntsen provided a patch that makes libcurl work-around a bug in the
|
|
AIX5 implementation of getaddrinfo(). This makes the FTP PORT stuff work on
|
|
ipv6-enabled AIX builds.
|
|
|
|
- Ken Rastatter provided portability fixes for the curlgtk.c example, and now
|
|
it runs on windows with GTK as well!
|
|
|
|
Daniel (6 February 2004)
|
|
- Andrés García made the configure script find gethostbyname() fine when run
|
|
with mingw on windows.
|
|
|
|
- Modified the ldap code to use proper function pointers all over (instead of
|
|
mixed data and function pointers) to work-around the picky MIPSPro compiler
|
|
warnings.
|
|
|
|
- A custom Host: header is only considered if the request is not made by
|
|
following a location. After discussions with Tim Baker.
|
|
|
|
Daniel (5 February 2004)
|
|
- The libz part of the configure script now only set the two libz-related
|
|
define HAVE_ZLIB_H and HAVE_LIBZ if both the lib and the header is found.
|
|
If one is missing, none of the defines is set.
|
|
|
|
- Andrés García fixed the Mingw makefiles.
|
|
|
|
- Len Krause reported that curl 7.9.X could do uploading from stdin without
|
|
doing chunked encoding, which current curl cannot do even if you disable
|
|
the transfer-encoding chunked header. Now it can again, and test case 98
|
|
verifies this functionality.
|
|
|
|
- Tor Arntsen fixed a weird getaddrinfo() usage in the FTP code, preventing
|
|
the ipv6-code for PORT work on AIX 5.2. We now also provide (better) error
|
|
messages when bailing out in the that function.
|
|
|
|
- Tor Arntsen now provides AIX and IRIX (using gcc, xlc and the MIPSPro
|
|
compilers) automated build logs (http://curl.haxx.se/auto/) and we've fixed
|
|
numerous minor quirks to make less warnings appear.
|
|
|
|
Daniel (4 February 2004)
|
|
- Based on a patch by Gilad, we now use the custom timeouts when waiting for a
|
|
server to connect when using FTP PORT. Previously we always waited 10
|
|
seconds, no more no less. We now also changed the default (if no timeout is
|
|
set) to wait 60 seconds for the connect before we fail.
|
|
|
|
Daniel (3 February 2004)
|
|
- Modified to link with c-ares instead of ares.
|
|
|
|
Daniel (2 February 2004)
|
|
- Added a configure test to check for which option the (g)nroff tool wants
|
|
to extract plain text from the man pages. Tor Arntsen told us the AIX
|
|
version of GNU gnroff doesn't support -man!
|
|
|
|
- Added an undef of accept in memdebug.h to make curl build with --enable-debug
|
|
on AIX 5.2 which seems to have accept defined. Reported by Tor Arntsen.
|
|
|
|
- curl_version() now includes c-ares version info, and curl_version_info() now
|
|
returns a struct with version SECOND that also includes that info.
|
|
|
|
- We are now officially using c-ares for asynch name resolves. c-ares is the
|
|
new library, based on the existing ares but with an extended and slightly
|
|
modified API.
|
|
|
|
- Dirk improved the ares timeout code, and now we also include the ares error
|
|
string when we fail to resolve a name.
|
|
|
|
- Another tweak to make test case 91 run fine. Now we have another bit on a
|
|
connection that is set true if the connection is marked for 'retry'. That
|
|
makes the connection get closed and re-opened and the HTTP-done code must
|
|
not complain on the fact that no data was received.
|
|
|
|
- Based on Dirk Manske's patch, I modified the name resolving with ares to
|
|
feature a timeout for really slow lookups. It now defaults to 300 seconds,
|
|
but is now adjusted to the CONNECTTIMEOUT/TIMOUE timeouts if one of them
|
|
is set.
|
|
|
|
- Fixed the inclusion of ca-bundle.h to really use the one in the build dir
|
|
before the one in the source dir. Domenico Andreoli found out and reported.
|
|
|
|
- Added test case 97, a simple POST with a custom Content-Type header
|
|
replacing the original application/x-www-form-urlencoded one.
|
|
|
|
Daniel (30 January 2004)
|
|
- Added code that attempts to fix the test 91 failure. As has been figured out
|
|
by Patrick Smith, the error happens because we re-use a connection that the
|
|
server is just about to close and we even manage to send away the request
|
|
without seeing an error. On the first read attempt we get a ECONNRESET.
|
|
Starting now, we attempt to detect this and if so, we retry the request on a
|
|
fresh connection.
|
|
|
|
- I added test case 510 which is a custom program that does a POST using a
|
|
read callback, with chunked transfer-encoding.
|
|
|
|
- Adjusted one of the MPE/iX changes as it made test case 504 fail all over.
|
|
|
|
- Added --socks as a recognized option. It works just like --proxy but sets a
|
|
SOCKS5 proxy to use. SOCKS5 support has been available in libcurl for a
|
|
while, just not provided by the curl tool. This does not currently work for
|
|
IPv6-enabled libcurls.
|
|
|
|
Daniel (29 January 2004)
|
|
- Stadler Stephan pointed out that src/hugehelp.c included config.h without
|
|
checking the define if its present...
|
|
|
|
- Ken Hirsch provided patches to make curl build fine on the MPE/iX operating
|
|
system.
|
|
|
|
- Dan Fandrich compiled curl with lots of aggressively pedantic compiler
|
|
options and thus found a few minor errors and did some general cleanups to
|
|
avoid them.
|
|
|
|
- Dirk Manske fixed a flaw in ares that prevented it to use non-blocking
|
|
sockets properly.
|
|
|
|
Daniel (28 January 2004)
|
|
- Richard Bramante fixed chunked transfer-encoded "uploads" to send a final
|
|
CRLF combo properly.
|
|
|
|
Daniel (27 January 2004)
|
|
- Made the response-headers during a CONNECT request to a proxy get passed on
|
|
as regular headers, so they appear with -i/-I options and similar.
|
|
|
|
- Based on a patch by Gisle Vanem, I've made the progress meter display
|
|
properly switch to a GB-display when more than 9999MB have been transfered.
|
|
|
|
Daniel (23 January 2004)
|
|
- Gisle Vanem pointed out a curlrc parser problem/crash when an option with a
|
|
required didn't have one and was on the last line of a file.
|
|
|
|
- More Windows fixes for large files. We now build and link with
|
|
../lib/strtoofft.c in the app code since Curl_strtoll() is not a provided
|
|
libcurl function... Perhaps we should consider a 'common' dir or similar
|
|
where we put source code used in both the lib and the client. Or perhaps
|
|
we'll just make this function available in the library...
|
|
|
|
- Vincent Bronner found out the socks5 code crashed when no username was
|
|
set.
|
|
|
|
- Vincent Bronner spotted a problem with proxy username/password when re-using
|
|
a persistent connection.
|
|
|
|
- Fixed the progress meter display for files larger than 2^31 bytes. Gisle
|
|
Vanem reported.
|
|
|
|
Daniel (22 January 2004)
|
|
- Gisle Vanem made strtoll() get used when curl is built with the mingw
|
|
compiler.
|
|
|
|
- Gisle Vanem fixed the compressed help text code to display properly.
|
|
|
|
- Removed the '#define HttpPost' from the public header file, as curl_httppost
|
|
is the proper name and it has been for quite some time now. Fixes another
|
|
name space pollution.
|
|
|
|
- Added 'curl_off_t' typedef in the public header file, to be used to provide
|
|
large file sizes to the *_LARGE options. Adjusted the code all over to use
|
|
this variable type instead of 'off_t'. This is an attempt to make the large
|
|
file support work on more platforms. The configure script now checks the
|
|
size of the curl_off_t instead of the plain off_t.
|
|
|
|
Version 7.11.0 (22 January 2004)
|
|
|
|
Daniel (21 January 2004)
|
|
- Removed the defines in the public header file with TIMECOND_ prefixes. They
|
|
have been obsolete since April 22nd 2002, and if this causes anyone any
|
|
problems now it is very easy to just add CURL_ to the names. This corrects
|
|
this name space pollution.
|
|
|
|
Daniel (19 January 2004)
|
|
- David Byron cleaned up how --trace with no option was treated, and also
|
|
arguments in a config file without a required parameter!
|
|
|
|
Daniel (16 January 2004)
|
|
- Gisle Vanem fixed a few issues where compilers warned about variables
|
|
possibly being used unassigned.
|
|
|
|
- Minor Interix build problem fixed.
|
|
|
|
Daniel (15 January 2004)
|
|
- Peter Sylvester pointed out some necessary escaping needed in the
|
|
acinclude.m4 file when automake 1.8 or later is used.
|
|
|
|
Daniel (14 January 2004)
|
|
- Vincent Bronner fixed the Curl_resolv() return code. This extends the fix
|
|
Steve Green provided on december 3...
|
|
|
|
Daniel (13 January 2004)
|
|
- Luke Call made the win32 version of the password prompting function support
|
|
backspace.
|
|
|
|
- Dan Fandrich fixed the hugehelp source file to contain both a compressed and
|
|
an uncompressed version in the distribution, so that more people easier can
|
|
build curl with the compressed version.
|
|
|
|
- Diego Casorran brought another AmigaOS build patch for native Amiga builds.
|
|
|
|
- Matt Veenstra updated the Mac OS X framework files.
|
|
|
|
- Brian R Duffy brought a section to the INSTALL file on how to build a
|
|
SSL-enabled curl using the free Borland C++ compiler. He also updated the
|
|
Borland lib/Makefile.b32.
|
|
|
|
- I fixed the test case 509 which I broke yesterday. Now the libtest are
|
|
compiled with an include path that points to the library's source dir, so
|
|
that the libtests can include files from the source tree. This was made to
|
|
make it possible to use the USE_SSLEAY define in the library test files.
|
|
|
|
Daniel (12 January 2004)
|
|
- Peter Sylvester brought code that now allows a callback to modified the URL
|
|
even when the multi interface is used, and then libcurl will simulate a
|
|
"follow location" to that new URL. Test 509 was added to test this feature.
|
|
|
|
- Extended the time we retry servers in the test script, and I also made it
|
|
retry the https and ftps servers before they are considered bad. I believe
|
|
the previous approach could turn problematic on really slow hosts.
|
|
|
|
Version 7.11.0-pre1 (12 January 2004)
|
|
|
|
Daniel (11 January 2004)
|
|
- Dominick Meglio pointed out FTPS should use default port 990 according to
|
|
IANA.
|
|
|
|
Daniel (8 January 2004)
|
|
- Fixed the SPNEGO configure check to not use -R or other non-portable options
|
|
in the LDFLAGS. Reported by Pierre in bug report #872930.
|
|
|
|
Daniel (5 January 2004)
|
|
- Dan Fandrich provided a fix on our zlib usage.
|
|
|
|
- David J Meyer's patch that introduce large file support to libcurl was
|
|
applied. New curl_easy_setopt options that accept 'off_t' arguments are:
|
|
|
|
INFILESIZE_LARGE
|
|
RESUME_FROM_LARGE
|
|
MAXFILESIZE_LARGE
|
|
|
|
Daniel (4 January 2004)
|
|
- Based on Dominick Meglio's comments, I made our private version of
|
|
gettimeofday() declared static. This would otherwise collide with the same
|
|
function in other libs (like ares for example).
|
|
|
|
- Added Dominick Meglio's description on how to build libcurl with ares
|
|
on win32.
|