Newer
Older
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
History of Changes
Daniel (2 January 2002)
- Philip Gladstone pointed out a few portability problems in the source code
that didn't compile on 64-bit sparcs using Sun's native compiler...
Daniel (20 December 2001)
- Björn Stenberg caught an unpleasent (but hard-to-find) bug that could cause
libcurl to hang on transfers over proxy, when the proxy was specified with
an environment variable!
- Added code to make ftp operations treat the NO_BODY and HEADERS options
better:
NO_BODY set TRUE and HEADERS set TRUE:
Return a set of headers with file info
NO_BODY set FALSE
Transfer data as usual, HEADERS is ignored
NO_BODY set TRUE and HEADERS set FALSE
Don't transfer any data, don't return any headers. Just perform the set
of FTP commands.
Daniel (17 December 2001)
- Götz Babin-Ebell dove into the dark dungeons of the OpenSSL ENGINE stuff and
made libcurl support it! This allows libcurl to do SSL connections with the
private key stored in external hardware.
To make this good, he had to add a bunch of new library options that'll be
useful to others as well:
CURLOPT_SSLCERTTYPE set SSL cert type (PEM/DER)
CURLOPT_SSLKEY set SSL private key (file)
CURLOPT_SSLKEYTYPE: set SSL key type (PEM/DER/ENG)
CURLOPT_SSLKEYPASSWD: set the passphrase for your private key
(CURLOPT_SSLCERTPASSWD is an alias)
CURLOPT_SSLENGINE: set the name of the crypto engine
(returns CURLE_SSL_ENGINE_NOTFOUND on error)
CURLOPT_SSLENGINE_DEFAULT: set the default engine
There are two new failure codes:
CURLE_SSL_ENGINE_NOTFOUND
CURLE_SSL_ENGINE_SETFAILED
Daniel (14 December 2001)
- We have "branched" the source-tree at a few places. Checkout the CVS sources
with the 'multi-dev' label to get the latest multi interface development
tree. The idea is to only branch affected files and to restrict the branch
to the v8 multi interface development only.
*NOTE* that if we get bug reports and patches etc, we might need to apply
them in both branches!
The multi-dev branch is what we are gonna use as main branch in the future
if it turns out successful. Thus, we must maintain both now in case we need
them. The current main branch will be used if we want to release a 7.9.3 or
perhaps a 7.10 release before version 8. Which is very likely.
- Marcus Webster provided code for the new CURLFORM_CONTENTHEADER option for
curl_formadd(), that lets an application add a set of headers for that
particular part in a multipart/form-post. He also provided a section to the
man page that describes the new option.
Daniel (11 December 2001)
- Ben Greear made me aware of the fact that the Curl_failf() usage internally
was a bit sloppy with adding newlines or not to the error messages. Let's
once and for all say that they do not belong there!
- When uploading files with -T to give a local file name, and you end the URL
with a slash to have the local file name used remote too, we now no longer
use the local directory as well. Only the file part of the -T file name
will be appended to the right of the slash in the URL.
Daniel (7 December 2001)
- Michal Bonino pointed out that Digital Unix doesn't have gmtime_r so the
link failed. Added a configure check and corrected source code.
Version 7.9.2
Daniel (5 December 2001)
- Jon Travis found out that if you used libcurl and CURLOPT_UPLOAD and then
on the same handle used CURLOPT_HTTPGET it would still attempt to upload.
His suggested fix was perfect.
Daniel (4 December 2001)
- Incorporated more macos fixes and added four specific files in a new
subdirectory below src.
Daniel (3 December 2001)
- Eric Lavigne reported two problems:
First one in the curl_strnequal() function. I think this problem is rather
macos 9 specific, as most platform provides a function to use instead of the
one provided by libcurl.
A second, more important, was in the way we take care of FTP responses. The
code would read a large chunk of data and search for the end-of-response
line within that chunk. When found, it would just skip the rest of the
data. However, when the network connections are special, or perhaps the
server is, we could actually get more than one response in that chunk of
data so that when the next invoke to this function was done, the response
had already been read and thrown away. Now, we cache the data not used in
one call, as it could be useful in the subsequent call. Test case 126 was
added and the test ftp server modified, to exercise this particular case.
Version 7.9.2-pre8
Daniel (2 December 2001)
- Bug report #487825 correctly identified a problem when using a proxy and
following a redirection from HTTP to HTTPS. libcurl then re-used the same
proxy connection but without doing a proper HTTPS request.
- Fixed win32 compiling quirks.
Version 7.9.2-pre7
Daniel (30 November 2001)
- Documented --disable-epsv and CURLOPT_FTP_USE_EPSV.
- Added --disable-epsv as an option. When used, curl won't attempt to use the
EPSV command when doing passive FTP downloads. Wrote a test case for it.
- Eric provided a few more fixes for building on Macs. He also pointed out
a flaw in the signal handler restoration code.
- Fiddled with some Tru64 problems reported by Dimitris Sarris. They appeared
only when using VERBOSE ftp transfers. Do we use a too small buffer for
gethostbyaddr_r(), was the lack of using in_addr_t wrong or is it that the
hostent struct must be blanked before use? With Dimitris help and these
patches, the problems seem to be history.
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
- CURLOPT_FTP_USE_EPSV was added and can be set to FALSE to prevent libcurl
from using the EPSV command before trying the normal PASV. Heikki Korpela
pointed out that some firewalls and similar don't like the EPSV so we must
be able to shut if off to work everywhere.
- I added a configure check for 'in_addr_t' and made the ftp code use that to
receive the inet_addr() return code in. Works on Solaris and Linux at
least. The Linux man page for inet_addr() doesn't even mention in_addr_t...
- Adjusted (almost) all FTP tests to the new command sequence.
- FTP command sequence changes:
EPSV is now always attempted before PASV. It is the final touch to make IPv6
passive FTP downloads to work, but EPSV is not restricted to IPv6 but works
fine with IPv4 too on the servers that support it.
SIZE is now always issued before RETR. It makes curl know the actual
download size before the download takes place, as it makes it less important
to find the size sent in RETR responses. Many sites don't include the size
in there.
Both these changes made it necessary to change the test suite's ftp server
code, and all FTP test cases need to be checked and adjusted!
Daniel (27 November 2001)
- Hans Steegers pointed out that the telnet code read from stdout, not stdin
as it is supposed to do!
Version 7.9.2-pre6
- Eric Lavigne's minor changes to build on MacOS before OS X were applied.
- greep at mindspring.com provided a main index.html page for our release
archive docs directory. It just links to all the existing HTML files, but
I think it may come useful to people.
- There's now some initial code to support the EPSV FTP command. That should
be used to do passive transfers IPv6-style. The code is still #if 0'ed in
lib/ftp.c as I have no IPv6 ftp server to test this with.
Daniel (26 November 2001)
- Robert Schlabbach had problems to understand how to do resumed transfers,
and I clarified the man page -C section somewhat.
Daniel (22 November 2001)
- Andrés García helped me out to track down the roots of bug report #479537,
which was concerning curl returning the wrong error code when failing to
connect. This didn't happen on all systems, and more specificly I've so far
only seen this happen on IPv4-only Linux hosts.
- I applied the fixes for the two bugs Eric Lavigne found when doing his MacOS
port. A missing comma in arpa_telnet.h and a pretty wild write in the FTP
response reader function. The latter write is however likely to occur in our
own buffer unless very big FTP server replies (>25K) are read. I've never
seen such a reply ever, so I think this is a relatively minor risk.
Loading full blame...