Newer
Older
Daniel Stenberg
committed
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
- The FTP fixes in pre7 didn't compile on IPv6 enabled hosts. Does now. I also
added more comments in the lib/ftp.c source file.
- Minor updates to the FAQ, added a brand new section to the web site about
the name issue (who owns "curl"? will someone sue us? etc etc):
http://curl.haxx.se/legal/thename.html
Version 7.9.1-pre7
Daniel (31 October 2001)
- The curl_easy_getinfo() timers accidentally lost their subsecond accuracy as
the calculations used longs instead of doubles! Paul Harrington reported.
- The SSL SocketIsDead() checks weren't good enough (as expected really), so I
had to add a generic internal try-it-out system. If the request on a re-used
connection seems to fail, then we go back and get a new (fresh) connection
and re-tries the request on that instead. It kind of makes the
SocketIsDead() check obsolete, but I think it is a quicker way for those
cases where it actually discovers that the connection is dead.
- When fixing the above, I noticed that we did quite a few writes to sockets
in libcurl where we didn't check the return code (that it actually worked to
send the data). With the new "attempted request" system we must detect those
situations so I went over a bunch of functions, changed return types and
added checks for what they actually return.
Version 7.9.1-pre6
Daniel (31 October 2001)
- Paul Harrington detected a problem with persistant SSL connections. Or to be
more exact, we didn't properly detect that the connection was dead and then
a second connection would try to re-use it wrongly. The solution to this
problem is still not very clear and I'm working on it. One OpenSSL insider
said there is no way to know if the SSL connection is alive or not without
actually trying an operation.
Daniel (30 October 2001)
- If a cookie was read from a file, it could accidentally strdup() a NULL
pointer. Paul Harrington reported. [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/cookie.c.diff?r1=1.25&r2=1.26]
- The MANUAL file now documents -t correctly. I also fixed the -T description
in the curl.1 man page.
Daniel (29 October 2001)
- John Janssen found out that curl_formadd was missing in the libcurl.def file
and that the docs stated the wrong return type for the function.
- Andrés García found a bug with multiple files in the curl_formadd() function,
that I removed with this patch [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/formdata.c.diff?r1=1.25&r2=1.26].
- Kevin Roth brought another patch that moved the cygwin package files to the
packages/Win32/cygwin directory.
- A bug in the connection re-use logic made repeated requests to the same FTP
server (when using name+pasword in the URL) sometimes use more than one
connection. [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/url.c.diff?r1=1.166&r2=1.167]
- Moonesamy tracked down and fixed a problem with the new 7.9.1 connect
code. This corrected the error Kevin Roth reported on the 7.9.1-pre5 release
(test 19)...
[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/connect.c.diff?r1=1.13&r2=1.14]
Daniel (26 October 2001)
- Added test28 which verifies that "Location:"-following works even if the
contents is separated with more than one space.
Daniel (25 October 2001)
- Ramana Mokkapati pointed out that LDAP transfers would 'hang' after the
correct data has been output.
Version 7.9.1-pre5
Daniel (24 October 2001)
- T. Bharath found a memory leak in the cookie engine. When we update a cookie
that we already knew about, we lost a chunk of memory in the progress... The
brand new test case 27 now tests for this occurrence. [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/cookie.c.diff?r1=1.24&r2=1.25]
Daniel (23 October 2001)
- pack_hostent() didn't properly align some pointers, so at least SPARC CPUs
would core. [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/hostip.c.diff?r1=1.34&r2=1.35]
Daniel (22 October 2001)
- Tom Benoist reported that this SGI IRIX compiler didn't handle indented
preprocessor instructions, so they're no longer in the source code!
- Applied Kevin Roth's patches to make it easier to build cygwin packages from
the out-of-the-box curl release archives.
- I forgot to mention it below, but libcurl now closes connections that report
transfer failures. Unconditionally. This could be made more nicely in the
future if we set a flag or something that the connection is still good to be
used for the errors that know that for a fact. We have to close the
connection for the cases where we abort for example a HTTP transfer in the
middle, or otherwise we might re-use that connection later with lots of data
still being sent to us on it. [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/transfer.c.diff?r1=1.63&r2=1.64]
Daniel (19 October 2001)
- CURLE_GOT_NOTHING is now returned when a HTTP server doesn't return
anything, not even a header. test case 37 was added to test for this.
- T. Bharath made curl_easy_duphandle() properly clone the cookie status as
well.
Version 7.9.1-pre4
Daniel (18 October 2001)
- CURLOPT_FAILONERROR, set with "curl --fail" no longer returns an error if
the HTTP return code is below 400.
Daniel (17 October 2001)
- The test suite now kills any running test http server when you re-start the
tests.
- We had to remove 'use strict' from two perl scripts, as the cygwin
adjustments didn't play nicely otherwise for some reason. Any perl wizard
out there who can put the scrict back and still make it run good on unix and
cygwin?
- A potential memory leak pointed out to us by Yanick Pelletier was removed.
It would occur when a http file transfer fails. [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/transfer.c.diff?r1=1.60&r2=1.61]
- The memory debugging system should no longer display anything to stderr
if the curl_memdebug() hasn't been used to explicitly say so. This makes it
easier to use the memory debug system and switch the logging on/off.
Daniel (16 October 2001)
- Kevin Roth provided fixes for building curl nicer in cygwin environments.
Daniel (12 October 2001)
- Cleaning up the progress meter/info code. The "current speed" is now more
accurate than before as we now use the true time spent between the measures,
and not just "assuming" every-second-update like before. The output should
now also be of the same width at all times, never to show "extra" zeroes on
the right edge.
- After talking about possible Location: bugs on the mailing list, I modified
the "absolute URL" checker in lib/transfer.c to be more strict when checking
if the redirected URL is absolute.
Daniel (11 October 2001)
- Kevin Roth provided patches that make the test suite run fine on Windows
2000 running cygwin.
Daniel (10 October 2001)
- Setting the -c or the CURLOPT_COOKIEJAR option now enables the cookie parser.
Previously -b or CURLOPT_COOKIEFILE was also required for the jar to work.
Version 7.9.1-pre3
Daniel (9 October 2001)
- Added a new option to the command line client: -0/--http1.0. It uses the new
libcurl option CURLOPT_HTTP_VERSION to request that libcurl uses HTTP 1.0
requests instead of the default version (1.1). It should only be used if you
really MUST do that because of a silly remote server.
- Renamed the 'TimeCond' typedef in curl/curl.h to use a 'curl_' prefix as
all public curl-symbols should.
- libcurl now explicitly ignores the SIGPIPE signal.
Daniel (8 October 2001)
- Kevin Roth's change to the cookie-jar comment (in the stored file) was
applied.
- Lucas Adamski's minor bug in the bind error code failf() was fixed.
Daniel (5 October 2001)
- Moonesamy fixed the Curl_connecthost() function to not give compiler errors
on a bunch of compilers, due to the argument named 'socket'.
- Moonesamy also provided updated VC++ makefiles and project files.
Version 7.9.1-pre2
Daniel (4 October 2001)
- Albert Chin provided a configure patch that makes the script detect proper
gethostbyname_r() method without actually running any code, only compiling
is necessary. This also removes the need of having a resolving 'localhost'
name.
- Found and removed memory leakage (name resolve data) in libcurl on
IPv6-enabled hosts. These could sneak through because we didn't have any
resource tracing on the IPv6-related functions. We do now.
Daniel (3 October 2001)
- Keith McGuigan patched away a (mainly Windows-) problem with the name
resolver data being kept in the static memory area, which is removed when a
thread is killed. The curl handle itself though perfectly handles being
passed between threads.
- Dirk Eddelbuettel reported an odd bug that turned out to be his proxy that
required an Authorization: header. Now, proxies are not supposed to require
that header, that is for true servers...
- I accidentally ruined Georg's curl_formadd(). Uh, bad me. Corrected now.
Version 7.9.1-pre1
Daniel (3 October 2001)
- Georg Huettenegger once again made an effort beyond the call of duty and not
only improved the curl_formadd() function, but also took care of adjusting
the curl command line client to use this new function instead of the
obsoleted curl_formparse.
Daniel (2 October 2001)
- Major fix in how libcurl does TCP connects. It now does non-blocking
connects to enable good timeouts without signals, and it now tries all IP
addresses for any given host (if it resolves more than one and the first
one(s) don't connect). Added a new source file 'connect.c' to deal with all
the TCP connect stuff.
- We now support IPv4-style IP-addresses in rfc2732-format, to better support
people writing scripts without knowing what address there is.
Daniel (28 September 2001)
- Cleanups in the FTP source code. Divided the code into even more smaller
functions and generally tried to make the differences between IPv4 and IPv6
get less noticable in the sources.
- If the remote file time is not readable/accessable/understood by libcurl,
libcurl now returns -1 in the CURLINFO_FILETIME data, not 0 as it previously
did. This should make curl not touch the file data unless there was a known
remote date when -R is used.
Daniel (27 September 2001)
- Working on getting non-blocking connects working platform independent. We
will also make curl try all IPs for a given host if the first one should
fail.
Daniel (26 September 2001)
- Kevin Roth provided a cookie example that proved the cookie jar
functionality wasn't working properly. I added test case 46 and made it
work.
Daniel (25 September 2001)
- Jörn Hartroth updated the mingw32 makefiles.
Version 7.9
Daniel (23 September 2001)
- Found and removed a 'socket leak' that would occur on IPv6 enabled hosts
when FTP RETR failed.
- Made the FTP upload tests run fine on machines with IPv6 enabled.
Version 7.9-pre8
Daniel (19 September 2001)
- Vojtech Minarik set up a special-purpose test server and provided me with
test certificates in order for me to repeat the bug reports #440068 and
#440373. It turned out we didn't check all the error codes properly. We do
now, and connecting with a unacceptable certificate will make libcurl fail
to connect with an error code returned.
- Ramana Mokkapati found a case when the Location: following code did wrong.
I wrote a test case for this (45).
Version 7.9-pre7
Daniel (17 September 2001)
- Linus Nielsen Feltzing fixed telnet for win32. It makes libcurl require
winsock 2.0.
Version 7.9-pre6
- libtool 1.4.2 is now in use!
Version 7.9-pre5
Daniel (14 September 2001)
- Added another 14 ftp tests.
Daniel (13 September 2001)
- Added curl_easy_duphandle() to the easy.h header file. It has now been
tested and proved to work in a real-world tests by T Bharath. We still need
to write up some docs for this function.
- Added four more ftp tests to the test suite.
Daniel (12 September 2001)
- CURLOPT_SSL_CIPHER_LIST was added, and the curl tool option is named
--ciphers. Use them to specify a list of ciphers to use in the SSL
connection.
- T. Bharath found a memory leak in libcurl's windows version. It turned out
to be the new duphandle() that didn't quite work yet.
Version 7.9-pre4
Daniel (11 September 2001)
- Added verbose output for SSL connections that output the server
certificate's start and expire dates. As suggested by Paul Harrington.
- Heikki Korpela found problems in the perl ftp server used for the test
suite, when he runs on on OpenBSD with perl 5.6. Some changes have been
made, but nothing really certain.
- T. Bharath has experienced problems with libcurl's stack usage on windows
and works on reducing it.
Daniel (10 September 2001)
- Cris Bailiff fixed the perl interface. It stopped working since the changed
behavior with WRITEHEADER and NULL pointers.
- The "output cookies" function could dump core if no cookies were enabled.
Daniel (7 September 2001)
- SM pointed out that the SSL code didn't compile any longer if SSL was
disabled... Also, we needed to correct the #include for the utime stuff on
windows.
Daniel (6 September 2001)
- T. Bharath pointed out a flaw in the SSL session cache code that made it
sometimes read from a NULL pointer.
Version 7.9-pre3
Daniel (3 September 2001)
- Added the -R/--remote-time option, that uses the remote file's datestamp to
set the local file's datestamp. Thus, when you get a remote file your local
file will get the same time and date. Note that this only works when you use
-o or -O.
- Installed libtool 1.4.1, libtoolized and everything.
Daniel (1 September 2001)
- Heikki Korpela pointed out that I did not ship the proper libtool stuff in
the pre-releases, even though that was my intention. libtoolize has now
been re-run.
- Heikki also patched away the bad use of 'make -C' in the test suite
makefile. make -C is not very portable and is now banned from here.
Version 7.9-pre2
Daniel (31 August 2001)
- I just made a huge internal struct rehaul, and all the big internally used
structs have been renamed, redesigned and stuff have been moved around a bit
to make the source easier to follow, more logically grouped and to hopefully
decrease future bugs. I also hope that this will make new functions to get
easier to add, and make it less likely that we have bugs left like the URL-
free bug from August 23.
Version 7.9-pre1
Daniel (29 August 2001)
- The new cookie code have enabled the brand new '-c/--cookie-jar' option. Use
that to specify the file name in which you want to have all cookies curl
knows of, dumped to. It'll be written using the netscape cookie format.
This is internally done with the new CURLOPT_COOKIEJAR option to libcurl,
which in turn dumps this information when curl_easy_cleanup() is invoked.
There might be reasons to re-consider my choice of putting it there. Perhaps
it is better placed to get done just before *_perform() is done. It is all
of course depending on how you guys want to use this feature...
- Added ftpupload.c in the source examples section, based on source code posted
by Erick Nuwendam.
Daniel (28 August 2001)
- Now running libtool CVS branch-1-4 to generate stuff. Should fix problems
on OpenBSD and hopefully on FreeBSD as well!
- Georg Huettenegger modified the curl_formadd() functionality slightly, and
added support for error code 417 when doing form post and using the Expect:
header. Great work!
- Made some tests with cached SSL session IDs, and they seem to work. There
should be a significant speed improvement in the SSL connection phase, but
in my tiny tests it just isn't possible to notice any difference. Like other
caching in libcurl, you must reuse the same handle for the caching to take
effect. SSL session ID caching is done on a per host-name and destination
port number basis.
Set verbose, and you'll get informational tests when libcurl detects and
uses a previous SSL session ID.
- Upgraded to automake 1.5 on my development/release machine.
Daniel (27 August 2001)
- Slowly started writing SSL session ID caching code
Daniel (24 August 2001)
- T. Bharath removed compiler warnings on windows and updated the MS project
files.
- Kevin Roth reported two kinds of command line constructs with the new -G that
curl didn't really deal with the way one would like.
- Tim Costello patched away a use of strcasecmp() in the SSL code. We have our
own portable version named strequal() that should be used!
- Tim also pointed out a problem in the lib/Makefile.vc6 file that made it mix
debug object modules causing confusions.
Daniel (23 August 2001)
- T. Bharath accurately found a libcurl bug that would happen when doing a
second invoke of curl_easy_perform() with a new URL when the previous invoke
followed a Location: header.
- Started the improvement work on the cookie engine:
- Now keeps cookies in the same order as the cookie file
- A write to the possibly static string was removed
- Added a function that can output all cookies
- Now supports reading multiple cookie files
- Steve Lhomme corrected a DLL naming issue in the MSVC++ project file.
- Split up the monster function in lib/ftp.c to use more smallish functions to
increase readability and maintainability.
Daniel (21 August 2001)
- Georg Huettenegger's big patch was applied. Now we have:
o "Expect: 100-continue" support. We will from now on send that header in
all rfc1867-posts, as that makes us abort much faster when the server
rejects our POST. Posting without the Expect: header is still possible in
the standard replace-internal-header style.
o curl_formadd() is a new formpost building function that is introduced to
replace the now deprecated curl_formparse() function. The latter function
will still hang around for a while, but the curl_formadd() is the new way
and correct way to build form posts.
o Documentation has been updated to reflect these changes
These changes are reason enough to name the next curl release 7.9...
- We now convert man pages to HTML pages and include them in the release
archive. For the pleasure of everyone without nroff within reach.
- Andrés García's suggested flushing of the progress meter output stream was
added. It should make the progress meter look better on Windows.
- Troy Engel pointed out a mistake in the configure script that made it fail
on many Red Hat boxes!
Daniel (20 August 2001)
- We need an updated libtool to make a better build environment for OpenBSD
as well as FreeBSD
Version 7.8.1
Daniel (20 August 2001)
- Brad pointed out that we ship two extra libtool files in the tarballs that
we really don't need to! Removing them makes the gz-archive about 60K
smaller!
- Albert Chin brought fixes for the configure script to detect socklen_t
properly as well as moving lots of our custom autoconf macros to
acinclude.m4.
Daniel (19 August 2001)
- Moonesamy improved his -G feature for host names only URLs...
Daniel (17 August 2001)
- Finally cleaned up the kerberos code to use Curl_ prefixes on all global
symbols and to not use global variables.
Version 7.8.1-pre6
Daniel (16 August 2001)
- S. Moonesamy added the -G option to curl, that converts the data specified
with -d to a GET request. Default action when using -d is POST. When -G is
used, the -d specified data will be appended to the URL with a '?'
separator. As suggested previously by Kevin Roth.
- curl-config --libs should now display all linker options required to link
with libcurl. It includes the path and options for libcurl itself.
curl-config --cflags displays the compiler option(s) needed to compile
source files that use libcurl functions. Basically, that sets the include
path correct.
Daniel (15 August 2001)
- Arkadiusz Miskiewicz pointed out a mistake in how IPv6-style IP-addresses
were parsed and used. (RFC2732-format)
- Bug #12733 over on php.net identified a problem in libcurl that made it core
dump if you used CURLOPT_POST without setting any data to post with
CURLOPT_POSTFIELDS! This is no longer the case. Not using CURLOPT_POSTFIELDS
now equals setting it to no data at all.
- Ramana Mokkapati reported that curl with '-w %{http_code}' didn't work
properly when used for multiple URLs on a single command line. Indeed, the
variable was not reset between the requests. This is now fixed.
- David James fixed the Borland makefile so that libcurl still compiles and
builds with that compiler.
Daniel (14 August 2001)
- Oops. I ruined Nico's socklen_t define in config-vms.h, corrected it now.
- An older item not mentioned here before: CURL_GLOBAL_WIN32 is a define for
windows users to curl_global_init(), that makes libcurl init the winsock
stuff. If libcurl is all socket stuff you do, then allowing it to fiddle
with this is a comfortable shortcut to fame.
Version 7.8.1-pre5
Daniel (14 August 2001)
- Nico Baggus provided more feedback from his VMS porting efforts and a few
minor changes were necessary.
- I modified configure.in so that --enable-debug sets more picky gcc options.
I then removed almost all the new warnings that appeared, and by doing so I
corrected the size_t-treated-as-signed problem that has been discussed on
the mailing list previously. I also removed a bunch of the just recently
added #ifdef VMS lines.
- I removed the use of a global variable in the SSL code. It was once
necessary but hasn't been needed since OpenSSL 0.9.4. The old code should
(hopefully) still work if libcurl is built against an ancient version of
OpenSSL.
Daniel (13 August 2001)
- Peter Todd posted a patch that now allows non-file rc1867-style form posts
to be larger than 4K.
Daniel (10 August 2001)
- S. Moonesamy fixed bugs for building debug and SSL lib in VC makefile
Daniel (9 August 2001)
- The redirected error stream was closed before the curl_easy_cleanup() call
was made, and when VERBOSE was enabled, the cleanup function tried to use
the stream. It could lead to a segmentation fault. Also, the stream was
closed even if we looped to get more files. Corrects Dustin Boswell's bug
report #441610
- Now generates the release configure script with autoconf 2.52
Version 7.8.1-pre4
Daniel (8 August 2001)
- curl -E uses a colon to separate a file name from a passphrase. This turned
out really bad for the windows people who wants to include a drive letter in
the file name like "c:\cert.pem". There's now a win32 work-around
implemented that tries work around that, when the colon seems to be used for
this kind of construct.
- Patrick Bihan-Faou introduced CURLOPT_SSL_VERIFYHOST, which makes curl
verify the server's CN field when talking https://. If --cacert is not used,
any failures in matching is only displayed as information (-v).
Daniel (7 August 2001)
- Wrote up nine more test cases, more or less converted from the former test
suite.
Daniel (6 August 2001)
- Heikki Korpela posted a patch that makes 'curl-config --libs' include the
directory in which libcurl itself is installed in. While this wasn't my
initial intention with this option, it makes sense and makes linking with
libcurl easier.
- Stefan Ulrich pointed out to us that other tools and libraries treat file://
URLs with only one slash after the host name slighly different than libcurl
does. Since all the others seem to agree, we better follow them.
- Nico Baggus provided us with a huge set of fixes to make curl compile and
build under OpenVMS.
Version 7.8.1-pre3
Daniel (6 August 2001)
- Jonathan Hseu noticed that you couldn't get a header callback unless you
set CURLOPT_WRITEHEADER to non-NULL, even if you didn't care about that
data. This is now fixed.
Daniel (5 August 2001)
- Sergio Ballestrero provided a patch for reading responses from NCSA httpd
1.5.x servers, as they return really screwed up response headers when asked
for with HTTP 1.1.
- curl_escape() no longer treats already encoded characters in the input
string especially.
Daniel (3 August 2001)
- I replaced the former lib/arpa_telnet.h file with one I wrote myself, to
avoid the BSD annoucement clause of the license in the former file.
- Andrew Francis provided a new version of base64.c to work around the license
boiler plate that came with the previous one. I patched it, but the glory
should go to Andrew for his heads up.
- Tomasz Lacki noticed that when you do repeated transfers with libcurl you
couldn't always reliably change HTTP request. This has now been fixed and a
new libcurl option was added: CURLOPT_HTTPGET, that can force the HTTP
requestr (back) to GET.
- Linus Nielsen Feltzing pointed out that httpsserver.pl wasn't included in
release archives. It should be now.
Daniel (2 August 2001)
- Frank Keeney pointed out a manual mistake for certificate convertions.
- Tomasz Lacki pointed out a problem in the transfer loop that could make the
select() loop use far too much CPU.
- Pawel A. Gajda pointed out an output mistake done when using libcurl's
progress callback.
Daniel (29 June 2001)
- Naveen Noel noticed that the Borland library makefile wasn't updated.
- Nic Roets brought a fix for the certificate verification when using SSL.
Daniel (27 June 2001)
- Made the FTP tests run OK even on machines running curl IPv6-enabled.
- Troy Engel corrected some RPM package details.
Version 7.8.1-pre2
Daniel (25 June 2001)
- Björn Stenberg correctly identified a problem that occurred when downloading
several files with curl, and using resume. The first file's resume index was
then used for all files, resulting in weird results...
- Anton Kalmykov provided a fix that makes curl work with form field names
with spaces like when -F is used.
Version 7.8.1-pre1
Daniel (20 June 2001)
- Mike Bytnar provided a fine report that proved that the --with-ssl option
for configure needed tweaking. It no longer searches the default directories
for OpenSSL libs or directories when a specified path is given.
Daniel (19 June 2001)
- When an FTP transfer is cut off during transfer, curl could present a truly
garbaged error message and in worst case dump core. Thanks to detailed
reports from Shawn Poulson we nailed this.
Daniel (12 June 2001)
- Salvador Dávila provided a fix for FTP range downloads.
- Added a few more test cases from the former test suite to the new file
format. We're now at a total of 26 tests.
Daniel (11 June 2001)
- libcurl's version-info was wrong, as noted by both Domenico Andreoli and
David Odin.
Daniel (7 June 2001)
- Jörn fixed the curl_unescape duplicate entry in lib/libcurl.def
- I made SSL certificate failure messages to be more detailed.
Version 7.8
Daniel (7 June 2001)
- SDavila provided a resumed download fix.
Version 7.8-pre4
Daniel (1 June 2001)
- Sterling provided some new PHP examples.
- Changed the CVS hierarchy and the older checkout instruction does no longer
work. We moved the entire source code into a CVS module named 'curl'.
Daniel (31 May 2001)
- CURLOPT_MUTE does not exist anymore. It is still present in the include file
to not cause compiler errors for applications using it, but it isn't used
anywhere in the library.
Version 7.8-pre3
Daniel (31 May 2001)
- Once and for all fixed the _REENTRANT mess for Solaris compiles to present
less warnings.
- Sterling Hughes tirelessly points out and corrects my mistakes...! So,
curl_global_init() now lets the argument flags *SET* what parts to
init. CURL_GLOBAL_DEFAULT makes a nice default, CURL_GLOBAL_ALL inits all
known subsystems and CURL_GLOBAL_NONE inits nothing more than absolutely
necessary. Man page updated accordingly.
- Fixed the strtok.h include file as it wouldn't compile on all platforms!
Daniel (30 May 2001)
- Made libcurl by default act as if CURLOPT_MUTE and CURLOPT_NOPROGRESS were
set TRUE. Set them to FALSE to make libcurl more talkative. The *_MUTE
option is subject for complete removal...
Version 7.8-pre2
Daniel (30 May 2001)
- Cris Bailiff wrote a makefile for building Solaris packages.
- Sterling Hughes brought fixes for 'buildconf' (the build-from-CVS tool) and
we discussed and added a few CURL_GLOBAL_* flags in include/curl.h
- Kjetil Jacobsen privately announced his python interface to libcurl,
available at http://pycurl.sourceforge.net/
Daniel (29 May 2001)
- Sterling Hughes fixed a strtok() problem in libcurl. It is not a thread-
safe function. Now configure checks for a thread-safe version, and
lib/strtok.c offers one for the systems that don't come with one included!
- Mettgut Jamalla correctly pointed out that the -# progress bar was written
to stderr even though --stderr redirection was used. This is now corrected.
- I moved out the list of contributors from the curl.1 man page and made a
separate docs/THANKS file. It makes the list easier to find, and made it
easier for me to make a separate web page with that same information.
I really do want all you guys mentioned in there to feel you get the credit
you deserve.
- lib/easy.c didn't compile properly in the 7.8-pre1 due to a silly mistake
Version 7.8-pre1
Daniel (28 May 2001)
- curl-config now supports '--vernum' that outputs a plain hexadecimal version
of the libcurl version number (using 8 bits for each 3 numbers). Version
7.7.4 appears as 070704
- Wrote man pages for curl_global_init and curl_global_cleanup...
- T. Bharath brought news about the usage of the OpenSSL interface that was
not previously taken into consideration and thus caused libcurl to leak
memory. The only somewhat sane approach to fix this dilemma, is adding two
two new functions curl_global_init() and curl_global_cleanup() that should
be called *ONCE* by the application using libcurl. The init should be done
only at startup, no matter how many threads the application is gonna use,
and the cleanup should be called when the application has finished using
libcurl completely.
*** UPGRADE NOTICE ***
If you write applications using libcurl, you really want to use the two
functions mentioned above !!!
I can't say I think this is a very beautiful solution, but as OpenSSL
insists on making lots of stuff on a "global" scope, we're forced to walk
the path they point us to.
- Moving more test cases into the new file format.
Version 7.7.4-pre3
Daniel (23 May 2001)
- Introduced a new file format for storing test cases, and thus I had to
modify all the perl test scripts and more (I added a new one). I have not
"ported" all the old test cases to the new format yet, but it'll come.
The main advantage of this new format is that all test data for each test
case is stored in a single file. It gives a better overview for each test
case and a lot less files.
- Andrés García brought a fix for the netscape/mozilla cookie file parsing
function, as it turns out it doesn't always store the path!
Daniel (22 May 2001)
- As was reported anonymously, when FAILONERROR was used, the httpcode was
not stored properly and thus wasn't possibly to read after a transfer with
the curl_easy_getinfo() function. This is now corrected.
- Installed and made use of the following tool versions:
autoconf 2.50
libtool 1.4
automake 1.4-p1
I wouldn't recommend any developer to try to generate things with older
versions than these. Building from CVS will probably more or less require
at least these versions.
As a result of this, the configure script grew to more than double its
previous size!
Arkadiusz Miskiewicz helped me by pointing out I had to remove my
acinclude.m4 file before I could get it working!
Daniel (21 May 2001)
- I made ftps:// work. Added test case 400 to the release archive, as the
first ftps:// test case. Requires stunnel.
- Also made the test cases that runs ssl tests not run if libcurl isn't built
with ssl support.
Daniel (19 May 2001)
- Made the configure not add any extra -L LDFLAGS or -I CPPFLAGS unless they
are actually needed. Albert Chin's and Domenico Andreoli's suggestions
helped out.
Version 7.7.4-pre2
Daniel (18 May 2001)
- Nicer configure-check for the OpenSSL headers, which then sets the proper
variable to have curl-config be good. (Albert Chin provided the fix)
- For systems that don't have theiw own 'strlcat()' libcurl provides its own.
It was now renamed to prevent collides with other libs. (After discussions
with Sterling Hughes and the implications this had on PHP builds.)
Daniel (17 May 2001)
- Colm Buckley posted a detailed bug report on (the debianized) 7.7.3, that
turned out to be a problem with the debian-built 7.7.3-package that
contained files from the 7.7.2 release!
- I added the CURLE_ALREADY_COMPLETE again, but with a fake value, just to
make programs that use it, not fail when compiling against this version of
libcurl.
Daniel (14 May 2001)
- Pawel A. Gajda fixed a problem with resumed transfers on re-used persistent
connections.
Version 7.7.4-pre1
Daniel (14 May 2001)
- Jun-ichiro itojun Hagino fixed FTP PORT for IPv6-enabled libcurl.
- Added the first HTTPS test to the test suite in the release archive.
Daniel (12 May 2001)
- Jukka Pihl suggested that if (lib)curl is told to verify the peer's
certificate and the peer can't be verified, it should fail and return a
proper error code. I added a brand new error code named
CURLE_SSL_PEER_CERTIFICATE for this purpose.
Daniel (11 May 2001)
- As was discussed with Frederic Lepied a while ago, I now made libcurl not
return error even though no data was transfered on upload/download resume
when the no transfer is needed. The CURLE_ALREADY_COMPLETE error was removed
from the header file to make any implemenator that uses that to be aware of
the fact that it can't be returned anymore!
- Improved general header-parsing to better allow white spaces and more.
- Rodney Simmons proved the fix I did yesterday was bad and I had to post
another one.
- Ingo Wilken patched away two redirect problems more!
Daniel (10 May 2001)
- Cris Bailiff correctly noted that the space-after-header problem with
Location: is present on several other places in the libcurl sources.
- Ingo Wilken patched away a problem libcurl had when following Location:
headers with an extra space after the colon.
- Rodney Simmons found out that multiple FTP transfers did not treat relative
directories correctly.
Daniel (9 May 2001)
- Getting an FTP file with CURLOPT_NOBODY set (or -I from the command line),
makes curl use the non-standard ftp command "SIZE". If it failed, libcurl
returned error. Starting now, it just don't output the file size instead.
Anonymous bug report.
- stunnel.pm was accidentally left out from the release archive, it is now
added (stunnel is needed to run the https-tests in the test suite)
Daniel (7 May 2001)
- Corrected two minor compiler warnings due to the FILE * to void * conversion
that I missed at two places. Jörn Hartroth brought me patches. Sander Gates
filed a bug report on this.
Version 7.7.3
Daniel (4 May 2001)
- All callback functions now take 'void *' instead of 'FILE *'. This is made
this way to make it more obvious to people that anything can be passed to
them (by using the apropriate option). After discussions with Sterling
Hughes.
Daniel (3 May 2001)
- Cris Bailiff fixed a chunked transfer encoding problem with persistent
connection that made libcurl fail if the persistent connection used mixed
chunked and non-chunked transfers.
- Cris Bailiff fixed a bad treatment of 304-replies, as they would not be
treated as content-length 0 replies but would cause a "hang" until the
server timed-out and closed the connection.
- Brad Burdick found a minor problem in the docs/examples/Makefile.am
Daniel (27 April 2001)
- Updated the INTERALS document again. It was lagging a bit. I think I made it
more easy to follow now as well.
- Brad Burdick found a problem with persistent connections when curl received
a "Content-Length: 0" header.
- Giuseppe D'Ambrosio was first out to report that TELNET doesn't work in curl
compiled/built on win32. It seems to work for unixes though!
- Dave Hamilton reported weird problems with CURL/PHP that I really can't
explain at the moment. I'm hoping on some help from the PHP crew.
Daniel (26 April 2001)
- I rewrote the FTP command response function. I had to do it to make ftps
work, as the OpenSSL read()-function didn't work the same way the normal
unix read() does, but it was also a huge performance boost. Previously the
function read one byte at a time, now it reads very large chunks, and it
makes a notable speed difference.
Daniel (25 April 2001)
- Connection re-use when not using a proxy didn't work properly for
non-default port numbers.
Daniel (24 April 2001)
- I've noticed that FTPS doesn't work. We attempt to use ssl even for the
data transfer, which causes the transfer to 'hang'... We need to fix this.
- Improved the test suite to use 'stunnel' to do HTTPS and FTPS testing on
the alredy written perl servers easily.
Daniel (23 April 2001)
- The OpenSSL version string recently modified didn't zero terminate one
of the generated strings properly, which could lead to a crash or simply
weird version string output!
Version 7.7.2
Daniel (22 April 2001)
- Rosimildo da Silva updated the Makefiles for Borland/Windows.
- Eric Rautman pointed out a problem with persistent connections that would
lead to broken Host: headers in the second HTTP request.
Daniel (20 April 2001)
- Added man pages for the curl_strequal() and curl_mprintf() families. Wrote
a 'libcurl overview' man page.
- Spell-fixed some documents.
- S. Moonesamy corrected mistakes in the man page.
- Cris Bailiff fixed the curl_slists options in the perl interface, present
separately in the Curl::easy 1.1.4 package.
Daniel (19 April 2001)
- Linus Nielsen Feltzing removed the decimals from the size variables in the
--write-out output. We hardly ever get fraction of bytes! :-)
Version 7.7.2-pre1
Daniel (19 April 2001)
- Albert Chin provided a configure patch for the AC_SYS_LARGEFILE macro.
Daniel (18 April 2001)
- Input from Michael Mealling made me add --feature to curl-config. It
displays a list of features that have been built-in in the current
libcurl. The currently available features that can be listed are: SSL, KRB4
and IPv6.
- I committed Cris and Georg's perl interface work. They've got callbacks
working and options that receives those slist pointers.
- Puneet Pawaia detected a problem with resumed downloads that use persistent
connections and I made a rather large writeup to correct this. It is
important that all session-data is stored in the connectdata struct and not
in the main struct as this previously did.
Daniel (17 April 2001)
- Frederic Lepied fixed a ftp resumed download problem and introduced a new
error code that lets applications be able to detect when a resumed download
actually didn't download anything since the whole file is already present.
Should this return OK instead?
- I added 'curl-config.in' to the root dir and configure script. Now, a
curl-config script is made when curl is built. The script can be used to
figure out compile time options used when libcurl was built, which in turn
should be options YOU should use to build applications that use libcurl.
This *-config style is not a new idea, but something that has been used
successfully in other (library based) projects.
- Phil Karn pointed out that libcurl wrongly did not always use GMT time zone
for the If-Modified-Since style headers.
- Georg Schwarz pointed out an extra needed #include file needed in src/main.c
for curl to build on Ultrix.
Daniel (11 April 2001)
- Cris Bailiff pointed out two problems that I corrected. First, libcurl's use
of the environment variable HTTP_PROXY in uppercase may become a security
hazard when people use libcurl in a server/cgi situation where the server
sets the HTTP_*-variables according to incoming headers in the HTTP
request. Thus, a "Proxy:"-header would set that environment variable!
Then, invoking curl_easy_perform() without having an URL set caused a crash.
- S. Moonesamy brought a patch that make curl use non-blocking connects on
windows when connection timeout is set, as it allows windows users to set
that timeout!
- Hirotaka Matsuyuki wrote a Ruby interface to libcurl!
- Cris Bailiff, Forrest Cahoon and Georg Horn work on the Perl interface.
- I've written a first shot at a Java interface to libcurl. Many thanks to
Daniel Marell for tirelessly answering to all my basic Java questions. It
works, but it is still very basic.
Daniel (10 April 2001)
- The progress display could get silly when doing multiple file transfers, as