Newer
Older
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
History of Changes
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Daniel (25 July 2000)
- Kristian Köhntopp <kris at koehntopp.de> brought be a fix that makes libcurl
libtoolified, just as we've wanted for a while now. He also made the
recently added man pages get installed properly on 'make install' and some
other nice cleanups.
- In a discussion with Eetu Ojanen it struck me that if we use curl to get a
page using a password, and that page then sends a Location: to another
server that curl follows, curl will send the user name and password to that
server as well.
Now, I'll never be able to make curl do Location: following all that perfect
and you're all sooner or later required to write a script to do several
fetches when you're doing advanced stuff, but now I've modified curl to at
least *only* send the user name and password to the original server. Which
means that if get a page from server A with a password, that forwards curl
to server B, curl won't use the password there. If server B then forwards
curl back to server A again, the password will be used again.
This is not a perfect implementation, as in a browser case it would only use
the password if the left-prefix of the first path is the same. I just think
that this fix prevents a somewhat lurky "security hole".
As a side-note in this subject: HTTP passwords are sent in cleartext and
will never be considered to be safe or secure. Use HTTPS for that.
- As discussed on the mailing list, I converted the FTP response reading
function into using select() which then allows timeouts (even under win32!)
if the command-reply session gets too slow or dies completely. I made a
default timeout on 3600 seconds unless anything else is specified, since I
don't think anyone wants to wait more than that for a single character to
get received...
- Torsten Foertsch <torsten.foertsch at gmx.net> brought a set of fixes for
the rfc1867 form posts. He introduced 'name=<file' which brings a means to
suuply very large text chunks read from the given file name. It differs from
'name=@file' in the way that this latter thing is marked in the uploaded
contents as a file upload, while the first is just text (as in a input or
textarea field). Torsten also corrected a bug that would happen if you used
%s or similar in a -F file name.
- As discovered by Nico Baggus <Nico.Baggus at mail.ing.nl>, when transferring
files to/from FTP using type ASCII curl should not expect the transfer to be
the exact size reported by the server as the file size. Since ASCII may very
well mean that the content is translated while transfered, the final size
may very well differ. Therefor, curl now ignores the file size when doing
ASCII transfers in FTP.
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Daniel (24 July 2000)
- Added CURLOPT_PROXYPORT to the curl_easy_setopt() call to allow the proxy
port number to be set separately from the proxy host name.
- Andrew <andrew at ugh.net.au> pointed out a netrc manual bug.
- The FTP transfer code now accepts a 250-code as well as the previously
accepted 226, after a successful file transfer. Mohan <mnair at
evergreen-funds.com> pointed this out.
- The check for *both* nsl and socket was never added in the v7 configure.in
when I moved the main branch. I re-added that check to configure.in. This was
discovered by Rich Gray.
- Howard, Blaise <Blaise.Howard at factiva.com> pointed out a missing free() in
curl_disconnect() which of course meant libcurl ate memory.
- Brian E. Gallew noted that the HTTP 'Host:' header curl sent did not
properly include the port number if non-default ports were used. This should
now have been fixed.
- HTTP connect errors now return errors earlier. This was most notably causing
problems when the HTTPS certificate had problems and later caused a crash.
Many thanks to Gregory Nicholls <gnicholls at level8.com> for discovering
and suggesting a fix...
Daniel (21 June 2000)
- After a "bug report" I received where the user was using both -F and -I in a
HTTP request (it severly confused the library I should add), I added some
checks to src/main.c that prevents setting more than one HTTP request
command, no matter what the user wants! ;-)
Version 7.0.8beta
- I did a major replace in many files to use the new curl domain haxx.se
instead of the previous one.
- As Eetu Ojanen suggested, I finally took the step and now libcurl no longer
makes a POST after it has followed a location. When the initial POST has
been done, it'll turned into a GET for the further requests. This is only
interesting when using -L/--location *and* doing a POST at the same time.
While messing with this, I added another weird feature I call 'auto
referer'. If you append ';auto' to the right of a given referer string (or
only use that string as referer), libcurl will automatically set the
previoud URL as refered when it follows a Location: and gets a succeeding
document.
- My hero Rich Gray found the very obscure FTP bug that happened to him only
when passing through a particular firewall and using the PORT command. It
turned out that PORT was the only command in the lib/ftp.c source that
didn't send a proper \r\n sequence but instead used the faulty \n which as
it seemed is supported by most major ftp servers... :-O
Version 7.0.7beta
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Daniel (16 June 2000)
- I had avoided this long enough now, so I moved the alternative progress bar
stuff from the lib and added it to the client code. This is now using the
recently added progress callback and it seems to work pretty much like
before. Since it is only one progress bar and you and download and upload at
the same time, this bar shows the combined progress of both directions. This
code was just ported from the old place to this, Lars is still our saviour!
;-) This also made the documentation more accurate since I never removed
this function from any docs! Although I now removed the CURLOPT_PROGRESSMODE
from the library since the lib has only one internal progress meter and it
will never get another. It is although likely that the internal one also
will be moved to the client code in the future (when I have other means of
getting the writeout data and move that too to the client).
- I took the opportunity to verify that standard progress meter works and I
found out it didn't get inited properly. Grrr. I corrected that as well.
Daniel (15 June 2000)
- I thought I'd better verify that the -F option still works in v7 and of
course it didn't... :-/ Anyway, I had the problems I could discover
corrected. About one month of beta testing and not a single person has used
this feature with v7?
- Björn correctly pointed out that the --progress-bar still doesn't work in
v7. Hm.
Daniel (14 June 2000)
- Tim Tassonis discovered that curl 7 didn't handle normal http POST as it
should. I corrected this.
Version 7.0.6beta
Daniel (14 June 2000)
- Björn Stenberg pointed out several problems (related to win32 compiling):
lib/strequal.c had a bad #ifdef for one of the string comparisons (win32)
src/main.c had several minor problems
lib/makefile.m32 had getpass.[co] twice
src/config-win32.h lacked the HAVE_FCNTL_H define
both config-win32.h files now only set the HAVE_UNISTD_H define if the
define MINGW32 is set, and I modified src/makefile.m32 and lib/makefile.m32
to set it.
Version 7.0.5beta
Daniel (14 June 2000)
- Applied Luong Dinh Dung's comments about a few win32 compile problems.
- Applied Björn Stenberg's suggested fix that turns the win32 stdout to
binary. It won't do it if the -B / --use-ascii option is used. That option
is now an extended version of the previous -B /--ftp--ascii. The flag was
already in use be the ldap as well so the new name fits pretty good. The
libcyrl CURLOPT_TRANSFERTEXT was also introduced as an alias to the now
obsolete CURLOPT_FTPASCII. Can't verify this fix myself as I have no win32
compiler around.
Daniel (13 June 2000)
- Luong Dinh Dung <dung at sch.bme.hu> found a problem in curl_easy_cleanup()
since it free()ed the main curl struct *twice*. This is now corrected.
Daniel (9 June 2000)
- Updated the RESOURCES file, added a README.win32 file.
Daniel (8 June 2000)
- So I finally added the progress callback to the *setopt() options and it
should work now. I don't have the energy to write any test program for it
right now.
- Made the callback function typedefs public in curl/curl.h for comfort. Just
in case anyone wanna fiddle with such pointers.
- Updated the curl_easy_setopt() man page accordingly.
Version 7.0.4beta
Daniel (2 June 2000)
- I noticed that when doing Location: following, we lost custom headers in all
but the first request.
- Removed the 'HttpPost' struct and moved the header stuff to the more generic
curl_slist.
- Added some better slist-cleanups in src/main.c
Version 7.0.3beta
Daniel (31 May 2000)
- So I discovered that I released the 7.0.2beta without it being able to
compile under Linux. gethostbyname_r() and gethostbyaddr_r() turned out to
feature a different amount of arguments on different systems so I had to add
a configure check for this and adjust the code slightly.
Loading full blame...