5 \___|\___/|_| \_\_____|
9 Daniel (23 September 2001)
10 - Found and removed a 'socket leak' that would occur on IPv6 enabled hosts
13 - Made the FTP upload tests run fine on machines with IPv6 enabled.
17 Daniel (19 September 2001)
18 - Vojtech Minarik set up a special-purpose test server and provided me with
19 test certificates in order for me to repeat the bug reports #440068 and
20 #440373. It turned out we didn't check all the error codes properly. We do
21 now, and connecting with a unacceptable certificate will make libcurl fail
22 to connect with an error code returned.
24 - Ramana Mokkapati found a case when the Location: following code did wrong.
25 I wrote a test case for this (45).
29 Daniel (17 September 2001)
30 - Linus Nielsen Feltzing fixed telnet for win32. It makes libcurl require
35 - libtool 1.4.2 is now in use!
39 Daniel (14 September 2001)
40 - Added another 14 ftp tests.
42 Daniel (13 September 2001)
43 - Added curl_easy_duphandle() to the easy.h header file. It has now been
44 tested and proved to work in a real-world tests by T Bharath. We still need
45 to write up some docs for this function.
47 - Added four more ftp tests to the test suite.
49 Daniel (12 September 2001)
50 - CURLOPT_SSL_CIPHER_LIST was added, and the curl tool option is named
51 --ciphers. Use them to specify a list of ciphers to use in the SSL
54 - T. Bharath found a memory leak in libcurl's windows version. It turned out
55 to be the new duphandle() that didn't quite work yet.
59 Daniel (11 September 2001)
60 - Added verbose output for SSL connections that output the server
61 certificate's start and expire dates. As suggested by Paul Harrington.
63 - Heikki Korpela found problems in the perl ftp server used for the test
64 suite, when he runs on on OpenBSD with perl 5.6. Some changes have been
65 made, but nothing really certain.
67 - T. Bharath has experienced problems with libcurl's stack usage on windows
68 and works on reducing it.
70 Daniel (10 September 2001)
71 - Cris Bailiff fixed the perl interface. It stopped working since the changed
72 behavior with WRITEHEADER and NULL pointers.
74 - The "output cookies" function could dump core if no cookies were enabled.
76 Daniel (7 September 2001)
77 - SM pointed out that the SSL code didn't compile any longer if SSL was
78 disabled... Also, we needed to correct the #include for the utime stuff on
81 Daniel (6 September 2001)
82 - T. Bharath pointed out a flaw in the SSL session cache code that made it
83 sometimes read from a NULL pointer.
87 Daniel (3 September 2001)
88 - Added the -R/--remote-time option, that uses the remote file's datestamp to
89 set the local file's datestamp. Thus, when you get a remote file your local
90 file will get the same time and date. Note that this only works when you use
93 - Installed libtool 1.4.1, libtoolized and everything.
95 Daniel (1 September 2001)
96 - Heikki Korpela pointed out that I did not ship the proper libtool stuff in
97 the pre-releases, even though that was my intention. libtoolize has now
100 - Heikki also patched away the bad use of 'make -C' in the test suite
101 makefile. make -C is not very portable and is now banned from here.
105 Daniel (31 August 2001)
106 - I just made a huge internal struct rehaul, and all the big internally used
107 structs have been renamed, redesigned and stuff have been moved around a bit
108 to make the source easier to follow, more logically grouped and to hopefully
109 decrease future bugs. I also hope that this will make new functions to get
110 easier to add, and make it less likely that we have bugs left like the URL-
111 free bug from August 23.
115 Daniel (29 August 2001)
116 - The new cookie code have enabled the brand new '-c/--cookie-jar' option. Use
117 that to specify the file name in which you want to have all cookies curl
118 knows of, dumped to. It'll be written using the netscape cookie format.
120 This is internally done with the new CURLOPT_COOKIEJAR option to libcurl,
121 which in turn dumps this information when curl_easy_cleanup() is invoked.
122 There might be reasons to re-consider my choice of putting it there. Perhaps
123 it is better placed to get done just before *_perform() is done. It is all
124 of course depending on how you guys want to use this feature...
126 - Added ftpupload.c in the source examples section, based on source code posted
129 Daniel (28 August 2001)
130 - Now running libtool CVS branch-1-4 to generate stuff. Should fix problems
131 on OpenBSD and hopefully on FreeBSD as well!
133 - Georg Huettenegger modified the curl_formadd() functionality slightly, and
134 added support for error code 417 when doing form post and using the Expect:
137 - Made some tests with cached SSL session IDs, and they seem to work. There
138 should be a significant speed improvement in the SSL connection phase, but
139 in my tiny tests it just isn't possible to notice any difference. Like other
140 caching in libcurl, you must reuse the same handle for the caching to take
141 effect. SSL session ID caching is done on a per host-name and destination
144 Set verbose, and you'll get informational tests when libcurl detects and
145 uses a previous SSL session ID.
147 - Upgraded to automake 1.5 on my development/release machine.
149 Daniel (27 August 2001)
150 - Slowly started writing SSL session ID caching code
152 Daniel (24 August 2001)
153 - T. Bharath removed compiler warnings on windows and updated the MS project
156 - Kevin Roth reported two kinds of command line constructs with the new -G that
157 curl didn't really deal with the way one would like.
159 - Tim Costello patched away a use of strcasecmp() in the SSL code. We have our
160 own portable version named strequal() that should be used!
162 - Tim also pointed out a problem in the lib/Makefile.vc6 file that made it mix
163 debug object modules causing confusions.
165 Daniel (23 August 2001)
166 - T. Bharath accurately found a libcurl bug that would happen when doing a
167 second invoke of curl_easy_perform() with a new URL when the previous invoke
168 followed a Location: header.
170 - Started the improvement work on the cookie engine:
171 - Now keeps cookies in the same order as the cookie file
172 - A write to the possibly static string was removed
173 - Added a function that can output all cookies
174 - Now supports reading multiple cookie files
176 - Steve Lhomme corrected a DLL naming issue in the MSVC++ project file.
178 - Split up the monster function in lib/ftp.c to use more smallish functions to
179 increase readability and maintainability.
181 Daniel (21 August 2001)
182 - Georg Huettenegger's big patch was applied. Now we have:
183 o "Expect: 100-continue" support. We will from now on send that header in
184 all rfc1867-posts, as that makes us abort much faster when the server
185 rejects our POST. Posting without the Expect: header is still possible in
186 the standard replace-internal-header style.
187 o curl_formadd() is a new formpost building function that is introduced to
188 replace the now deprecated curl_formparse() function. The latter function
189 will still hang around for a while, but the curl_formadd() is the new way
190 and correct way to build form posts.
191 o Documentation has been updated to reflect these changes
193 These changes are reason enough to name the next curl release 7.9...
195 - We now convert man pages to HTML pages and include them in the release
196 archive. For the pleasure of everyone without nroff within reach.
198 - Andrés García's suggested flushing of the progress meter output stream was
199 added. It should make the progress meter look better on Windows.
201 - Troy Engel pointed out a mistake in the configure script that made it fail
202 on many Red Hat boxes!
204 Daniel (20 August 2001)
205 - We need an updated libtool to make a better build environment for OpenBSD
210 Daniel (20 August 2001)
211 - Brad pointed out that we ship two extra libtool files in the tarballs that
212 we really don't need to! Removing them makes the gz-archive about 60K
215 - Albert Chin brought fixes for the configure script to detect socklen_t
216 properly as well as moving lots of our custom autoconf macros to
219 Daniel (19 August 2001)
220 - Moonesamy improved his -G feature for host names only URLs...
222 Daniel (17 August 2001)
223 - Finally cleaned up the kerberos code to use Curl_ prefixes on all global
224 symbols and to not use global variables.
228 Daniel (16 August 2001)
229 - S. Moonesamy added the -G option to curl, that converts the data specified
230 with -d to a GET request. Default action when using -d is POST. When -G is
231 used, the -d specified data will be appended to the URL with a '?'
232 separator. As suggested previously by Kevin Roth.
234 - curl-config --libs should now display all linker options required to link
235 with libcurl. It includes the path and options for libcurl itself.
236 curl-config --cflags displays the compiler option(s) needed to compile
237 source files that use libcurl functions. Basically, that sets the include
240 Daniel (15 August 2001)
241 - Arkadiusz Miskiewicz pointed out a mistake in how IPv6-style IP-addresses
242 were parsed and used. (RFC2732-format)
244 - Bug #12733 over on php.net identified a problem in libcurl that made it core
245 dump if you used CURLOPT_POST without setting any data to post with
246 CURLOPT_POSTFIELDS! This is no longer the case. Not using CURLOPT_POSTFIELDS
247 now equals setting it to no data at all.
249 - Ramana Mokkapati reported that curl with '-w %{http_code}' didn't work
250 properly when used for multiple URLs on a single command line. Indeed, the
251 variable was not reset between the requests. This is now fixed.
253 - David James fixed the Borland makefile so that libcurl still compiles and
254 builds with that compiler.
256 Daniel (14 August 2001)
257 - Oops. I ruined Nico's socklen_t define in config-vms.h, corrected it now.
259 - An older item not mentioned here before: CURL_GLOBAL_WIN32 is a define for
260 windows users to curl_global_init(), that makes libcurl init the winsock
261 stuff. If libcurl is all socket stuff you do, then allowing it to fiddle
262 with this is a comfortable shortcut to fame.
266 Daniel (14 August 2001)
267 - Nico Baggus provided more feedback from his VMS porting efforts and a few
268 minor changes were necessary.
270 - I modified configure.in so that --enable-debug sets more picky gcc options.
271 I then removed almost all the new warnings that appeared, and by doing so I
272 corrected the size_t-treated-as-signed problem that has been discussed on
273 the mailing list previously. I also removed a bunch of the just recently
274 added #ifdef VMS lines.
276 - I removed the use of a global variable in the SSL code. It was once
277 necessary but hasn't been needed since OpenSSL 0.9.4. The old code should
278 (hopefully) still work if libcurl is built against an ancient version of
281 Daniel (13 August 2001)
282 - Peter Todd posted a patch that now allows non-file rc1867-style form posts
283 to be larger than 4K.
285 Daniel (10 August 2001)
286 - S. Moonesamy fixed bugs for building debug and SSL lib in VC makefile
288 Daniel (9 August 2001)
289 - The redirected error stream was closed before the curl_easy_cleanup() call
290 was made, and when VERBOSE was enabled, the cleanup function tried to use
291 the stream. It could lead to a segmentation fault. Also, the stream was
292 closed even if we looped to get more files. Corrects Dustin Boswell's bug
295 - Now generates the release configure script with autoconf 2.52
299 Daniel (8 August 2001)
300 - curl -E uses a colon to separate a file name from a passphrase. This turned
301 out really bad for the windows people who wants to include a drive letter in
302 the file name like "c:\cert.pem". There's now a win32 work-around
303 implemented that tries work around that, when the colon seems to be used for
304 this kind of construct.
306 - Patrick Bihan-Faou introduced CURLOPT_SSL_VERIFYHOST, which makes curl
307 verify the server's CN field when talking https://. If --cacert is not used,
308 any failures in matching is only displayed as information (-v).
310 Daniel (7 August 2001)
311 - Wrote up nine more test cases, more or less converted from the former test
314 Daniel (6 August 2001)
315 - Heikki Korpela posted a patch that makes 'curl-config --libs' include the
316 directory in which libcurl itself is installed in. While this wasn't my
317 initial intention with this option, it makes sense and makes linking with
320 - Stefan Ulrich pointed out to us that other tools and libraries treat file://
321 URLs with only one slash after the host name slighly different than libcurl
322 does. Since all the others seem to agree, we better follow them.
324 - Nico Baggus provided us with a huge set of fixes to make curl compile and
329 Daniel (6 August 2001)
330 - Jonathan Hseu noticed that you couldn't get a header callback unless you
331 set CURLOPT_WRITEHEADER to non-NULL, even if you didn't care about that
332 data. This is now fixed.
334 Daniel (5 August 2001)
335 - Sergio Ballestrero provided a patch for reading responses from NCSA httpd
336 1.5.x servers, as they return really screwed up response headers when asked
339 - curl_escape() no longer treats already encoded characters in the input
342 Daniel (3 August 2001)
343 - I replaced the former lib/arpa_telnet.h file with one I wrote myself, to
344 avoid the BSD annoucement clause of the license in the former file.
346 - Andrew Francis provided a new version of base64.c to work around the license
347 boiler plate that came with the previous one. I patched it, but the glory
348 should go to Andrew for his heads up.
350 - Tomasz Lacki noticed that when you do repeated transfers with libcurl you
351 couldn't always reliably change HTTP request. This has now been fixed and a
352 new libcurl option was added: CURLOPT_HTTPGET, that can force the HTTP
353 requestr (back) to GET.
355 - Linus Nielsen Feltzing pointed out that httpsserver.pl wasn't included in
356 release archives. It should be now.
358 Daniel (2 August 2001)
359 - Frank Keeney pointed out a manual mistake for certificate convertions.
361 - Tomasz Lacki pointed out a problem in the transfer loop that could make the
362 select() loop use far too much CPU.
364 - Pawel A. Gajda pointed out an output mistake done when using libcurl's
367 Daniel (29 June 2001)
368 - Naveen Noel noticed that the Borland library makefile wasn't updated.
370 - Nic Roets brought a fix for the certificate verification when using SSL.
372 Daniel (27 June 2001)
373 - Made the FTP tests run OK even on machines running curl IPv6-enabled.
375 - Troy Engel corrected some RPM package details.
379 Daniel (25 June 2001)
380 - Björn Stenberg correctly identified a problem that occurred when downloading
381 several files with curl, and using resume. The first file's resume index was
382 then used for all files, resulting in weird results...
384 - Anton Kalmykov provided a fix that makes curl work with form field names
385 with spaces like when -F is used.
389 Daniel (20 June 2001)
390 - Mike Bytnar provided a fine report that proved that the --with-ssl option
391 for configure needed tweaking. It no longer searches the default directories
392 for OpenSSL libs or directories when a specified path is given.
394 Daniel (19 June 2001)
395 - When an FTP transfer is cut off during transfer, curl could present a truly
396 garbaged error message and in worst case dump core. Thanks to detailed
397 reports from Shawn Poulson we nailed this.
399 Daniel (12 June 2001)
400 - Salvador Dávila provided a fix for FTP range downloads.
402 - Added a few more test cases from the former test suite to the new file
403 format. We're now at a total of 26 tests.
405 Daniel (11 June 2001)
406 - libcurl's version-info was wrong, as noted by both Domenico Andreoli and
410 - Jörn fixed the curl_unescape duplicate entry in lib/libcurl.def
412 - I made SSL certificate failure messages to be more detailed.
417 - SDavila provided a resumed download fix.
422 - Sterling provided some new PHP examples.
424 - Changed the CVS hierarchy and the older checkout instruction does no longer
425 work. We moved the entire source code into a CVS module named 'curl'.
428 - CURLOPT_MUTE does not exist anymore. It is still present in the include file
429 to not cause compiler errors for applications using it, but it isn't used
430 anywhere in the library.
435 - Once and for all fixed the _REENTRANT mess for Solaris compiles to present
438 - Sterling Hughes tirelessly points out and corrects my mistakes...! So,
439 curl_global_init() now lets the argument flags *SET* what parts to
440 init. CURL_GLOBAL_DEFAULT makes a nice default, CURL_GLOBAL_ALL inits all
441 known subsystems and CURL_GLOBAL_NONE inits nothing more than absolutely
442 necessary. Man page updated accordingly.
444 - Fixed the strtok.h include file as it wouldn't compile on all platforms!
447 - Made libcurl by default act as if CURLOPT_MUTE and CURLOPT_NOPROGRESS were
448 set TRUE. Set them to FALSE to make libcurl more talkative. The *_MUTE
449 option is subject for complete removal...
454 - Cris Bailiff wrote a makefile for building Solaris packages.
456 - Sterling Hughes brought fixes for 'buildconf' (the build-from-CVS tool) and
457 we discussed and added a few CURL_GLOBAL_* flags in include/curl.h
459 - Kjetil Jacobsen privately announced his python interface to libcurl,
460 available at http://pycurl.sourceforge.net/
463 - Sterling Hughes fixed a strtok() problem in libcurl. It is not a thread-
464 safe function. Now configure checks for a thread-safe version, and
465 lib/strtok.c offers one for the systems that don't come with one included!
467 - Mettgut Jamalla correctly pointed out that the -# progress bar was written
468 to stderr even though --stderr redirection was used. This is now corrected.
470 - I moved out the list of contributors from the curl.1 man page and made a
471 separate docs/THANKS file. It makes the list easier to find, and made it
472 easier for me to make a separate web page with that same information.
474 I really do want all you guys mentioned in there to feel you get the credit
477 - lib/easy.c didn't compile properly in the 7.8-pre1 due to a silly mistake
482 - curl-config now supports '--vernum' that outputs a plain hexadecimal version
483 of the libcurl version number (using 8 bits for each 3 numbers). Version
484 7.7.4 appears as 070704
486 - Wrote man pages for curl_global_init and curl_global_cleanup...
488 - T. Bharath brought news about the usage of the OpenSSL interface that was
489 not previously taken into consideration and thus caused libcurl to leak
490 memory. The only somewhat sane approach to fix this dilemma, is adding two
491 two new functions curl_global_init() and curl_global_cleanup() that should
492 be called *ONCE* by the application using libcurl. The init should be done
493 only at startup, no matter how many threads the application is gonna use,
494 and the cleanup should be called when the application has finished using
497 *** UPGRADE NOTICE ***
499 If you write applications using libcurl, you really want to use the two
500 functions mentioned above !!!
502 I can't say I think this is a very beautiful solution, but as OpenSSL
503 insists on making lots of stuff on a "global" scope, we're forced to walk
504 the path they point us to.
506 - Moving more test cases into the new file format.
511 - Introduced a new file format for storing test cases, and thus I had to
512 modify all the perl test scripts and more (I added a new one). I have not
513 "ported" all the old test cases to the new format yet, but it'll come.
515 The main advantage of this new format is that all test data for each test
516 case is stored in a single file. It gives a better overview for each test
517 case and a lot less files.
519 - Andrés García brought a fix for the netscape/mozilla cookie file parsing
520 function, as it turns out it doesn't always store the path!
523 - As was reported anonymously, when FAILONERROR was used, the httpcode was
524 not stored properly and thus wasn't possibly to read after a transfer with
525 the curl_easy_getinfo() function. This is now corrected.
527 - Installed and made use of the following tool versions:
532 I wouldn't recommend any developer to try to generate things with older
533 versions than these. Building from CVS will probably more or less require
534 at least these versions.
536 As a result of this, the configure script grew to more than double its
539 Arkadiusz Miskiewicz helped me by pointing out I had to remove my
540 acinclude.m4 file before I could get it working!
543 - I made ftps:// work. Added test case 400 to the release archive, as the
544 first ftps:// test case. Requires stunnel.
546 - Also made the test cases that runs ssl tests not run if libcurl isn't built
550 - Made the configure not add any extra -L LDFLAGS or -I CPPFLAGS unless they
551 are actually needed. Albert Chin's and Domenico Andreoli's suggestions
557 - Nicer configure-check for the OpenSSL headers, which then sets the proper
558 variable to have curl-config be good. (Albert Chin provided the fix)
560 - For systems that don't have theiw own 'strlcat()' libcurl provides its own.
561 It was now renamed to prevent collides with other libs. (After discussions
562 with Sterling Hughes and the implications this had on PHP builds.)
565 - Colm Buckley posted a detailed bug report on (the debianized) 7.7.3, that
566 turned out to be a problem with the debian-built 7.7.3-package that
567 contained files from the 7.7.2 release!
569 - I added the CURLE_ALREADY_COMPLETE again, but with a fake value, just to
570 make programs that use it, not fail when compiling against this version of
574 - Pawel A. Gajda fixed a problem with resumed transfers on re-used persistent
580 - Jun-ichiro itojun Hagino fixed FTP PORT for IPv6-enabled libcurl.
582 - Added the first HTTPS test to the test suite in the release archive.
585 - Jukka Pihl suggested that if (lib)curl is told to verify the peer's
586 certificate and the peer can't be verified, it should fail and return a
587 proper error code. I added a brand new error code named
588 CURLE_SSL_PEER_CERTIFICATE for this purpose.
591 - As was discussed with Frederic Lepied a while ago, I now made libcurl not
592 return error even though no data was transfered on upload/download resume
593 when the no transfer is needed. The CURLE_ALREADY_COMPLETE error was removed
594 from the header file to make any implemenator that uses that to be aware of
595 the fact that it can't be returned anymore!
597 - Improved general header-parsing to better allow white spaces and more.
599 - Rodney Simmons proved the fix I did yesterday was bad and I had to post
602 - Ingo Wilken patched away two redirect problems more!
605 - Cris Bailiff correctly noted that the space-after-header problem with
606 Location: is present on several other places in the libcurl sources.
608 - Ingo Wilken patched away a problem libcurl had when following Location:
609 headers with an extra space after the colon.
611 - Rodney Simmons found out that multiple FTP transfers did not treat relative
612 directories correctly.
615 - Getting an FTP file with CURLOPT_NOBODY set (or -I from the command line),
616 makes curl use the non-standard ftp command "SIZE". If it failed, libcurl
617 returned error. Starting now, it just don't output the file size instead.
618 Anonymous bug report.
620 - stunnel.pm was accidentally left out from the release archive, it is now
621 added (stunnel is needed to run the https-tests in the test suite)
624 - Corrected two minor compiler warnings due to the FILE * to void * conversion
625 that I missed at two places. Jörn Hartroth brought me patches. Sander Gates
626 filed a bug report on this.
631 - All callback functions now take 'void *' instead of 'FILE *'. This is made
632 this way to make it more obvious to people that anything can be passed to
633 them (by using the apropriate option). After discussions with Sterling
637 - Cris Bailiff fixed a chunked transfer encoding problem with persistent
638 connection that made libcurl fail if the persistent connection used mixed
639 chunked and non-chunked transfers.
641 - Cris Bailiff fixed a bad treatment of 304-replies, as they would not be
642 treated as content-length 0 replies but would cause a "hang" until the
643 server timed-out and closed the connection.
645 - Brad Burdick found a minor problem in the docs/examples/Makefile.am
647 Daniel (27 April 2001)
648 - Updated the INTERALS document again. It was lagging a bit. I think I made it
649 more easy to follow now as well.
651 - Brad Burdick found a problem with persistent connections when curl received
652 a "Content-Length: 0" header.
654 - Giuseppe D'Ambrosio was first out to report that TELNET doesn't work in curl
655 compiled/built on win32. It seems to work for unixes though!
657 - Dave Hamilton reported weird problems with CURL/PHP that I really can't
658 explain at the moment. I'm hoping on some help from the PHP crew.
660 Daniel (26 April 2001)
661 - I rewrote the FTP command response function. I had to do it to make ftps
662 work, as the OpenSSL read()-function didn't work the same way the normal
663 unix read() does, but it was also a huge performance boost. Previously the
664 function read one byte at a time, now it reads very large chunks, and it
665 makes a notable speed difference.
667 Daniel (25 April 2001)
668 - Connection re-use when not using a proxy didn't work properly for
669 non-default port numbers.
671 Daniel (24 April 2001)
672 - I've noticed that FTPS doesn't work. We attempt to use ssl even for the
673 data transfer, which causes the transfer to 'hang'... We need to fix this.
675 - Improved the test suite to use 'stunnel' to do HTTPS and FTPS testing on
676 the alredy written perl servers easily.
678 Daniel (23 April 2001)
679 - The OpenSSL version string recently modified didn't zero terminate one
680 of the generated strings properly, which could lead to a crash or simply
681 weird version string output!
685 Daniel (22 April 2001)
686 - Rosimildo da Silva updated the Makefiles for Borland/Windows.
688 - Eric Rautman pointed out a problem with persistent connections that would
689 lead to broken Host: headers in the second HTTP request.
691 Daniel (20 April 2001)
692 - Added man pages for the curl_strequal() and curl_mprintf() families. Wrote
693 a 'libcurl overview' man page.
695 - Spell-fixed some documents.
697 - S. Moonesamy corrected mistakes in the man page.
699 - Cris Bailiff fixed the curl_slists options in the perl interface, present
700 separately in the Curl::easy 1.1.4 package.
702 Daniel (19 April 2001)
703 - Linus Nielsen Feltzing removed the decimals from the size variables in the
704 --write-out output. We hardly ever get fraction of bytes! :-)
708 Daniel (19 April 2001)
710 - Albert Chin provided a configure patch for the AC_SYS_LARGEFILE macro.
712 Daniel (18 April 2001)
713 - Input from Michael Mealling made me add --feature to curl-config. It
714 displays a list of features that have been built-in in the current
715 libcurl. The currently available features that can be listed are: SSL, KRB4
718 - I committed Cris and Georg's perl interface work. They've got callbacks
719 working and options that receives those slist pointers.
721 - Puneet Pawaia detected a problem with resumed downloads that use persistent
722 connections and I made a rather large writeup to correct this. It is
723 important that all session-data is stored in the connectdata struct and not
724 in the main struct as this previously did.
726 Daniel (17 April 2001)
727 - Frederic Lepied fixed a ftp resumed download problem and introduced a new
728 error code that lets applications be able to detect when a resumed download
729 actually didn't download anything since the whole file is already present.
730 Should this return OK instead?
732 - I added 'curl-config.in' to the root dir and configure script. Now, a
733 curl-config script is made when curl is built. The script can be used to
734 figure out compile time options used when libcurl was built, which in turn
735 should be options YOU should use to build applications that use libcurl.
737 This *-config style is not a new idea, but something that has been used
738 successfully in other (library based) projects.
740 - Phil Karn pointed out that libcurl wrongly did not always use GMT time zone
741 for the If-Modified-Since style headers.
743 - Georg Schwarz pointed out an extra needed #include file needed in src/main.c
744 for curl to build on Ultrix.
746 Daniel (11 April 2001)
747 - Cris Bailiff pointed out two problems that I corrected. First, libcurl's use
748 of the environment variable HTTP_PROXY in uppercase may become a security
749 hazard when people use libcurl in a server/cgi situation where the server
750 sets the HTTP_*-variables according to incoming headers in the HTTP
751 request. Thus, a "Proxy:"-header would set that environment variable!
753 Then, invoking curl_easy_perform() without having an URL set caused a crash.
755 - S. Moonesamy brought a patch that make curl use non-blocking connects on
756 windows when connection timeout is set, as it allows windows users to set
759 - Hirotaka Matsuyuki wrote a Ruby interface to libcurl!
761 - Cris Bailiff, Forrest Cahoon and Georg Horn work on the Perl interface.
763 - I've written a first shot at a Java interface to libcurl. Many thanks to
764 Daniel Marell for tirelessly answering to all my basic Java questions. It
765 works, but it is still very basic.
767 Daniel (10 April 2001)
768 - The progress display could get silly when doing multiple file transfers, as
769 it wasn't properly reset between transfers!
771 - Discussions with Cris Bailiff who writes a Perl interface to libcurl, made
772 me add CURLOPT_HEADERFUNCTION. It can be used to set a separate callback
773 function for writing headers. Previously you could only set a different FILE
774 * when headers are written from within libcurl.
776 Daniel (7 April 2001)
777 - Andrés García fixed a problem in curl_escape() and pointed out a flaw in
778 the curl_easy_setopt man page.
780 Daniel (6 April 2001)
781 - Adjusted the version code to properly display OpenSSL 0.9.6a. They sure
782 change their version define format often...
784 - curl_formfree() now accepts a NULL pointer without crashing!
788 Daniel (3 April 2001)
789 - Puneet Pawaia pointed out two serious problems. Libcurl would attempt to
790 read bad memory during situations when an (ftp) connection attempt failed.
791 Also, the lib/Makefile.vc6 was corrected.
793 - More investigations in the Location: following code made me realize that
794 it was not clean enough to work transparantly with persistent and non-
795 persistent connections. I think I've fixed it now.
797 Daniel (29 March 2001)
798 - Georg Horn mailed me some corrections for the Curl::easy perl interface.
800 - Experimental ftps:// support added. It is basically FTP over SSL for the
801 control connection. It still makes all data transfers going over unencrypted
802 connections. Rainer Weikusat's ftpd-ssl server hack supports this and I used
803 that to verify the functionality.
805 Daniel (27 March 2001)
806 - Guenole Bescon discovered that if you set a CURLOPT_TIMEOUT and then tried
807 to get a file from a site and it fails, the SIGALRM would still be sent
808 after the timeout-time, quite inexpectedly!
810 - I added an ftp transfer example to docs/examples/ and I also wrote a tiny
811 example makefile that can be used as a start when building one of the
816 Daniel (26 March 2001)
817 - Mohamed Lrhazi reported problems with 7.6.1 and persistent HTTP/1.0
818 connections (when the server replied a Connection: Keep-Alive) and this
819 problem was not properly dealt with in 7.7 either. A patch was posted to the
820 curl-and-php mailing list.
822 Daniel (24 March 2001)
823 - Colin Watson reported about a problem and brought a patch that corrected it,
824 which was about the man page and lines starting with a single quote (') in a
825 way that gnroff doesn't like.
827 Daniel (23 March 2001)
828 - Peter Bray reported correctly that the root makefile used make instead of
829 $(MAKE) for the test target.
831 - Corrected the Curl::easy perl interface to use curl_easy_setopt() and not
832 curl_setopt() which was removed in 7.7!
834 - S. Moonesamy provided updates on three documents (MANUAL, INSTALL and FAQ).
836 - When following a Location:, libcurl would sometimes write to the URL string
837 in a way it shouldn't. As the pointer is passed-in to libcurl from an
838 application, we can't be allowed to write to it. The particular bug report
839 from 'nk' that brought this up was because he had a read-only URL that then
840 caused a libcurl crash!
842 - No longer reads HEAD responses longer than to the last header. Previously,
843 curl would read the full reply if the connection was a "close" one.
845 - libcurl did re-use connections way too much. Doing "curl
846 http://www.{microsoft,ibm}.com" would make it re-use the connection which
847 made the second request return very odd results.
849 Daniel (22 March 2001)
850 - Edin Kadribasic made me aware that curl should not re-send POST requests
851 when following 302-redirects. I made 302 work like 303 which means curl uses
852 GET in the following request(s).
854 - libcurl now reset the "followed-location" counter on each invoke of
855 curl_easy_perform() as it otherwise would sum up all redirects on the same
856 connection and thus could reach the maxredirs counter wrongly.
858 - Jim Drash suggested curl_escape() should not re-encode what already looks
859 like an encoded sequence and I think that's a fair suggestion.
863 Daniel (22 March 2001)
864 - The configure script now fails with an error message if gethostbyname_r() is
865 detected but it couldn't figure out how to invoke it (what amount of
866 arguments it is supposed to get). Reports from Andrés García made me aware
869 - Talking with Jim Drash made me finally put the curl_escape and curl_unescape
870 functions in the curl.h include file and write man pages for them. The
871 escape function was modified to use the same interface as the unescape one
874 - No bug reports at all on the latest betas. Release time coming up.
878 Daniel (19 March 2001)
879 - Georg Ottinger reported problems with using -C together with -L in the sense
880 that the -C info got lost when it was redirected. I could not repeat this
881 problem on the 7.7 branch why I leave this for the moment. Test case 39 was
882 added to do exactly this, and it seems to do right.
884 - Christian Robottom Reis reported how his 7.7 beta didn't successfully do
885 form posts as elegantly as 7.6.1 did. Indeed, this was a flaw in the header
886 engine, as HTTP 1.1 has introduced a new 100 "transient" return code for PUT
887 and POST operations that I need to add support for. Section 8.2.3 in RFC2616
888 has all the details. Seems to work now!
890 Daniel (16 March 2001)
891 - After having experienced another machine break-down, we're back.
893 - Georg Horn's perl interface Curl::easy is now included in the curl release
894 archive. The perl/ directory is now present. Please help me with docs,
895 examples and updates you think fit.
897 - Made a new php/ directory in the release archive and moved the PHP examples
898 into a subdirectory in there. Not much PHP info yet, but I plan to. Please
899 help me here as well!
901 - Made libcurl return error if a transfer is aborted in the middle of a
902 "chunk". It actually enables libcurl to discover premature transfer aborts
903 even if the Content-Length: size is unknown.
905 Daniel (15 March 2001)
906 - Added --connect-timeout to curl, which sets the new CURLOPT_CONNECTTIMEOUT
907 option in libcurl. It limits the time curl is allowed to spend in the
908 connection phase. This differs from -m/--max-time that limits the entire
909 file transfer operation. Requested by Larry Fahnoe and others.
911 I also updated the curl.1 and curl_easy_setopt.3 man pages and removed the
916 Daniel (14 March 2001)
917 - Made curl grok IPv6 with HTTP proxies and got everything to compile nicely
918 again when ENABLE_IPV6 is set.
920 I need to remake things in the test suite. I can't test the FTP parts with
921 curl built for IPv6 as it uses a different set of FTP commands then!
923 - I fell onto a bug report on php.net (posted by Lars Torben Wilson) that was
924 a report meant for our project. Anyway, it said the .netrc parsing didn't
925 work as supposed, and as I agreed with Lars, I made the netrc parser use
926 getpwuid() to figure out the home directory of the effective user and try
927 that netrc. It still uses the environment variable HOME for those that don't
928 have that function or if the user doesn't return valid pwd info.
930 - Edin Kadribaic posted a bug report where he got a crash when a fetch with
931 user+password in the URL followed a Location: to a second URL (absolute,
932 without name+password). This bug has been around for a long while and
933 crashes due to a read at address zero. Fixed now. Wrote test case 38, that
936 - Modified the test suite's httpserver slightly to append all client request
937 data to its log file so that the test script now better can verify a range
938 of requests and not only the last one, as it did previously.
940 - Updated the curl man page with --random-file and --egd-file details.
944 Daniel (14 March 2001)
945 - Björn Stenberg provided similar fixes as Jörn did and some additional patches
946 for non-SSL compiles.
948 - I increased the interface number for libcurl as I've removed the low level
949 functions from the interface. I also took this opportunity to rename the
950 Curl_strequal function to curl_strequal and Curl_strnequal to
951 curl_strnequal, as they're public libcurl functions (even if they're still
954 This will make older programs not capable of using the new libcurl with
955 just a drop-in replacement.
957 - Jörn Hartroth updated stuff for win32 compiles:
958 o config-win32.h was fixed for socklen_t
959 o lib/ssluse.c had a bad #endif placement
960 o lib/file.c was made to compile on win32 again
961 o lib/Makefile.m32 was updated with the new files
962 o lib/libcurl.def matches the current interface state
964 Daniel (13 March 2001)
965 - It only took an hour or so before Jörn Hartroth found a problem in the
966 chunked transfer-encoding. Given his fine example-site, I could easily spot
967 the problem and when I re-read the spec (the part I have pasted in the top
968 of the http_chunks.h file), I realized I had made my state-machine slightly
969 wrong and didn't expect/handle the trailing CRLF that comes after the data
970 in each chunk (and those extra two bytes sure feel wasted).
972 Had to modify test case 34 to match this as well.
976 Daniel (13 March 2001)
977 - Added the policy stuff to the curl_easy_setopt man page for the two supported
980 - Implemented some support for the CURLOPT_CLOSEPOLICY option. The policies
981 CURLCLOSEPOLICY_LEAST_RECENTLY_USED and CURLCLOSEPOLICY_OLDEST are now
982 supported, and the "least recently used" is used as default if no policy
985 Daniel (12 March 2001)
986 - Added CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET to libcurl for seeding the
987 SSL random engine. The random seeding support was also brought to the curl
988 client with the new options --random-file <file> and --egd-file <file>. I
989 need some people to really test this to know they work as supposed. Remember
990 that libcurl now informs (if verbose is on) if the random seed is considered
991 weak (HTTPS connections).
993 - Made the chunked transfer-encoding engine detected bad formatted data length
994 and return error if so (we can't possibly extract sensible data if this is
995 the case). Added a test case that detects this. Number 36. Now there are 60
998 - Added 5 new libcurl options to curl/curl.h that can be used to control the
999 persistent connection support in libcurl. They're also documented (fairly
1000 thoroughly) in the curl_easy_setopt.3 man page. Three of them are now
1001 implemented, although not really tested at this point... Anyway, the new
1002 implemented options are named CURLOPT_MAXCONNECTS, CURLOPT_FRESH_CONNECT,
1003 CURLOPT_FORBID_REUSE. The ones still left to write code for are:
1004 CURLOPT_CLOSEPOLICY and its related option CURLOPT_CLOSEFUNCTION.
1006 - Made curl (the actual command line tool) use the new libcurl 7.7 persistent
1007 connection support by re-using the same curl handle for every specified file
1008 transfer and after some more test case tweaking we have 100% test case OK.
1009 I made some test cases return HTTP/1.0 now to make sure that works as well.
1011 - Had to add 'Connection: close' to the headers of a bunch of test cases so
1012 that curl behaves "old-style" since the test http server doesn't do multiple
1013 connections... Now I get 100% test case OK.
1015 - The curl.haxx.se site, the main curl mailing list and my personal email are
1016 all dead today due to power blackout in the area where the main servers are
1019 - I've made persistance work over a squid HTTP proxy. I find it disturbing
1020 that it uses headers that aren't present in any HTTP standard though
1021 (Proxy-Connection:) and that makes me feel that I'm now on the edge of what
1022 the standard actually defines. I need to get this code excercised on a lot
1023 of different HTTP proxies before I feel safe.
1025 Now I'm facing the problem with my test suite servers (both FTP and HTTP)
1026 not supporting persistent connections and libcurl is doing them now. I have
1027 to fix the test servers to get all the test cases do OK.
1029 Daniel (8 March 2001)
1030 - Guenole Bescon reported that libcurl did output errors to stderr even if
1031 MUTE and NOPROGRESS was set. It turned out to be a bug and happens if
1032 there's an error and no ERRORBUFFER is set. This is now corrected.
1036 Daniel (8 March 2001)
1037 - "Transfer-Encoding: chunked" is no longer any trouble for libcurl. I've
1038 added two source files and I've run some test downloads that look fine.
1040 - HTTP HEAD works too, even on 1.1 servers.
1042 Daniel (5 March 2001)
1043 - The current 57 test cases now pass OK. It would suggest that libcurl works
1044 using the old-style with one connection per handle. The test suite doesn't
1045 handle multiple connections yet so there are no test cases for this.
1047 - I patched the telnet.c heavily to not use any global variables anymore. It
1048 should make it a lot nicer library-wise.
1050 - The file:// support was modified slightly to use the internal connect-first-
1053 Daniel (4 March 2001)
1058 Daniel (4 March 2001)
1059 - Now, there's even a basic check that a re-used connection is still alive
1060 before it is assumed so. A few first tests have proven that libcurl will
1061 then re-connect instead of re-use the dead connection!
1063 Daniel (2 March 2001)
1064 - Now they work intermixed as well. Major coolness!
1066 - More fiddling around, my 'tiny' client I have for testing purposes now has
1067 proved to download both FTP and HTTP with persistent connections. They do
1068 not work intermixed yet though.
1070 Daniel (1 March 2001)
1071 - Wilfredo Sanchez pointed out a minor spelling mistake in a man page and that
1072 curl_slist_append() should take a const char * as second argument. It does
1075 Daniel (22 February 2001)
1076 - The persistent connections start to look good for HTTP. On a subsequent
1077 request, it seems that libcurl now can pick an already existing connection
1078 if a suitable one exists, or it opens a new one.
1080 - Douglas R. Horner mailed me corrections to the curl_formparse() man page
1083 Daniel (20 February 2001)
1084 - Added the docs/examples/win32sockets.c file for our windows friends.
1086 - Linus Nielsen Feltzing provided brand new TELNET functionality and
1089 * Negotiation is now passive. Curl does not negotiate until the peer does.
1090 * Possibility to set negotiation options on the command line, currently only
1091 XDISPLOC, TTYPE and NEW_ENVIRON (called NEW_ENV).
1092 * Now sends the USER environment variable if the -u switch is used.
1093 * Use -t to set telnet options (Linus even updated the man page, awesome!)
1095 - Haven't done this big changes to curl for a while. Moved around a lot of
1096 struct fields and stuff to make multiple connections get connection specific
1097 data in separate structs so that they can co-exist in a nice way. See the
1098 mailing lists for discussions around how this is gonna be implemented. Docs
1099 and more will follow.
1101 Studied the HTTP RFC to find out better how persistent connections should
1102 work. Seems cool enough.
1104 Daniel (19 February 2001)
1105 - Bob Schader brought me two files that help set up a MS VC++ libcurl project
1106 easier. He also provided me with an up-to-date libcurl.def file.
1108 - I moved a bunch of prototypes from the public <curl/curl.h> file to the
1109 library private urldata.h. This is because of the upcoming changes. The
1110 low level interface is no longer being planned to become reality.
1112 Daniel (15 February 2001)
1113 - CURLOPT_POST is not required anymore. Just setting the POST string with
1114 CURLOPT_POSTFIELDS will switch on the HTTP POST. Most other things in
1115 libcurl already works this way, i.e they require only the parameter to
1116 switch on a feature so I think this works well with the rest. Setting a NULL
1117 string switches off the POST again.
1119 - Excellent suggestions from Rich Gray, Rick Jones, Johan Nilsson and Bjorn
1120 Reese helped me define a way how to incorporate persistent connections into
1121 libcurl in a very smooth way. If done right, no change may have to be made
1122 to older programs and they will just start using persistent connections when
1125 Daniel (13 February 2001)
1126 - Changed the word 'timeouted' to 'timed out' in two different error messages.
1127 Suggested by Larry Fahnoe.
1131 Daniel (9 February 2001)
1132 - Frank Reid and Cain Hopwood provided information and research around a HTTPS
1133 PUT/upload problem we seem to have. No solution found yet.
1135 Daniel (8 February 2001)
1136 - An interesting discussion is how to specify an empty password without having
1137 curl ask for it interactively? The current implmentation takes an empty
1138 password as a request for a password prompt. However, I still want to
1139 support a blank user field. Thus, today if you enter "-u :" (without user
1140 and password) curl will prompt for the password. Tricky. How would you
1141 specify you want the prompt otherwise?
1143 - Made the netrc parse result possible to use for other protocols than FTP and
1144 HTTP (such as the upcoming TELNET fixes).
1146 - The previously mentioned "MSVC++ problems" turned out to be a non-issue.
1148 - Added a HTTP file upload code example in the docs/examples/ section on
1151 - Adjusted the FTP response fix slightly.
1155 Daniel (7 February 2001)
1156 - S. Moonesamy found a flaw in the response reading function for FTP that
1157 could make libcurl not get out of the loop properly when it should, if
1158 libcurl got -1 returned when reading the socket.
1160 - I found a similar mistake in http.c when using a proxy and reading the
1161 results from the proxy connection.
1163 Daniel (6 February 2001)
1164 - S. Moonesamy pointed out that the VC makefile in src/ needed the libpath set
1165 for the debug build to work.
1167 - Daniel Gehriger stepped in to assist with the VC++ stuff Robert Weaver
1168 brought up yesterday.
1170 Daniel (5 February 2001)
1171 - Jun-ichiro itojun Hagino brought a big patch that brings IPv6-awareness to
1172 a bunch of different areas within libcurl.
1174 - Robert Weaver told me about the problems the MS VC++ 6.0 compiler has with
1175 the 'static' keyword on a number of libcurl functions. I might need to add a
1176 patch that redefines static when libcurl is compiled with that compiler.
1177 How do I know when VC++ compiles, anyone?
1179 Daniel (4 February 2001)
1180 - curl_getinfo() was extended with two new options:
1181 CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD. They
1182 return the full assumed content length of the transfer in the given
1183 direction. The CURLINFO_CONTENT_LENGTH_DOWNLOAD will be the Content-Length:
1184 size of a HTTP download. Added descriptions to the man page as well. This
1185 was done after discussions with Bob Schader.
1187 Daniel (3 February 2001)
1188 - Ingo Ralf Blum provided another fix that makes curl build under the more
1189 recent cygwin installations. It seems they've changed the preset defines to
1190 not include WIN32 anymore.
1194 Daniel (31 January 2001)
1195 - Curl_read() and curl_read() now return a ssize_t for the size, as it had to
1196 be able to return -1. The telnet support crashed due to this and there was a
1197 possibility to weird behavior all over. Linus Nielsen Feltzing helped me
1200 - Added a configure.in check for a working getaddrinfo() if IPv6 is requested.
1201 I also made the configure script feature --enable-debug which sets a couple
1202 of compiler options when used. It assumes gcc.
1204 Daniel (30 January 2001)
1205 - I finally took a stab at the long-term FIXME item I've had on myself, and
1206 now libcurl will properly work when doing a HTTP range-request that follows
1207 a Location:. Previously that would make libcurl fail saying that the server
1208 doesn't seem to support range requests.
1210 Daniel (29 January 2001)
1211 - I added a test case for the HTTP PUT resume thing (test case 33).
1215 Daniel (29 January 2001)
1216 - Yet another Content-Range change. Ok now? Bob Schader checks from his end
1217 and it works for him.
1219 Daniel (27 January 2001)
1220 - So the HTTP PUT resume fix wasn't good. There should appearantly be a
1221 Content-Range header when resuming a PUT.
1223 - I noticed I broke the download-check that verifies that a resumed HTTP
1224 download is actually resumed. It got broke because my new 'httpreq' field
1225 in the main curl struct. I should get slapped. I added a test case for
1226 this now, so I won't be able to ruin this again without noticing.
1228 - Added a test case for content-length verifying when downloading HTTP.
1230 - Made the progress meter title say if the transfer is being transfered. It
1231 makes the output slightly better for resumes.
1233 - When dealing with Location: and HTTP return codes, libcurl will not attempt
1234 to follow the spirit of RFC2616 better. It means that when POSTing to a
1235 URL that is being following to a second place, the standard will judge on
1236 what to do. All HTTP codes except 303 and 305 will cause curl to make a
1237 second POST operation. 303 will make a GET and 305 is not yet supported.
1239 I also wrote two test cases for this POST/GET/Location stuff.
1243 Daniel (26 January 2001)
1244 - Lots of mails back and forth with Bob Schader finally made me add a small
1245 piece of code in the HTTP engine so that HTTP upload resume works. You can
1246 now do an operation like 'curl -T file -C <offset> <URL>' and curl will PUT
1247 the ending part of the file starting at given offet to the specified URL.
1251 Daniel (25 January 2001)
1252 - I took hold of Rick Jones' question why we don't use recv() and send() for
1253 reading/writing to the sockets and I've now modified the sread() and
1254 swrite() macros to use them instead. If nothing else, they could be tested
1255 in the next beta-round coming right up.
1257 - Jeff Morrow found a problem with libcurl's usage of SSL_read() and supplied
1258 his research results in how to fix this. It turns out we have to invoke the
1259 function several times in some cases. The same goes for the SSL_write().
1261 I made some rather drastic changes all over libcurl to make all writes and
1262 reads get done on one single place so that this repeated-attempts thing
1263 would only have to be implemented at one point.
1265 - Rick Jones spotted that the 'total time' counter really didn't measure the
1266 total time very accurate on subsecond levels.
1268 - Johan Nilsson pointed out the need to more clearly specify that the timeout
1269 value you set for a download is for the *entire* download. There's currently
1270 no option available that sets a timeout for the connection phase only.
1272 Daniel (24 January 2001)
1273 - Ingo Ralf Blum submitted a series of patches required to get curl to compile
1274 properly with cygwin.
1276 - Robert Weaver posted a fix for the win32 section of the curl_getenv() code
1277 that corrected a potential memory leak.
1279 - Added comments in a few files in a sudden attempt to make the sources more
1280 easy to read and understand!
1282 Daniel (23 January 2001)
1283 - Added simple IPv6 detection in the configure script and made the version
1284 string add 'ipv6' to the enable section in that case. ENABLE_IPV6 will be
1285 set if curl is compiled with IPv6 support enabled.
1287 - Added a parser for IPv6-style specified IP-addresses in a URL. Thus, when
1288 IPv6 gets enabled soon, we can use URLs like '[0::1]:80'...
1290 - Made the URL globbing in the client possible to fail silently if there's an
1291 error in the globbing. It makes it almost intuitive, so when you don't
1292 follow the syntax rules, globbing is simply switched off and the raw string
1295 I still think we'll get problems with IPv6-style IP-addresses when we *want*
1296 globbing on parts of the URL as the initial part of the URL will for sure
1297 seriously confuse the globber.
1299 Daniel (22 January 2001)
1300 - Björn Stenberg supplied a progress meter patch that makes it look better even
1301 during slow starts. Previously it made some silly assumptions...
1303 - Added two FTP tests for -Q and -Q - stuff since it was being discussed on
1304 the mailing list. Had to correct the ftpserver.pl too as it bugged slightly.
1306 Daniel (19 January 2001)
1307 - Made the Location: parsers deal with any-length URLs. Thus I removed the last
1308 code that restricts the length of URLs that curl supports.
1310 - Added a --globoff test case (#28) and it quickly identified a memory problem
1311 in src/main.c that I took care of.
1315 Daniel (17 January 2001)
1316 - Made the two former files lib/download.c and lib/highlevel.c become the new
1317 lib/transfer.c which makes more sense. I also did the rename from Transfer()
1318 to Curl_Transfer() in the other source files that use the transfer function
1319 in the spirit of using Curl_ prefix for library-scoped global symbols.
1321 Daniel (11 January 2001)
1322 - Added -g/--globoff that switches OFF the URL globbing and thus enables {}[]
1323 letters to be part of the URL. Do note that RFC2396 section 2.4.3 explicitly
1324 mention these letters to be escaped. This was posted as a feature request by
1325 Jorge Gutierrez and as a bug by Terry.
1327 - Short options to curl that requires parameters can now be specified without
1328 having the option and its parameter space separated. -ofile works as good as
1329 -o file. -m20 is equal to -m 20. Do note that this goes for single-letter
1330 options only, verbose --long-style options still must be separated with
1331 space from their parameters.
1333 Daniel (8 January 2001)
1334 - Francis Dagenais reported that the SCO compiler still fails when compiling
1335 curl due to that getpass_r() prototype. I've now put it around #ifndef
1336 HAVE_GETPASS_R in an attempt to please the SCO systems.
1338 - Made some minor corrections to get the client to cleanup properly and I made
1339 the separator work again when getting multiple globbed URLs to stdout.
1341 - Worked with Loic Dachary to get the make dist and make distcheck work
1342 correctly. The 'maketgz' script is now using the automake generated 'make
1343 dist' when creating release archives. Loic successfully made 'make rpms'
1344 automatically build RPMs!
1346 Loic Dachary (6 January 2001)
1347 - Automated generation of rpm packages, no need to be root.
1349 - make distcheck generates a proper distribution (EXTRA_DIST
1350 in all Makefile.am modified to match FILES).
1352 Daniel (5 January 2001)
1353 - Huge client-side hack: now multiple URLs are supported. Any number of URLs
1354 can be specified on the command line, and they'll all be downloaded. There
1355 must be a corresponding -o or -O for each URL or the data will be written to
1356 stdout. This needs more testing, time to release a 7.6-pre package.
1358 - The krb4 support was broken in the release. Fixed now.
1360 - Huge internal symbol rename operation. All non-static but still lib-internal
1361 symbols should now be prefixed with 'Curl_' to prevent collisions with other
1362 libs. All public symbols should be prefixed with 'curl_' and the rest should
1363 be static and thus invisible to the outside world. I updated the INTERNALS
1364 document to say this as well.
1368 Daniel (4 January 2001)
1369 - As Kevin P Roth suggested, I've added text to the man page for every command
1370 line option and what happens when you specify that option more than
1371 once. That hasn't been exactly crystal clear before.
1373 - Made the configure script possible to run from outside the source-tree. For
1374 odd reasons I can't build curl properly outside though. It has to do with
1375 curl's dependencies on libcurl...
1377 - Cut off all older (dated 1999 and earlier) CHANGES entries from this file.
1378 The older piece is named CHANGES.0 and is added to the CVS repository in
1379 case anyone would need it.
1381 - I added another file 'CVS-INFO' to the CVS. It contains information about
1382 files in the CVS that aren't included in release archives and how to build
1383 curl when you get the sources off CVS.
1385 - Updated CONTRIBUTE and FAQ due to the new license.
1387 Daniel (3 January 2001)
1388 - Renamed README.libcurl to LIBCURL
1390 - Changed headers in all sources files to the new dual license concept of
1391 curl: use the MIT/X derivate license *or* MPL. The LEGAL file was updated
1392 accordingly and the MPL 1.1 and MIT/X derivate licenses are now part of the