9
Version 7.22.0 (13 Sep 2011)
11
Daniel Stenberg (13 Sep 2011)
12
- RELEASE-NOTES: ready for 7.22.0
14
- codestyle: minor whitespace fix
16
- [Jeff Pohlmeyer brought this change]
18
polarssl: build with PolarSSL-1.0.0
20
With this fix, it should work for PolarSSL-1.0.0 (and SVN-1091 trunk)
21
and retain compatibility with earlier versions. (Tested with 0.14.1)
23
PolarSSL still doesn't play nicely with curl's CA bundle (we discussed
24
this before) but I was at least able to retrieve the
25
https://www.gmail.com/ login page using a modified ca-certificates.crt
26
file with all 3 versions of PolarSSL.
28
- BUGS: spellfixed, slightly reformatted for web looks
30
Reported by: Jeff Pohlmeyer
32
Dan Fandrich (12 Sep 2011)
33
- Document NTLM winbind options (and caveats)
35
Daniel Stenberg (12 Sep 2011)
36
- BUGS: renumbered to look better in the web version
38
- BUGS: revamped bug report documentation
40
Yang Tse (12 Sep 2011)
41
- Mention that BSD-style lwIP TCP/IP stack support on Windows is experimental.
43
- ftp.c: fix socket leak torture tests detected 2011-08-30
45
Also fix inappropriate error handling when sending ftp EPRT or PORT commands.
47
Daniel Stenberg (11 Sep 2011)
48
- TODO: remove 4 entries, add one new
50
Zero-copy and "Avoid having to remove/readd handles" are not really
51
features we think are worthwhile to add. Removed.
53
SRP features have been added already, removed.
55
11.9 IPv6 addresses with globbing added
57
- spell-checked comments
59
- TODO-RELEASE: postpone the remainders
61
There's three pending bug fixes but there's no time left so let's
62
try to get them fixed for next release...
64
Guenter Knauf (11 Sep 2011)
65
- Updated makefiles to latest libssh2.
67
Yang Tse (10 Sep 2011)
68
- urlglob.c: fix OOM handling
70
- ftp.c: fix ftp active connects which got broken with commit fdf157abdf
72
- runtests.pl: replace TAB with spaces
74
- test harness: revert needless commit 0a5bbb2ac1
76
https, ftps and ssh servers allowed start up time back to previous values
78
- ssh.c: revert needless commit 7b7c45879e
80
Daniel Stenberg (9 Sep 2011)
81
- RELEASE-NOTES: synced with 303c90074d4c
83
Five more bugfixes, one more contributor
85
- tcpnodelay: rename variable
87
Renamed the variable from 'proto' to 'level' simply because it is not
88
protocol you set but level and that is the name of the argument used in
89
man pages and the POSIX documentation of the setsockopt function.
91
Guenter Knauf (8 Sep 2011)
92
- Avoid ftruncate() static define with MinGW64.
95
- libssh2: use calloc as alloc function for libssh2 versions older than 1.3
97
This workarounds old libssh2 versions not properly initializing
98
some ssh session variables, which would trigger memory debuggers
99
warnings on memory being used without having been initialized.
101
Daniel Stenberg (8 Sep 2011)
102
- [Adriano Meirelles brought this change]
104
Curl_speedcheck: don't mistakenly clear Curl_expire()
106
The current version of speedcheck.c may disable timeout by setting zero
107
to Curl_expire. Which is fine using the curl_multi_perform, because it
108
recheck all timeout internals, but when using custom event poller (like
109
hiperfifo.c) it may keep stalle connection forever.
111
Yang Tse (8 Sep 2011)
112
- lib582.c: fix segfault triggered when torture testing test case 582
114
Daniel Stenberg (7 Sep 2011)
115
- ftp_state_use_port: minor code indent fix
117
- checksrc: detect "}else" uses as well
119
- getinmemory.c: use better argument names for write callback
121
Yang Tse (7 Sep 2011)
122
- ssh.c: fix memory leaks triggered upon OOM or other failures
124
- test case 583: ensure that test failures don't go unnoticed - follow-up
126
- test suite: libtest header inclusion cleanup - follow-up
128
Adjust tests/libtest/Makefile.inc and remove a couple of unused headers from
129
tests/libtest/lib583.c
131
- test case 583: ensure that test failures don't go unnoticed
133
- test suite: libtest header inclusion cleanup
135
Added missing memoryTracking to test cases 560 and 583. If this triggers
136
leak detection on these, it only means that previously it was going unnoticed.
138
- fix bool variables checking and assignment
140
- pingpong.c: avoid a memmove call in function Curl_pp_vsendf
142
- fix bool variables checking and assignment
144
- test suite: use test case specific netrc file names
146
Guenter Knauf (4 Sep 2011)
147
- Fixed final message output.
149
Daniel Stenberg (4 Sep 2011)
150
- TODO-RELEASE: deleteing five issues due to no response
152
No feedback and no updates, removing these issues
154
Yang Tse (4 Sep 2011)
155
- setup_once.h cleanup and sync
157
Guenter Knauf (4 Sep 2011)
158
- Fix to skip untrusted certs.
160
- Added SPNEGO to MinGW makefiles.
162
Yang Tse (4 Sep 2011)
163
- NTLM WB: fix file descriptor leak upon OOM condition
165
- revert changes not intended to be pushed with commit 6b75d2c2
167
- fix a bunch of MSVC compiler warnings
169
Guenter Knauf (3 Sep 2011)
170
- Updated dependecies versions.
172
- Some MinGW makefile tweaks for MinGW64.
174
- Changed MinGW to use own winidn prototypes.
176
Dan Fandrich (2 Sep 2011)
177
- Fix NTLM winbind support to pass the torture tests
179
Calling sclose() both in the child and the parent fools the
180
socket leak detector into thinking it's been closed twice.
181
Calling close() in the child instead overcomes this problem. It's
182
not as portable as the sclose() macro, but this code is highly
183
POSIX-specific, anyway.
185
Yang Tse (2 Sep 2011)
186
- MemoryTracking: fix logging of free() calls done where Curl_safefree is called
188
Just internal stuff...
190
Curl_safefree is now a macro defined in memdebug.h instead of a function
191
prototyped in url.h and implemented in url.c, so inclusion of url.h is no
192
longer required in order to simply use Curl_safefree.
194
Provide definition of macro WHILE_FALSE in setup_once.h in order to allow
195
other macros such as DEBUGF and DEBUGASSERT, and code using it, to compile
196
without 'conditional expression is constant' warnings.
198
The WHILE_FALSE stuff fixes 150+ MSVC compiler warnings.
200
- transfer.c: fix parentheses/braces placement for vi/emacs delimiter matching
202
- transfer.c: fix loadhostpairs() OOM handling
204
- test harness: https, ftps and ssh servers allowed start up time increased 33%
206
- hostip.c: return immediately from Curl_resolv_timeout() upon expired timeout.
208
Ensure existing logic in Curl_resolv_timeout() is not subverted upon getting a
209
negative timeout from resolve_server(). The timeout in resolve_server() could
210
be checked to avoid calling Curl_resolv_timeout() with an expired timeout, but
211
fixing this in this way allows existing logic in resolve_server() to be kept
214
- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up
216
follow-up for commit d20408e8
218
- test harness: fix detection of test harness client knownhosts file
220
Regenerate curl's tests client knownhosts file also when, somehow,
223
- test harness: fix detection of test harness host and client key files
225
Regenerate curl's tests host and client key files also when, somehow,
226
any of these files are empty.
228
- ssh.c: fix realloc() OOM handling
230
- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up
232
follow-up for commit c06de200
234
- fix some leaks torture tests detected 2011-08-30
236
- fix some leaks torture tests detected 2011-08-30
238
Daniel Stenberg (29 Aug 2011)
239
- RELEASE-NOTES: synced with 3445fa2e3f
241
Kamil Dudka (29 Aug 2011)
242
- tests: break busy loops in tests 502, 555, and 573
244
Yang Tse (29 Aug 2011)
245
- pingpong.c: fix Curl_pp_vsendf() arbitrary restrictions on command length
247
This removes command length restrictions on calling functions.
249
- NTLM: header inclusion cleanup follow-up
251
- NTLM: header inclusion cleanup
253
- NTLM: END of refactoring/splitting/moving
257
File curl_ntlm.h renamed curl_ntlm_msgs.h
258
File curl_ntlm.c renamed curl_ntlm_msgs.c
262
File http_ntlm.c renamed curl_ntlm.c
263
File http_ntlm.h renamed curl_ntlm.h
265
- NTLM: move NTLM core specifics into curl_ntlm_core.[ch]
267
- NTLM_WB: move NTLM_WB specifics into curl_ntlm_wb.[ch]
269
- NTLM_WB: final congruency naming adjustments
271
Configure script option --enable-wb-ntlm-auth renamed to --enable-ntlm-wb
272
Configure script option --disable-wb-ntlm-auth renamed to --disable-ntlm-wb
274
Preprocessor symbol WINBIND_NTLM_AUTH_ENABLED renamed to NTLM_WB_ENABLED
275
Preprocessor symbol WINBIND_NTLM_AUTH_FILE renamed to NTLM_WB_FILE
277
Test harness env var CURL_NTLM_AUTH renamed to CURL_NTLM_WB_FILE
279
Static function wb_ntlm_close renamed to ntlm_wb_cleanup
280
Static function wb_ntlm_initiate renamed to ntlm_wb_init
281
Static function wb_ntlm_response renamed to ntlm_wb_response
283
- NTLM single-sign on adjustments (XI)
285
Feature string literal NTLM_SSO renamed to NTLM_WB.
286
Preprocessor symbol USE_NTLM_SSO renamed to WINBIND_NTLM_AUTH_ENABLED.
287
curl's 'long' option 'ntlm-sso' renamed to 'ntlm-wb'.
288
Fix some comments to make clear that this is actually a NTLM delegation.
290
Daniel Stenberg (26 Aug 2011)
291
- --cookie-jar: activates the cookie engine
293
- Curl_read_plain: indent code
295
Yang Tse (26 Aug 2011)
296
- NTLM single-sign on adjustments (X)
300
Curl_output_ntlm_sso -> Curl_output_ntlm_wb
301
sso_ntlm_close -> wb_ntlm_close
302
sso_ntlm_response -> wb_ntlm_response
303
sso_ntlm_initiate -> wb_ntlm_initiate
305
Preprocessor symbols renamed:
307
CURLAUTH_NTLM_SSO -> CURLAUTH_NTLM_WB
308
CURL_VERSION_NTLM_SSO -> CURL_VERSION_NTLM_WB
310
Daniel Stenberg (25 Aug 2011)
311
- TODO: progress callback without doubles
313
Yang Tse (25 Aug 2011)
314
- [Steve Holme brought this change]
316
http NTLM: refactoring followup
318
Output of Curl_ntlm_create_type1_message() and Curl_ntlm_create_type3_message()
319
functions is now already base64 encoded.
321
Kamil Dudka (24 Aug 2011)
322
- docs: the next release is going to be 7.22.0
324
Yang Tse (24 Aug 2011)
325
- include limits.h for INT_MAX
327
- add missing semicolons
329
Daniel Stenberg (24 Aug 2011)
330
- add missing semicolons
332
- safefree use: fix compiler warning
334
include the prototype header
336
Yang Tse (24 Aug 2011)
337
- [Steve Holme brought this change]
339
SMTP authentication: fix ordering of preferred authentication method
341
Fixed the order of the preferred SMTP authentication method to:
342
AUTH CRAM-MD5, AUTH LOGIN then AUTH PLAIN.
344
AUTH PLAIN should be the last as it slightly more insecure than AUTH LOGIN
345
as the username and password are sent together - there is no handshaking
346
between the client and server like there is with AUTH LOGIN.
348
- base64: fix Curl_base64_encode and Curl_base64_decode interfaces
350
Previous interfaces for these libcurl internal functions did not allow to tell
351
apart a legitimate zero size result from an error condition. These functions
352
now return a CURLcode indicating function success or otherwise specific error.
353
Output size is returned using a pointer argument.
355
All usage of these two functions, and others closely related, has been adapted
356
to the new interfaces. Relative error and OOM handling adapted or added where
357
missing. Unit test 1302 also adapted.
359
Daniel Stenberg (23 Aug 2011)
360
- resolve.c: new example showing off CURLOPT_RESOLVE
362
- externalsocket.c: new example
364
Yang Tse (22 Aug 2011)
365
- [Steve Holme brought this change]
367
http NTLM: remaining bits from 0001-Moved-ntlm-[...]-curl_ntlm-mod_3.patch
369
* Added function comments:
370
- Curl_ntlm_decode_type2_message
371
- Curl_ntlm_create_type1_message
372
- Curl_ntlm_create_type3_message
374
* Modification of ntlm processing state to NTLMSTATE_TYPE2 is now done
375
only when Curl_ntlm_decode_type2_message() has fully succeeded.
377
- runtests.pl: option -gw for single test windowed debugging (where possible)
379
- zlib: ensure user provided memory functions are used by zlib, when given
381
As a bonus, this lets our MemoryTracking subsystem track zlib operations.
382
And also fixes a shortcut some zlib 1.2.x versions took using malloc()
383
instead of calloc(), which would trigger memory debuggers warnings on
384
memory being used without having been initialized.
386
Daniel Stenberg (21 Aug 2011)
389
Follow-up to commit 5eb2396cd as that wasn't complete.
391
At times HEADERFUNCTION+HEADERDATA was set only to have only HEADERDATA
392
set in the subsequent loop which could cause a NULL to get sent as
393
userdata to 'header_callback' which wasn't made to handle that.
395
Now HEADERFUNCTION is explicitly set to NULL if it isn't set to the
398
Yang Tse (21 Aug 2011)
399
- MemoryTracking: adjust initialization calling - followup
403
- MemoryTracking: adjust initialization calling
405
Calling of curl_memdebug() was still done with a pending free()
407
Daniel Stenberg (19 Aug 2011)
408
- tcpconnect: follow-up commit after b998d95b
410
As I modified conn->bits.tcpconnect to become an array that holds one
411
bool for each potential connection all uses of that struct field must
414
Yang Tse (19 Aug 2011)
415
- ssh.c: add PATH_MAX definition for WIN32
417
Daniel Stenberg (19 Aug 2011)
418
- connect: set TIMER_CONNECT
420
When connecting, make sure TIMER_CONNECT is set.
422
- test573: fix the keywords
424
- FTP: fix proxy connect race condition
426
When using the multi interface, a SOCKS proxy, and a connection that
427
wouldn't immediately consider itself connected (which my Linux tests do
428
by default), libcurl would be tricked into doing _two_ connects to the
429
SOCKS proxy when it setup the data connection and then of course the
430
second attempt would fail miserably and cause error.
432
This problem is a regression that was introduced by commit
433
4a42e5cdaa344755 that was introduced in the 7.21.7 release.
435
Bug: http://curl.haxx.se/mail/lib-2011-08/0199.html
436
Reported by: Fabian Keil
438
- Curl_SOCKS4: minor code compression
440
Yang Tse (18 Aug 2011)
441
- zlib: enforce full initialization of our data space z_stream structs
443
Daniel Stenberg (17 Aug 2011)
444
- VC makefiles: fixed variable name mistake
446
Yang Tse (17 Aug 2011)
447
- MemoryTracking: adjust curl_domalloc() and curl_dofree() memory filling
449
Until 2011-08-17 libcurl's Memory Tracking feature also performed
450
automatic malloc and free filling operations using 0xA5 and 0x13
451
values. Our own preinitialization of dynamically allocated memory
452
might be useful when not using third party memory debuggers, but
453
on the other hand this would fool memory debuggers into thinking
454
that all dynamically allocated memory is properly initialized.
456
As a default setting, libcurl's Memory Tracking feature no longer
457
performs preinitialization of dynamically allocated memory on its
458
own. If you know what you are doing, and really want to retain old
459
behavior, you can achieve this compiling with preprocessor symbols
460
CURL_MT_MALLOC_FILL and CURL_MT_FREE_FILL defined with appropriate
463
- MemoryTracking: make curl_docalloc() call calloc() avoiding our zero fill
465
Daniel Stenberg (15 Aug 2011)
466
- MSVC makefiles: provide SSH build targets
468
"release-ssl-ssh2-zlib" and "debug-ssl-ssh2-zlib" are two new makefile
469
targets that build libcurl with MSVC and link with libssh2
471
Bug: http://curl.haxx.se/bug/view.cgi?id=3388920
472
Reported by: "kdekker"
476
Two problems were fixed:
478
GET_PARAMETER responses that have no body must be 204 response or
479
properly set length to 0.
481
One of the <data> sections had the wrong content-length for its
482
GET_PARAMETER response.
484
Enabled test 572 again.
486
- Curl_pgrsStartNow: clear all flags but HIDE
488
As bug 3385258 pointed out but I missed up the fix for. This is another
491
Bug: http://curl.haxx.se/bug/view.cgi?id=3392101
492
Reported by: Wu Yongzheng
494
Yang Tse (15 Aug 2011)
495
- unittests: disable unit tests for some autobuild configurations
497
IRIX 6.5.24 gcc 3.3 autobuilds fail unittests library compilation due to a
498
problem related with OpenSSL headers and library versions not matching.
500
All AIX autobuilds fails unit tests linking against unittests library due to
501
unittests library being built with no symbols or members. Libtool ?
503
Kamil Dudka (15 Aug 2011)
504
- nss: start with no database if the selected database is broken
506
Bug: https://bugzilla.redhat.com/728562
508
Yang Tse (15 Aug 2011)
509
- http NTLM: reinstate "nssg.h" "curl_sspi.h" header inclusions
511
- tests: disable #572
513
Daniel Stenberg (14 Aug 2011)
514
- TODO-RELEASE: synced
516
Added comments to some remaining issues
518
- telnet: allow programatic use on Windows
520
Summary of the issue can be found at:
521
http://curl.haxx.se/mail/lib-2010-04/0367.html
523
That patch only updated the unix sockets code - the winsock code was not
524
updated and no longer works the same was as the unix code. This change
525
updates the windows code accordingly.
527
Bug: http://curl.haxx.se/bug/view.cgi?id=3163118
529
- TODO-RELEASE: fixed issue #291
531
291 - bug 3383692 "GET PARAMETER request and body in response"
533
Yang Tse (14 Aug 2011)
534
- http NTLM: reinstate "memdebug.h" header inclusion
536
Inclusion of header "memdebug.h" in http_ntlm.c got lost in commit 98fb0ef7.
538
Daniel Stenberg (14 Aug 2011)
539
- RTSP: GET_PARAMETER requests have a body
541
Bug: http://curl.haxx.se/bug/view.cgi?id=3383692
543
- Curl_output_ntlm: remove unused variable
545
Yang Tse (14 Aug 2011)
546
- http NTLM: add curl_ntlm.c to Symbian's libcurl.mmp
548
- http NTLM: fix 8 compiler warnings
550
Strict splitting of http_ntlm.[ch] may trigger 8 compiler warnings when
551
building with some compilers and strict compiler warnings enabled, depending
552
on other specific configuration options some could get triggered or not.
554
Seven are related with 'unused function parameters' and another one with
555
'var may be used before its value is set'.
557
- http NTLM: split http_ntlm.[ch] between http_ntlm.[ch] and curl_ntlm.[ch]
559
For modularity purposes, huge chunks of NTLM existing code is transformed into
560
functions to allow future internal code reuse.
562
Resulting three new libcurl private functions:
564
- Curl_ntlm_create_type1_message()
565
- Curl_ntlm_create_type3_message()
566
- Curl_ntlm_decode_type2_message()
568
Changing static ntlm_sspi_cleanup() into non-static Curl_ntlm_sspi_cleanup()
570
This 'refactoring' has been prepared by previous commits to allow that this
571
specific one does not introduce any change to existing code. All existing
572
goodness and badness previous to this commit should remain the same once it is
573
applied, the only difference should be that existing code is moved into
576
Given the quite big portions of code being moved around, and the importance of
577
change traceability, this commit has been done in such a way that it is
578
possible to perform a three-way diff from initial http_ntlm.[ch] to resulting
579
http_ntlm.[ch] and curl_ntlm.[ch] to actually verify that no functional change
582
Notice that Steve Holme has provided several patches, but these included this
583
refactoring along with 'extra' fixes. I really wanted this 'clean' refactoring
584
done first, in order to allow discussion or committing of 'extra' fixes on a
585
case by case basis, so, I had to bite the bullet ;-)
587
Comments, line adjustments, compiler warning fixes, whatever, may follow
590
- http_negotiate_sspi.c: fix compiler warning
592
warning C4706: assignment within conditional expression
594
- http NTLM: change return type of Curl_input_ntlm() to CURLcode
596
Remove CURLntlm enum, no longer required.
598
Daniel Stenberg (13 Aug 2011)
599
- RELEASE-NOTES: synced with a30ede868ab64
601
Three more bugs fixed, three more contributors mentioned
603
- VC6 makefiles: added embedded documentation
605
Just a note about the fact that all VC[6/8/9/10] makefiles are generated
606
from the VC6 one as source.
608
- cmake: find winsock when building on windows
610
When building on Windows, with CMake and mingw, curl fails to compile
611
because the CMake build system is not properly looking for the Winsock
614
Patch by: Pau Garcia i Quiles
615
Bug: http://curl.haxx.se/bug/view.cgi?id=3389231
617
- Curl_retry_request: check return code!
619
Curl_readrewind() was called without checking its return code, which
620
could lead to badness.
622
Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
626
Yang Tse (13 Aug 2011)
627
- http NTLM: update NTLM type-* message structure descriptions - followup
629
Daniel Stenberg (12 Aug 2011)
634
Using this option with an argument being set to one of
635
none/policy/always instructs libcurl how to deal with GSS
636
credentials. Or rather how it tells the server that delegation is fine
639
Yang Tse (12 Aug 2011)
640
- http NTLM: fix inclusion of curl_ntlm.h
642
- http NTLM: update NTLM message structure notes
644
- [Steve Holme brought this change]
646
http NTLM: move portions of http_ntlm.h into new curl_ntlm.h
648
- http NTLM: more adjustments in preparation of code refactoring
650
Use preprocessor symbol NTLM_BUFSIZE to define private NTLM buffer fixed size.
652
Use a SessionHandle 'data' pointer variable to ease refactoring.
654
Update NTLM type-* message structure descriptions.
656
Fix some more spacing and typos (Steve Holme).
658
Daniel Stenberg (11 Aug 2011)
659
- curl_easy_cleanup: clarify the callback situation
661
Yang Tse (11 Aug 2011)
662
- http NTLM: fix compiler warning
664
- [Steve Holme brought this change]
666
http NTLM: Tidied up more inconsistent spacing.
668
Moved NTLMSSP_SIGNATURE, HOSTNAME_MAX, SHORTPAIR and LONGQUARTET definitions in ready for move to curl_ntlm.c.
670
Used separate variables for Windows SSPI and native code to ease moving of code to curl_ntlm.c.
672
Fixed typographical erros where SPPI should be SSPI.
674
Fixed compilation warnings on 64-bit builds when calling Windows SSPI functions.
676
Daniel Stenberg (10 Aug 2011)
677
- rtsp.c: converted to C
679
Trimmed the newlines to be LF-only. Converted the source to plain C, to
680
use curl style indents, to compile warning-free with picky options and
681
fixed the minor fprintf() bug on line 245. Added to makefile.
683
- [Jim Hollinger brought this change]
688
http://code.google.com/p/rtsprequest/source/browse/trunk/rtsprequest.cpp
690
- TODO: remove curl_formpost in a future version
692
15.8 remove 'curl_httppost' from public
694
Yang Tse (9 Aug 2011)
695
- http NTLM: Further tiding up to libcurl standards
697
- [Steve Holme brought this change]
699
http NTLM: Tidied up http_ntlm prior to splitting the ntlm specific code
701
Daniel Stenberg (9 Aug 2011)
702
- TODO-RELEASE: issue #289 is fixed
704
289 - bug 3349227 "secure attribute in cookie does not work with equals sign"
706
- cookie parser: handle 'secure='
708
There are two keywords in cookie headers that don't follow the regular
709
name=value style: secure and httponly. Still we must support that they
710
are written like 'secure=' and then treat them as if they were written
711
'secure'. Test case 31 was much extended by Rob Ward to test this.
713
Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
714
Reported by: "gnombat"
716
- curl.h: mark deprecated CURLOPT_ options on same line
718
This is to aid easier machine parsing and to make sure nobody who reads
719
these header lines can miss the info.
721
- RELEASE-NOTES: recounted and updated some numbers
723
- proxy protocol docs: rephrased and updated
725
- RELEASE-NOTES: synced with 45d883d88df7
727
Mention 5 bugixes and 1 change more
729
- CURLFORM_BUFFER: insert filename as documented
731
A regression where CURLFORM_BUFFER stopped to properly insert the file
732
name part in the formpart. Bug introduced in commit f851f768578dc096.
734
Added CURLFORM_BUFFER use to test 554 to verify this.
736
Bug: http://curl.haxx.se/mail/lib-2011-07/0176.html
737
Reported by: Henry Ludemann
739
Yang Tse (8 Aug 2011)
740
- curl-compilers.m4: serial number bump
742
- curl-compilers.m4: CURL_CONVERT_INCLUDE_TO_ISYSTEM adjustments:
744
Add CURL_CHECK_COMPILER as a requirement.
746
Ensure macro does nothing unless GNU_C or CLANG compiler is used.
748
This should allow usage of this macro in unforeseen placements.
750
Daniel Stenberg (8 Aug 2011)
751
- SOCKS: fix the connect timeout
753
The connect timeout logic when using SOCKS was done wrong
755
Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
756
Reported by: "Spoon Man"
758
- ftp_doing: bail out on error properly
760
When a failure has been detected we must abort immdiately.
762
Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
763
Reported by: "Spoon Man"
767
- version bump: next release is 7.22.0
769
- VERSIONS: clarify our versioning concept
771
Drop the pre-release part from this text as we don't use that in
772
practise since many years.
774
Update the phrasing to reflect our more strict interpretation:
775
http://curl.haxx.se/mail/lib-2011-08/0064.html
777
- [Cristian Rodríguez brought this change]
779
OpenSSL: Use SSL_MODE_RELEASE_BUFFERS if available, reduces memory use
782
http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
783
http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
785
Signed-off-by: Cristian Rodríguez <crrodriguez@opensuse.org>
787
- TODO-RELEASE: close issue #292
790
292 - bug 3385258 "Addendum to 3370895"
792
Basically brushing up commit 27b8814017a19
794
- Curl_pgrsStartNow: clear all bits except HIDE
796
Bug: http://curl.haxx.se/bug/view.cgi?id=3385258
797
Reported by: Ben Winslow
799
- readwrite_data: improved C-E decoding error message
801
Yang Tse (7 Aug 2011)
802
- BSD-style lwIP TCP/IP stack support - followup
804
lwIP library initialization.
806
- NTLM single-sign on adjustments (IX)
808
Use swrite/sread instead of write/read to avoid SIGPIPE
810
- config-win32.h: comments adjustments
812
Daniel Stenberg (6 Aug 2011)
813
- TODO-RELEASE: committed issue #304
815
304 - "Async-DNS-resolve-thread gets started even when a dotted IP is
816
provided" by Christian H<E4>gele
817
http://curl.haxx.se/mail/lib-2011-08/0009.html
819
- [Christian Hägele brought this change]
821
asyn-thread: check for dotted addresses before thread starts
823
- TODO-RELEASE: Add #307 two issues by "Spoon Man"
825
Yang Tse (5 Aug 2011)
826
- checksrc.pl: add quotes to var
828
- keep a single copy of config-win32.h in version control repository - followup
830
Allow configure builds to generate src/config-win32.h
832
Skip checksrc on src/config-win32.h contents already checked at lib/config-win32.h
834
Allow multiple -W in checksrc.pl
836
- BSD-style lwIP TCP/IP stack support - docs/INSTALL blurb
838
- BSD-style lwIP TCP/IP stack support - followup
840
- git ignore src/config-win32.h
842
- keep a single copy of config-win32.h in version control repository.
844
maketgz and buildconf.bat updated to reflect this.
846
Daniel Stenberg (5 Aug 2011)
847
- RELEASE-NOTES: synced with afe88d85f40e1
849
- test710: verify that --proxy socks5://hostname works
851
- create_conn: mark non-HTTP proxies accordingly
853
A proxy could be marked 'httpproxy' wrongly before if set with an
854
environment variable or with the CURLOPT_PROXY option with a socks*://
857
Added test 710 to verify
859
Bug: http://curl.haxx.se/mail/lib-2011-07/0194.html
861
- test709: HTTP GET via SOCKS5 set in environment
863
- TODO-RELEASE: issue #293 is done
866
293 - from http://bugzilla.redhat.com/723075 "curl segfaults"
870
When using both -J and a single -O with multiple URLs, a missing init
873
Bug: http://curl.haxx.se/mail/lib-2011-07/0126.html and
874
http://bugzilla.redhat.com/723075
875
Reported by: Paul Howarth and Garrett Holmstrom
877
- test1313: test content-disposition with uneven quotes
879
- parse_filename: deal with escaped quotes
881
Yang Tse (4 Aug 2011)
882
- BSD-style lwIP TCP/IP stack support:
884
Allow compilation of libcurl and curl using BSD-style lwIP on Win32.
886
In order to compile libcurl and curl with this support it is necessary
887
to edit files lib/config-win32.h and src/config-win32.h and uncomment
888
a line to make definition of preprocessor symbol USE_LWIPSOCK visible.
890
Afterwards you can compile as usual.
892
In order to use compiled library with BSD-style lwIP TCP/IP stack in
893
your program it is mandatory that you include lwIP header file <lwip/opt.h>
894
before including <curl/curl.h> or <curl/multi.h>
896
Compilation has been verified with lwIP 1.4.0 and contrib-1.4.0 from:
898
http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip
899
http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip
903
- curl.h: untangle a preprocessor block, removing duplicate sys/types.h inclusion
905
Daniel Stenberg (4 Aug 2011)
906
- TODO-RELEASE: issue #290 fixed
909
290 - bug 3375603 "curl has problem with remote names containing ';'"
911
- -J: support ';' in quoted file names
913
Content-disposition headers can provide file names with semicolons which
914
previously would be cut off at that point.
916
Added test case 1311 and 1312 to verify -J.
918
Bug: http://curl.haxx.se/bug/view.cgi?id=3375603
919
Reported by: Peter Hjalmarsson
921
- getpart.pm: when no part match, return blank when section ends
923
- runtests.pl: support option=no-include
925
- TODO-RELESE: #306 - SSL Sessions shared
927
- TODO-RELEASE: updated with current issues
929
Kamil Dudka (3 Aug 2011)
930
- curl_gssapi: add a missing include of sendf.h
932
... to avoid build failure when GSS_C_DELEG_POLICY_FLAG is not defined.
934
Reported by: Paul Howarth
936
- curl_gssapi: refine the handling of CURLOPT_GSSAPI_DELEGATION
938
Suggested by Richard Silverman.
940
- [Adam Tkac brought this change]
942
Add new CURLOPT_GSSAPI_DELEGATION option.
944
Curl_gss_init_sec_context got new parameter - SessionHandle.
946
Signed-off-by: Adam Tkac <atkac@redhat.com>
948
Yang Tse (31 Jul 2011)
949
- configure: add check for <sys/wait.h>
951
- NTLM single-sign on adjustments (VIII)
953
Use preprocessor symbols WINBIND_NTLM_AUTH_ENABLED and WINBIND_NTLM_AUTH_FILE
954
for Samba's winbind daemon ntlm_auth helper code implementation and filename.
956
Retain preprocessor symbol USE_NTLM_SSO for NTLM single-sign-on feature
957
availability implementation independent.
959
For test harness, prefix NTLM_AUTH environment vars with CURL_
961
Refactor and rename configure option --with-ntlm-auth to --enable-wb-ntlm-auth[=FILE]
963
Dan Fandrich (29 Jul 2011)
964
- Renumbered test2005 to test1310
966
The 20xx range is for multiple sequential tests.
968
Yang Tse (29 Jul 2011)
969
- curl-functions.m4 serial # bump
971
- Revert "configure: additional flag checks for fcntl() socket() and socketpair()"
973
This reverts commit bc6e6a465ad0b9f9757c4385698fe5f255dd125b.
975
- configure: additional flag checks for fcntl() socket() and socketpair()
977
- NTLM single-sign on adjustments (VII)
979
Initialize variables when connectdata object is created.
981
- socketpair() usage tracking to allow fd leak detection
983
- fix compiler warning
985
Dan Fandrich (28 Jul 2011)
986
- Avoid a "shadows global declaration" warning on old MIT Kerberos
988
Defining NCOMPAT eliminates the backwards-compatibility macros
989
that are the source of the problem and which we don't need,
992
Yang Tse (28 Jul 2011)
993
- NTLM single-sign on adjustments (VI)
997
Dan Fandrich (28 Jul 2011)
998
- Give the NTLM SSO helper a moment to cleanly shut down if needed
1000
- Removed an extraneous \n that violated the SSO daemon protocol
1002
This caused fake_ntlm to abort due to an invalid command
1003
causing sporadic test 2005 failures.
1005
Yang Tse (28 Jul 2011)
1006
- NTLM single-sign on adjustments (V)
1008
Enhance test harness fake_ntlm logging upon invalid input.
1010
Dan Fandrich (27 Jul 2011)
1011
- Fixed a couple of memory leaks in NTLM SSO support
1013
Yang Tse (27 Jul 2011)
1014
- NTLM single-sign on adjustments (IV)
1016
Fix compiler warning
1018
- NTLM single-sign on adjustments (III)
1020
Provide some error tracing and fix execl() calling.
1022
- NTLM single-sign on adjustments (II)
1024
Ensure test harness fake_ntlm main function can properly handle arguments.
1026
- NTLM single-sign on adjustments (I)
1028
Use fake_ntlm absolute filename in NTLM_AUTH environment variable for test
1031
Dan Fandrich (26 Jul 2011)
1032
- Fixed test 2005 to work in out-of-tree builds
1034
Also, set the test number in the test data file so fake_ntlm can
1035
be reused in future tests.
1037
Yang Tse (26 Jul 2011)
1038
- fix compiler warning
1040
- fix compiler warning
1042
- stdio.h, stdlib.h, string.h, stdarg.h and ctype.h inclusion done in setup_once.h
1044
- WIN32 io.h and fcntl.h inclusion done in setup_once.h
1046
- time.h and sys/time.h inclusion conditionally done in setup_once.h
1048
- errno.h inclusion conditionally done in setup_once.h - followup
1050
- errno.h inclusion conditionally done in setup_once.h
1052
Daniel Stenberg (22 Jul 2011)
1053
- [Ben Winslow brought this change]
1055
progress: reset flags at transfer start
1057
When an easy handle is used to download an URI which has no
1058
Content-Length header (or equivalent) after downloading an URI which
1059
does, the value from the previous transfer is reused and returned by
1060
CURLINFO_CONTENT_LENGTH_DOWNLOAD. This is because the progress flags
1061
(used to determine whether such a header was received) are not reset
1064
Bug: http://curl.haxx.se/bug/view.cgi?id=3370895
1066
- RELEASE-NOTES: HTTP error handling on request body send
1068
- http error response: stop sending when error is received
1070
When libcurl has said to the server that there's a POST or PUT coming
1071
(with a content-length and all) it has to either deliver that amount of
1072
data or it needs to close the connection before trying a second request.
1074
Adds test case 1129, 1130 and 1131
1076
The bug report is about when used with 100-continue, but the change is
1079
Bug: http://curl.haxx.se/mail/lib-2011-06/0191.html
1080
Reported by: Steven Parkes
1082
- [Michael Mueller brought this change]
1084
sso_ntlm_initiate: unassigned variable
1086
Bug: http://curl.haxx.se/mail/lib-2011-07/0109.html
1088
- test2005: require a debug build
1090
- runtests: add 'debug' as a feature a test can require
1092
- configure: avoid "test -e"
1094
"test -e" is POSIX but clearly was not supported by the SunOS sh
1095
version, -f is supported and should be a decent equivalent
1097
Bug: http://curl.haxx.se/bug/view.cgi?id=3371574
1099
- symbols-in-versions: add NTLM_SSO symbols
1101
- gitignore: ignore fake_ntlm
1103
- [Mandy Wu brought this change]
1105
test2005: verify ntlm single-signon
1107
- [Mandy Wu brought this change]
1109
NTLM single-sign on supported
1111
With the use of the 'ntlm_auth' tool from the Samba project
1113
- sws: don't enable pipelining for requests with content-length
1115
Log texts also modified and some white space edits
1117
Patrick Monnerat (14 Jul 2011)
1118
- Fix OS400 scripts to make it compilable again.
1119
Upgrade ILE/RPG binding to 7.21.7.
1120
Update OS400 documentation accordingly.
1122
Daniel Stenberg (14 Jul 2011)
1123
- runtests: ignore the 'all_proxy' environment variable as well
1125
We should probably also make sure that [protocol]_proxy for all possible
1126
protocols libcurl supports are unset.
1128
Julien Chaffraix (13 Jul 2011)
1129
- curl_gssapi: Guard files with HAVE_GSSAPI.
1131
Bug: http://curl.haxx.se/mail/lib-2011-07/0074.html
1132
Reported and fix suggested by: Ben Greear
1134
Daniel Stenberg (13 Jul 2011)
1135
- gssapi: rename our files to avoid conflicts
1137
gssapi.h is used as a header name by Heimdal-style GSSAPI so it would
1138
conflict with a private header using that name, and while renaming the
1139
header I figured we should name the .c file accordingly as well.
1141
Bug: http://curl.haxx.se/mail/lib-2011-07/0071.html
1142
Reported by: Ben Greear
1144
- silence picky compilers: mark unused parameters
1146
Modern gcc versions (4.6.X) get more picky by default and have started
1147
to warn for unused parameters, but luckily gcc also allows us to mark
1148
them as unused so that we can avoid the warnings.
1150
Julien Chaffraix (12 Jul 2011)
1151
- gssapi.c: Simplified the function.
1153
Removed the parameters that were common to all our invocation.
1155
- Added Curl_gss_init_sec_context.
1157
This function wraps our calls to gss_init_sec_context so that we
1158
have a unified way to talk to GSSAPI.
1160
- http_negociate: Be consistent in gss_init_sec_context attributes.
1162
This change makes this callsite match the rest of the code.
1164
Daniel Stenberg (4 Jul 2011)
1165
- code style: space between close paren and open brace
1167
- checksrc: detect open brace without space
1169
We use "if(condition) {" with a space between the close paren and the
1172
- polarssl.h: remove CVS leftover
1174
- help output: more gnu like output
1176
First, the -J/--remote-header-name was wrongly sorted in the --help
1177
output as pointed out in bug report #3349271.
1179
Then, I changed the format of the texts to follow the man page better in
1180
that it now uses "-A, --long" intead of "-A/--long". I also made all
1181
additional arguments get written as in "-A, --long FILENAME" instead of
1182
the previous "<filename>" style.
1184
Reported by: Herve Amblard
1185
Bug: http://curl.haxx.se/bug/view.cgi?id=3349271
1187
- sws: allow multiple commands in <servercmd>
1189
- Curl_http_readwrite_headers: minor indent fix
1191
- gitignore: config.cache
1193
- docs: FTP quotes support '*' prefix to ignore errors
1195
By default libcurl stops processing quote commands on failures.
1197
- THANKS: new contributors from 7.21.7
1199
- get_gss_name: proxy auth without proxy set equals error
1201
Previously it would access a NULL pointer and die.
1203
Bug: http://curl.haxx.se/mail/lib-2011-06/0170.html
1204
Reported by: Christian Hagele
1206
- examples: cleanup curl includes
1208
Only <curl/curl.h> is needed typically and curl/types.h has been removed
1210
- libtests: stop checking for CURLM_CALL_MULTI_PERFORM
1212
CURLM_CALL_MULTI_PERFORM stopped being a valid return code from
1213
curl_multi_perform back in 7.20.0. All the libcurl tests are ajusted to
1214
this and no longer check for this return code. Makes them simpler.
1216
Dan Fandrich (24 Jun 2011)
1217
- Fixed test 1300 to pass the memory torture test
1219
- Display notes from setup file in testcurl.pl
1221
Autobuild submitters can use this to add some text to their
1222
setup files to describe issues they've found with the build
1223
or tests. This could include laying blame on test failures on
1224
network issues or dependent libraries, explaining away compiler
1225
warnings or providing any additional information that could be
1226
useful to people reviewing and investigating problems with the
1227
publicly available autobuild logs. Note that persistent test
1228
failures that are not issues with curl itself should normally be
1229
fixed by excluding them from the test run instead.
1231
This is an entirely optional field that is not entered by the
1232
user the first time a new build is created.
1234
- Added a leap second test to test517
1236
Daniel Stenberg (23 Jun 2011)
1237
- runtests.pl: warn if a test is explicitly disabled
1239
Just to make sure a user is aware of it.
1241
- bump release: start working towards 7.21.8
1243
- parsedate: detect more invalid dates better
9
1245
Version 7.21.7 (23 Jun 2011)
11
1247
Daniel Stenberg (23 Jun 2011)
3856
5092
- [Julien Chaffraix brought this change]
3858
5094
security.c: Update the #include statements after the rewrite.
3860
- [Julien Chaffraix brought this change]
3862
security.c: sec_write tweaks
3864
- |fd| is now a curl_socket_t and |len| a size_t to avoid conversions.
3865
- Added 2 FIXMEs about the 2 unsigned -> signed conversions.
3866
- Included 2 minor changes to Curl_sec_end.
3868
- [Julien Chaffraix brought this change]
3870
security.c: _sec_send tweaks
3872
- Renamed the method to sec_send now that we
3873
renamed sec_send to do_sec_send.
3874
- Some more variable renaming.
3876
- [Julien Chaffraix brought this change]
3878
security.c: sec_read tweaks
3880
- Renamed the function to sec_recv.
3881
- Renamed the parameters and variable to match the rest of the code.
3883
- [Julien Chaffraix brought this change]
3885
security.c: Curl_sec_fflush_fd tweaks
3887
- Use an early return as it makes the code more readable.
3888
- Added a FIXME about a conversion.
3890
- [Julien Chaffraix brought this change]
3892
security.c: sec_send tweaks
3894
- Renamed it to do_sec_send as it is the function doing the actual
3896
- Do not return any values as no one was checking it and it never
3897
reported a failure (added a FIXME about checking for errors).
3898
- Renamed the variables to make their use more specific.
3899
- Removed some casts (int -> curl_socket_t, ...)
3900
- Avoid doing the htnl <-> nthl twice by caching the 2 results.
3902
- [Julien Chaffraix brought this change]
3904
security.c: Curl_sec_read_msg tweaks
3906
- Renamed the variables name to better match their intend.
3907
- Unified the |decoded_len| checks.
3908
- Added some FIXMEs to flag some improvement that did not go in this
3911
- [Julien Chaffraix brought this change]
3913
security.c: Curl_sec_set_protection_level tweaking
3915
- Removed sec_prot_internal as it is now inlined in the function (this removed
3917
- Changed the prototype to return an error code.
3918
- Updated the method to use the new ftp_send_command function.
3919
- Added a level_to_char helper method to avoid relying on the compiler's
3920
bound checks. This default to the maximum security we have in case of a
3923
- [Julien Chaffraix brought this change]
3925
security.c: factored the logic from Curl_sec_login into a dedicated method that better reflect its intent.
3927
Introduced a helper method ftp_send_command that synchronously send
3930
- [Julien Chaffraix brought this change]
3932
security.c: Remove out_buffer as it was never written into.
3934
- [Julien Chaffraix brought this change]
3936
security.c: buffer_read various fixes.
3938
Tighten the type of the |data| parameter to avoid a cast. Also made
3939
it const as we should not modify it.
3941
Added a DEBUGASSERT on the size to be written while changing it.
3943
- [Julien Chaffraix brought this change]
3945
security.c: Made block_write return a CURLcode.
3947
While doing so, renamed it to socket_write to better match its
3950
- [Julien Chaffraix brought this change]
3952
security.c: Made block_read and sec_get_data return CURLcode.
3954
To do so, made block_read call Curl_read_plain instead of read.
3956
While changing them renamed block_read to socket_read and sec_get_data
3957
to read_data to better match their function.
3959
Also fixed a potential memory leak in block_read.
3961
- [Julien Chaffraix brought this change]
3963
Security.c: Fix headers guard to match the rest of the code.
3965
- [Julien Chaffraix brought this change]
3967
configure: Fix the LDAPS disable message
3969
... for example when LDAP is not compiled.
3971
Fixed the logic to match the rest of the options' message that is we
3972
update the default message only if the option is not disabled after the
3975
Reported by: Guenter Knauf
3977
- RELEASE-NOTES: sync with 8665d4e5 and c-ares >= 1.6.0 note
3979
- parse_remote_port: ignore colons without port number
3981
Obviously, browsers ignore a colon without a following port number. Both
3982
Firefox and Chrome just removes the colon for such URLs. This change
3983
does not remove the colon for URLs sent over a HTTP proxy, so we should
3984
consider doing that change as well.
3986
Reported by: github user 'kreshano'
3988
- RELEASE-NOTES: in sync with 19f45eaa799
3990
- duphandle: use ares_dup()
3992
curl_easy_duphandle() was not properly duping the ares channel. The
3993
ares_dup() function was introduced in c-ares 1.6.0 so by starting to use
3994
this function we also raise the bar and require c-ares >= 1.6.0
3995
(released Dec 9, 2008) for such builds.
3997
Reported by: Ning Dong
3998
Bug: http://curl.haxx.se/mail/lib-2010-08/0318.html
4000
- [Hendrik Visage brought this change]
4002
MacOSX-Framework: updates for Snowleopard
4004
1) PPC64 appears to be an 10.5 only supported architecture, so I
4005
forced 10.5 for 64bit if there is a need for PPC64, else 64bit only
4008
2) proper "make clean" after every ./configure. fixes a bug where
4009
subsequent runs the 32bit do not get compiled
4011
3) Added a version numbering curl-$VERSION} rather than the "stock standard" A
4013
- RELEASE-NOTES: synced with 5fcc4332d62fe
4015
Removed the duplicate entry of Kamil in the credits.
4017
- configure: don't enable RTMP if the lib detect fails
4019
librtmp is often statically linked and using sub dependencies like
4020
OpenSSL, so we need to make sure we can actually link with it properly
4021
before enabling it. Otherwise we easily end up trying to link with a
4022
RTMP lib that fails.
4024
- TODO: added 8.4 non-gcrypt under GnuTLS
4026
We must not assume gcrypt just because of GnuTLS
4028
- configure: check for gcrypt if using GnuTLS
4030
1 - libcurl assumes that there are gcrypt functions available when
4033
2 - GnuTLS can be built to use libnettle instead as crypto library,
4034
which breaks assumption (1)
4036
This change makes configure make sure that if GnuTLS is requested and
4037
detected, it also makes sure that gcrypt is present or it errors
4038
out. This is mostly a way to make the user more aware of this flaw, the
4039
correct fix would be to detect which crypto layer that is in use and
4040
adapt our code to use that instead of blindly assuming gcrypt.
4042
Reported by: Michal Gorny
4043
Bug: http://curl.haxx.se/bug/view.cgi?id=3071038
4045
- RELEASE-NOTES: sync from d2a7fd2fe65b to HEAD
4047
- FTP: fix bad check of Curl_timeleft() return code
4049
When it returns 0 it means no timeout. Only a negative value means that
4052
- LDAP: moved variable declaration to avoid compiler warn
4054
If built without HTTP or proxy support it would cause a compiler warning
4055
due to the unused variable. I moved the declaration of it into the only
4058
Tor Arntsen (18 Sep 2010)
4059
- LDAP: Use FALSE instead of bool_false when setting bits.close
4061
bool_false is the internal name used in the setup_once.h definition
4062
we fall back to for non-C99 non-stdbool systems, it's not the actual
4063
name to use in assignments (we use bool_false, bool_true there to
4064
avoid global namespace problems, see comment in setup_once.h).
4065
The correct C99 value to use is 'false', but let's use FALSE as
4066
used elsewhere when assigning to bits.close. FALSE is set equal
4067
to 'false' in setup_once.h when possible.
4069
This fixes a build problem on C99 targets.
4071
- LDAP: Add missing declaration for 'result'
4073
Daniel Stenberg (18 Sep 2010)
4074
- [Mauro Iorio brought this change]
4076
LDAP: Support for tunnelling queries through HTTP proxy
4078
As of curl-7.21.1 tunnelling ldap queries through HTTP Proxies is not
4079
supported. Actually if --proxytunnel command-line option (or equivalent
4080
CURLOPT_HTTPPROXYTUNNEL) is used for ldap queries like
4081
ldap://ldap.my.server.com/... You are unable to successfully execute the
4082
query. In facts ldap_*_bind is executed directly against the ldap server
4083
and proxy is totally ignored. This is true for both openLDAP and
4086
Step to reproduce the error:
4087
Just launch "curl --proxytunnel --proxy 192.168.1.1:8080
4088
ldap://ldap.my.server.com/dc=... "
4090
This fix adds an invocation to Curl_proxyCONNECT against the provided
4091
proxy address and on successful "CONNECT" it tunnels ldap query to the
4092
final ldap server through the HTTP proxy. As far as I know Microsoft
4093
LDAP APIs don't permit tunnelling in any way so the patch provided is
4094
for OpenLDAP only. The patch has been developed against OpenLDAP 2.4.23
4095
and has been tested with Microsoft ISA Server 2006 and works properly
4096
with basic, digest and NTLM authentication.
4098
- timeout: use the correct start value as offset
4100
Rodric provide an awesome recipe that proved libcurl didn't timeout at
4101
the requested time - it instead often timed out at [connect time] +
4102
[timeout time] instead of the documented and intended [timeout time]
4103
only. This bug was due to the code using the wrong base offset when
4104
comparing against "now". I could also take the oppurtinity to simplify
4105
the code by properly using of the generic help function for this:
4108
Reported by: Rodric Glaser
4109
Bug: http://curl.haxx.se/bug/view.cgi?id=3061535
4111
- Curl_timeleft: avoid returning "no timeout" by mistake
4113
As this function uses return code 0 to mean that there is no timeout, it
4114
needs to check that it doesn't return a time left value that is exactly
4115
zero. It could lead to libcurl doing an extra 1000 ms select() call and
4116
thus not timing out as accurately as it should.
4118
I fell over this bug when working on the bug 3061535 but this fix does
4119
not correct that problem alone, although this is a problem that needs to
4122
Reported by: Rodric Glaser
4123
Bug: http://curl.haxx.se/bug/view.cgi?id=3061535
4125
- whitespace: unified source
4130
and some other changes in the similar spirit, trying to make the
4131
whole file use the same style
4133
- remote-header-name: don't output filename when NULL
4135
- [James Bursa brought this change]
4137
TheArtOfHttpScripting: use long options
4139
- [James Bursa brought this change]
4141
getinmemory: make the example easier to follow
4143
1. Remove the comment warning that it's "not been verified to work". It
4144
works with no problems in my testing.
4146
2. Remove 2 unnecessary includes.
4148
3. Remove the myrealloc(). Initialize chunk.memory with malloc() instead
4149
of NULL. The comments for these two parts contradicted each other.
4151
4. Handle out of memory from realloc() instead of continuing.
4153
5. Print a brief status message at the end.
4155
- multi: don't do extra expire calls for the connection
4157
The timeout is set for the connect phase already at the start of the
4158
request so we should not add a new one, and we MUST not set expire to 0
4159
as that will remove any other potentially existing timeouts.
4161
- [Peter Pentchev brought this change]
4163
Fix a bashism: test a = b is more portable than ==.
4165
- glob_word: remove a check that is always false
4167
- inflate_stream: remove redundant check that is always true
4169
- digest: make it clear the condition is always true
4171
- ssluse: removed redundant check that is always true
4173
Dan Fandrich (11 Sep 2010)
4174
- Link curl and the test apps with -lrt explicitly when necessary
4176
When curl calls a function from that library then it needs to
4177
explicitly link to the library instead of piggybacking on
4178
libcurl's own dependency. Without this, GNU ld with the
4179
--no-add-needed flag fails when linking (which Fedora now does
4182
Reported by: Quanah Gibson-Mount
4183
Bug: http://curl.haxx.se/mail/lib-2010-09/0085.html
4185
- Mention the Debian Popularity Contest
4187
Tor Arntsen (9 Sep 2010)
4188
- test565: Don't hardcode IP:PORT
4190
Use %HOSTIP:%HTTPPORT instead of 127.0.0.1:8990 so that
4191
verification works if the baseport change option is used
4192
when executing runtests.pl.
4194
Daniel Stenberg (9 Sep 2010)
4195
- curl.1: updated protocols and polished language
4197
- FAQ: CURL_STATICLIB for visual studio users
4199
Clarified as it isn't used with a -D option for them.
4201
Reported by: Artfunkel
4202
Bug: http://curl.haxx.se/bug/view.cgi?id=3060381
4204
- FAQ: updated and added host with custom IP question
4206
Added "3.19 How do I get HTTP from a host using a specific IP address?"
4207
and updated some stuff about certs etc.
4209
- chunky parser: only rewind if needed
4211
The code reading chunked encoding attempts to rewind the code if it had
4212
read more data than the chunky parser consumes. The rewinding can fail
4213
and it will then cause an error. This change now makes the rewinding
4214
only happen if pipelining is in use - as that's the only time it really
4217
Bug: http://curl.haxx.se/mail/lib-2010-08/0297.html
4218
Reported by: Ron Parker
4220
Kamil Dudka (6 Sep 2010)
4221
- rtsp: avoid SIGSEGV on malformed header
4223
- rtsp: avoid SIGSEGV on malformed header
4225
Daniel Stenberg (6 Sep 2010)
4226
- warning: fix conversion to 'int' from 'size_t'
4228
- portabilty: use proper variable type to hold sockets
4230
Curl_getconnectinfo() is changed to return a proper curl_socket_t for
4231
the last socket so that it'll work more portably (and cause less
4234
Guenter Knauf (3 Sep 2010)
4235
- Trial to fix another compiler warning with braces.
4237
Dan Fandrich (2 Sep 2010)
4238
- Use checkprefix() to compare protocol-specific strings
4240
Otherwise, there could be problems running in certain locales.
4242
Guenter Knauf (2 Sep 2010)
4243
- Moved S_ISREG define to setup as suggested by Dan.
4245
- Use own typedef as workaround for broken sspi.h header (f.e. Watcom).
4247
- Added some hacks in order to build with VC from git.
4249
Adam Light posted this patch to the list which enables builds from
4250
git with VC versions other than vc6; also he added a vc10 target.
4252
- Added S_ISREG define for Win32.
4254
Daniel Stenberg (1 Sep 2010)
4255
- multi: fixes for timing out handles
4257
Add a timeout check for handles in the state machine so that they will
4258
timeout in all states disregarding what actions that may or may not
4261
Fixed a bug in socket_action introduced recently when looping over timed
4262
out handles: it wouldn't assign the 'data' variable and thus it wouldn't
4263
properly take care of handles.
4265
In the update_timer function, the code now checks if the timeout has
4266
been removed and then it tells the application. Previously it would
4267
always let the remaining timeout(s) just linger to expire later on.
4269
- threaded resolver: no more expire 0 calls
4271
Curl_expire() set to 0 expires ALL timeouts so it should only be called
4272
if we truly and really want to remove all timeouts for the handle.
4274
- resolve_server: simplify code
4276
Make use of the helper function Curl_timeleft() instead of duplicating
4279
- multi: make sure the next timeout is used when one expires
4281
Each easy handle has a list of timeouts, so as soon as the main timeout
4282
for a handle expires, we must make sure to get the next entry from the
4283
list and re-add the handle to the splay tree.
4285
This was attempted previously but was done poorly in my commit
4288
Dan Fandrich (30 Aug 2010)
4289
- Added proxy keyword to allow skipping test in proxyless configs
4291
Daniel Stenberg (29 Aug 2010)
4292
- multi: set timeouts when transfer begins
4294
When a new transfer is about to start we now set the proper timeouts to
4295
expire for the multi interface if they are set for the handle. This is a
4296
follow-up bugfix to make sure that easy handles timeout properly when
4297
the times expire and the multi interface is used. This also improves
4298
curl_multi_timeout().
4300
- CURLOPT_DIRLISTONLY: don't use with CURLOPT_WILDCARDMATCH
4302
- FAQ: update list of supported protocols
4304
- [Fabian Keil brought this change]
4306
In the m4 detection line, factor out the 2>dev/null
4308
- [Fabian Keil brought this change]
4310
If m4 doesn't support --version, try if gm4 does.
4312
- [Fabian Keil brought this change]
4314
If the m4 version isn't recognized at all, just say so
4316
'm4 version found. You need a GNU m4 installed!' is a bit confusing.
4318
- HISTORY: mention the gopher story
4320
Dan Fandrich (25 Aug 2010)
4321
- Tweaked some test data files
4323
Fixed some issues that caused xmllint failures, added features
4324
and keywords, fixed some quotes and removed some <strip> sections
4325
that unnecessarily limited test checking.
4327
- Added new source files to Symbian and TPF makefiles
4329
Daniel Stenberg (25 Aug 2010)
4330
- RELEASE-NOTES: sync from b980c9a02 to HEAD
4332
- Makefile: add gopher.c file to build
4334
As the VC and RISCOS makefiles don't use the .inc file
4336
- runtests: fix uninitialized variable warning
4338
- gopher tests: revert parts of gopher in the pingpong server
4340
Introduced in the initial gopher commits, there was added logic to do
4341
GOPHER test serving in the pingpong server but as it resembles HTTP much
4342
more than FTP or SMTP, the gopher testing has been moved over to instead
4343
use the sws (HTTP) server. This change simply removes unused code.
4345
- gopher tests: use sws and adjusted to more standard style
4347
- sws: added basic gopher support
4349
- gopher: enable the header callback/verbosity
4351
- gopher: fix test case line endings
4353
Patches over email very easily lose CRLF line endings in files otherwise
4354
LF-only so I had to put them back where needed.
4356
- gopher: fix memory leak and busyloop
4358
The fix for the busyloop really only is a temporary work-around. It
4359
causes a BLOCKING behavior which is a NO-NO. This function should rather
4360
be split up in a do and a doing piece where the pieces that aren't
4361
possible to send now will be sent in the doing function repeatedly until
4362
the entire request is sent.
4364
- [Cameron Kaiser brought this change]
4366
Gopher using Curl_write; test suite (4 tests)
4368
- [Cameron Kaiser brought this change]
4372
- [Cameron Kaiser brought this change]
4374
Forgot gopher.h in Makefile.inc
4376
- [Cameron Kaiser brought this change]
4378
Gopher protocol support (initial release)
4380
- http: handle trailer headers in all chunked responses
4382
HTTP allows that a server sends trailing headers after all the chunks
4383
have been sent WITHOUT signalling their presence in the first response
4384
headers. The "Trailer:" header is only a SHOULD there and as we need to
4385
handle the situation even without that header I made libcurl ignore
4386
Trailer: completely.
4388
Test case 1116 was added to verify this and to make sure we handle more
4389
than one trailer header properly.
4391
Reported by: Patrick McManus
4392
Bug: http://curl.haxx.se/bug/view.cgi?id=3052450
4394
- TODO: we now support RTMP
4396
- TODO: done "NTLM with other crypto functions"
4398
Since NTLM was made to work with the NSS API as well, the primary SSL
4399
alternatives will be built with NTLM support in libcurl.
4401
- TODO: fixed "Make curl_multi_info_read faster"
4403
It is really fast now
4405
Dan Fandrich (24 Aug 2010)
4406
- Fixed a NULL pointer dereference in form posting
4408
It was introduced in commit eeb2cb05 along with the -F type=
4409
change. Also fixed a typo in the name of the magic filename=
4410
parameter. Tweaked tests 39 and 173 to better test this path.
4412
Daniel Stenberg (24 Aug 2010)
4413
- [Ben Greear brought this change]
4415
multi: Fix compile warning on 64-bit systems
4417
Dan Fandrich (23 Aug 2010)
4418
- Mention PolarSSL in tutorial & add some URLs to INSTALL
4420
Daniel Stenberg (23 Aug 2010)
4421
- RESUME_FROM: clarify what ftp uploads do
4423
The numerical value passed to CURLOPT_RESUME_FROM for FTP uploads is
4424
interpreted and used as position where to resume the _reading_ of the
4425
local file and it will "blindly" append that data on the remote
4426
file. This was certainly not clear in the docs previously.
4428
Reported by: catalin
4429
Bug: http://curl.haxx.se/bug/view.cgi?id=3048174
4431
- [Dirk Manske brought this change]
4433
Curl_is_connected: use correct errno
4435
The correctly extracted errno contents were mistakenly overwritten by a newer
4436
value that wasn't the correct error value.
4438
Bug: http://curl.haxx.se/mail/lib-2010-08/0242.html
4440
- cmdline: make -F type= accept ;charset=
4442
The -F option allows some custom parameters within the given string, and
4443
those strings are separated with semicolons. You can for example specify
4444
"name=daniel;type=text/plain" to set content-type for the
4445
field. However, the use of semicolons like that made it not work fine if
4446
you specified one within the content-type, like for:
4447
"name=daniel;type=text/plain;charset=UTF-8"
4448
... as the second one would be seen as a separator and "charset" is no
4449
parameter curl knows anything about so it was just silently discarded.
4451
The new logic now checks if the semicolon and following keyword looks
4452
like a parameter it knows about and if it isn't it is assumed to be
4453
meant to be used within the content-type string itself.
4455
I modified test case 186 to verify that this works as intended.
4457
Reported by: Larry Stone
4458
Bug: http://curl.haxx.se/bug/view.cgi?id=3048988
4460
Guenter Knauf (20 Aug 2010)
4461
- Added mk-ca-bundle.vbs script.
4463
The script works exactly same as the Perl one except for one thing:
4464
when the text descriptions generated with openssl are included then
4465
the md5 fingerprints are missing; seems openssl has either a bug or
4466
a feature which prints the md5 fingerprint output to stdout instead
4467
of writing them to specified file; this script could here do the same
4468
as what the Perl scripr does (redirect stdout into file) but this
4469
makes the script take up double the time because it needs to launch
4470
cmd.exe 140 times (fo each openssl call). So I think for now we just
4471
ommit the md5 fingerprints, and see if openssl will be fixed.
4473
- Trial to fix win32 autobuilds.
4475
It seems that its time to look at some better ideas for the win32
4476
non-configure builds; probably a prebuild target which copies
4477
config-win32.h to curl_config.h and appends also then feature
4478
defines like USE_ARES.
4480
Dan Fandrich (19 Aug 2010)
4481
- Use the S_ISREG macro to determine what is a regular file
4483
Kamil Dudka (19 Aug 2010)
4484
- AC_INIT: avoid a warning with autoconf 2.66
4486
It was complaining about the '=>' operator, introduced in e3fc0d5.
4488
Dan Fandrich (18 Aug 2010)
4489
- Fixed a memory leak during OOM in the multi timeout code
4491
- Removed a C99ism & made an array const
4493
Daniel Stenberg (19 Aug 2010)
4494
- [Julien Chaffraix brought this change]
4496
test: added test 579 to verify progress callback for chunked post
4498
The 66 bytes checked are those 38 bytes with the chunked encoding
4499
headers added: 8+8+10+35+5 = 66
4501
The three-letter words become 8 bytes on the wire because they are sent
4502
like: "3\r\none\r\n"
4504
... and there's the trailing 5 bytes write after the four lines since
4505
the final chunk is sent (which is "0\r\n\r\n").
4507
- multi: avoid sending multiple complete messages
4509
I fell over this bug report that mentioned that libcurl could wrongly
4510
send more than one complete messages at the end of a transfer. Reading
4511
the code confirmed this, so I've added a new multi state to make it not
4512
happen. The mentioned bug report was made by Brad Jorsch but is (oddly
4513
enough) filed in Debian's bug tracker for the "wmweather+" tool.
4515
Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=593390
4517
- FAQ: update the list of supported protocols
4519
- FAQ: added blurb about ECCN
4521
"1.13 curl's ECCN number" is a new section mostly made up from
4522
Alessandro Vesely's very informative ML post on the subject:
4523
http://curl.haxx.se/mail/lib-2008-03/0251.html
4525
Guenter Knauf (18 Aug 2010)
4526
- It is sufficient to pipe stderr to NUL to get rid of the nasty messages.
4528
- Added SSPI build to Watcom makefile.
4530
Daniel Stenberg (16 Aug 2010)
4531
- [Julien Chaffraix brought this change]
4533
progress: callback for POSTs less than MAX_INITIAL_POST_SIZE
4535
Add a call to Curl_pgrsSetUploadSize in this case valided by a test
4538
Reported by: Никита Дорохин.
4539
Bug: http://curl.haxx.se/mail/lib-2010-04/0173.html
4541
Dan Fandrich (16 Aug 2010)
4542
- Make the LD_PRELOAD path absolute in the tests that use it
4544
In some situations, libtool will change directories and perform
4545
a link step before executing the libtest test app. Since
4546
LD_PRELOAD is in effect for this entire process, the path to the
4547
binary must be absolute so it will be valid no matter in which
4548
directory the app is running.
4550
Daniel Stenberg (16 Aug 2010)
4551
- negotiation: Wrong proxy authorization
4553
There's an error in http_negotiation.c where a mistake is using only
4554
userpwd even for proxy requests. Ludek provided a patch, but I decided
4555
to write the fix slightly different using his patch as inspiration.
4557
Reported by: Ludek Finstrle
4558
Bug: http://curl.haxx.se/bug/view.cgi?id=3046066
4560
Dan Fandrich (16 Aug 2010)
4561
- Clear stdout and stderr files on each test run
4563
This allows a test to be run several times in the same test
4564
session even when the -k option is given.
4566
Guenter Knauf (15 Aug 2010)
4567
- Syncroniszed vclean target; fixed some comments.
4569
Daniel Stenberg (15 Aug 2010)
4570
- THANKS: added contributors from 7.21.1
4572
- multi: two fixes done
4574
- multi: use timeouts properly for MAX_RECV/SEND_SPEED
4576
When detecting that the send or recv speed, the multi interface changes
4577
state to TOOFAST and previously there was no timeout set that would
4578
force a recheck but it would rely on the application to somehow call
4579
libcurl anyway. This now sets a timeout for a suitable future time to
4580
check again if the average transfer speed is then below the threshold
4583
- multi: support timeouts
4585
Curl_expire() is now expanded to hold a list of timeouts for each easy
4586
handle. Only the closest in time will be the one used as the primary
4587
timeout for the handle and will be used for the splay tree (which sorts
4588
and lists all handles within the multi handle).
4590
When the main timeout has triggered/expired, the next timeout in time
4591
that is kept in the list will be moved to the main timeout position and
4592
used as the key to splay with. This way, all timeouts that are set with
4593
Curl_expire() internally will end up as a proper timeout. Previously any
4594
Curl_expire() that set a _later_ timeout than what was already set was
4595
just silently ignored and thus missed.
4597
Setting Curl_expire() with timeout 0 (zero) will cancel all previously
4600
Corrects known bug #62.
4602
- Curl_llist_insert_next: allow insertion first in the list
4604
When we specify the "insert after" entry as NULL, this function now
4605
inserts the new entry first in the list.
4607
- multi: make curl_multi_info_read perform O(1)
4609
Instead of looping over all attached easy handles, this now keeps a list
4610
of messages in the multi handle. It allows curl_multi_info_read() to
4611
perform O(1) no matter how many easy handles that are handled. This is
4612
of importance since this function may be polled very frequently by apps
4613
using the multi interface.
4615
Kamil Dudka (15 Aug 2010)
4616
- curl -T: ignore file size of special files
4618
original bug report at https://bugzilla.redhat.com/622520
4620
Dan Fandrich (13 Aug 2010)
4621
- Reset environment variables before starting servers
4623
Otherwise, variables from tests could affect the servers
4626
Kamil Dudka (12 Aug 2010)
4627
- typecheck-gcc: work around gcc upstream bug #32061
4629
original bug report at https://bugzilla.redhat.com/617757
4631
Daniel Stenberg (11 Aug 2010)
4632
- release cycle loop: start over toward 7.21.2
4634
Version 7.21.1 (11 Aug 2010)
4636
Daniel Stenberg (11 Aug 2010)
4637
- RELEASE-NOTES: mention the runtests fix as well
4639
- runtests: clear old setenv remainders before test
4641
Due to the layout of the singletest function there are situations where
4642
it returns before it clears the environment variables that were
4643
especially set for the single specific test case. That could lead to
4644
subsequent tests getting executed with environment variables sticking
4645
around from a previous test which could lead to badness.
4647
This change makes sure to clear all custom variables that may be laying
4648
around from a previous round, before running a test case.
4650
Reported by: Kamil Dudka
4651
Bug: http://curl.haxx.se/mail/lib-2010-08/0141.html
4653
Guenter Knauf (11 Aug 2010)
4654
- Added OpenSSL builds to Watcom makefiles.
4656
Yang Tse (11 Aug 2010)
4657
- configure: werror related adjustments
4659
Daniel Stenberg (11 Aug 2010)
4660
- FAQ: s/libcurl.so.3/libcurl.so.X
4662
Dan Fandrich (10 Aug 2010)
4663
- KNOWN_BUG #59 is fixed. Clarify support of IPv6 zone IDs.
4665
- Fixed typo in Android configure command
4667
Daniel Stenberg (11 Aug 2010)
4668
- HISTORY: added stuff from recent years
4670
- warning: silence the compiler
4672
warning: conversion to 'long int' from 'time_t' may alter its value
4674
... on win64 when time_t is 64bit and long is 32bit.
4676
- RELEASE-NOTES: synced, 3 additional bugfixes
4678
- multi_socket_action: clarify how to kickstart it
4680
The callbacks are called when curl_multi_socket_action() is called, not
4681
when handles are added. This is now mentioned in the "TYPICAL USAGE"
4684
- callbacks: acknowledge progress callback error returns
4686
When the progress callback is called during the TCP connection, an error
4687
return would accidentally not abort the operation as intended but would
4688
instead be counted as a failure to connect to that particular IP and
4689
libcurl would just continue to try the next. I made singleipconnect()
4690
and trynextip() return CURLcode properly.
4692
Added bonus: it corrected the error code for bad --interface usages,
4693
like tested in test 1084 and test 1085.
4695
Reported by: Adam Light
4696
Bug: http://curl.haxx.se/mail/lib-2010-08/0105.html
4698
Guenter Knauf (10 Aug 2010)
4699
- More Watcom makefile fixes ...
4701
Final fix (hopefully!) for dll wlink loader;
4702
prefer faster internal rm if available.
4704
- Fixed my wrong edit.
4706
- More Watcom makefile fixes.
4708
Added the -br switch to dynamic builds which fixes the issue I saw
4709
with curl's --version output. Added debug info and symfile for debug
4710
builds to linker opts. Added DLL loader for wlink back, but this time
4711
dependend on wlink version.
4712
Patch posted to the list by malak.jiri AT gmail.com.
4714
- Changed test for -u switch in order to enable other wmake switches.
4716
The var %MAKEFLAGS is only set in 3 cases: if set as environment
4717
var or as macro definition from commandline, and either with the
4718
-u or -ms switch. Since all these cases are unlikely for the average
4719
user it should be safe to only test if %MAKEFLAGS is defined; this
4720
has the benefit that now all other switches can be used again in
4721
addition to the -u which was formerly not possible.
4723
Daniel Stenberg (10 Aug 2010)
4724
- llist: hide Curl_llist_init
4726
Curl_llist_init is never used outside of llist.c and thus it should be
4727
static. I also removed the protos for Curl_llist_insert_prev and
4728
Curl_llist_remove_next which are functions we removed from llist.c ages
4731
Guenter Knauf (10 Aug 2010)
4732
- Added msys Perl since git for Win32 comes with own Perl which identifies as msys.
4734
- Updated lib dependency versions.
4736
- Make testcurl.pl Watcom-aware.
4738
Daniel Stenberg (10 Aug 2010)
4739
- parse_remote_port: fix ;type= URL suffix over HTTP proxy
4741
Test 563 is enabled now and verifies that the combo FTP type=A URL,
4742
CURLOPT_PORT set and proxy work fine. As a bonus I managed to remove the
4743
somewhat odd FTP check in parse_remote_port() and instead converted it
4744
to a better and more generic 'slash_removed' struct field. Checking the
4745
->protocol field isn't right since when an FTP:// URL is sent over a
4746
HTTP proxy, the protocol is HTTP but the URL was handled by the FTP code
4747
and thus slash_removed is set TRUE for this case.
4749
- indent: white space fixes only
4751
Yang Tse (9 Aug 2010)
4752
- build: fix previous push
4754
- build: don't build libhostname unless shared libcurl is built
4756
- build: libhostname and chkhostname linkage adjustments followup
4758
Daniel Stenberg (8 Aug 2010)
4759
- typo: remove duplicate semicolon
4761
- multi: avoid a malloc() when a transfer is complete
4763
The struct used for storing the message for a completed transfer is now
4764
no longer allocated separatly but is kept within the main struct kept
4765
for each easy handle so that we avoid one malloc (and the subsequent
4768
Yang Tse (8 Aug 2010)
4769
- build: libhostname linkage adjustments followup
4771
Guenter Knauf (7 Aug 2010)
4772
- Fix to overwrite libcurl name.
4774
Yang Tse (7 Aug 2010)
4775
- build: chkhostname build adjustments followup
4777
U-D5B1PQ1J\Administrador (7 Aug 2010)
4778
- build: allow NTLM tests to run on more build configurations
4780
Daniel Stenberg (7 Aug 2010)
4781
- curl_easy_setopt.3: rename stream to userdata
4783
In some places where the name 'stream' has been used for naming a
4784
function argument that is in fact settable with a setopt() option we now
4785
call that argument 'userdata' to make it more obvious that it is in fact
4786
possible to set by the application.
4788
Suggested by: Jeff Pohlmeyer
4790
Guenter Knauf (7 Aug 2010)
4791
- Block created curlbuild.h for NetWare to avoid usage from other platforms.
4793
Daniel Stenberg (7 Aug 2010)
4794
- RELEASE-NOTES: synced with recent changes
4796
Yang Tse (6 Aug 2010)
4797
- build: ensure that libhostname doesn't get installed
4799
Daniel Stenberg (6 Aug 2010)
4800
- multi_socket: set timeout for 100-continue
4802
When libcurl internally decided to wait for a 100-continue header, there
4803
was no call to the timeout function so there was no timeout callback
4804
called when the multi_socket API was used and thus applications became
4805
either completely wrong or at least ineffecient depending on how they
4806
handled the situation. We now set a timeout to get triggered.
4808
Reported by: Ben Darnell
4809
Bug: http://curl.haxx.se/bug/view.cgi?id=3039744
4811
Guenter Knauf (6 Aug 2010)
4812
- Some more Watcom makefile massage ...
4814
For now removed the .autodepend directive until I've figured out
4815
which of my changes broke it again.
4817
Yang Tse (5 Aug 2010)
4818
- build: fix libssh2_scp_send64() availability
4820
- build: remove unneeded cast to (void *)
4822
- build: remove unused file
4824
Daniel Stenberg (4 Aug 2010)
4825
- SCP: send large files properly with new enough libssh2
4827
libssh2 1.2.6 and later handle >32bit file sizes properly even on 32bit
4828
architectures and we make sure to use that ability.
4830
Reported by: Mikael Johansson
4831
Bug: http://curl.haxx.se/mail/lib-2010-08/0052.html
4833
Yang Tse (3 Aug 2010)
4834
- build: add missing new files to non-configure target build files
4836
- md4: replace bcopy usage with memcpy
4838
Daniel Stenberg (3 Aug 2010)
4839
- RELEASE-NOTES: synced with recent changes
4841
- TODO-RELEASE: clear, file not really used ATM
4843
- typecheck-gcc: add checks for recently added options
4845
I added all OBJECTPOINT curl_easy_setopt() options from 178 to 202. Left
4846
to add: the five FUNCTIONPOINT (callbacks) options added since:
4854
- .gitignore: ignore all built examples
4856
- example: fix code to build warning-free
4858
- Curl_connected_proxy: skip the bits.tcpconnect check
4860
Simply because the TCP might be connected already we cannot skip the
4861
proxy connect procedure. We need to be careful to not overload more
4862
meaning to the bits.tcpconnect field like this.
4864
With this fix, SOCKS proxies work again when the multi interface is
4865
used. I believe this regression was added with commit 4b351d018e,
4868
Left todo: add a test case that verifies this functionality that
4869
prevents us from breaking it again in the future!
4871
Reported by: Robin Cornelius
4872
Bug: http://curl.haxx.se/bug/view.cgi?id=3033966
4874
- sethostname: provide local prototype for gethostname
4876
This is only to avoid warnings on some systems.
4878
- build: add typecast to avoid warning
4880
There is an implicit conversion from "unsigned long" to "long";
4881
rounding, sign extension, or loss of accuracy may result.
4883
Guenter Knauf (2 Aug 2010)
4884
- Rename CURL_SOURCES macro; revert previous rename of curl_SOURCES macro.
4886
- Removed ugly dependency lists since wmake knows the .autodepend directive.
4888
- Use suffix search path for sources in lib folder.
4890
- Changed src/Makefile.Watcom to use CURL_SOURCES from src/Makefile.inc.
4892
- Renamed curl_SOURCES to CURL_ALLFILES to overcome wmake's case-insensitivity.
4894
- Removed wlink from DLL loader list because it doesnt work with Watcom < 1.8.
4896
- Moved the LDAP API defines from Makefile.Watcom to config-win32.h.
4898
These defines are only needed for older Watcom versions (< 1280).
4900
Daniel Stenberg (2 Aug 2010)
4901
- retry: consider retrying even if -f is used
4903
The --retry logic does retry HTTP when some specific response codes are
4904
returned, but because the -f option sets the CURLOPT_FAILONERROR to
4905
libcurl, the return codes are different for such situations and then the
4906
curl tool failed to consider it for retrying.
4908
Reported by: Mike Power
4909
Bug: http://curl.haxx.se/bug/view.cgi?id=3037362
4911
- multi: fix FTPS connecting the data connection with OpenSSL
4913
Commit 496002ea1cd76af7f (released in 7.20.1) broke FTPS when using the
4914
multi interface and OpenSSL was used. The condition for the non-blocking
4915
connect was incorrect.
4917
Reported by: Georg Lippitsch
4918
Bug: http://curl.haxx.se/mail/lib-2010-07/0270.html
4920
Guenter Knauf (1 Aug 2010)
4921
- Fixed curlbuild.h rule.
4923
- Added rule to create curlbuild.h if not present (for builds from git).
4925
- Added dependend libs for curl static linking.
4927
- Fixed curl.exe static linking.
4929
Daniel Stenberg (30 Jul 2010)
4930
- warning: silence a win64 compiler warning
4932
conversion from 'size_t' to 'curl_socklen_t', possible loss of data
4934
Reported by: Adam Light
4936
- KNOWN_BUG: The SOCKET type in Win64 is 64 bits
4938
The SOCKET type in Win64 is 64 bits large (and thus so is curl_socket_t
4939
on that platform), and long is only 32 bits. It makes it impossible for
4940
curl_easy_getinfo() to return a socket properly with the
4941
CURLINFO_LASTSOCKET option as for all other operating systems.
4943
- smtp_connect: always provide host name buffer
4945
Previously the host name buffer was only used if gethostname() exists,
4946
but since we converted that into a curl private function that function
4947
always exists and will be used so the buffer needs to exist for all
4950
- sethostname: avoid including unistd.h to duck for warnings
4952
- sethostname: ISO C does not allow extra `;' outside of a function
4954
- [Kamil Dudka brought this change]
4956
NTLM tests: boost coverage by forcing the hostname
4958
A shared library tests/libtest/.libs/lihostname.so is preloaded in NTLM
4959
test-cases to override the system implementation of gethostname(). It
4960
makes it possible to test the NTLM authentication for exact match, and
4961
this way test the implementation of MD4 and DES.
4963
If LD_PRELOAD doesn't work, a debug build willl also workk as debug
4964
builds are now made to prefer a specific environment variable and will
4965
then return that content as host name instead of the actual one.
4967
Kamil wrote the bulk of this, Daniel Stenberg polished it.
4969
Guenter Knauf (29 Jul 2010)
4970
- Added a comment with an alternate idea to avoid the backslash line contination character.
4972
- Changed comparison to match size_t var type.
4974
- Removed unused vars to avoid compiler warnings.
4976
- Make Watcom makefiles use Makefile.inc to reduce future maintainance.
4978
lib/Makefile.Watcom works fine already, for src/Makefile.Watcom we
4979
need first to tweak src/Makefile.inc a bit - therefore the handtweaked
4980
list still exists for now.
4982
- Watcom makefiles overhaul.
4984
- make both libcurl and curl makefiles use register calling convention
4985
(previously libcurl had stack calling convention).
4986
- added include paths to the Watcom headers so its no longer required
4987
to set the environment vars for this.
4988
- added -wcd=201 to supress compiler warning about unreachable code.
4989
- use macros for all tools, and removed dependency on GNU tools like rm.
4990
- make ipv6 and debug builds controlable via env vars and so make them
4991
optional instead of default.
4992
- commented WINLDAPAPI and WINBERAPI since they broke with OW 1.8, and
4993
it seems they're not needed (anymore?).
4994
- added rule for hugehelp.c.cvs so that it will be created when not
4995
already exist - this is required for building from a release tarball
4996
since there we have no hugehelp.c.cvs, thus compilation broke.
4997
- removed C_ARG creation from lib/Makefile.Watcom and use CFLAGS
4998
directly as done too in src/Makefile.Watcom - this has the benefit
4999
that we will see all active cflags and defines during compile.
5000
- added LINK-ARG to src/Makefile.Watcom in order to better control
5002
- a couple of other minor makefile tweaks here and there ...
5003
- added largefile support for Watcom builds to config-win32.h. Not yet
5004
tested if it really works, but should since Win32 supports it.
5005
- added loaddll stuff to speed up builds if supported.
5007
- some cosmetic changes.
5009
Dan Fandrich (26 Jul 2010)
5010
- Added md4.c to the Watcom makefile
5012
- Added PolarSSL to the docs
5014
Daniel Stenberg (25 Jul 2010)
5015
- curl-config: --built-shared returns shared info
5017
The curl-config now features a --built-shared command line option that
5018
will output 'yes' or 'no' depending if the build process was asked to
5019
build shared library/libraries or not.
5021
It is primarily made to offer more details to the test suite to know
5022
what kind of stunts it can expect to work.
5024
- add_buffer_send: fix compiler warning
5026
Win64's 32 bit long but 64 bit size_t caused a warning that we avoid
5027
with a typecast. A small whitespace indent fix was also applied.
5029
Reported by: Adam Light
5031
Guenter Knauf (22 Jul 2010)
5032
- Updated library versions.
5034
- Fixed script version which was still based on CVS Revision tag.
5036
Dan Fandrich (21 Jul 2010)
5037
- FAQ: Why doesn't cURL error out when the cable is unplugged?
5039
This one was long overdue to be mentioned in the FAQ. Also, mention the
5040
new ftp wildcard downloading feature.
5042
Daniel Stenberg (21 Jul 2010)
5043
- [Ben Greear brought this change]
5045
ssh: Fix compile error on 64-bit systems.
5047
Signed-off-by: Ben Greear <greearb@candelatech.com>
5049
- [Ben Greear brought this change]
5051
build: Enable configure --enable-werror
5053
This passes -Werror to gcc when building curl and libcurl,
5054
allowing easy dection of compile warnings.
5056
Signed-off-by: Ben Greear <greearb@candelatech.com>
5058
- [Ben Greear brought this change]
5060
pingpong: Fix indentation (whitespace change only)
5062
Signed-off-by: Ben Greear <greearb@candelatech.com>
5064
- [Jan Van Boghout brought this change]
5066
CUSTOMREQUEST: shouldn't be disabled when HTTP is disabled
5068
... since FTP is using it as well, and potentially other protocols!
5070
Also, an #endif CURL_DISABLE_HTTP was incorrectly marked, as it seems to
5071
end the proxy block instead.
5073
- [Jan Van Boghout brought this change]
5075
pingpong: response_time is milliseconds
5077
Fixed the comment/document for the response_time struct member.
5079
- [Jan Van Boghout brought this change]
5081
ftp: response timeout bug in "quote" sending
5083
The FTP implementation was missing a timestamp reset point, making the
5084
waiting for responses after sending a post-transfer "QUOTE" command not
5085
working as supposedly. This bug was introduced in 7.20.0
5087
- [Jeff Pohlmeyer brought this change]
5089
remote-header-name: chop filename at next semicolon
5091
The --remote-header-name option for the command-line tool assumes that
5092
everything beyond the filename= field is part of the filename, but that
5093
might not always be the case, for example:
5095
Content-Disposition: attachment; filename=file.txt; modification-date=...
5097
This fix chops the filename off at the next semicolon, if there is one.
5099
- --retry: access violation with URL part sets continued
5101
When getting multiple URLs, curl didn't properly reset the byte counter
5102
after a successful transfer so if the subsequent transfer failed it
5103
would wrongly use the previous byte counter and behave badly (segfault)
5104
because of that. The code assumes that the byte counter and the 'stream'
5105
pointer is well in synch.
5107
Reported by: Jon Sargeant
5108
Bug: http://curl.haxx.se/bug/view.cgi?id=3028241
5110
- releasnote: synch up with commit f3b77e5611d
5112
- [Constantine Sapuntzakis brought this change]
5114
examples: add curl_multi_timeout
5116
Make the multi-interface using examples use curl_multi_timeout to
5117
properly educate users how to do things.
5119
- configure: document the STATICLIB variable
5121
- [Constantine Sapuntzakis brought this change]
5123
multi: fix condition that remove timers before trigger
5125
curl_multi perform has two phases: run through every easy handle calling
5126
multi_runsingle and remove expired timers (timer removal).
5128
If a small timer (e.g. 1-10ms) is set during multi_runsingle, then it's
5129
possible that the timer has passed by when the timer removal runs. The
5130
timer which was just added is then removed. This will potentially cause
5131
the timer list to be empty and cause the next call to curl_multi_timeout
5132
to return -1. Ideally, curl_multi_timeout should return 0 in this case.
5134
One way to fix this is to move the struct timeval now = Curl_tvnow(); to
5135
the top of curl_multi_perform. The change does that.
5137
- [Constantine Sapuntzakis brought this change]
5139
threaded resolver: fix timeout issue
5141
Reset old timer first so we can set a new one further in the future.
5143
- configure: allow environments variable to override internals
5145
configure checks for grep, egrep, sed and ar and set the variables GREP,
5146
EGREP, SED and AR accordingly. We now let already set variables override
5147
the internal choices to let users make decisions when they know the
5148
right choice already. This is a regression as our configure script used
5149
to allow this back before commit 0b57c475 (up to 7.18.2).
5151
Reported by: "kdekker"
5152
Bug: http://curl.haxx.se/bug/view.cgi?id=3028318
5154
Dan Fandrich (9 Jul 2010)
5155
- Improved the Android build instructions
5157
Daniel Stenberg (7 Jul 2010)
5158
- [Tor Arntsen brought this change]
5160
upload: Avoid infinite loop when checking for auth bits
5162
The test would loop forever if authtype bit 0 wasn't set.
5164
- upload: warn users trying to upload from stdin with anyauth
5166
Since uploading from stdin is very likely to not work with anyauth and
5167
its multi-phase probing for what authentication to actually use, alert
5168
the user about it. Multi-phase negotiate almost certainly will involve
5169
sending data and thus libcurl will need to rewind the stream to send
5170
again, and it cannot do that with stdin.
5172
- http: don't enable chunked during authentication negotiations
5174
As mentioned in bug report #2956968, the HTTP code wouldn't send the
5175
first empty chunk during the auth negotiation phase of the HTTP request
5176
sending, so the server would wait for data to come and libcurl would
5177
wait for data to arrive... I've made the code not enable chunked
5178
encoding until the auth negotiation is done and thus this scenario
5179
doesn't occur anymore.
5181
Reported by: Sidney San Mart�n
5182
Bug: http://curl.haxx.se/bug/view.cgi?id=2956968
5184
- --libcurl: list the tricky options instead of using [REMARK]
5186
I think the [REMARK] and commented function calls cluttered the code a
5187
bit too much and made the generated code ugly to read. Now we instead
5188
track the remarks one specially and just lists them at the end of the
5189
generated code more as additional information.
5191
- curl: avoid setting libcurl options to its default
5193
it makes the --libcurl output easier to follow.
5195
- --libcurl: hide setopt() calls setting default options
5197
And additionally, don't show function or object pointers actual value
5198
since they make no sense to anyone. Show 'functionpointer' and
5199
'objectpointer' instead.
5201
- --libcurl: use *_LARGE options with typecasted constants
5203
In the generated code --libcurl makes, all calls to curl_easy_setopt()
5204
that use *_LARGE options now have the value typecasted to curl_off_t, so
5205
that it works correctly for 32bit systems with 64bit curl_off_t type.
5207
- multi: CURLINFO_LASTSOCKET doesn't work after remove_handle
5209
When curl_multi_remove_handle() is called and an easy handle is returned
5210
to the connection cache held in the multi handle, then we cannot allow
5211
CURLINFO_LASTSOCKET to extract it since that will more or less encourage
5212
that the user uses the socket while it can get used by libcurl again.
5214
Without this fix, we'd get a segfault in Curl_getconnectinfo() trying to
5215
dereference the NULL pointer in 'data->state.connc'.
5217
Bug: http://curl.haxx.se/bug/view.cgi?id=3023840
5219
- [Pierre Joye brought this change]
5221
build: add enable IPV6 option for the VC makefiles
5223
- FAQ: the threaded resolver works universally now
5225
Kamil Dudka (30 Jun 2010)
5226
- http_ntlm: add support for NSS
5228
When configured with '--without-ssl --with-nss', NTLM authentication
5229
now uses NSS crypto library for MD5 and DES. For MD4 we have a local
5230
implementation in that case. More details are available at
5231
https://bugzilla.redhat.com/603783
5233
In order to get it working, curl_global_init() must be called with
5234
CURL_GLOBAL_SSL or CURL_GLOBAL_ALL. That's necessary because NSS needs
5235
to be initialized globally and we do so only when the NSS library is
5236
actually required by protocol. The mentioned call of curl_global_init()
5237
is responsible for creating of the initialization mutex.
5239
There was also slightly changed the NSS initialization scenario, in
5240
particular, loading of the NSS PEM module. It used to be loaded always
5241
right after the NSS library was initialized. Now the library is
5242
initialized as soon as any SSL or NTLM is required, while the PEM module
5243
is prevented from being loaded until the SSL is actually required.
5245
Daniel Stenberg (29 Jun 2010)
5246
- glob: backslash escaping bug
5248
curl didn't properly handle escaping characters in a URL with the use of
5249
backslash. It did an attempt, but that failed as reported in bug
5250
3022551. The described example was using the URL
5251
"http://example.com?{AB,C\,D}".
5253
I've now removed the special-handling of letters following the backslash
5254
and I also removed the bad extra check that triggered this particular
5257
Bug: http://curl.haxx.se/bug/view.cgi?id=3022551
5258
Reported by: Jon Sargeant
5260
- release-notes: sync up with recent commits
5262
- CONTRIBUTE: the git commit message line length is 72 columns
5264
- [Pavel Raiskup brought this change]
5266
ftp wildcard: FTP LIST parser FIX
5268
There was a problem when a UNIX-like server returned information
5269
about directory size (total NNNNNN) at the first line of
5272
- [Pavel Raiskup brought this change]
5274
examples: new FTP wildcard showcase
5276
- multi_socket: re-use of same socket without notifying app
5278
When a hostname resolves to multiple IP addresses and the first one
5279
tried doesn't work, the socket for the second attempt may get dropped on
5280
the floor, causing the request to eventually time out. The issue is that
5281
when using kqueue (as on mac and bsd platforms) instead of select, the
5282
kernel removes the first fd from kqueue when it is closed (in trynextip,
5283
connect.c:503). Trynextip() then goes on to open a new socket, which
5284
gets assigned the same number as the one it just closed. Later in
5285
multi.c, socket_cb is not called because the fd is already in
5286
multi->sockhash, so the new socket is never added to kqueue.
5288
The correct fix is to ensure that socket_cb is called to remove the fd
5289
when trynextip() closes the socket, and again to re-add it after
5290
singleipsocket(). I'm not sure how to cleanly do that, but the attached
5291
patch works around the problem in an admittedly kludgy way by delaying
5292
the close to ensure that the newly-opened socket gets a different fd.
5294
Daniel's added comment: I didn't spot a way to easily do a nicer fix so
5295
I've proceeded with Ben's patch.
5297
Bug: http://curl.haxx.se/bug/view.cgi?id=3017819
5298
Patch by: Ben Darnell
5300
Kamil Dudka (24 Jun 2010)
5301
- [Pavel Raiskup brought this change]
5303
ftp-wildcard: avoid tight loop when used without any pattern
5305
It was broken for URLs like "ftp://example.com/".
5307
Daniel Stenberg (21 Jun 2010)
5308
- maketgz: produce CHANGES automatically with the 1000 most recent commits
5310
It passes the git log output through 'log2changes.pl' to produce
5313
- ignore: CHANGES.dist gets generated by maketgz
5315
- CHANGES: move all contents from CHANGES to CHANGES.0
5317
CHANGES is no longer used for manually edited content. It is to
5318
be generated automatically by maketgz when we make release
5321
- log2changes: correct command line, fix tag usage, change Version output
5323
--decorate=full is needed with my git 1.7.1 to get the necessary
5324
output so that the previous edit would work to extract the
5327
... but I had to edit how the refs/tags was extracted since it
5328
had a little flaw that made it miss the 7.20.1 output.
5330
Finally, I changed so that Version is outputted even more similar
5331
to how CHANGES does it.
5333
Dan Fandrich (21 Jun 2010)
5334
- Make the output of log2changes.pl even more closely match CHANGES
5336
Add the ASCII art header, and list version commits by decoding
5337
the ref tag names, when available (using the git log --decorate
5340
Daniel Stenberg (19 Jun 2010)
5341
- log2changes: first version of the git log to CHANGES conversion script
5343
$ git log --pretty=fuller --no-color --date=short | ./log2changes.pl
5345
Of course, limiting the log output with a range like with
5346
"[tag]..HEAD" appended can be very useful too.
5348
- sendrecv: treat all negative values from send/recv as errors
5350
For example the libssh2 based functions return other negative
5351
values than -1 to signal errors and it is important that we catch
5352
them properly. Right before this, various failures from libssh2
5353
were treated as negative download amounts which caused havoc.
5355
- multi: prevent NULL pointer dereference
5357
My additional call to Curl_pgrsUpdate() would sometimes get
5358
called even though there's no connection (left) so a NULL pointer
5359
would get passed, causing a segfault.
5361
- smtp: fixed a few uses of size_t that seemed to believe it was signed
5363
Reported-by: Steven M. Schweda
5365
Dan Fandrich (17 Jun 2010)
5366
- Fixed an OOM memory leak in the FTP wildcard code
5368
Kamil Dudka (17 Jun 2010)
5369
- test575: do not fail with threaded DNS resolver
5371
Daniel Stenberg (17 Jun 2010)
5372
- [Krister Johansen brought this change]
5374
multi: unmark handle as used when no longer head of pipeline
5376
- multi: call the progress function only once and allow abort
5378
1) no need to call the progress function twice when in the
5379
CURLM_STATE_TOOFAST state.
5381
2) Make sure that the progress callback's return code is
5382
acknowledged when used
5384
- multi: call the progress callback in all states
5386
As long as no error is reported, the progress function can get
5387
called. This may be a little TOO often so we should keep an eye
5388
on this and possibly make this conditional somehow.