1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504 |
- Daniel (27 Dec 2002)
- - Philippe Raoult reported a bug with HTTPS connections which I evidently
- added in my 19 dec fix. I corrected it.
- Daniel (20 Dec)
- - Idea from the Debian latest patch: use AM_MAINTAINER_MODE in the configure
- script to make the default makefile less confusing "to the casual
- installer".
- Version 7.10.3-pre3 (20 Dec)
- Daniel (19 Dec)
- - Matthew Blain patched the Curl_base64_decode() function.
- - Evan Jordan reported in bug report #653022 that the SSL_read() usage was
- wrong, and it certainly was. It could lead to curl using too much CPU due to
- a stupid loop.
- Daniel (18 Dec)
- - As suggested by Margus Freudenthal, CURLE_HTTP_NOT_FOUND was renamed to
- CURLE_HTTP_RETURNED_ERROR since it is returned on any >= 400 code when
- CURLOPT_FAILONERROR is set.
- Daniel (17 Dec)
- - Bug reported #651464, reported by Christopher Palmer, provided an example
- source code using the multi interface that hang when trying to connect to a
- proxy on a localhost port where no proxy was listening. This bug was not
- repeatable on libcurls that were IPv6-enabled.
- Daniel (16 Dec)
- - Christopher Palmer also noticed what Vojtech Janota already was
- experiencing: The attempted name resolve fix for glibc 2.2.93 caused libcurl
- to crash when used on some older glibc versions. The problem is of course
- the silliness of the 2.2.93. I committed a fix that hopefully should make
- the binary run fine on either one of the versions, even though the solution
- is not as nice as I'd like it to be.
- Daniel (13 Dec)
- - Bug report #651460 by Christopher R. Palmer showed that when using libcurl
- to for example go over a proxy on localhost, it would attempt to connect
- through the proxy TWICE.
- I added test case 503 with which I managed to repeat this problem and I
- fixed the code to not re-attempt any connects (which also made it a nicer
- fix for the #650941 bug mentioned below).
- The sws server was extended to deal with CONNECT in order to make test
- case 503 do good.
- - Evan Jordan posted bug report #650989 about a memory leak in the public key
- retrieving code. He provided a suggested fix and I merely applied it!
- - Bug report #650941, posted by Christopher R. Palmer identified a problem
- with the multi interface and getting file:// URLs. This was now fixed and
- test case 502 was added to verify this.
- Daniel (12 Dec)
- - Test case 500 and 501 are the first ever libcurl test cases that run.
- - Made "configure --enable-debug" cut off all -O* options to the compiler
- - Finally fixed the test suite's ftp server so that test case 402 doesn't
- cause the following test case to fail anymore!
- Daniel (11 Dec)
- - CURL_MAX_WRITE_SIZE is now decreased to 16KB since it makes the Windows
- version perform uploads much faster!!! RBramante did lots of research on
- this topic.
- - Fixed the #include in curl/curl.h to include the other files outside the
- extern "C" scope.
- Daniel (10 Dec)
- - Moved around and added more logic:
- First, POST data is never sent as part of the request headers in the http.c
- code. It is always sent the "normal" read callback then send() way. This now
- enables a plain HTTP POST to be sent chunked if we want to. This also
- reduces the risk of having very big POSTs causing problems.
- Further, sending off the initial HTTP request is not done using a loop
- anymore. If it wasn't all sent off in the first send(), the rest of the
- request is sent off in the normal transfer select() loop. This makes several
- things possible, but mainly it makes libcurl block less when used from the
- multi interface and it also reduces the risk of problems with issuing very
- large requests.
- Daniel (9 Dec)
- - Moved the read callback pointer and data within the structs to a more
- suitable place. This in preparation for a better HTTP-request sending code
- without (a silly) loop.
- - The Dodds fix seems not to work.
- - Vojtech Janota tests proved that the resolve fix from oct 21st is not good
- enough since obviously older glibcs might return EAGAIN without this meaning
- that the buffer was too small.
- - [the other day] Made libcurl loop on recv() and send() now until done, and
- then get back to select(). Previously it went back to select() more often
- which really was a slight overhead. This was due to the reported performance
- problems on HTTP PUT on Windows. I couldn't see any notable difference on
- Linux...
- Version 7.10.3-pre2 (4 Dec 2002)
- Daniel (4 Dec 2002)
- - Lots of work with Malcolm Dodds made me add a temporary code fix that now
- shortens the timeout waiting for the 226 or 250 line after a completed
- FTP transfer.
- If no data is received within 60 seconds, this is taken as a sign of a dead
- control connection and we bail out.
- Daniel (3 Dec 2002)
- - Ralph's bug report #644841 identified a problem in which curl returned a
- timeout error code when in fact the problem was not a timeout. The proper
- error should now be propagated better when they're detected in the FTP
- response reading function.
- - Updated the Borland Makefiles.
- Daniel (2 Dec 2002)
- - Nicolas Berloquin provided a patch that introduced --create-dirs to the
- command line tool. When used in combination with -o, it lets curl create
- [non-existing] directories used in -o, suitably used with #-combinations
- such as:
- curl "www.images.com/{flowers,cities,parks,mountains}/pic_[1-100].jpg \
- -o "dir_#1/pic#2.jpg" --create-dirs
- Version 7.10.3-pre1
- Daniel (28 Nov 2002)
- - I visited Lars Nordgren and had a go with his problem, which lead me to
- implement this fix. If libcurl detects the added custom header
- "Transfer-Encoding: chunked", it will now enable a chunked transfer.
- Also, chunked transfer didn't quite work before but seems to do so now.
- - Kjetil Jacobsen pointed out that ./configure --disable-ipv6 --without-zlib
- didn't work on any platform...
- Daniel (26 Nov 2002)
- - Fixed a bad addrinfo free in the hostip.c code, hardly exposed anywhere
- - Dan Becker found and fixed a minor memory leak on persistent connnections
- using CURLOPT_USERPWD.
- Daniel (22 Nov 2002)
- - Based on Ralph Mitchell's excellent analysis I found a bug in the test suite
- web server (sws) which now lets test case 306 run fine even in combination
- with the other test cases.
- - Juan Ignacio Hervás found a crash in the verbose connect message that is
- used on persistent connections. This bug was added in 7.10.2 due to the
- rearranged name resolve code.
- Daniel (20 Nov 2002)
- - Kjetil Jacobsen provided a patch that introduces:
- CURLOPT_PRIVATE stores a private pointer in the curl handle.
- CURLINFO_PRIVATE retrieves the private pointer from the curl handle.
- - Karol Pietrzak pointed out how curl-config --cflags didn't output a good
- include dir so I've removed that for now.
- Version 7.10.2 (18 Nov 2002)
- Daniel (11 Nov 2002)
- - Dave Halbakken added curl_version_info to lib/libcurl.def to make libcurl
- properly build with MSVC on Windows.
- Daniel (8 Nov 2002)
- - Doing HTTP PUT without a specified file size now makes libcurl use
- Transfer-Encoding: chunked.
- Daniel (7 Nov 2002)
- - Bug report #634625 identified how curl returned timeout immediately when
- CURLOPT_CONNECTTIMEOUT was used and provided a fix.
- Version 7.10.2-pre4 (6 Nov 2002)
- Daniel (5 Nov 2002)
- - Lehel Bernadt found out and fixed. libcurl sent error message to the debug
- output when it stored the error message.
- - Avery Fay found some problems with the DNS cache (when the cache time was
- set to 0 we got a memory leak, but when the leak was fixed he got a crash
- when he used the CURLOPT_INTERFACE with that) that had me do some real
- restructuring so that we now have a reference counter in the dns cache
- entries to prevent an entry to get flushed while still actually in use.
- I also detected that we previously didn't update the time stamp when we
- extracted an entry from the cache so that must've been a reason for some
- very weird dns cache bugs.
- Version 7.10.2-pre3
- Daniel (31 Oct 2002)
- - Downgraded automake to 1.6.3 in an attempt to fix cygwin problems. (It
- turned out this didn't help though.)
- - Disable the DNS cache (by setting the timeout to 0) made libcurl leak
- memory. Avery Fay brought the example code that proved this.
- Version 7.10.2-pre2
- Daniel (28 Oct 2002)
- - Upgraded to autoconf 2.54 and automake 1.7 on the release-build host.
- - Kevin Roth made the command line tool check for a CURL_CA_BUNDLE environment
- variable (if --cacert isn't used) and if not set, the Windows version will
- check for a file named "curl-ca-bundle.crt" in the current directory or the
- directory where curl is located. That file is then used as CA root cert
- bundle.
- - Avery Fay pointed out that curl's configure scrip didn't get right if you
- used autoconf newer than 2.52. This was due to some badly quoted code.
- Version 7.10.2-pre1
- Daniel (23 Oct 2002)
- - Emiliano Ida confirmed that we now build properly with the Borland C++
- compiler too. We needed yet another fix for the ISO cpp check in the curl.h
- header file.
- - Yet another fix was needed to get the HTTP download without headers to work.
- This time it was needed if the first "believed header" was read all in the
- first read. Test 306 has not run properly since the 11th october fix.
- Daniel (21 Oct 2002)
- - Zvi Har'El pointed out a problem with curl's name resolving on Redhat 8
- machines (running IPv6 disabled). Mats Lidell let me use an account on his
- machine and I could verify that gethostbyname_r() has been changed to return
- EAGAIN instead of ERANGE when the given buffer size is too small. This is
- glibc 2.2.93.
- - Albert Chin helped me get the -no-undefined option corrected in
- lib/Makefile.am since Cygwin builds want it there while Solaris builds don't
- want it present. Kevin Roth helped me try it out on cygwin.
-
- - Nikita Schmidt provided a bug fix for a FOLLOWLOCATION bug introduced when
- the ../ support got in (7.10.1).
- Daniel (18 Oct 2002)
- - Fabrizio Ammollo pointed out a remaining problem with FOLLOWLOCATION in
- the multi interface.
- Daniel (17 Oct 2002)
- - Richard Cooper's experimenting proved that -j (CURLOPT_COOKIESESSION) didn't
- work quite as supposed. You needed to set it *before* you use
- CURLOPT_COOKIEFILE, and we dont' want that kind of dependencies.
- Daniel (15 Oct 2002)
- - Andrés García provided corrections for erratas in four libcurl man pages.
- Daniel (13 Oct 2002)
- - Starting now, we generate and include PDF versions of all the docs in the
- release archives.
- Daniel (12 Oct 2002)
- - Trying to connect to a host on a bad port number caused the multi interface
- to never return failure and it appeared to keep on trying forever (it just
- didn't do anything).
- Daniel (11 Oct 2002)
- - Downloading HTTP without headers didn't work 100%, some of the initial data
- got written twice. Kevin Roth reported.
- - Kevin Roth found out the "config file" parser in the client code could
- segfault, like if DOS newlines were used.
- Version 7.10.1 (11 Oct 2002)
- Daniel (10 Oct 2002)
- - Jeff Lawson fixed a few problems with connection re-use that remained when
- you set CURLOPT_PROXY to "".
- Daniel (9 Oct 2002)
- - Craig Davison found a terrible flaw and Cris Bailiff helped out in the
- search. Getting HTTP data from servers when the headers are split up in
- multiple reads, could cause junk data to get inserted among the saved
- headers. This only concerns HTTP(S) headers.
- Daniel (8 Oct 2002)
- - Vincent Penquerc'h gave us the good suggestion that when the ERRRORBUFFER
- is set internally, the error text is sent to the debug function as well.
- - I fixed the telnet code to timeout properly as the option tells it to. On
- non-windows platforms.
- Daniel (7 Oct 2002)
- - John Crow pointed out that libcurl-the-guide wasn't included in the release
- tarball!
- - Kevin Roth pointed out that make install didn't do right if build outside
- the source tree (ca-bundle wise).
- - FOLLOWLOCATION bugfix for the multi interface
- Daniel (4 Oct 2002)
- - Kevin Roth got problems with his cygwin build with -no-undefined was not
- present in lib/Makefile.am so I put it back in there again. The poor one who
- needs to remove it again must write a configure script to detect that need.
- - Ralph Mitchell pointed out that curl was a bit naive and didn't deal with ./
- or ../ stuff in the string passed back in a Location: header when following
- locations.
- - Albert Chin helped me to work out a better configure.in check for zlib, and
- both --without-zlib and -with-zlib seem to work rather well right now.
- - Zvi Har'El improvied the OpenSSL ENGINE check in the configure script to
- become more accurate.
- Daniel (1 Oct 2002)
- - Detlef Schmier pointed out the lack of a --without-libz option to configure,
- so I added one.
- Version 7.10 (1 Oct 2002)
- Daniel (30 Sep 2002)
- - Modified the curl_version_info() proto and returned struct once again, and
- updated the man page accordingly.
- - Cris Bailiff found out that the pre-releases crashed on name lookups on
- names such as "a:" or "baz:" (on Linux versions not being ipv6-enabled) due
- to some weird return codes from gethostbyname_r(). I'll blame the complete
- lack of docs in that department. Cris provided a fix, which I modified only
- slightly.
- Daniel (27 Sep 2002)
- - After a suggestion from Christian Kurz to Debian curl package maintainer
- Domenico Andreoli, I made it possible to override the proxy environment
- variables better. Now, by setting -x "" you can explicitly tell libcurl to
- not use a proxy, no matter whan the environment variables say.
- Version 7.10-pre4
- Daniel (26 Sep 2002)
- - Extended curl_version_info() more and wrote a man page for it.
- Daniel (25 Sep 2002)
- - libcurl could leak memory when downloading multiple files using http ranges,
- reported and fixed by Jean-Luc Guevel.
- - Walter J. Mack provided code and docs for the new curl_free() function that
- shall be used to free memory that is allocated by libcurl and returned back
- to the application, as curl_escape() and curl_unescape() do.
- - Yarram Sunil pointed out a flaw in the multi interface where a failed
- connection didn't close down properly and thus a second transfer using the
- same handle failed.
- - Andrés García fixed a flaw that made (among other things) dict-fetches
- return a random value.
- Daniel (24 Sep 2002)
- - Wez Furlong brought his initial patch that introduced curl_version_info().
- We might need to tweak it somewhat before release.
- Daniel (20 Sep 2002)
- - Craig Markwardt fixed another Tru64 IP resolve problem.
- Daniel (19 Sep 2002)
- - Dolbneff A.V and Spiridonoff A.V made the file:// code work with resumes
- in the same style other code does.
- - Ilguiz Latypov fixed a flaw in the client code when fetching multiple URLs
- and -C - was used. The first file's resume position was then accidentally
- reused on all the other files too.
- Daniel (18 Sep 2002)
- - The curl_easy_setopt.3 man page was greatly modified and the options have
- now been grouped in logical groups so that it should be somewhat easier to
- read it and find things you search for.
- Daniel (13 Sep 2002)
- - Kevin Roth pinpointed a scary flaw in libcurl, when the HTTP server doesn't
- send any headers back, only raw content. Right, that is a violation of the
- standard but still happens at times and we need to deal with it. Test case
- 306 was added to verify that we do right now.
- Version 7.10-pre3
- Daniel (11 Sep 2002)
- - Lukasz Czekierda found out that curl didn't send a correct HTTP Host: header
- when you specified the URL with an IPv6 IP-address.
- Daniel (4 Sep 2002)
- - Sven Neuhaus made --silent being acknowledged even when multiple URLs
- were used. It used to output "[1/2]: http://host/a.html.de --> a.html.d" etc
- even when told to shut up.
- Daniel (3 Sep 2002)
- - Updated all source code headers to use MIT-license references only, and
- point to the COPYING file and the http://curl.haxx.se/docs/copyright.html
- URL. I've cut out all references to MPL that I could find.
- - Corected the makefiles to not always use -lz when linking
- Version 7.10-pre2
- Daniel (2 Sep 2002)
- - James Gallagher added Content-Encoding support to libcurl so now curl and
- libcurl-using apps can request compressed contents using the 'deflate'
- method. See the special file lib/README.encoding for details.
- curl --compressed is now used to request compressed contents.
- curl-config --feature will include 'libz' if this feature was around when
- the library was built.
- Daniel (30 Aug 2002)
- - Applied an anonymous SOCKS5-proxy patch. Not properly working in all
- situations though, as all getaddrinfo()-using libcurls will fail on this.
- This is because of the somewhat naive way the current code tries to extract
- the IP address of the proxy.
- - Fixed up the SSL cert fixes from the other day even more after more inputs
- from Cris. Added three new SSL error codes to make the
- CURLE_SSL_CONNECT_ERROR slightly less overloaded.
- Daniel (27 Aug 2002)
- - After lots of talk with Tom Zerucha, Nick Gimbrone and Cris Bailiff I
- decided to talk the bold path and I now made libcurl do CA certificate
- verification by default. Thus library users need to explicitly turn this off
- if you want to connect to sites without proper checking. We also install a
- CA cert bundle on 'make install' now.
- The curl tool now requires the -k/--insecure option in order to allow
- connections and operations on SSL sites that aren't properly verified with
- -cafile or --capath.
- curl-config --ca displays the built-in path to the CA cert bundle.
- Daniel (26 Aug 2002)
- - Andrew Francis cleaned up some code that now compiles fine without the need
- for ugly MSVC pragmas.
- - Keith MacDonald found a minor bug in src/main.c that made it close stdin
- instead of the actual file handle. It shouldn't have resulted in much
- trouble as most operating systems close all file handles on process exit
- anyway.
- Daniel (22 Aug 2002)
- - Markus Oberhumer provided some documentation for his previously provided
- CURLOPT_NOSIGNAL fix.
- - Patched the lib/Makefile.am to hopefully no longer complain on undefined
- symbols that seemed to occur on builds with shared OpenSSL libraries on
- Solaris lately...
- Daniel (20 Aug 2002)
- - Fixed compiler warnings on MSCV++ compiles. We're looking for help here:
- remove the pragmas from lib/config-win32.h and adjust the sources where
- the warnings occur. Hiding them with pragmas like this is not the correct
- way of dealing with compiler warnings.
- Daniel (13 Aug 2002)
- - Ulrich Zadow made the global include files in curl/* include themselves
- using "curl.h" instead of <curl/curl.h> which thus allows people to more
- freely decide how to include curl and how to setup their include paths.
- - Sterling Hughes added the curl_share* interface, somewhat as discussed
- previously.
- - Jörn Hartroth pointed out that poll() was used in the pre1 source code and
- it isn't very portable, so now I check for it in the configure script and
- work around it.
- Version 7.9.9-pre1
- Daniel (12 Aug 2002)
- - Applied my initial take on making the multi stuff more asynchronous. Connects
- should now return back without "hanging" until it has connected for real.
- This should also be the case for FTP-PASV connects.
- Daniel (9 Aug 2002)
- - Applied Markus F.X.J. Oberhumer's patch that introduces CURLOPT_NOSIGNAL,
- which effectively prevents libcurl from doing anything that may cause
- signals to get sent. This is basicly for multi-threaded applications that
- now can use timeouts properly, without risking any signals to burst in and
- ruin the party.
-
- Daniel (5 Aug 2002)
- - Lukasz Czekierda reported that RFC2732-style literal IPv6 addresses didn't
- work. When did that code vanish? Anyway, it's back again now and seems to
- work!
- - Jonatan Lander found out that POSTing an empty string didn't work with the
- command line tool.
- Daniel (3 Aug 2002)
- - Jörn Hartroth fixed the libcurl.def file to build the windows DLL with
- the multi interface enabled.
- Daniel (1 Aug 2002)
- - The ftp PORT command now uses a better default IP address, as it will
- extract and use the local IP address used by the control connection.
- - Modified the #include lines in curl/multi.h to work better on more
- platforms.
- Daniel (31 Jul 2002)
- - Attempted a fix for Ray DeGennaro's reported HP-UX host name resolve
- problems.
- Daniel (30 Jul 2002)
- - Priya Ramakrishnan and Ryan Jones compiles curl/curl.h with a C++ compiler
- and don't get __STDC__ defined, which required us to extend the preprocessor
- check for the ## operator usage.
- - Correct the description for CURLOPT_PASSWDFUNCTION, if set to NULL the
- internal default function will be put back.
- - danfuzz at milk.com found out that libcurl badly assumed a space after
- 'Set-Cookie:' so if it wasn't present, it caused the first letter of the
- cookie name to fall off!
- Daniel (29 Jul 2002)
- - The password prompt asking for user password used stdout and now uses
- stderr instead to better allow redirecting. It also leaked a fopen() file
- handle that is now fixed.
- Daniel (28 Jul 2002)
- - HAVE_SETVBUF was left out from src/main.c which made -N not work. Found out
- by M T.
- Daniel (26 Jun 2002)
- - Glen Nakamura solved a crash in the name resolving function for IP-only
- addresses on Alpha Linux (at least).
- - T. Bharath corrected the high resolution timer introduced in 7.9.8.
- Daniel (22 Jun 2002)
- - Andrés García pointed out man page errors in curl_formadd.3. I fixed.
- Daniel (19 Jun 2002)
- - Chris Combes pointed out a flaw in curl_escape(). I fixed. We no longer
- tries to generate nor parse '+' in URLs. Spaces become %20, and only %-codes
- are translated by curl_unescape().
- Daniel (15 Jun 2002)
- - Added --limit-rate to the curl tool. Allows the user to set a maxmimum
- upper limit to how much bandwidth to use for transfers.
- - CURLOPT_BUFFERSIZE was added to libcurl. This sets a prefered size for the
- receive buffer in libcurl. The main point of this would be that the write
- callback gets called more often and with smaller chunks.
- Daniel (14 Jun 2002)
- - Yarram Sunil found out that the SocketIsDead() function performed a lot
- faster on Windows when removing the 1 microsecond timeout.
- - Hanno L. Kranzhoff fixed the VC++ project files.
- - Tom Mattison found out that ftp transfers closed the connection a little
- too often.
- - Miklos Nemeth posted a VC++ makefile fix and some INSTALL comments on how
- to disable specific protocols when building for Windows.
- Version 7.9.8
- Daniel (13 Jun 2002)
- - Time to let this baby go.
- Daniel (12 Jun 2002)
- - Chris Combes added three new options for curl_formadd(): CURLFORM_BUFFER,
- CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH. They are used to create a
- multipart that appears as a regular file upload, but the data is provided
- with a pointer and length.
-
- - Nico Baggus made the VMS version use sigsetjmp() too.
- - Jörn Hartroth fixed the mingw32 build using the mm lib.
- - Applied patches by Kris Kennaway that correct format string problems in
- lib/ftp.c and lib/ldap.c.
- Version 7.9.8-pre3
- Daniel (11 Jun 2002)
- - James Cone brought the idea of using sigsetjmp() in the signal handler to
- make the time-out of name lookups to work, even when the underlying name
- resolver library traps EINTR. The use of sigsetjmp() and siglongjmp() for
- this may be a bit drastic, and also not likely to exist on all platforms. I
- added careful checking for this in the configure script, even checks for it
- being a macro (which seems to be the case in for example Linux).
- sigsetjmp() seems to be mentioned in the Single Unix specification.
- - Miklos Nemeth brought a patch that allows libcurl to get built with specific
- protocols disabled. This is done by running ./configure
- --disable-[protocol].
- - FTP range downloads could make CURLE_FTP_WRITE_ERROR get returned. We now
- make precautions to not return this for range downloads.
- Added test case 135 that makes an ftp range download. Had to tweak the
- runtests.pl script a bit too.
- - Bug report #566835 identified a strlen() on a NULL pointer. Added additional
- check to prevent this.
- Daniel (10 Jun 2002)
- - Found and corrected a connect failure problem that didn't create a human
- error text.
- - Added code to compile with OpenSSL 0.9.7. Based on patch from Jacob Meuser
- and comments from Götz Babin-Ebell.
- - Gautam Mani found a socket descriptor leak that happened when FTP transfers
- failed and you reinvoked curl_easy_perform().
- Daniel (5 Jun 2002)
- - Gustaf Hui corrected curl_multi_remove_handle() so that it won't crash no
- matter when you decide to remove the CURL handle.
- - HAVE_RAND_STATUS was added to lib/config-win32.h by Andreas Olsson, as it
- makes windows builds stop complaining about "weak seeding" when it in fact
- isn't.
- - Another 64bit architecture crash that was introduced in 7.9.7 was now
- removed, as bug report #564585 clarified. This happened due to our attempts
- to only allocate only as much memory as is actually needed for name
- resolving (using realloc) which called for a function that could 'move' a
- hostent struct in memory.
- Version 7.9.8-pre2
- Daniel (3 Jun 2002)
- - T. Bharath fixed the CURLINFO_REDIRECT_TIME to return a correct time and
- made the CURLINFO_REQUEST_SIZE return the correct total request size. He
- also made the win32 timers use higher resolution than before.
- Daniel (29 May 2002)
- - Renaud Chaillat made me aware of the fact that libcurl returned an error if
- you tried to get an empty FTP file. This seemed like a wrong thing to do, so
- now it no longer does that! I just hope that no one built anything fancy
- upon this unexpected behavior...
- Daniel (28 May 2002)
- - Cris Bailiff brought CURLOPT_CAPATH that works like CURLOPT_CAINFO but
- specifies a path to a directory with certificates rather than a single file
- with them all concatenated. --capath was added to the command line tool
- for the same function.
- Windows users need to pay attention that the directory should be setup with
- the c_rehash tool of the OpenSSL package, and that creates symlinks by
- default that need to be replaced with actual copies to work on Windows.
- - Gustaf Hui provided new code that changes how curl_multi_info_read()
- messages are stored, so that they don't have to be kept around for the multi
- handle's entire life time. He also made it return failure codes properly
- which it didn't do before.
- Daniel (27 May 2002)
- - Gustaf Hui pointed out that running curl_multi_perform() without doing
- curl_multi_fdset() first was not really a working combo. I added an internal
- check for this and have some extra select() code without timeout to make the
- library internals work identically nevertheless. We might need to somehow
- either document that once you've used the *_fdset() you should remain using
- them in select() or you should blank them somehow so that libcurl won't go
- crazy.
- Version 7.9.8-pre1
- Daniel (22 May 2002)
- - James Cone brought an excellent patch, including several tests and docs!
- CURLOPT_NETRC now takes an enum as argument instead of the previous boolean.
- --netrc-optional was introduced as an addition to --netrc to allow the
- command line client to take use of all that new netrc stuff.
- - Bug report #558888 showed a case where libcurl re-used the previous host
- name when a connection over a proxy was re-used but to a different target
- host.
- Daniel (21 May 2002)
- - Edin Kadribasic helped me sort out a problem to made libcurl crash when
- trying to HTTP POST an empty string.
- - Clarified that Juergen Wilke donated the original tests/server/sws.c code.
- - Jean-Philippe Barrette-LaPierre made curl_formadd() return a typedef named
- CURLFORMcode instead of the previous 'int', and the various return codes are
- now globally exported. It allows applications to better figure out what goes
- wrong when curl_formadd() returns errors.
- Daniel (20 May 2002)
- - Roland Zimmermann pointed out that SSL_CTX_use_certificate_chain_file()
- is prefered to SSL_CTX_use_certificate_file().
- Daniel (17 May 2002)
- - Bug report #556869 pointed out that src/writeout.c didn't compile on freebsd
- after my AIX fixes the other week.
- - Bug report #556930 pointed out a FreeBSD core dump introduced in 7.9.7 in
- the DNS struct realloc stuff. Actually, this crash could happen on all
- systems that made the pack_hostent() function get invoked.
- - I removed several compiler warnings in the test suite's HTTP server.
- Version 7.9.7
- Daniel (10 May 2002)
- - Kevin Roth adjusted the --trace-ascii output slightly.
- - Paul Harrington found out that src/writeout.c needed an additional header
- file included for AIX builds
- Version 7.9.7-pre2
- Daniel (7 May 2002)
- - Updated the man page with --trace-ascii and -j/--junk-session-cookies.
- - Made --trace-ascii do pretty much the same as --trace but without the hex
- part in the output.
- - Added CURLOPT_COOKIESESSION that when enabled makes libcurl ignore session
- cookies read from a file. This option is enforced by the curl command line
- tool using the new -j/--junk-session-cookies option. After discussions with
- Kevin Roth. This makes it easier to use curl to fully emulate a browser's
- behavior, even when it comes to "session cookies". Session cookies are
- cookies that a normal browser discards when the browser is shut
- down. They're identified by not having any expire date/time.
- - When CURLOPT_DEBUGDATA was set, it ruined the CURLOPT_STDERR setting and
- this was discovered when --trace was made to crash.
- - Using -v and --trace at the same time confused matters. -v is now pretty
- much ignored when --trace or --trace-ascii is used.
- - Made --trace (and --trace-ascii) support - as file name to pass output to
- stdout instead. It makes it consistent with how other options work.
- Version 7.9.7-pre1
- Daniel (6 May 2002)
- - Added multi-post.c to the examples directory. I got the basic source for
- this from Gustaf Hui.
- Daniel (3 May 2002)
- - CURL_MAX_WRITE_SIZE is now an exported #define in the curl/curl.h header and
- can be used to figure out the maximum buffer size your write callback can
- get.
- - CURLOPT_READDATA is now an alias for CURLOPT_INFILE and CURLOPT_WRITEDATE is
- an alias for CURLOPT_FILE. These two were added for conformity. Most other
- callback function's userdata are provided with options using a similar name-
- scheme.
- - Added "--trace [file]" to the command line tool. It makes a very detailed
- trace dump get stored, with a full protocol dump that includes all received
- and transmitted data. This could be a very effective tool for debugging what
- goes wrong. This dump includes every byte the way it is sent to/received
- from the server. The dump is the plain-text version, so SSL transfers will
- still be readable.
- - I found out that the DEBUGFUNCTION was not called properly everywhere as we
- wanted it to. I fixed it.
- - -D now stores all headers to the same file if multiple URLs are given on the
- command line! Kevin Roth made me aware of that it didn't already do this!
- - Gustaf Hui wrote an excellent formpost example that used the multi
- interface. Unfortunately, it didn't work due to several bugs in how
- transfers were made when the multi interface was used.
- Daniel (2 May 2002)
- - Hanno Kranzhoff found out that when doing multiple transfers on the same
- easy handle, the progress meter would show a bad "currently downloaded
- value" when the transfer starts.
- Daniel (1 May 2002)
- - Applied another patch by Jacky Lam to make the name resolve info realloc()
- stuff work properly.
- Daniel (28 April 2002)
- - curl_multi_info_read() is now implemented!
- Daniel (27 April 2002)
- - Updated BUGS, TODO, FAQ, INSTALL and added BINDINGS.
- - I think I fixed the DNS cache prune crach Jacky Lam found and reported.
- - I cleaned up the name prefix stuff in the hash and llist modules.
- - FTP responses should now be better on timing out properly. The timeout value
- is maximum timeout for the entire request operation, but before this, the
- timeout was used as a maximum allowed time between two reads...
- Daniel (26 April 2002)
- - Fixed the test suite http server to not use snprintf() anymore due to better
- portability.
- Daniel (25 April 2002)
- - With Sterling Hughes' new DNS pruning, Jacky Lam asked if this wouldn't
- cause problems since the pruning is only checking the entry time, and it
- sure could cause problems. Therefor, I've now added and changed code so that
- this should not be a problem. Nowhere in the code will be store name
- resolved information around so that a sunsequent DNS cache prune should
- cause a problem. This of course called for some mild internal changes.
- Daniel (23 April 2002)
- - Improved the 'no_proxy' check, as using port numbers in the URL confused it
- previously. Reported by Erwan Legrand in bug report #547484.
- - The --interface option now works even on IPv6 enabled builds. Reported by
- 'thor'.
- Daniel (22 April 2002)
- - The #defines names starting with TIMECOND now has CURL_ prefixes. (The old
- names are still #defined too.) Pointed out by Robert Olson.
- - Jacky Lam brought code that lets the name resolve function only use as much
- memory as it actually needs. This only works on certain operating systems,
- but is totally transparant to all users.
- Daniel (19 April 2002)
- - Bjorn Reese fixed pack_hostent to work properly with 64 bit pointers.
- Daniel (18 April 2002)
- - Sterling Hughes added code to prune old DNS cache entries, since Jacky Lam
- experienced very big caches.
- Daniel (17 April 2002)
- - Dirk Manske patched the 301 response to work against the RFC but more like
- common browsers do. If a POST get a 301 back, it'll switch to GET in the
- next request (if location-following is enabled).
- Daniel (16 April 2002)
- - Dirk Manske posted a patch originally written by Ingo Wilken that introduced
- two new CURLINFO_* values: CURLINFO_REDIRECT_TIME and
- CURLINFO_REDIRECT_COUNT.
- Daniel (15 April 2002)
- - Jonatan Lander patched the verbose text 'Disables POST, goes with GET' to
- reflect reality better, like when the first request isn't POST and when
- the second isn't GET... :-)
- - Craig Davison pointed out that when curl_formadd()ing a file that doesn't
- exist, libcurl doesn't return error. Now, curl_easy_perform() will return
- CURLE_READ_ERROR if that is the case. Test 41 was added to verify this.
- Version 7.9.6
- Daniel (14 April 2002)
- - Dirk Manske brought a fix that makes libcurl strip off white spaces from the
- beginning of cookie contents.
- - Had to patch include/curl/curl.h since MSVC doesn't set the __STDC__ define.
- Moonesamy pointed out the problem, Bjorn Reese the solution.
- Version 7.9.6-pre5
- Daniel (12 April 2002)
- - Fixed the TIMER_CONNECT to be more accurate for FTP transfers. Previously
- FTP transfers got the "connect done" time set after the initial FTP commands
- and not directly after the TCP/IP connect as it should.
- I also made the time stamp get set even if the connect itself fails, which
- it didn't do previously.
- - Jean-Philippe Barrette-LaPierre provided his patch that introduces
- CURLOPT_DEBUGFUNCTION and CURLOPT_DEBUGDATA. They allow a program to a set a
- callback to receive debug/information data. That includes headers and data
- that is received and sent. CURLOPT_VERBOSE still controls it.
- By default, there is an internal debugfunction that will make things look
- and work as before if not changed.
- Daniel (10 April 2002)
- - Sebastien Willemijns found out that -x didn't use the default port number as
- is documented. It does now.
- - libcurl-errors.3 is a new man page attempting to document all libcurl error
- codes
- - Added two new error codes and changed the behaviour of two old ones
- slightly:
- CURLE_WRITE_ERROR
- This error was returned *both* for errors that occured when writing
- received data to a local file, as well as when we get problems writing data
- to a remote server. CURLE_SEND_ERROR has now been added for the latter
- error.
- CURLE_READ_ERROR
- This error was similarly returned *both* for errors when reading a local
- file, as well as when getting problems when reading network data.
- CURLE_RECV_ERROR has now been added for the latter error.
- (Two test cases were adjusted accordingly.)
- Daniel (9 April 2002)
- - runtests.pl now sets the HOME variable before running curl, to prevent any
- actual ~/.curlrc file to fool the tests!
- Version 7.9.6-pre4
- Daniel (8 April 2002)
- - Michael Curtis provided new functionality for curl on some platforms. Using
- the --environment option, curl will *set* a bunch of environment variables
- to values. The names are the same ones as for the -w/--writeout option.
- For now, this only works on the RISC OS version, as this feature relies on
- both OS support and that it matches OS paradigms.
- - Jacky Lam provided a fix for getting headers-only when the reply is HTTP/1.0
- and 304, I edited it slightly.
- Daniel (5 April 2002)
- - As requested by Jay Graves, the '.curlrc' file (or _curlrc as it is called
- when used in windows), is now loaded from the current directory if the HOME
- environment variable isn't set (or if it is too long). I also enlarged the
- array used to store the full file path in, to 512 bytes.
- - Kevin Roth pointed out to me why the "19 March" change regarding -G and -I
- was stupid and the change was reverted. Added test case 48 to verify the
- functionality.
- Version 7.9.6-pre3
- Daniel (4 April 2002)
- - Jonatan Lander brought a patch that makes curl/curl.h compile nicely on
- pre-ISO compilers, like when using gcc -traditional.
- Daniel (3 April 2002)
- - Jacky Lam identified a glitch when getting headers-only, where libcurl would
- "hang" 1 second in vain in the select() loop before returning back.
- - Tor Arntsen brought a patch for multipart formposts. It turned out that the
- "CGI_Lite Perl package" makes some bad assumptions on what letters that may
- be used in boundary strings and thus curl could confuse it by including '+'
- and '/'. While this is standards-compliant, we change the behavior to work
- smoothly with existing software based on that package.
- Daniel (2 April 2002)
- - Gerhard Herre filed bug report #536238 where he pointed out a crash in
- verbose FTP passive transfers for AIX.
- - Clarence Gardner pointed out a minor flaw in how libcurl didn't properly
- take care of all errors that SSL_read() could return.
- - Jacky Lam fixed a MALLOCDEBUG problem in lib/getinfo.c
- Daniel (27 March 2002)
- - T. Bharath pointed out a flaw in the connection re-use function that didn't
- check proxy connections properly for "deadness" before they were re-used.
- - Pedro Neves found out that HTTP POSTing with --data-binary did not properly
- work under Windows as the file specified wasn't read fully binary!
- Daniel (25 March 2002)
- - Jacky Lam brought a fix that improves treatment of cookies using identical
- domains but with leading dots properly.
- Daniel (22 March 2002)
- - Miklos Nemeth updated the windows section of the docs/INSTALL file and the
- windows makefiles.
- - Jon Dillon provided us with several good-looking curl images for
- promotion. View them here http://curl.haxx.se/icons.html
- Daniel (20 March 2002)
- - Peter Verhas found out that CRLF replacement in uploads was not working. I
- fixed it, and added test case 128 that verifies the functionality.
- - The list formerly known as curl-main is now named curl-users and is hosted
- by sourceforge. Susbcribe to the new list, get off the old one.
- Version 7.9.6-pre2
- Daniel (19 March 2002)
- - Made -G and -I on the same command line cause an error.
- - Moved the multi.h file to the "public" include directory and made it get
- included by curl.h so that no extra include files will be necessary to use
- it.
- Added docs and man pages for the multi interface to the release archive.
- Added the three example source codes too.
- Necessary steps in my campaign to sneak in the multi interface... ;-)
- - Updated the year in all copyright notices in all C and H files.
- Daniel (18 March 2002)
- - Tomas Szepe found out that -d and -G didn't mix as they should. I broke this
- in 7.9.5... Added test case 32 for this.
- Version 7.9.6-pre1
- Daniel (16 March 2002)
- - Peter Verhas pointed out that the curl_escape and curl_unscape man pages
- contained factual errors.
- - Albert Choy found and corrected a problem with the verbose output when doing
- PASV ftp transfers. It could make libcurl crash.
- Details in bug report #530562:
- http://sourceforge.net/tracker/?func=detail&atid=100976&aid=530562&group_id=976
- Daniel (15 March 2002)
- - Jun-ichiro itojun Hagino filed bug report #530204 that clearly pointed out
- the PF_INET fix from February 19 as a not-very-good fix as it broke IPv6
- capability! That patch is now reverted.
- The problem with slow name lookups with getaddrinfo() on non-IPv6 enabled
- hosts are instead made by first checking if the stack is IPv6-enabled and if
- not, the PF_INET is used and otherwise we go with the full PF_UNSPEC.
- - T. Bharath pointed out that when we return an "error" from a WRITEFUNCTION
- as described in the man page, libcurl did not return the documented error
- code (CURLE_WRITE_ERROR) but would instead return CURLE_READ_ERROR. This is
- now corrected.
- Daniel (14 March 2002)
- - Setting CURLOPT_POST without setting CURLOPT_POSTFIELDS now read the POST-
- data from the callback.
- - The GOPHER support seems to be broken. I don't think I'll even start fixing
- it until someone else finds out... :-)
- Daniel (13 March 2002)
- - Trying 'curl -I ftp.sunet.se' or similar did a SIZE on a silly "(nil)"
- string. If such a file would be present, curl returned the size of it! Now
- we prevent this.
- - Curl_sendf() was fixed to deal with situation where Curl_write() would've
- blocked and thus return -1.
- - Setting CURLOPT_PROGRESSFUNCTION to NULL now restores the internal function.
- - All CURLFORM_* options can now be used in a CURLFORM_ARRAY except the
- CURLFORM_ARRAY itself. This was necessary since we couldn't expand the
- CURLFORM_* list proprely and unrestricted until this was the case. It was
- also a bit peculiar to users why some options could be used in an array
- while others couldn't.
- - Removed some silly CRLF lines that had accidentally slipped into src/main.c
- Nico Baggus pointed them out to me.
- Daniel (11 March 2002)
- - CURLFORM_FILENAME was added. This can be set when creating a file upload
- part, to set the 'filename' field to a custom value. If this isn't used,
- the actually used filename will be included instead (as libcurl always has
- done). curl was adjusted accordingly, and now -F accepts a 'filename=' field
- too, and allows constructs such as:
- -F 'name=@filename;filename=/dev/null'
- and this can be combined with type= too, in a manner similar to:
- -F "file=@log/test39.txt;filename=fakerfile;type=moo/foobar"
- Test case 39 was added to verify this functionality.
- - The struct formerly known as HttpPost is now named curl_httppost to properly
- use the curl name space. I added a #define for the old name to make existing
- programs compile even when this new include file is used.
- Daniel (8 March 2002)
- - Clifford also discovered that if the client code failed early, as when doing
- "curl -O" only, it would do fclose(NULL) which caused a segmentation fault
- on some systems.
- - Clifford Wolf provided a patch that made --progress-bar work again.
- - I closed bug report #527032 by making sure that we add a newline after a
- transfer when --progress-bar has been used. Before, without the newline, it
- made the subsequent text come out wrong.
- Version 7.9.5
- Daniel (7 March 2002)
- - Added docs/KNOWN_BUGS to the release archive.
- Daniel (6 March 2002)
- - Kevin Roth corrected a flaw in the curl client globbing code that made it
- mess up backslashes. This was most notable on windows (cygwin) machines when
- using file://.
- - Brad provided another fix for building outside the source-tree.
- - Ralph Mitchell patched away a few compiler warnings in tests/server/sws.c
- Daniel (5 March 2002)
- - I noticed that the typedef in curl.h for the progress callback prototype was
- wrong and thus applications that used it would not get the proper input
- data. It used size_t where the implementation actually uses doubles!
- I wish I could blame someone else, but this was my fault. Again.
- Version 7.9.5-pre6
- Daniel (4 March 2002)
- - Cut off the changes done during 2001 from this changelog file and put them
- in a separate file (CHANGES.2001), available from CVS of course.
- - I removed the multi directory. The example sources were moved to the
- docs/examples directory where they belong.
- - Wrote 7 new man pages for the current functions in the new multi interface.
- They're all still pretty basic, but we can use them as a start and add more
- contents to them when we figure out what to write. The large amount of man
- pages for libcurl now present made me decide to put them in a new separate
- subdirectory in the docs directory. Named libcurl.
- - Giuseppe Corbelli provided a template file for the EPM package manager, it
- gets generated nicely by the configure script now.
- Version 7.9.5-pre5
- Daniel (1 March 2002)
- - Moved the memanalyze.pl script into the tests/ dir and added it to the
- release archives. It was previously only present in the CVS tree.
- - Modified the February 17th Host: fix, as bug report #523718 pointed out that
- it caused crashes!
- - Nico Baggus added more error codes to the VMS stuff.
- - Wesley Laxton brought the code that introduced the new CURLOPT_PREQUOTE
- option. It is just another FTP quote option that allows the user to specify
- a list of FTP commands to issue *just before* the transfer command (RETR or
- STOR etc). It has turned up a few systems that really need this.
- The curl command line tool can also take advantage of this by prefixing the
- quote commands with a plus (+) in similar style that post transfer quote
- commands are specified.
- This is not yet documented. There is no test case for this yet.
- Daniel (28 February 2002)
- - Ralph Mitchell made some serious efforts and put a lot of sweat in setting
- up scripts and things for me to be able to repeat his problems, and I
- finally could. I found a problem with the header byte counter that wasn't
- increased properly and thus we could return CURLE_GOT_NOTHING when we in
- fact had received data.
- Daniel (27 February 2002)
- - I had to revert the non-space parsing cookie fix I posted to the mailing
- list. Expire dates do have spaces and still need to get parsed properly!
- Instead we just ignore trailing white space and it seems to work...
- Daniel (26 February 2002)
- - Made the cookie property 'Max-Age' work, just since we already tried to
- support it, it is better to do it right. No one uses this anyway.
- - The cookie parser could crash if a really weird (illegal) cookie line was
- received. I also made it better discard really oddly formatted lines better.
- Made the cookie jar store the second field from the left using the syntax
- that Netscape and Mozilla probably like. Curl itself ignores it.
- Added test case 31 for these cases.
- Clay Loveless' email regarding some cookie issues started my cleanup.
- - Kevin Roth pointed out that my automake fiddles broke the ability to build
- outside the source-tree and I posted a patch to the mailing list that brings
- this ability back.
- Version 7.9.5-pre4
- Daniel (25 February 2002)
- - Fiddled with the automake files to make all source files in the lib
- directory not have ../src in the include path, and the src sources shouldn't
- have ../lib!
- - All 79 test cases ran OK under Linux and Solaris using the new HTTP server
- in the test suite. The new HTTP server was first donated by Georg Horn and
- subsequently modified to work with the test suite. It is currently still not
- portable enough to run on "all over" but this is a start and I can run all
- curl tests on my machines. This is an important requirement for the upcoming
- public release.
- - Using -d and -I on the same command line now reports an error, as it implies
- two different HTTP requests that can't be mixed.
- - Jeffrey Pohlmeyer provided a patch that made the -w/--write-out option
- support %{content_type} to get the content type of the recent download.
- - Kevin Roth reported that pre2 and pre3 didn't compile properly on cygwin,
- and this was because I used #ifdef HAVE_WINSOCK_H in lib/multi.h to figure
- out if we could include winsock.h which turns out not to be a wise choice to
- do on cygwin since it has the file but can't include it!
- Daniel (22 February 2002)
- - Added src/config-vms.h to the release archive.
- - Fixed the connection timeout value again, the change from February 18 wasn't
- complete.
- Version 7.9.5-pre3
- Daniel (21 February 2002)
- - Kevin Roth and Andrés García both found out that lib/config.h.in was missing
- in the pre-release archive and thus the configure script failed.
- Version 7.9.5-pre2
- Daniel (20 February 2002)
- - Andrés García provided a solution to bug report #515228. the total time
- counter was not set correctly when -I was used during some conditions (all
- headers were read in one single read).
- - Nico Baggus provided a huge patch with minor tweaks all over to make curl
- compile nicely on VMS.
- Daniel (19 February 2002)
- - Rick Richardson found out that by replacing PF_UNSPEC with PF_INET in the
- getaddrinfo() calls, he could speed up some name resolving calls with an
- order of magnitudes on his Redhat Linux 7.2.
- - Philip Gladstone found a second INADDR_NONE problem where we used long
- intead of in_addr_t which caused 64bit problemos. We really shouldn't define
- that on two different places.
- Daniel (18 February 2002)
- - Philip Gladstone found a problem in how HTTP requests were sent if the
- request couldn't be sent all at once.
- - Emil found and corrected a bad connection timeout comparison that made curl
- use the longest of connect-timeout and timout as a timeout value, instead of
- the shortest as it was supposed to!
- - Aron Roberts provided updated information about LDAP URL syntax to go into
- the manual as a replacement for the old references.
- Daniel (17 February 2002)
- - Philip Gladstone pointed out two missing include files that made curl core
- dump on 64bit architectures. We need to pay more attention on these details.
- It is *lethal* to for example forget the malloc() prototype, as 'int' is
- 32bit and malloc() must return a 64bit pointer on these platforms.
- - Giaslas Georgios fixed a problem with Host: headers on repeated requests on
- the same handle using a proxy.
- Daniel (8 February 2002)
- - Hanno L. Kranzhoff accurately found out that disabling the Expect: header
- when doing multipart formposts didn't work very well. It disabled other
- parts of the request header too, resulting in a broken header. When I fixed
- this, I also noticed that the Content-Type wasn't possible to disable. It is
- now, even though it probably is really stupid to try to do this (because of
- the boundary string that is included in the internally generated header,
- used as form part separator.)
- Daniel (7 February 2002)
- - I moved the config*.h files from the root directory to the lib/ directory.
- - I've added the new test suite HTTP server to the CVS repository, It seems to
- work pretty good now, but we must make it get used by the test scripts
- properly and then we need to make sure that it compiles, builds and runs on
- most operating systems.
- Version 7.9.5-pre1
- Daniel (6 February 2002)
- - Miklos Nemeth provided updated windows makefiles and INSTALL docs.
- - Mr Larry Fahnoe found a problem with formposts and I managed to track down
- and patch this bug. This was actually two bugs, as the posted size was also
- said to be two bytes too large.
- - Brent Beardsley found out and brought a correction for the
- CURLINFO_CONTENT_TYPE parser that was off one byte. This was my fault, I
- accidentaly broke Giaslas Georgios' patch.
- Daniel (5 February 2002)
- - Kevin Roth found yet another SSL download problem.
- Version 7.9.4
- - no changes since pre-release
- Version 7.9.4-pre2
- Daniel (3 February 2002)
- - Eric Melville provided a few spelling corrections in the curl man page.
- Daniel (1 February 2002)
- - Andreas Damm corrected the unconditional use of gmtime() in getdate, it now
- uses gmtime_r() on all hosts that have it.
- Daniel (31 January 2002)
- - An anonymous bug report identified a problem in the DNS caching which made it
- sometimes allocate one byte too little to store the cache entry in. This
- happened when the port number started with 1!
- - Albert Chin provided a patch that improves the gethostbyname_r() configure
- check on HP-UX 11.00.
- Version 7.9.4-pre1
- Daniel (30 January 2002)
- - Georg Horn found another way the SSL reading failed due to the non-blocking
- state of the sockets! I fixed.
- Daniel (29 January 2002)
- - Multipart formposts now send the full request properly, including the CRLF.
- They were previously treated as part of the post data.
- - The upload byte counter bugged.
- - T. Bharath pointed out that we seed SSL on every connect, which is a time-
- consuming operation that should only be needed to do once. We patched
- libcurl to now only seed on the first connect when unseeded. The seeded
- status is global so it'll now only happen once during a program's life time.
- If the random_file or egdsocket is set, the seed will be re-made though.
- - Giaslas Georgios introduced CURLINFO_CONTENT_TYPE that lets
- curl_easy_getinfo() read the content-type from the previous request.
- Daniel (28 January 2002)
- - Kjetil Jacobsen found a way to crash curl and after much debugging, it
- turned out it was a IPv4-linux only problem introduced in 7.9.3 related to
- name resolving.
- - Andreas Damm posted a huge patch that made the curl_getdate() function fully
- reentrant!
- - Steve Marx pointed out that you couldn't mix CURLOPT_CUSTOMREQUEST with
- CURLOPT_POSTFIELDS. You can now!
- Daniel (25 January 2002)
- - Krishnendu Majumdar pointed out that the header length counter was not reset
- between multiple requests on the same handle.
- - Pedro Neves rightfully questioned why curl always append \r\n to the data
- that is sent in HTTP POST requests. Unfortunately, this broke the test suite
- as the test HTTP server is lame enough not to deal with this... :-O
- - Following Location: headers when the connection didn't close didn't work as
- libcurl didn't properly stop reading. This problem was added in 7.9.3 due to
- the restructured internals. 'Frank' posted a bug report about this.
- Daniel (24 January 2002)
- - Kevin Roth very quickly spotted that we wrongly installed the example
- programs that were built in the multi directory, when 'make install' was
- used. :-/
- Version 7.9.3
- Daniel (23 January 2002)
- - Andrés García found a persistancy problem when doing HTTP HEAD, that made
- curl "hang" until the connection was closed by the server. This problem has
- been introduced in 7.9.3 due to internal rewrites, this was not present in
- 7.9.2.
- Version 7.9.3-pre4
- Daniel (19 January 2002)
- - Antonio filed bug report #505514 and provided a fix! When doing multipart
- formposts, libcurl would include an error text in the actual post if a
- specified file wasn't found. This is not libcurl's job. Instead we add an
- empty part.
- Daniel (18 January 2002)
- - Played around with stricter compiler warnings for gcc (when ./configure
- --enable-debug is used) and changed some minor things to stop the warnings.
- - Commented out the 'long long' and 'long double' checks in configure.in, as
- we don't currently use them anyway and the code in lib/mprintf.c that use
- them causes warnings.
- - Saul Good and jonatan pointed out Mac OS X build problems with pre3 and how
- to correct them. Two compiler warnings were removed as well.
- - Andrés García fixed two minor mingw32 building problems.
- Version 7.9.3-pre3
- Daniel (17 January 2002)
- - docs/libcurl-the-guide is a new tutorial for our libcurl programming
- friends.
- - Richard Archer brought back the ability to compile and build with OpenSSL
- versions before 0.9.5.
- [http://sourceforge.net/tracker/?func=detail&atid=100976&aid=504163&group_id=976]
- - The DNS cache code didn't take the port number into account, which made it
- work rather bad on IPv6-enabled hosts (especially when doing passive
- FTP). Sterling fixed it.
- Daniel (16 January 2002)
- - Georg Horn could make a transfer time-out without error text. I found it and
- corrected it.
- - SSL writes didn't work, they return an uninitialized value that caused
- havoc all over. Georg Horn experienced this.
- - Kevin Roth patched the curl_version() function to use the proper OpenSSL
- function for version information. This way, curl will report the version of
- the SSL library actually running right now, not the one that had its headers
- installed when libcurl was built. Mainly intersting when running with shared
- OpenSSL libraries.
- Version 7.9.3-pre2
- Daniel (16 January 2002)
- - Mofied the main transfer loop and related stuff to deal with non-blocking
- sockets in the upload section. While doing this, I've now separated the
- connection oriented buffers to have one for downloads and one for uploads
- (as two can happen simultaneously). I also shrunk the buffers to 20K
- each. As we have a scratch buffer twice the size of the upload buffer, we
- arrived at 80K for buffers compared with the previous 150K.
- - Added the --cc option to curl-config command as it enables so very cool
- one-liners. Have a go a this one, building the simple.c example:
- $ `curl-config --cc --cflags --libs` -o example simple.c
- Daniel (14 January 2002)
- - I made all socket reads (recv) handle EWOULDBLOCK. I hope nicely. Now we
- only need to address all writes (send) too and then I'm ready for another
- pre-release...
- - Stoned Elipot patched the in_addr_t configure test to make it work better on
- more platforms.
- Daniel (9 January 2002)
- - Cris Bailiff found out that filling up curl's SSL session cache caused a
- crash!
- - Posted the curl questionnaire on the web site. If you haven't posted your
- opinions there yet, go there and do it now while it is still there:
- http://curl.haxx.se/q/
- - Georg Horn quickly found out that the SSL reading no longer worked as
- supposed since the switch to non-blocking sockets. I've made a quick patch
- (for reading only) but we should improve it even further.
- Version 7.9.3-pre1
- Daniel (7 January 2002)
- - I made the 'bool' typedef use an "unsigned char". It makes it the same on
- all platforms, no matter what the platform thinks the default format for
- char is. This was noticed since we made a silly comparison involving such a
- bool variable, and only one compiler/platform combination (on Debian Linux)
- complained about it (that happened to have its char unsigned by default).
- - Bug report #495290 identified a cookie parsing problem that was corrected.
- When a Set-Cookie: line is received without a trailing semicolon, libcurl
- didn't read the last "name=value" pair of the line, leading to confusions...
- - Sterling committed his updated DNS cache code.
- - I worked with Georg Horn and comments from Götz Babin-Ebell and switched
- curl's socket operations completely over to non-blocking for the entire
- operation (previously we used non-blocking only for the connection phase).
- We had to do this to make the SSL connection phase timeout properly without
- the use of signals. A little extra code to deal with this was added.
- - T. Bharath pointed out a slightly obscure cookie engine flaw.
- - Pete Su pointed out that libcurl didn't treat HTTP code 204 as it should.
- 204-replies never provides a response-body. This resulted in bad persistant
- behavior when 204 was received.
- Daniel (5 January 2002)
- - SM updated the VC++ library Makefiles for the new source files.
- Daniel (4 January 2002)
- - I discovered that we wrongly used inet_ntoa() (instead of inet_ntoa_r() in
- two places in the source code). One happened with VERBOSE set on connects,
- and the other when VERBOSE was on and krb4 over nat was used... I honestly
- don't think anyone has suffered from these mistakes.
- - I replaced a lot of silly occurances of printf() to instead use the more
- appropriate Curl_infof() or Curl_failf(). The krb4 and telnet code were
- affected.
- - Philip Gladstone found a few more problems with 64-bit archs (the 64-bit
- sparc on solaris 8).
- - After discussions on the libcurl list with Raoul Cridlig, I just made FTP
- response lines get passed to the header callback if such a one is
- registered. It'll make it possible for any application to get all the
- responses an FTP server sends to libcurl.
- Daniel (3 January 2002)
- - Sterling Hughes brought a few buckets of code. Now, libcurl will
- automatically cache DNS lookups and re-use the previous results first if any
- such is available. It greatly improves speed when doing many repeated
- operations to the same host.
- - As the test case uses --include and then --head, I had to modify src/main.c
- to deal with this situation slightly better than previously. When done, we
- have 100% good tests again in the main branch.
- Daniel (2 January 2002)
- - Made test case 25 run again in the multi-dev branch. But it seems that the
- changes done on dec-20 made test case 104 cease to work (in both branches).
- - 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.
|