1 _ _ ____ _ 2 ___| | | | _ \| | 3 / __| | | | |_) | | 4 | (__| |_| | _ <| |___ 5 \___|\___/|_| \_\_____| 6 7 Changelog 8 9Version 7.23.1 (17 Nov 2011) 10 11Daniel Stenberg (17 Nov 2011) 12- FindWin32CACert: return OK even if CA cert isn't found 13 14Version 7.23.1 (17 Nov 2011) 15 16 17Version 7.23.1 (17 Nov 2011) 18 Bug: http://curl.haxx.se/mail/lib-2011-11/0180.html 19 20Version 7.23.1 (17 Nov 2011) 21 Reported by: Mark Brand 22 23Dan Fandrich (16 Nov 2011) 24- curl has been built on many Android versions 25 26Daniel Stenberg (15 Nov 2011) 27- 7.24.0: start the work 28 29- THANKS: added 18 new contributors from 7.23.0 30 31Version 7.23.0 (14 Nov 2011) 32 33Dan Fandrich (14 Nov 2011) 34- curl_easy_setopt arguments should be of type long in the examples 35 36Daniel Stenberg (12 Nov 2011) 37- RELEASE-NOTES: synced with 10120e6a 38 39 one more bug fix and contributor 40 41- progress_cb: avoid buffer overflow 42 43 The progress bar output function would blindly use the terminal width 44 without bounds checking. When using a very wide terminal that caused a 45 buffer overflow and segfault. 46 47 We now limit the max bar with to 255 columns, and I simplified the code 48 to avoid an extra snprintf and buffer. 49 50 Bug: http://curl.haxx.se/bug/view.cgi?id=3435710 51 Reported by: Alexey Zakhlestin 52 53Yang Tse (11 Nov 2011) 54- Active mode FTP test cases with server not establishing data connection 55 56 591 -> FTP multi PORT and 425 on upload 57 592 -> FTP multi PORT and 421 on upload 58 593 -> FTP multi PORT upload, no data conn and no transient neg. reply 59 594 -> FTP multi PORT upload, no data conn and no positive prelim. reply 60 61 1206 -> FTP PORT and 425 on download 62 1207 -> FTP PORT and 421 on download 63 1208 -> FTP PORT download, no data conn and no transient negative reply 64 1209 -> FTP PORT download, no data conn and no positive preliminary reply 65 66Guenter Knauf (8 Nov 2011) 67- Fix to skip untrusted certs. 68 69Daniel Stenberg (6 Nov 2011) 70- RELEASE-NOTES: synced with e3166df1bb3 71 72 4 new bugfixes, 2 more contributors 73 74- ftp PORT: don't hang if bind() fails 75 76 When the user requests PORT with a specific port or port range, the code 77 could lock up in an endless loop. There's now an extra conditional that 78 makes sure to special treat the error and try the local address only 79 once so a second failure will abort the loop correctly. 80 81 Bug: http://curl.haxx.se/bug/view.cgi?id=3433968 82 Reported by: Gokhan Sengun 83 84- pingpong: change two comments wrongly referring "FTP" 85 86 Just a sign of where the code originally was ripped out from. Now it is 87 generic "pingpong". 88 89- test 590: verify the bug fix in 4851dafcf1 90 91 This test is created to verify Rene Bernhardt's patch which makes sure 92 libcurl properly _not_ deals with Negotiate if not asked to even if the 93 proxy says it can serve it. 94 95- [Rene Bernhardt brought this change] 96 97 HTTP auth: fix proxy Negotiate bug 98 99 If a proxy offers several Authentication schemes where NTLM and 100 Negotiate are offered by the proxy and you tell libcurl not to use the 101 Negotiate scheme then the request never returns when the proxy answers 102 with its HTTP 407 reply. 103 104 It is reproducible by the following steps: 105 106 - Use a proxy that offers NTLM and Negotiate ( CURLOPT_PROXY and 107 CURLOPT_PROXYPORT ) 108 109 - Tell libcurl NOT to use Negotiate CURL_EASY_SETOPT(CURLOPT_PROXYAUTH, 110 CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_NTLM ) 111 112 - Start the request 113 114 The call to CURL_EASY_PERFORM never returns. If you switch on debug 115 logging you can see that libcurl issues a new request As soon as it 116 received the 407 reply. Instead it should return and set the response 117 code to 407. 118 119 Bug: http://curl.haxx.se/mail/lib-2011-10/0323.html 120 121Yang Tse (4 Nov 2011) 122- ssluse.c: fix calling of OpenSSL's ERR_remove_state(0) 123 124 Move calling of ERR_remove_state(0) a.k.a ERR_remove_thread_state(NULL) 125 from Curl_ossl_close_all() to Curl_ossl_cleanup(). 126 127 In this way ERR_remove_state(0) is now only called in libcurl by 128 curl_global_cleanup(). Previously it would get called by functions 129 curl_easy_cleanup(), curl_multi_cleanup and potentially each time a 130 connection was removed from a connection cache leading to premature 131 destruction of OpenSSL's thread local state hash. 132 133 Multi-threaded apps using OpenSSL enabled libcurl should still call 134 function ERR_remove_state(0) or ERR_remove_thread_state(NULL) at the 135 very end end of threads that do not call curl_global_cleanup(). 136 137- tool_cb_wrt.c: disambiguate warning message 138 139- tool_cfgable.c: pending check done 140 141- url.c and file.c: fix OOM triggered segfault 142 143Daniel Stenberg (3 Nov 2011) 144- rename ftp_ssl: the struct field is used for many protocols 145 146 Now called 'use_ssl' instead, which better matches the current CURLOPT 147 name and since the option is used for all pingpong protocols (at least) 148 it makes sense to not use 'ftp' in the name. 149 150Yang Tse (2 Nov 2011) 151- [Daniel Stenberg brought this change] 152 153 gtls_connect_step1: remove use of deprecated functions 154 155 Use gnutls_priority_set_direct() instead of gnutls_protocol_set_priority(). 156 157 Remove the gnutls_certificate_type_set_priority() use since x509 is the 158 default certificate type anyway. 159 160 Reported by: Vincent Torri 161 162- url.c and transfer.c: nullify connection pointer when free()'ed 163 164- FTP test server: NODATACONN commands follow-up 165 166 Make NODATACONN425 and NODATACONN421 return a 150 positive preliminary reply 167 before 425 or 421. 168 169 New NODATACONN150 returns 150 without further positive nor negative reply 170 171 Now NODATACONN doesn't reply anything at all. 172 173- multi.c: OOM handling fix 174 175- FTP test server: NODATACONN commands follow-up 176 177 Make NODATACONN custom commands apply to both active and passive FTP, 178 and ensure 425 and 421 are not returned unless data channel usage is 179 attempted. 180 181- tool_cb_see.h: fix compiler warning 182 183- setup.h: fix compiler warning 184 185- FTP test server: NODATACONN commands commit c761fcb0 follow-up 186 187 Adjustments that make NODATACONN custom commands fully usable. 188 189Daniel Stenberg (30 Oct 2011) 190- [Dave Reisner brought this change] 191 192 doc/curl.1: fix sentence with ending for -# option 193 194 Try to be a little more descriptive about the effect of this flag, 195 rather than parroting what was said in the paragraph just above. 196 197Yang Tse (30 Oct 2011) 198- FTP test server: fix server unresponsiveness 199 200 Some torture tests left FTP test server in an unresponsive state, resulting 201 in torture tests that actually completed following unexpected code paths. 202 203 Changes in this commit solely address this issue and some adjustments for 204 ftpserver.pl logging relative to data channel establishment and tear down. 205 Pending NODATACONN relative adjustments reserved for a further commit. 206 207- runtests.pl: running server checks - commit 4464583a follow-up 208 209 Ensure verification takes place with no server commands file. 210 Ignore verbose setting for running server precheck. 211 Tweak unresponsive server message, to allow detection by haxx.se scripts. 212 213- gtls.c: gnutls_transport_set_global_errno() deprecated in version 2.12.3 214 215- runtests.pl: running server checks - commit 3676ec96 follow-up 216 217 Fix called sub when checking TFTP server, and adjust message. 218 219- runtests.pl: running server checks - commit 4464583a follow-up 220 221 Extended server checks to others in addition to pingpong when torture testing. 222 223- lib589.c: add CURLOPT_READDATA missing stuff 224 225- ftpserver.pl: three new custom FTP server commands to disable data channel 226 227 NODATACONN421: applies only to active FTP mode, instructs server to not 228 establish data connection back to client and reply with FTP 421. 229 230 NODATACONN425: applies only to active FTP mode, instructs server to not 231 establish data connection back to client and reply with FTP 425. 232 233 NODATACONN: applies to both active and passive FTP modes, instructs server 234 to not establish nor accept a data channel and fool client into believing 235 that the data channel connection is possible. 236 237 Some polishing probably required. 238 239- multi.c: OOM handling fix 240 241 Fix curl_multi_cleanup() segfault when using weird cleanup sequence. 242 243Daniel Stenberg (27 Oct 2011) 244- multi: start ftp state machine when switching to DO_MORE 245 246 This extends the fix from commit d7934b8bd491 247 248 When the multi state is changed within the multi_runsingle from DOING to 249 DO_MORE, we didn't immediately start the FTP state machine again. That 250 then left the FTP state in FTP_STOP. When curl_multi_fdset() was 251 subsequently called, the ftp_domore_getsock() function would return the 252 wrong fd info. 253 254 Reported by: Gokhan Sengun 255 256- libcurl-multi.3: update the list of areas still blocking 257 258Yang Tse (26 Oct 2011) 259- test 589: active FTP upload using multi timeout and EPRT disabled server 260 261- multi tests: OOM handling fixes - commit 629d2e34 follow-up 262 263Patrick Monnerat (26 Oct 2011) 264- - Prepare the ILE/RPG binding and OS400 documentation for the upcoming release 265 266Daniel Stenberg (25 Oct 2011) 267- RELEASE-NOTES: synced with 4464583a6ed 268 269 5 more bug fixes, 4 additional contributors 270 271Yang Tse (25 Oct 2011) 272- runtests.pl: running server checks 273 274 When running torture tests, verify before each test case that required 275 pingpong servers which are supposed to be alive are actually responsive. 276 If found not responsive then restart them. 277 278Daniel Stenberg (24 Oct 2011) 279- dist: add test 587 280 281 I created test 587 in commit 840eff44f2b but forgot to add the file to 282 the tarball. Added now. 283 284- test 588: verify active FTP with multi interface without EPRT 285 286 This is using the verbatim 525 test code but it disables EPRT in the 287 server and this should work just as well anyway. 288 289- FTP server: allow EPRT by default 290 291 EPRT is now supported by default by the server. To disable it, use the 292 generic REPLY instruction in the <servercmd> tag. Test 116 now has it 293 disabled. All other existing active FTP port tests strip out the port 294 commands from the logs already so the change of the server isn't that 295 noticable. 296 297Yang Tse (24 Oct 2011) 298- ftp.c: some OOM handling fixes 299 300- ftpserver.pl: ensure integral number usage for passive mode string 301 302Daniel Stenberg (24 Oct 2011) 303- large headers: have curl accept >16K headers 304 305 As commit 5850cc4808ab clarifies, libcurl can deliver header lines that 306 are longer than CURL_MAX_WRITE_SIZE, only body data is limited to that 307 size. The curl tool has check (when built debug-enabled) that made the 308 wrong checks and this new test 1205 verifies that larger headers work. 309 310- curl_easy_setopt.3: headers can be CURL_MAX_HTTP_HEADER bytes 311 312 Mention this maximum header size for the header callback cases 313 314- Merge pull request #25 from trtom/master 315 316 make sure the static build uses the static build option! 317 318- curl_easy_setopt.3: fix typo 319 320 shoot, Dan Fandrich already had this pointed out... 321 322- [Steve Holme brought this change] 323 324 curl_easy_setopt: Added pop3 to CURLOPT_URL. 325 326 Added pop3 username and password example as well as an explanation of 327 how path part of the URL is used under pop3. 328 329 Additionally have corrected a couple of typos. 330 331Yang Tse (22 Oct 2011) 332- tool_operate.c: OOM handling fix 333 334 Move curl_easy_perform source code geneartion out of curl_easy_perform's loop 335 for proper OOM handling and source code geneartion. 336 337Daniel Stenberg (21 Oct 2011) 338- curl_multi_fdset: correct fdset with FTP PORT use 339 340 After a PORT has been issued, and the multi handle would switch to the 341 CURLM_STATE_DO_MORE state (which is unique for FTP), libcurl would 342 return the wrong fdset to wait for when curl_multi_fdset() is 343 called. The code would blindly assume that it was waiting for a connect 344 of the second connection, while that isn't true immediately after the 345 PORT command. 346 347 Also, the function multi.c:domore_getsock() was highly FTP-centric and 348 therefore ugly to keep in protocol-agnostic code. I solved this problem 349 by introducing a new function pointer in the Curl_handler struct called 350 domore_getsock() which is only called during the DOMORE state for 351 protocols that set that pointer. 352 353 The new ftp.c:ftp_domore_getsock() function now returns fdset info about 354 the control connection's command/response handling while such a state is 355 in use, and goes over to waiting for a writable second connection first 356 once the commands are done. 357 358 The original problem could be seen by running test 525 and checking the 359 time stamps in the FTP server log. I can verify that this fix at least 360 fixes this problem. 361 362 Bug: http://curl.haxx.se/mail/lib-2011-10/0250.html 363 Reported by: Gokhan Sengun 364 365Dan Fandrich (21 Oct 2011) 366- Added some missing test case XML tags and keywords 367 368Yang Tse (21 Oct 2011) 369- file.c: OOM handling fix 370 371 file_disconnect() free's resources for multi API 372 373- multi.c: fix segfault 374 375- runtests.pl: fix printing of multivalued error codes 376 377- multi tests: OOM handling fixes 378 379 Additionally, improved error checking and logging. 380 381Dan Fandrich (20 Oct 2011) 382- Fixed compilation when HTTP or cookies are disabled 383 384Daniel Stenberg (20 Oct 2011) 385- KNOWN_BUGS: #74 fixed 386 387 Multiple auths in the same WWW-Authenticate header 388 389 Fixed in commit 7d81e3f7193b8c 390 391- Curl_http_input_auth: handle multiple auths in WWW-Authenticate 392 393 The fix is pretty much the one Nick Zitzmann provided, just edited to do 394 the right indent levels and with test case 1204 added to verify the fix. 395 396 Bug: http://curl.haxx.se/mail/lib-2011-10/0190.html 397 Reported by: Nick Zitzmann 398 399- Curl_smtp_escape_eob: first byte is index 0... 400 401 Fix a bug with with commit 2621dd42a4d that happened due to my last 402 second pre-commit cleanup of the change without proper testing 403 afterwards! 404 405- CURLM_CALL_MULTI_PERFORM: remove mention 406 407 This return code has not been used since 7.20.0 so we can stop 408 mentioning it for current libcurl. 409 410Dan Fandrich (19 Oct 2011) 411- Silenced a compiler warning about an unused variable 412 413Daniel Stenberg (20 Oct 2011) 414- [Tim Harder brought this change] 415 416 gtls: only call gnutls_transport_set_lowat with <gnutls-2.12.0 417 418 The default lowat level for gnutls-2.12* is set to zero to avoid 419 unnecessary system calls and the gnutls_transport_set_lowat function has 420 been totally removed in >=gnutls-3 which causes build failures. 421 422 Therefore, the function shouldn't be used except for versions that 423 require it, <gnutls-2.12.0. 424 425- Curl_smtp_escape_eob: fix EOB escaping 426 427 As the EOB string can come byte by byte over a series of writes we must 428 match byte-wise. 429 430 Bug: http://curl.haxx.se/mail/lib-2011-10/0172.html 431 432- RELEASE-NOTES: synced with ecbb08cea3cd6 433 434- singleipconnect: unstick the ipv6-connection boolean 435 436 Previously the bit was set before the connection was found working so if 437 it would first fail to an ipv6 address and then connect fine to a IPv4 438 address the variable would still be TRUE. 439 440 Reported by: Thomas L. Shinnick 441 Bug: http://curl.haxx.se/bug/view.cgi?id=3421912 442 443Kamil Dudka (17 Oct 2011) 444- nss: avoid a SIGSEGV with immature version of NSS 445 446 Bug: https://bugzilla.redhat.com/733685 447 448- nss: big cleanup in nss_load_cert() and cert_stuff() 449 450- nss: refactor fmt_nickname() -> dup_nickname() 451 452 Do not use artificial nicknames for certificates from files. 453 454- nss: select client certificates by DER 455 456 ... instead of nicknames, which are not unique. 457 458Daniel Stenberg (17 Oct 2011) 459- --epsv: fix typo 460 461 Reported by: Thomas L. Shinnick 462 463- --show-error: position indepdenent 464 465 Previously we required that -S/--show-error was used _after_ 466 -s/--silent. This was slightly confusing since we strive to make 467 arguments as position independent as possible. 468 469 Now, you can use them in any order and the result should still be the 470 same. 471 472 Bug: http://curl.haxx.se/bug/view.cgi?id=3424286 473 Reported by: Andreas Olsson 474 475- curl_multi_fdset: clarify the max_fd == -1 case 476 477 Elaborate what max_fd == -1 means 478 479 Remove the reference to CURLM_CALL_MULTI_PERFORM as modern libcurl 480 versions don't ever return that. 481 482- formdata: ack read callback abort 483 484 When doing a multipart formpost with a read callback, and that callback 485 returns CURL_READFUNC_ABORT, that return code must be properly 486 propagated back and handled accordingly. Previously it would be handled 487 as a zero byte read which would cause a hang! 488 489 Added test case 587 to verify. It uses the lib554.c source code with a 490 small ifdef. 491 492 Reported by: Anton Bychkov 493 Bug: http://curl.haxx.se/mail/lib-2011-10/0097.html 494 495- TODO: have form functions use CURL handle argument 496 497- [Dave Reisner brought this change] 498 499 typecheck: allow NULL to unset CURLOPT_ERRORBUFFER 500 501 There might be situations where a user would want to unset this option. 502 Avoid forcing him/her to cast the NULL argument to (char *) in order to 503 get past the compile time typecheck. 504 505- singleipconnect: don't clobber errno 506 507 Save the errno value immediately after a connect() failure so that it 508 won't get reset to something else before we read it. 509 510 Bug: http://curl.haxx.se/mail/lib-2011-10/0066.html 511 Reported by: Frank Van Uffelen and Fabian Hiernaux 512 513- [Michal Marek brought this change] 514 515 docs: --xattr 516 517Yang Tse (14 Oct 2011) 518- file.c: fix compiler warning 519 520- url.c: fix endless loop upon transport connection timeout 521 522 Jerry Wu detected and provided detailed info about this issue. 523 524- sws.c: HTTP and GOPHER test server-side connection closing adjustment 525 526 When, for a given test, server is instructed to close connection after 527 server reply we now wait a very small amount of time (50ms) before doing 528 so. This is done to allow client to, at least partially, read server 529 reply before getting an ECONNRESET. 530 531 The above is required to make test cases 1070, 1200, 1201 and 1202 pass 532 with Cygwin 1.5.X on W2K. 533 534 GOPHER test server closes connection after _every_ server-reply, as such, 535 at some point it could require a bigger time or using shutdown() before 536 a server-side initiated disconnection. 537 538- curl_gethostname.c: fix signed/unsigned comparison and avoid a double copy 539 540 both introduced in 42be24af 541 542- curl_ntlm_msgs.c: fix variable shadowing declaration introduced in 185ed340 543 544- [Marcin Adamski brought this change] 545 546 tftp.c: TFTP timeout and unexpected block adjustments 547 548 Set ACK timeout to 5 seconds. 549 550 If we are waiting for block X and receive block Y that is the expected one, we 551 should send ACK and increase X (which is already implemented). Otherwise drop 552 the packet and don't increase retry counter. 553 554- multi.c: OOM handling fixes 555 556 Prevent modification of easy handle being added with curl_multi_add_handle() 557 unless this function actually suceeds. 558 559 Run Curl_posttransfer() to allow restoring of SIGPIPE handler when 560 Curl_connect() fails early in multi_runsingle(). 561 562- url.c: make line shorter than 80 chars 563 564- OOM handling/cleanup slight adjustments 565 566- OOM handling/cleanup slight adjustments 567 568- lib540.c: OOM handling fixes making test 540 pass torture testing 569 570Dan Fandrich (8 Oct 2011) 571- RELEASE-NOTES: Fixed a couple of typos 572 573Yang Tse (8 Oct 2011) 574- telnet.c: fix compiler warning 575 576- libcurl: some OOM handling fixes 577 578- multi.c: OOM handling fixes making torture tests 560 580 581 pass 579 580- test harness: non-stunnel https server integration overhaul 581 582- curl tool: reviewed code moved to tool_*.[ch] files 583 584- buildconf: warn about autoconf 2.67 and 2.68 generating bad/unusable scripts 585 586- curl tool: fix compiler warning 587 588- curl tool: OOM handling fixes 589 590- curl tool: reviewed code moved to tool_*.[ch] files 591 592- curl tool: OOM handling fixes 593 594- curl tool: OOM handling fixes 595 596- curl tool: OOM handling fixes 597 598- curl tool: header inclusion adjustment 599 600- curl tool: symbol check adjustment 601 602- curl tool: header inclusion adjustment 603 604- curl tool: code moved to tool_*.[ch] files 605 606Daniel Stenberg (4 Oct 2011) 607- curl_share_cleanup: avoid compiler warning 608 609 Move the variable declaration to within the #ifdef 610 611- struct Curl_share: provide sslsession unconditionally 612 613 It makes much nicer and less convuluted code everywhere if this struct 614 member is always present even when libcurl is built without SSL support. 615 616 This reverts parts of commit 15e3e451702396e 617 618- ftp: improved the failed PORT host name resolved error message 619 620- codepolicing 621 622- sspi build fix 623 624 define away Curl_ntlm_sspi_cleanup() when no windows SSPI build 625 626- [Steve Holme brought this change] 627 628 smtp: Added support for NTLM authentication 629 630 Modified smtp_endofresp() to detect NTLM from the server specified list 631 of supported authentication mechanisms. 632 633 Modified smtp_authenticate() to start the sending of the NTLM data. 634 635 Added smtp_auth_ntlm_type1_message() which creates a NTLM type-1 636 message. This function is used by authenticate() to start the sending 637 of data and by smtp_state_auth_ntlm_resp() when the AUTH command 638 doesn't contain the type-1 message as part of the initial response. 639 This lack of initial response can happen if an OOM error occurs or the 640 type-1 message is longer than 504 characters. As the main AUTH command 641 is limited to 512 character the data has to be transmitted in two 642 parts; one containing the AUTH NTLM and the second containing the 643 type-1 message. 644 645 Added smtp_state_auth_ntlm_type2msg_resp() which handles the incoming 646 type-2 message and sends an outgoing type-3 message. This type-2 647 message is sent by the server in response to our type-1 message. 648 649 Modified smtp_state_auth_resp() to handle the response to: the AUTH 650 NTLM without the initial response and the type-2 response. 651 652 Modified smtp_disconnect() to cleanup the NTLM SSPI stack. 653 654- [Steve Holme brought this change] 655 656 Curl_ntlm_create_typeX_message: Added the outlen parameter 657 658 Added the output message length as a parameter to both 659 Curl_ntlm_create_type1_message() and Curl_ntlm_create_type3_message() 660 for use by future functions that require it. 661 662 Updated curl_ntlm.c to cater for the extra parameter on these two 663 functions. 664 665- [Steve Holme brought this change] 666 667 smtp: General tidy up ready for adding NTLM support 668 669 Changed the name of variable l, in several functions, which represents 670 the length of strings being sent to the server, to len which is more 671 meaningful and consistent with other code in smtp.c and elsewhere. 672 673 Reworked smtp_authenticate() to be simpler and easier to follow. 674 Variables and now initialised in their definitions and if no username 675 and password are specified the function sets the state to SMTP_STOP and 676 returns immediately, rather than being part of a huge if statement. 677 678Yang Tse (3 Oct 2011) 679- curl tool: reviewed code moved to tool_*.[ch] files 680 681Daniel Stenberg (3 Oct 2011) 682- [Steve Holme brought this change] 683 684 smtp_mail: fixed another memory leak 685 686 ... introduced in 7f304ab84f560c 687 688- [Dominique Leuenberger brought this change] 689 690 m4: Use x in order to avoid variable 'x' set but not used [-Werror=unused-but-set-variable] 691 692 This error could be caused by configure scripts being run with -Werror 693 -Wall, which would lead to libcurl being detected as unusable. 694 695- share: don't use SSL unless enabled 696 697 Don't even declare the struct members for disabled features 698 699 Introducing the CURLSHE_NOT_BUILT_IN return code for the share interface 700 when trying to set a sharing option that has been disabled (or not 701 enabled) in the library. 702 703- multi: progress function abort must close connection 704 705 When the progress function returns to cancel the request, we must mark 706 the connection to get closed and it must do to the DONE state. 707 708 do_init() must be called as early as possible so that state variables 709 for new connections are reset early. We could otherwise see that the old 710 values were still there when a connection was to be disconnected very 711 early and it would make it behave wrongly. 712 713 Bug: http://curl.haxx.se/mail/lib-2011-10/0006.html 714 Reported by: Vladimir Grishchenko 715 716- tutorial: clarify the handle sharing when treaded 717 718 Previously there was wording that made people uncertain of the exact 719 rules. 720 721 Feedback by: Julien Royer and Georg Lippitsch 722 URL: http://curl.haxx.se/mail/lib-2011-09/0357.html 723 724- multi_runsingle: change state on callback abort 725 726 Reported by: Marcin Adamski 727 Bug: http://curl.haxx.se/mail/lib-2011-09/0329.html 728 729Yang Tse (30 Sep 2011) 730- curl tool: fix some more OOM handling 731 732- Fix SSL disabled builds broken with 'SSL session sharing' commit 5793bc37 733 734Daniel Stenberg (29 Sep 2011) 735- smtp_mail: fix memory leak 736 737 ... introduced in 7f304ab84f560c 738 739- [Steve Holme brought this change] 740 741 smtp_mail: Added support to MAIL FROM for the optional SIZE parameter 742 743 The size of the email can now be set via CURLOPT_INFILESIZE. This 744 allows the email to be rejected by the server, if supported, and the 745 maximum size has been configured on the server. 746 747- curlverh.h: next release will be 7.23.0 748 749- RELEASE-NOTES: synced with 5898a6a09b211fc7e2 750 751 Bumped next release version to become 7.23.0 for the changes 752 753Dan Fandrich (28 Sep 2011) 754- curl_easy_setopt: Added scp and sftp to the URL section 755 756Daniel Stenberg (28 Sep 2011) 757- [Steve Holme brought this change] 758 759 curl_easy_setopt: A brief tidy up 760 761 Slight rewording of the CURLOPT_URL SMTP sub-section. 762 763 Corrected the incorrect use of hyphens on the three uses of 764 "zero-terminated" with "zero terminated" to match the rest of the 765 document. 766 767 Corrected the use of an out of place hyphen in CURLOPT_NOPROXY section. 768 769- configure openssl version check: handle lack of L suffix 770 771 It seems some versions of the OpenSSL version defines don't come with L 772 appended to the number, so let's deal with that nicely. 773 774- [Alejandro Alvarez brought this change] 775 776 SSL session sharing support added 777 778 With locking, plus test, plus documentation 779 780Yang Tse (28 Sep 2011) 781- curl tool: adjust header callback single call write limit warning 782 783 Maximum amount of data a header callback is supposed to get in 784 a single call from libcurl is limited by the lowest value of 785 CURL_MAX_WRITE_SIZE and CURL_MAX_HTTP_HEADER. 786 787Daniel Stenberg (28 Sep 2011) 788- multi docs: extended the multi_socket API description 789 790- tests/README: extended and reformatted 791 792Yang Tse (27 Sep 2011) 793- [Albert Chin brought this change] 794 795 configure - m4: make CURL_CHECK_DEF ignore leading whitespace on symbol def 796 797 When using Sun C compiler the preprocessor somehow inserts an extra space 798 in front of replaced symbol, breaking CURL_CHECK_DEF macro. To workaround 799 this, macro CURL_CHECK_DEF now ignores all leading whitespace in front of 800 symbol substitution result. 801 802Guenter Knauf (27 Sep 2011) 803- Added SPNEGO to NetWare build. 804 805Yang Tse (26 Sep 2011) 806- curl tool: fix a compiler warning 807 808- curl tool: fix some OOM handling - f4853db5 follow-up 809 810- curl tool: fix some OOM handling 811 812- remove short-lived CURL_WRITEFUNC_OUT_OF_MEMORY 813 814Guenter Knauf (26 Sep 2011) 815- Added unsigned char* to _curl_is_debug_cb. 816 817Daniel Stenberg (26 Sep 2011) 818- [Steve Holme brought this change] 819 820 smtp_connect: use defined buffer length for hostname 821 822- [Steve Holme brought this change] 823 824 Curl_ntlm_create_type3_message: Tidied up the use of Curl_gethostname. 825 826 Removed the code that striped off the domain name when Curl_gethostname 827 returned the fully qualified domain name as the function has been 828 updated to return the un-qualified host name. 829 830 Replaced the use of HOSTNAME_MAX as the size of the buffer in the call 831 to Curl_gethostname with sizeof(host) as this is safer should the buffer 832 size ever be changed. 833 834- [Steve Holme brought this change] 835 836 HOSTNAME_MAX: Moved to curl_gethostname.h 837 838 Moved HOSTNAME_MAX #define into curl_gethostname.h rather than being 839 locally defined in curl_gethostname.c, curl_ntlm_msgs.c and smtp.c. 840 841- RELEASE-NOTES: synced with d2a47021c0a6 842 843Yang Tse (25 Sep 2011) 844- Q&D fix header inclusion order 845 846- allow write callbacks to indicate OOM to libcurl 847 848 Allow (*curl_write_callback) write callbacks to return 849 CURL_WRITEFUNC_OUT_OF_MEMORY to properly indicate libcurl of OOM conditions 850 inside the callback itself. 851 852Guenter Knauf (25 Sep 2011) 853- Changed some main makefile targets. 854 855Daniel Stenberg (25 Sep 2011) 856- curl_multi_fdset: avoid FD_SET out of bounds 857 858 If a socket is larger than FD_SETSIZE, avoid using FD_SET() on the 859 platforms where this is possible. 860 861 Bug: http://curl.haxx.se/bug/view.cgi?id=3413274 862 Reported by: Tim Starling 863 864Guenter Knauf (25 Sep 2011) 865- Fixed MinGW examples makefile. 866 867- NetWare makefile tweaks to select different builds. 868 869Daniel Stenberg (25 Sep 2011) 870- POST: always set postfieldsize 871 872 When we use binary posts and regular ones intermixed on a single command 873 line, we cannot do strlen() etc on the data to figure out the length 874 (when inserting '&' and more). We must therefore keep track of the post 875 data length. Then we also end up setting the libcurl option with the 876 known size, so that we don't risk that libcurl will do strlen() on the 877 data. 878 879 This has the minor side-effect that --libcurl source codes now always 880 will use CURLOPT_POSTFIELDSIZE but I don't consider that terribly 881 damaging. 882 883 Bug: http://curl.haxx.se/bug/view.cgi?id=3413181 884 Reported by: Taneli V�h�kangas 885 886Yang Tse (24 Sep 2011) 887- curl tool: fix a compiler warning 888 889- curl tool: reviewed code moved to tool_*.[ch] files 890 891Guenter Knauf (24 Sep 2011) 892- Added header to be included by dist script. 893 894 Probably the wrong place, but I dont know better. 895 896Yang Tse (24 Sep 2011) 897- curl tool: fix some OOM handling issues 898 899Daniel Stenberg (24 Sep 2011) 900- http header: allow Content-Length to be replaced 901 902 In some cases Content-Length: couldn't be replaced by an application 903 904 Also, indented some code properly 905 906Guenter Knauf (23 Sep 2011) 907- MinGW64 has this prototype already. 908 909- Fixed scanf format for WORD = unsigned short. 910 911- Added Win32-only samples. 912 913- Added a workaround for printing size_t. 914 915Daniel Stenberg (22 Sep 2011) 916- Curl_pgrsStartNow: keep HEADERS_OUT set 917 918 To avoid that the progress meter headers get output between each 919 transfer, make sure the bits gets kept when (re-)inited. 920 921 Reported by: Christopher Stone 922 923Yang Tse (22 Sep 2011) 924- curl tool: fix some OOM handling issues 925 926- curl tool: reviewed code moved to tool_*.[ch] files 927 928 my_setopt and my_setopt_str no longer ignores curl_easy_setopt result. 929 930 Fixed some OOM handling issues. 931 932Guenter Knauf (22 Sep 2011) 933- Added NetWare examples makefile. 934 935Yang Tse (22 Sep 2011) 936- NTLM_WB: fix disabling of NTLM_WB when NTLM is disabled 937 938Daniel Stenberg (21 Sep 2011) 939- test 814: smtp without --mail-from 940 941 Verifies the fix from commit 322f3d5af7093 942 943- [Gisle Vanem brought this change] 944 945 smtp: without a MAIL_FROM, send blank MAIL FROM 946 947 I think curl should ignore this case and smtp.c should test for this. 948 Since RFC-2821 seems to allow a "null reverse-path". Ref. "MAIL 949 FROM:<>" in section 3.7, page 25. 950 951- [Dave Reisner brought this change] 952 953 lib/http: add missing whitespace in verbose output 954 955 Example: 956 * upload completely sent off: 35out of 35 bytes 957 958 Should be: 959 * upload completely sent off: 35 out of 35 bytes 960 961Guenter Knauf (21 Sep 2011) 962- Another MinGW example makefile tweak. 963 964- Fixed sample to compile for Windows platform. 965 966Yang Tse (21 Sep 2011) 967- curl tool: make my_setopt ignore curl_easy_setopt result again. 968 969 Related code not ready yet for this kind of checks. 970 971Guenter Knauf (21 Sep 2011) 972- Changed suffix rules to pattern rules. 973 974 Suffix rules cannot have any prerequisites of their own. 975 976- Added dependency so that curlbuild.h is created. 977 978- Some more MinGW build tweaks. 979 980 Added envvars to specify OpenSSL include, libpath and lib. 981 Added rule to create curlbuild.h from curlbuild.h.dist. 982 983Yang Tse (21 Sep 2011) 984- curl tool: reviewed code moved to tool_*.[ch] files 985 986 my_setopt and my_setopt_str no longer ignores curl_easy_setopt result. 987 988 Fixed some OOM handling issues. 989 990- curl tool: reviewed code moved to tool_*.[ch] files 991 992 Overhauled FindWin32CACert() 993 994Guenter Knauf (20 Sep 2011) 995- A bunch of MinGW build tweaks. 996 997 All paths to dependencies now quoted; synced examples makefile. 998 999- Changed Windows 64bit OS define to x86_64. 1000 1001 Also added check for __x86_64__ define since MinGW64 seems to define 1002 the _M_X64 macro through a header not available for config-win32.h. 1003 1004- Also skip certs masked as CKT_NSS_TRUST_UNKNOWN. 1005 1006 Fix posted by Tomas Hoger <thoger redhat com>. 1007 1008- Added _WIN32_WINNT define for IPv6 builds. 1009 1010Daniel Stenberg (20 Sep 2011) 1011- Curl_follow: handle redirects to "//hostname/path" 1012 1013Yang Tse (19 Sep 2011) 1014- curl tool: truly fix compiler warning 1015 1016- curl tool: fix compiler warning 1017 1018- curl tool: reviewed code moved to tool_*.[ch] files 1019 1020Daniel Stenberg (18 Sep 2011) 1021- CURLOPT_URL docs: no need to mention function names 1022 1023- [Steve Holme brought this change] 1024 1025 CURLOPT_URL: Expanded URL description 1026 1027 Expanded the section about CURLOPT_URL to include the format of the URL 1028 and detailed information and examples relating to specific protocols. 1029 1030- [Steve Holme brought this change] 1031 1032 Curl_gethostname: return un-qualified machine name 1033 1034 Fixed Curl_gethostname() so that it always returns the un-qualified 1035 machine name rather than being dependent on the socket provider. 1036 1037 Note: The return of getenv("CURL_GETHOSTNAME") is also parsed in case 1038 the developer / test harness provided a fully qualified domain name as 1039 it's value as well. 1040 1041Yang Tse (18 Sep 2011) 1042- curl tool: create tool_myfunc.[ch] which later on will hold my_* functions 1043 1044 Additionally function my_useragent() now provides default User-Agent string 1045 1046- curl tool: reorder free_config_fields() field handling 1047 1048 Reorder handling of fields to match same order as the one given by current 1049 definition order of 'Configurable' struct fields. Fields currently not handled 1050 marked for further inspection. 1051 1052Guenter Knauf (17 Sep 2011) 1053- Fixed MinGW WinIDN lib dependency. 1054 1055Yang Tse (17 Sep 2011) 1056- tool_convert.c: fix no newline at end of file 1057 1058- curl tool: add new files to Symbian's .mmp project file 1059 1060- curl tool: move 'Configurable' and free_config_fields() to tool_cfgable.[ch] 1061 1062 Reviewing fields being free'd in free_config_fields() still pending 1063 1064- src/setup.h: add conditional include of assert.h 1065 1066- curl tool: move so called 'multi_files' stuff into tool_mfiles.[ch] 1067 1068 Additionally some code reorganization and direct OOM handling fixes, 1069 just another step towards fixing curl tool issues uncovered 2011-09-15 1070 1071- curl tool: move convert_* functions into tool_convert.[ch] 1072 1073 Additionally fix data type of result vars for iconv() calls 1074 1075- main.c: convert GetStr() into a macro to ease leak debugging 1076 1077- main.c: de-obfuscate a couple for-loop exit conditions 1078 1079- curl tool: fix a bunch of double free's uncovered 2011-09-15 1080 1081 Re-enabling MemoryTracking capability on 'src' subdirectory files and torture 1082 tests have uncovered many issues which were going unnoticed in curl tool. So 1083 here we go fixing some of them. Others still remain and should be addressed 1084 ASAP, given that curl tool is used in our test harness also for test server 1085 start verification purposes. There are even non-socket file descriptor leaks. 1086 1087- Make Curl_safefree() macro assign NULL to given pointer when free'd 1088 1089- curl MSVC project files: adjust resource compiler include path 1090 1091- src/Makefile.vc6: adjust resource compiler include path 1092 1093- curl tool: re-enable MemoryTracking capability on 'src' subdirectory files. 1094 1095 Use same preprocessor logic for curl tool MemoryTracking activation in source 1096 files located in 'src' subdirectory as the one used for libcurl sources. 1097 1098- ftp.c: add a couple of failure messages 1099 1100Dan Fandrich (13 Sep 2011) 1101- [warp kawada brought this change] 1102 1103 Curl_add_custom_headers: support headers with no data 1104 1105 A custom HTTP header ending in a semicolon instead of a colon 1106 will be treated as a header to be added without any data 1107 portion. 1108 1109Daniel Stenberg (13 Sep 2011) 1110- progressfunc: a simple CURLOPT_PROGRESSFUNCTION example 1111 1112- 7.22.1: start working 1113 1114- THANKS: 16 new contributors from 7.22.0 1115 1116Version 7.22.0 (13 Sep 2011) 1117 1118Daniel Stenberg (13 Sep 2011) 1119- RELEASE-NOTES: ready for 7.22.0 1120 1121- codestyle: minor whitespace fix 1122 1123- [Jeff Pohlmeyer brought this change] 1124 1125 polarssl: build with PolarSSL-1.0.0 1126 1127 With this fix, it should work for PolarSSL-1.0.0 (and SVN-1091 trunk) 1128 and retain compatibility with earlier versions. (Tested with 0.14.1) 1129 1130 PolarSSL still doesn't play nicely with curl's CA bundle (we discussed 1131 this before) but I was at least able to retrieve the 1132 https://www.gmail.com/ login page using a modified ca-certificates.crt 1133 file with all 3 versions of PolarSSL. 1134 1135- BUGS: spellfixed, slightly reformatted for web looks 1136 1137 Reported by: Jeff Pohlmeyer 1138 1139Dan Fandrich (12 Sep 2011) 1140- Document NTLM winbind options (and caveats) 1141 1142Daniel Stenberg (12 Sep 2011) 1143- BUGS: renumbered to look better in the web version 1144 1145- BUGS: revamped bug report documentation 1146 1147Yang Tse (12 Sep 2011) 1148- Mention that BSD-style lwIP TCP/IP stack support on Windows is experimental. 1149 1150- ftp.c: fix socket leak torture tests detected 2011-08-30 1151 1152 Also fix inappropriate error handling when sending ftp EPRT or PORT commands. 1153 1154Daniel Stenberg (11 Sep 2011) 1155- TODO: remove 4 entries, add one new 1156 1157 Zero-copy and "Avoid having to remove/readd handles" are not really 1158 features we think are worthwhile to add. Removed. 1159 1160 SRP features have been added already, removed. 1161 1162 11.9 IPv6 addresses with globbing added 1163 1164- spell-checked comments 1165 1166- TODO-RELEASE: postpone the remainders 1167 1168 There's three pending bug fixes but there's no time left so let's 1169 try to get them fixed for next release... 1170 1171Guenter Knauf (11 Sep 2011) 1172- Updated makefiles to latest libssh2. 1173 1174Yang Tse (10 Sep 2011) 1175- urlglob.c: fix OOM handling 1176 1177- ftp.c: fix ftp active connects which got broken with commit fdf157abdf 1178 1179- runtests.pl: replace TAB with spaces 1180 1181- test harness: revert needless commit 0a5bbb2ac1 1182 1183 https, ftps and ssh servers allowed start up time back to previous values 1184 1185- ssh.c: revert needless commit 7b7c45879e 1186 1187Daniel Stenberg (9 Sep 2011) 1188- RELEASE-NOTES: synced with 303c90074d4c 1189 1190 Five more bugfixes, one more contributor 1191 1192- tcpnodelay: rename variable 1193 1194 Renamed the variable from 'proto' to 'level' simply because it is not 1195 protocol you set but level and that is the name of the argument used in 1196 man pages and the POSIX documentation of the setsockopt function. 1197 1198Guenter Knauf (8 Sep 2011) 1199- Avoid ftruncate() static define with MinGW64. 1200 1201Yang Tse (8 Sep 2011) 1202- libssh2: use calloc as alloc function for libssh2 versions older than 1.3 1203 1204 This workarounds old libssh2 versions not properly initializing 1205 some ssh session variables, which would trigger memory debuggers 1206 warnings on memory being used without having been initialized. 1207 1208Daniel Stenberg (8 Sep 2011) 1209- [Adriano Meirelles brought this change] 1210 1211 Curl_speedcheck: don't mistakenly clear Curl_expire() 1212 1213 The current version of speedcheck.c may disable timeout by setting zero 1214 to Curl_expire. Which is fine using the curl_multi_perform, because it 1215 recheck all timeout internals, but when using custom event poller (like 1216 hiperfifo.c) it may keep stalle connection forever. 1217 1218Yang Tse (8 Sep 2011) 1219- lib582.c: fix segfault triggered when torture testing test case 582 1220 1221Daniel Stenberg (7 Sep 2011) 1222- ftp_state_use_port: minor code indent fix 1223 1224- checksrc: detect "}else" uses as well 1225 1226- getinmemory.c: use better argument names for write callback 1227 1228Yang Tse (7 Sep 2011) 1229- ssh.c: fix memory leaks triggered upon OOM or other failures 1230 1231- test case 583: ensure that test failures don't go unnoticed - follow-up 1232 1233- test suite: libtest header inclusion cleanup - follow-up 1234 1235 Adjust tests/libtest/Makefile.inc and remove a couple of unused headers from 1236 tests/libtest/lib583.c 1237 1238- test case 583: ensure that test failures don't go unnoticed 1239 1240- test suite: libtest header inclusion cleanup 1241 1242 Added missing memoryTracking to test cases 560 and 583. If this triggers 1243 leak detection on these, it only means that previously it was going unnoticed. 1244 1245- fix bool variables checking and assignment 1246 1247- pingpong.c: avoid a memmove call in function Curl_pp_vsendf 1248 1249- fix bool variables checking and assignment 1250 1251- test suite: use test case specific netrc file names 1252 1253Guenter Knauf (4 Sep 2011) 1254- Fixed final message output. 1255 1256Daniel Stenberg (4 Sep 2011) 1257- TODO-RELEASE: deleteing five issues due to no response 1258 1259 No feedback and no updates, removing these issues 1260 1261Yang Tse (4 Sep 2011) 1262- setup_once.h cleanup and sync 1263 1264Guenter Knauf (4 Sep 2011) 1265- Fix to skip untrusted certs. 1266 1267- Added SPNEGO to MinGW makefiles. 1268 1269Yang Tse (4 Sep 2011) 1270- NTLM WB: fix file descriptor leak upon OOM condition 1271 1272- revert changes not intended to be pushed with commit 6b75d2c2 1273 1274- fix a bunch of MSVC compiler warnings 1275 1276Guenter Knauf (3 Sep 2011) 1277- Updated dependecies versions. 1278 1279- Some MinGW makefile tweaks for MinGW64. 1280 1281- Changed MinGW to use own winidn prototypes. 1282 1283Dan Fandrich (2 Sep 2011) 1284- Fix NTLM winbind support to pass the torture tests 1285 1286 Calling sclose() both in the child and the parent fools the 1287 socket leak detector into thinking it's been closed twice. 1288 Calling close() in the child instead overcomes this problem. It's 1289 not as portable as the sclose() macro, but this code is highly 1290 POSIX-specific, anyway. 1291 1292Yang Tse (2 Sep 2011) 1293- MemoryTracking: fix logging of free() calls done where Curl_safefree is called 1294 1295 Just internal stuff... 1296 1297 Curl_safefree is now a macro defined in memdebug.h instead of a function 1298 prototyped in url.h and implemented in url.c, so inclusion of url.h is no 1299 longer required in order to simply use Curl_safefree. 1300 1301 Provide definition of macro WHILE_FALSE in setup_once.h in order to allow 1302 other macros such as DEBUGF and DEBUGASSERT, and code using it, to compile 1303 without 'conditional expression is constant' warnings. 1304 1305 The WHILE_FALSE stuff fixes 150+ MSVC compiler warnings. 1306 1307- transfer.c: fix parentheses/braces placement for vi/emacs delimiter matching 1308 1309- transfer.c: fix loadhostpairs() OOM handling 1310 1311- test harness: https, ftps and ssh servers allowed start up time increased 33% 1312 1313- hostip.c: return immediately from Curl_resolv_timeout() upon expired timeout. 1314 1315 Ensure existing logic in Curl_resolv_timeout() is not subverted upon getting a 1316 negative timeout from resolve_server(). The timeout in resolve_server() could 1317 be checked to avoid calling Curl_resolv_timeout() with an expired timeout, but 1318 fixing this in this way allows existing logic in resolve_server() to be kept 1319 unchanged. 1320 1321- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up 1322 1323 follow-up for commit d20408e8 1324 1325- test harness: fix detection of test harness client knownhosts file 1326 1327 Regenerate curl's tests client knownhosts file also when, somehow, 1328 this file is empty. 1329 1330- test harness: fix detection of test harness host and client key files 1331 1332 Regenerate curl's tests host and client key files also when, somehow, 1333 any of these files are empty. 1334 1335- ssh.c: fix realloc() OOM handling 1336 1337- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up 1338 1339 follow-up for commit c06de200 1340 1341- fix some leaks torture tests detected 2011-08-30 1342 1343- fix some leaks torture tests detected 2011-08-30 1344 1345Daniel Stenberg (29 Aug 2011) 1346- RELEASE-NOTES: synced with 3445fa2e3f 1347 1348Kamil Dudka (29 Aug 2011) 1349- tests: break busy loops in tests 502, 555, and 573 1350 1351Yang Tse (29 Aug 2011) 1352- pingpong.c: fix Curl_pp_vsendf() arbitrary restrictions on command length 1353 1354 This removes command length restrictions on calling functions. 1355 1356- NTLM: header inclusion cleanup follow-up 1357 1358- NTLM: header inclusion cleanup 1359 1360- NTLM: END of refactoring/splitting/moving 1361 1362 First: 1363 1364 File curl_ntlm.h renamed curl_ntlm_msgs.h 1365 File curl_ntlm.c renamed curl_ntlm_msgs.c 1366 1367 Afterwards: 1368 1369 File http_ntlm.c renamed curl_ntlm.c 1370 File http_ntlm.h renamed curl_ntlm.h 1371 1372- NTLM: move NTLM core specifics into curl_ntlm_core.[ch] 1373 1374- NTLM_WB: move NTLM_WB specifics into curl_ntlm_wb.[ch] 1375 1376- NTLM_WB: final congruency naming adjustments 1377 1378 Configure script option --enable-wb-ntlm-auth renamed to --enable-ntlm-wb 1379 Configure script option --disable-wb-ntlm-auth renamed to --disable-ntlm-wb 1380 1381 Preprocessor symbol WINBIND_NTLM_AUTH_ENABLED renamed to NTLM_WB_ENABLED 1382 Preprocessor symbol WINBIND_NTLM_AUTH_FILE renamed to NTLM_WB_FILE 1383 1384 Test harness env var CURL_NTLM_AUTH renamed to CURL_NTLM_WB_FILE 1385 1386 Static function wb_ntlm_close renamed to ntlm_wb_cleanup 1387 Static function wb_ntlm_initiate renamed to ntlm_wb_init 1388 Static function wb_ntlm_response renamed to ntlm_wb_response 1389 1390- NTLM single-sign on adjustments (XI) 1391 1392 Feature string literal NTLM_SSO renamed to NTLM_WB. 1393 Preprocessor symbol USE_NTLM_SSO renamed to WINBIND_NTLM_AUTH_ENABLED. 1394 curl's 'long' option 'ntlm-sso' renamed to 'ntlm-wb'. 1395 Fix some comments to make clear that this is actually a NTLM delegation. 1396 1397Daniel Stenberg (26 Aug 2011) 1398- --cookie-jar: activates the cookie engine 1399 1400- Curl_read_plain: indent code 1401 1402Yang Tse (26 Aug 2011) 1403- NTLM single-sign on adjustments (X) 1404 1405 Functions renamed: 1406 1407 Curl_output_ntlm_sso -> Curl_output_ntlm_wb 1408 sso_ntlm_close -> wb_ntlm_close 1409 sso_ntlm_response -> wb_ntlm_response 1410 sso_ntlm_initiate -> wb_ntlm_initiate 1411 1412 Preprocessor symbols renamed: 1413 1414 CURLAUTH_NTLM_SSO -> CURLAUTH_NTLM_WB 1415 CURL_VERSION_NTLM_SSO -> CURL_VERSION_NTLM_WB 1416 1417Daniel Stenberg (25 Aug 2011) 1418- TODO: progress callback without doubles 1419 1420Yang Tse (25 Aug 2011) 1421- [Steve Holme brought this change] 1422 1423 http NTLM: refactoring followup 1424 1425 Output of Curl_ntlm_create_type1_message() and Curl_ntlm_create_type3_message() 1426 functions is now already base64 encoded. 1427 1428Kamil Dudka (24 Aug 2011) 1429- docs: the next release is going to be 7.22.0 1430 1431Yang Tse (24 Aug 2011) 1432- include limits.h for INT_MAX 1433 1434- add missing semicolons 1435 1436Daniel Stenberg (24 Aug 2011) 1437- add missing semicolons 1438 1439- safefree use: fix compiler warning 1440 1441 include the prototype header 1442 1443Yang Tse (24 Aug 2011) 1444- [Steve Holme brought this change] 1445 1446 SMTP authentication: fix ordering of preferred authentication method 1447 1448 Fixed the order of the preferred SMTP authentication method to: 1449 AUTH CRAM-MD5, AUTH LOGIN then AUTH PLAIN. 1450 1451 AUTH PLAIN should be the last as it slightly more insecure than AUTH LOGIN 1452 as the username and password are sent together - there is no handshaking 1453 between the client and server like there is with AUTH LOGIN. 1454 1455- base64: fix Curl_base64_encode and Curl_base64_decode interfaces 1456 1457 Previous interfaces for these libcurl internal functions did not allow to tell 1458 apart a legitimate zero size result from an error condition. These functions 1459 now return a CURLcode indicating function success or otherwise specific error. 1460 Output size is returned using a pointer argument. 1461 1462 All usage of these two functions, and others closely related, has been adapted 1463 to the new interfaces. Relative error and OOM handling adapted or added where 1464 missing. Unit test 1302 also adapted. 1465 1466Daniel Stenberg (23 Aug 2011) 1467- resolve.c: new example showing off CURLOPT_RESOLVE 1468 1469- externalsocket.c: new example 1470 1471Yang Tse (22 Aug 2011) 1472- [Steve Holme brought this change] 1473 1474 http NTLM: remaining bits from 0001-Moved-ntlm-[...]-curl_ntlm-mod_3.patch 1475 1476 * Added function comments: 1477 - Curl_ntlm_decode_type2_message 1478 - Curl_ntlm_create_type1_message 1479 - Curl_ntlm_create_type3_message 1480 1481 * Modification of ntlm processing state to NTLMSTATE_TYPE2 is now done 1482 only when Curl_ntlm_decode_type2_message() has fully succeeded. 1483 1484- runtests.pl: option -gw for single test windowed debugging (where possible) 1485 1486- zlib: ensure user provided memory functions are used by zlib, when given 1487 1488 As a bonus, this lets our MemoryTracking subsystem track zlib operations. 1489 And also fixes a shortcut some zlib 1.2.x versions took using malloc() 1490 instead of calloc(), which would trigger memory debuggers warnings on 1491 memory being used without having been initialized. 1492 1493Daniel Stenberg (21 Aug 2011) 1494- main: fix segfault 1495 1496 Follow-up to commit 5eb2396cd as that wasn't complete. 1497 1498 At times HEADERFUNCTION+HEADERDATA was set only to have only HEADERDATA 1499 set in the subsequent loop which could cause a NULL to get sent as 1500 userdata to 'header_callback' which wasn't made to handle that. 1501 1502 Now HEADERFUNCTION is explicitly set to NULL if it isn't set to the 1503 callback. 1504 1505Yang Tse (21 Aug 2011) 1506- MemoryTracking: adjust initialization calling - followup 1507 1508 Fix macro definition 1509 1510- MemoryTracking: adjust initialization calling 1511 1512 Calling of curl_memdebug() was still done with a pending free() 1513 1514Daniel Stenberg (19 Aug 2011) 1515- tcpconnect: follow-up commit after b998d95b 1516 1517 As I modified conn->bits.tcpconnect to become an array that holds one 1518 bool for each potential connection all uses of that struct field must 1519 index it correctly. 1520 1521Yang Tse (19 Aug 2011) 1522- ssh.c: add PATH_MAX definition for WIN32 1523 1524Daniel Stenberg (19 Aug 2011) 1525- connect: set TIMER_CONNECT 1526 1527 When connecting, make sure TIMER_CONNECT is set. 1528 1529- test573: fix the keywords 1530 1531- FTP: fix proxy connect race condition 1532 1533 When using the multi interface, a SOCKS proxy, and a connection that 1534 wouldn't immediately consider itself connected (which my Linux tests do 1535 by default), libcurl would be tricked into doing _two_ connects to the 1536 SOCKS proxy when it setup the data connection and then of course the 1537 second attempt would fail miserably and cause error. 1538 1539 This problem is a regression that was introduced by commit 1540 4a42e5cdaa344755 that was introduced in the 7.21.7 release. 1541 1542 Bug: http://curl.haxx.se/mail/lib-2011-08/0199.html 1543 Reported by: Fabian Keil 1544 1545- Curl_SOCKS4: minor code compression 1546 1547Yang Tse (18 Aug 2011) 1548- zlib: enforce full initialization of our data space z_stream structs 1549 1550Daniel Stenberg (17 Aug 2011) 1551- VC makefiles: fixed variable name mistake 1552 1553Yang Tse (17 Aug 2011) 1554- MemoryTracking: adjust curl_domalloc() and curl_dofree() memory filling 1555 1556 Until 2011-08-17 libcurl's Memory Tracking feature also performed 1557 automatic malloc and free filling operations using 0xA5 and 0x13 1558 values. Our own preinitialization of dynamically allocated memory 1559 might be useful when not using third party memory debuggers, but 1560 on the other hand this would fool memory debuggers into thinking 1561 that all dynamically allocated memory is properly initialized. 1562 1563 As a default setting, libcurl's Memory Tracking feature no longer 1564 performs preinitialization of dynamically allocated memory on its 1565 own. If you know what you are doing, and really want to retain old 1566 behavior, you can achieve this compiling with preprocessor symbols 1567 CURL_MT_MALLOC_FILL and CURL_MT_FREE_FILL defined with appropriate 1568 values. 1569 1570- MemoryTracking: make curl_docalloc() call calloc() avoiding our zero fill 1571 1572Daniel Stenberg (15 Aug 2011) 1573- MSVC makefiles: provide SSH build targets 1574 1575 "release-ssl-ssh2-zlib" and "debug-ssl-ssh2-zlib" are two new makefile 1576 targets that build libcurl with MSVC and link with libssh2 1577 1578 Bug: http://curl.haxx.se/bug/view.cgi?id=3388920 1579 Reported by: "kdekker" 1580 1581- test572: fixed 1582 1583 Two problems were fixed: 1584 1585 GET_PARAMETER responses that have no body must be 204 response or 1586 properly set length to 0. 1587 1588 One of the <data> sections had the wrong content-length for its 1589 GET_PARAMETER response. 1590 1591 Enabled test 572 again. 1592 1593- Curl_pgrsStartNow: clear all flags but HIDE 1594 1595 As bug 3385258 pointed out but I missed up the fix for. This is another 1596 take at a fix. 1597 1598 Bug: http://curl.haxx.se/bug/view.cgi?id=3392101 1599 Reported by: Wu Yongzheng 1600 1601Yang Tse (15 Aug 2011) 1602- unittests: disable unit tests for some autobuild configurations 1603 1604 IRIX 6.5.24 gcc 3.3 autobuilds fail unittests library compilation due to a 1605 problem related with OpenSSL headers and library versions not matching. 1606 1607 All AIX autobuilds fails unit tests linking against unittests library due to 1608 unittests library being built with no symbols or members. Libtool ? 1609 1610Kamil Dudka (15 Aug 2011) 1611- nss: start with no database if the selected database is broken 1612 1613 Bug: https://bugzilla.redhat.com/728562 1614 1615Yang Tse (15 Aug 2011) 1616- http NTLM: reinstate "nssg.h" "curl_sspi.h" header inclusions 1617 1618- tests: disable #572 1619 1620Daniel Stenberg (14 Aug 2011) 1621- TODO-RELEASE: synced 1622 1623 Added comments to some remaining issues 1624 1625- telnet: allow programatic use on Windows 1626 1627 Summary of the issue can be found at: 1628 http://curl.haxx.se/mail/lib-2010-04/0367.html 1629 1630 That patch only updated the unix sockets code - the winsock code was not 1631 updated and no longer works the same was as the unix code. This change 1632 updates the windows code accordingly. 1633 1634 Bug: http://curl.haxx.se/bug/view.cgi?id=3163118 1635 1636- TODO-RELEASE: fixed issue #291 1637 1638 291 - bug 3383692 "GET PARAMETER request and body in response" 1639 1640Yang Tse (14 Aug 2011) 1641- http NTLM: reinstate "memdebug.h" header inclusion 1642 1643 Inclusion of header "memdebug.h" in http_ntlm.c got lost in commit 98fb0ef7. 1644 1645Daniel Stenberg (14 Aug 2011) 1646- RTSP: GET_PARAMETER requests have a body 1647 1648 Bug: http://curl.haxx.se/bug/view.cgi?id=3383692 1649 1650- Curl_output_ntlm: remove unused variable 1651 1652Yang Tse (14 Aug 2011) 1653- http NTLM: add curl_ntlm.c to Symbian's libcurl.mmp 1654 1655- http NTLM: fix 8 compiler warnings 1656 1657 Strict splitting of http_ntlm.[ch] may trigger 8 compiler warnings when 1658 building with some compilers and strict compiler warnings enabled, depending 1659 on other specific configuration options some could get triggered or not. 1660 1661 Seven are related with 'unused function parameters' and another one with 1662 'var may be used before its value is set'. 1663 1664- http NTLM: split http_ntlm.[ch] between http_ntlm.[ch] and curl_ntlm.[ch] 1665 1666 For modularity purposes, huge chunks of NTLM existing code is transformed into 1667 functions to allow future internal code reuse. 1668 1669 Resulting three new libcurl private functions: 1670 1671 - Curl_ntlm_create_type1_message() 1672 - Curl_ntlm_create_type3_message() 1673 - Curl_ntlm_decode_type2_message() 1674 1675 Changing static ntlm_sspi_cleanup() into non-static Curl_ntlm_sspi_cleanup() 1676 1677 This 'refactoring' has been prepared by previous commits to allow that this 1678 specific one does not introduce any change to existing code. All existing 1679 goodness and badness previous to this commit should remain the same once it is 1680 applied, the only difference should be that existing code is moved into 1681 functions. 1682 1683 Given the quite big portions of code being moved around, and the importance of 1684 change traceability, this commit has been done in such a way that it is 1685 possible to perform a three-way diff from initial http_ntlm.[ch] to resulting 1686 http_ntlm.[ch] and curl_ntlm.[ch] to actually verify that no functional change 1687 is introduced here. 1688 1689 Notice that Steve Holme has provided several patches, but these included this 1690 refactoring along with 'extra' fixes. I really wanted this 'clean' refactoring 1691 done first, in order to allow discussion or committing of 'extra' fixes on a 1692 case by case basis, so, I had to bite the bullet ;-) 1693 1694 Comments, line adjustments, compiler warning fixes, whatever, may follow 1695 afterwards. 1696 1697- http_negotiate_sspi.c: fix compiler warning 1698 1699 warning C4706: assignment within conditional expression 1700 1701- http NTLM: change return type of Curl_input_ntlm() to CURLcode 1702 1703 Remove CURLntlm enum, no longer required. 1704 1705Daniel Stenberg (13 Aug 2011) 1706- RELEASE-NOTES: synced with a30ede868ab64 1707 1708 Three more bugs fixed, three more contributors mentioned 1709 1710- VC6 makefiles: added embedded documentation 1711 1712 Just a note about the fact that all VC[6/8/9/10] makefiles are generated 1713 from the VC6 one as source. 1714 1715- cmake: find winsock when building on windows 1716 1717 When building on Windows, with CMake and mingw, curl fails to compile 1718 because the CMake build system is not properly looking for the Winsock 1719 libraries 1720 1721 Patch by: Pau Garcia i Quiles 1722 Bug: http://curl.haxx.se/bug/view.cgi?id=3389231 1723 1724- Curl_retry_request: check return code! 1725 1726 Curl_readrewind() was called without checking its return code, which 1727 could lead to badness. 1728 1729 Bug: http://curl.haxx.se/bug/view.cgi?id=3349227 1730 1731- ignore rtsp 1732 1733Yang Tse (13 Aug 2011) 1734- http NTLM: update NTLM type-* message structure descriptions - followup 1735 1736Daniel Stenberg (12 Aug 2011) 1737- docs: --delegation 1738 1739- added --delegation 1740 1741 Using this option with an argument being set to one of 1742 none/policy/always instructs libcurl how to deal with GSS 1743 credentials. Or rather how it tells the server that delegation is fine 1744 or not. 1745 1746Yang Tse (12 Aug 2011) 1747- http NTLM: fix inclusion of curl_ntlm.h 1748 1749- http NTLM: update NTLM message structure notes 1750 1751- [Steve Holme brought this change] 1752 1753 http NTLM: move portions of http_ntlm.h into new curl_ntlm.h 1754 1755- http NTLM: more adjustments in preparation of code refactoring 1756 1757 Use preprocessor symbol NTLM_BUFSIZE to define private NTLM buffer fixed size. 1758 1759 Use a SessionHandle 'data' pointer variable to ease refactoring. 1760 1761 Update NTLM type-* message structure descriptions. 1762 1763 Fix some more spacing and typos (Steve Holme). 1764 1765Daniel Stenberg (11 Aug 2011) 1766- curl_easy_cleanup: clarify the callback situation 1767 1768Yang Tse (11 Aug 2011) 1769- http NTLM: fix compiler warning 1770 1771- [Steve Holme brought this change] 1772 1773 http NTLM: Tidied up more inconsistent spacing. 1774 1775 Moved NTLMSSP_SIGNATURE, HOSTNAME_MAX, SHORTPAIR and LONGQUARTET definitions in ready for move to curl_ntlm.c. 1776 1777 Used separate variables for Windows SSPI and native code to ease moving of code to curl_ntlm.c. 1778 1779 Fixed typographical erros where SPPI should be SSPI. 1780 1781 Fixed compilation warnings on 64-bit builds when calling Windows SSPI functions. 1782 1783Daniel Stenberg (10 Aug 2011) 1784- rtsp.c: converted to C 1785 1786 Trimmed the newlines to be LF-only. Converted the source to plain C, to 1787 use curl style indents, to compile warning-free with picky options and 1788 fixed the minor fprintf() bug on line 245. Added to makefile. 1789 1790- [Jim Hollinger brought this change] 1791 1792 rtsp.c: new example 1793 1794 Code from 1795 http://code.google.com/p/rtsprequest/source/browse/trunk/rtsprequest.cpp 1796 1797- TODO: remove curl_formpost in a future version 1798 1799 15.8 remove 'curl_httppost' from public 1800 1801Yang Tse (9 Aug 2011) 1802- http NTLM: Further tiding up to libcurl standards 1803 1804- [Steve Holme brought this change] 1805 1806 http NTLM: Tidied up http_ntlm prior to splitting the ntlm specific code 1807 1808Daniel Stenberg (9 Aug 2011) 1809- TODO-RELEASE: issue #289 is fixed 1810 1811 289 - bug 3349227 "secure attribute in cookie does not work with equals sign" 1812 1813- cookie parser: handle 'secure=' 1814 1815 There are two keywords in cookie headers that don't follow the regular 1816 name=value style: secure and httponly. Still we must support that they 1817 are written like 'secure=' and then treat them as if they were written 1818 'secure'. Test case 31 was much extended by Rob Ward to test this. 1819 1820 Bug: http://curl.haxx.se/bug/view.cgi?id=3349227 1821 Reported by: "gnombat" 1822 1823- curl.h: mark deprecated CURLOPT_ options on same line 1824 1825 This is to aid easier machine parsing and to make sure nobody who reads 1826 these header lines can miss the info. 1827 1828- RELEASE-NOTES: recounted and updated some numbers 1829 1830- proxy protocol docs: rephrased and updated 1831 1832- RELEASE-NOTES: synced with 45d883d88df7 1833 1834 Mention 5 bugixes and 1 change more 1835 1836- CURLFORM_BUFFER: insert filename as documented 1837 1838 A regression where CURLFORM_BUFFER stopped to properly insert the file 1839 name part in the formpart. Bug introduced in commit f851f768578dc096. 1840 1841 Added CURLFORM_BUFFER use to test 554 to verify this. 1842 1843 Bug: http://curl.haxx.se/mail/lib-2011-07/0176.html 1844 Reported by: Henry Ludemann 1845 1846Yang Tse (8 Aug 2011) 1847- curl-compilers.m4: serial number bump 1848 1849- curl-compilers.m4: CURL_CONVERT_INCLUDE_TO_ISYSTEM adjustments: 1850 1851 Add CURL_CHECK_COMPILER as a requirement. 1852 1853 Ensure macro does nothing unless GNU_C or CLANG compiler is used. 1854 1855 This should allow usage of this macro in unforeseen placements. 1856 1857Daniel Stenberg (8 Aug 2011) 1858- SOCKS: fix the connect timeout 1859 1860 The connect timeout logic when using SOCKS was done wrong 1861 1862 Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html 1863 Reported by: "Spoon Man" 1864 1865- ftp_doing: bail out on error properly 1866 1867 When a failure has been detected we must abort immdiately. 1868 1869 Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html 1870 Reported by: "Spoon Man" 1871 1872- s/7.21.8/7.22.0 1873 1874- version bump: next release is 7.22.0 1875 1876- VERSIONS: clarify our versioning concept 1877 1878 Drop the pre-release part from this text as we don't use that in 1879 practise since many years. 1880 1881 Update the phrasing to reflect our more strict interpretation: 1882 http://curl.haxx.se/mail/lib-2011-08/0064.html 1883 1884- [Cristian Rodr��guez brought this change] 1885 1886 OpenSSL: Use SSL_MODE_RELEASE_BUFFERS if available, reduces memory use 1887 1888 See also : 1889 http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html 1890 http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html 1891 1892 Signed-off-by: Cristian Rodr��guez <crrodriguez@opensuse.org> 1893 1894- TODO-RELEASE: close issue #292 1895 1896 Fixed: 1897 292 - bug 3385258 "Addendum to 3370895" 1898 1899 Basically brushing up commit 27b8814017a19 1900 1901- Curl_pgrsStartNow: clear all bits except HIDE 1902 1903 Bug: http://curl.haxx.se/bug/view.cgi?id=3385258 1904 Reported by: Ben Winslow 1905 1906- readwrite_data: improved C-E decoding error message 1907 1908Yang Tse (7 Aug 2011) 1909- BSD-style lwIP TCP/IP stack support - followup 1910 1911 lwIP library initialization. 1912 1913- NTLM single-sign on adjustments (IX) 1914 1915 Use swrite/sread instead of write/read to avoid SIGPIPE 1916 1917- config-win32.h: comments adjustments 1918 1919Daniel Stenberg (6 Aug 2011) 1920- TODO-RELEASE: committed issue #304 1921 1922 304 - "Async-DNS-resolve-thread gets started even when a dotted IP is 1923 provided" by Christian H<E4>gele 1924 http://curl.haxx.se/mail/lib-2011-08/0009.html 1925 1926- [Christian H��gele brought this change] 1927 1928 asyn-thread: check for dotted addresses before thread starts 1929 1930- TODO-RELEASE: Add #307 two issues by "Spoon Man" 1931 1932Yang Tse (5 Aug 2011) 1933- checksrc.pl: add quotes to var 1934 1935- keep a single copy of config-win32.h in version control repository - followup 1936 1937 Allow configure builds to generate src/config-win32.h 1938 1939 Skip checksrc on src/config-win32.h contents already checked at lib/config-win32.h 1940 1941 Allow multiple -W in checksrc.pl 1942 1943- BSD-style lwIP TCP/IP stack support - docs/INSTALL blurb 1944 1945- BSD-style lwIP TCP/IP stack support - followup 1946 1947- git ignore src/config-win32.h 1948 1949- keep a single copy of config-win32.h in version control repository. 1950 1951 maketgz and buildconf.bat updated to reflect this. 1952 1953Daniel Stenberg (5 Aug 2011) 1954- RELEASE-NOTES: synced with afe88d85f40e1 1955 1956- test710: verify that --proxy socks5://hostname works 1957 1958- create_conn: mark non-HTTP proxies accordingly 1959 1960 A proxy could be marked 'httpproxy' wrongly before if set with an 1961 environment variable or with the CURLOPT_PROXY option with a socks*:// 1962 prefix or similar. 1963 1964 Added test 710 to verify 1965 1966 Bug: http://curl.haxx.se/mail/lib-2011-07/0194.html 1967 1968- test709: HTTP GET via SOCKS5 set in environment 1969 1970- TODO-RELEASE: issue #293 is done 1971 1972 Fixed: 1973 293 - from http://bugzilla.redhat.com/723075 "curl segfaults" 1974 1975- segfault fixed 1976 1977 When using both -J and a single -O with multiple URLs, a missing init 1978 could cause badness. 1979 1980 Bug: http://curl.haxx.se/mail/lib-2011-07/0126.html and 1981 http://bugzilla.redhat.com/723075 1982 Reported by: Paul Howarth and Garrett Holmstrom 1983 1984- test1313: test content-disposition with uneven quotes 1985 1986- parse_filename: deal with escaped quotes 1987 1988Yang Tse (4 Aug 2011) 1989- BSD-style lwIP TCP/IP stack support: 1990 1991 Allow compilation of libcurl and curl using BSD-style lwIP on Win32. 1992 1993 In order to compile libcurl and curl with this support it is necessary 1994 to edit files lib/config-win32.h and src/config-win32.h and uncomment 1995 a line to make definition of preprocessor symbol USE_LWIPSOCK visible. 1996 1997 Afterwards you can compile as usual. 1998 1999 In order to use compiled library with BSD-style lwIP TCP/IP stack in 2000 your program it is mandatory that you include lwIP header file <lwip/opt.h> 2001 before including <curl/curl.h> or <curl/multi.h> 2002 2003 Compilation has been verified with lwIP 1.4.0 and contrib-1.4.0 from: 2004 2005 http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip 2006 http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip 2007 2008 Have fun! 2009 2010- curl.h: untangle a preprocessor block, removing duplicate sys/types.h inclusion 2011 2012Daniel Stenberg (4 Aug 2011) 2013- TODO-RELEASE: issue #290 fixed 2014 2015 Closed this entry: 2016 290 - bug 3375603 "curl has problem with remote names containing ';'" 2017 2018- -J: support ';' in quoted file names 2019 2020 Content-disposition headers can provide file names with semicolons which 2021 previously would be cut off at that point. 2022 2023 Added test case 1311 and 1312 to verify -J. 2024 2025 Bug: http://curl.haxx.se/bug/view.cgi?id=3375603 2026 Reported by: Peter Hjalmarsson 2027 2028- getpart.pm: when no part match, return blank when section ends 2029 2030- runtests.pl: support option=no-include 2031 2032- TODO-RELESE: #306 - SSL Sessions shared 2033 2034- TODO-RELEASE: updated with current issues 2035 2036Kamil Dudka (3 Aug 2011) 2037- curl_gssapi: add a missing include of sendf.h 2038 2039 ... to avoid build failure when GSS_C_DELEG_POLICY_FLAG is not defined. 2040 2041 Reported by: Paul Howarth 2042 2043- curl_gssapi: refine the handling of CURLOPT_GSSAPI_DELEGATION 2044 2045 Suggested by Richard Silverman. 2046 2047- [Adam Tkac brought this change] 2048 2049 Add new CURLOPT_GSSAPI_DELEGATION option. 2050 2051 Curl_gss_init_sec_context got new parameter - SessionHandle. 2052 2053 Signed-off-by: Adam Tkac <atkac@redhat.com> 2054 2055Yang Tse (31 Jul 2011) 2056- configure: add check for <sys/wait.h> 2057 2058- NTLM single-sign on adjustments (VIII) 2059 2060 Use preprocessor symbols WINBIND_NTLM_AUTH_ENABLED and WINBIND_NTLM_AUTH_FILE 2061 for Samba's winbind daemon ntlm_auth helper code implementation and filename. 2062 2063 Retain preprocessor symbol USE_NTLM_SSO for NTLM single-sign-on feature 2064 availability implementation independent. 2065 2066 For test harness, prefix NTLM_AUTH environment vars with CURL_ 2067 2068 Refactor and rename configure option --with-ntlm-auth to --enable-wb-ntlm-auth[=FILE] 2069 2070Dan Fandrich (29 Jul 2011) 2071- Renumbered test2005 to test1310 2072 2073 The 20xx range is for multiple sequential tests. 2074 2075Yang Tse (29 Jul 2011) 2076- curl-functions.m4 serial # bump 2077 2078- Revert "configure: additional flag checks for fcntl() socket() and socketpair()" 2079 2080 This reverts commit bc6e6a465ad0b9f9757c4385698fe5f255dd125b. 2081 2082- configure: additional flag checks for fcntl() socket() and socketpair() 2083 2084- NTLM single-sign on adjustments (VII) 2085 2086 Initialize variables when connectdata object is created. 2087 2088- socketpair() usage tracking to allow fd leak detection 2089 2090- fix compiler warning 2091 2092Dan Fandrich (28 Jul 2011) 2093- Avoid a "shadows global declaration" warning on old MIT Kerberos 2094 2095 Defining NCOMPAT eliminates the backwards-compatibility macros 2096 that are the source of the problem and which we don't need, 2097 anyway. 2098 2099Yang Tse (28 Jul 2011) 2100- NTLM single-sign on adjustments (VI) 2101 2102 Fix compiler warning 2103 2104Dan Fandrich (28 Jul 2011) 2105- Give the NTLM SSO helper a moment to cleanly shut down if needed 2106 2107- Removed an extraneous \n that violated the SSO daemon protocol 2108 2109 This caused fake_ntlm to abort due to an invalid command 2110 causing sporadic test 2005 failures. 2111 2112Yang Tse (28 Jul 2011) 2113- NTLM single-sign on adjustments (V) 2114 2115 Enhance test harness fake_ntlm logging upon invalid input. 2116 2117Dan Fandrich (27 Jul 2011) 2118- Fixed a couple of memory leaks in NTLM SSO support 2119 2120Yang Tse (27 Jul 2011) 2121- NTLM single-sign on adjustments (IV) 2122 2123 Fix compiler warning 2124 2125- NTLM single-sign on adjustments (III) 2126 2127 Provide some error tracing and fix execl() calling. 2128 2129- NTLM single-sign on adjustments (II) 2130 2131 Ensure test harness fake_ntlm main function can properly handle arguments. 2132 2133- NTLM single-sign on adjustments (I) 2134 2135 Use fake_ntlm absolute filename in NTLM_AUTH environment variable for test 2136 2005 definition. 2137 2138Dan Fandrich (26 Jul 2011) 2139- Fixed test 2005 to work in out-of-tree builds 2140 2141 Also, set the test number in the test data file so fake_ntlm can 2142 be reused in future tests. 2143 2144Yang Tse (26 Jul 2011) 2145- fix compiler warning 2146 2147- fix compiler warning 2148 2149- stdio.h, stdlib.h, string.h, stdarg.h and ctype.h inclusion done in setup_once.h 2150 2151- WIN32 io.h and fcntl.h inclusion done in setup_once.h 2152 2153- time.h and sys/time.h inclusion conditionally done in setup_once.h 2154 2155- errno.h inclusion conditionally done in setup_once.h - followup 2156 2157- errno.h inclusion conditionally done in setup_once.h 2158 2159Daniel Stenberg (22 Jul 2011) 2160- [Ben Winslow brought this change] 2161 2162 progress: reset flags at transfer start 2163 2164 When an easy handle is used to download an URI which has no 2165 Content-Length header (or equivalent) after downloading an URI which 2166 does, the value from the previous transfer is reused and returned by 2167 CURLINFO_CONTENT_LENGTH_DOWNLOAD. This is because the progress flags 2168 (used to determine whether such a header was received) are not reset 2169 between transfers. 2170 2171 Bug: http://curl.haxx.se/bug/view.cgi?id=3370895 2172 2173- RELEASE-NOTES: HTTP error handling on request body send 2174 2175- http error response: stop sending when error is received 2176 2177 When libcurl has said to the server that there's a POST or PUT coming 2178 (with a content-length and all) it has to either deliver that amount of 2179 data or it needs to close the connection before trying a second request. 2180 2181 Adds test case 1129, 1130 and 1131 2182 2183 The bug report is about when used with 100-continue, but the change is 2184 more generic. 2185 2186 Bug: http://curl.haxx.se/mail/lib-2011-06/0191.html 2187 Reported by: Steven Parkes 2188 2189- [Michael Mueller brought this change] 2190 2191 sso_ntlm_initiate: unassigned variable 2192 2193 Bug: http://curl.haxx.se/mail/lib-2011-07/0109.html 2194 2195- test2005: require a debug build 2196 2197- runtests: add 'debug' as a feature a test can require 2198 2199- configure: avoid "test -e" 2200 2201 "test -e" is POSIX but clearly was not supported by the SunOS sh 2202 version, -f is supported and should be a decent equivalent 2203 2204 Bug: http://curl.haxx.se/bug/view.cgi?id=3371574 2205 2206- symbols-in-versions: add NTLM_SSO symbols 2207 2208- gitignore: ignore fake_ntlm 2209 2210- [Mandy Wu brought this change] 2211 2212 test2005: verify ntlm single-signon 2213 2214- [Mandy Wu brought this change] 2215 2216 NTLM single-sign on supported 2217 2218 With the use of the 'ntlm_auth' tool from the Samba project 2219 2220- sws: don't enable pipelining for requests with content-length 2221 2222 Log texts also modified and some white space edits 2223 2224Patrick Monnerat (14 Jul 2011) 2225- Fix OS400 scripts to make it compilable again. 2226 Upgrade ILE/RPG binding to 7.21.7. 2227 Update OS400 documentation accordingly. 2228 2229Daniel Stenberg (14 Jul 2011) 2230- runtests: ignore the 'all_proxy' environment variable as well 2231 2232 We should probably also make sure that [protocol]_proxy for all possible 2233 protocols libcurl supports are unset. 2234 2235Julien Chaffraix (13 Jul 2011) 2236- curl_gssapi: Guard files with HAVE_GSSAPI. 2237 2238 Bug: http://curl.haxx.se/mail/lib-2011-07/0074.html 2239 Reported and fix suggested by: Ben Greear 2240 2241Daniel Stenberg (13 Jul 2011) 2242- gssapi: rename our files to avoid conflicts 2243 2244 gssapi.h is used as a header name by Heimdal-style GSSAPI so it would 2245 conflict with a private header using that name, and while renaming the 2246 header I figured we should name the .c file accordingly as well. 2247 2248 Bug: http://curl.haxx.se/mail/lib-2011-07/0071.html 2249 Reported by: Ben Greear 2250 2251- silence picky compilers: mark unused parameters 2252 2253 Modern gcc versions (4.6.X) get more picky by default and have started 2254 to warn for unused parameters, but luckily gcc also allows us to mark 2255 them as unused so that we can avoid the warnings. 2256 2257Julien Chaffraix (12 Jul 2011) 2258- gssapi.c: Simplified the function. 2259 2260 Removed the parameters that were common to all our invocation. 2261 2262- Added Curl_gss_init_sec_context. 2263 2264 This function wraps our calls to gss_init_sec_context so that we 2265 have a unified way to talk to GSSAPI. 2266 2267- http_negociate: Be consistent in gss_init_sec_context attributes. 2268 2269 This change makes this callsite match the rest of the code. 2270 2271Daniel Stenberg (4 Jul 2011) 2272- code style: space between close paren and open brace 2273 2274- checksrc: detect open brace without space 2275 2276 We use "if(condition) {" with a space between the close paren and the 2277 open brace. 2278 2279- polarssl.h: remove CVS leftover 2280 2281- help output: more gnu like output 2282 2283 First, the -J/--remote-header-name was wrongly sorted in the --help 2284 output as pointed out in bug report #3349271. 2285 2286 Then, I changed the format of the texts to follow the man page better in 2287 that it now uses "-A, --long" intead of "-A/--long". I also made all 2288 additional arguments get written as in "-A, --long FILENAME" instead of 2289 the previous "<filename>" style. 2290 2291 Reported by: Herve Amblard 2292 Bug: http://curl.haxx.se/bug/view.cgi?id=3349271 2293 2294- sws: allow multiple commands in <servercmd> 2295 2296- Curl_http_readwrite_headers: minor indent fix 2297 2298- gitignore: config.cache 2299 2300- docs: FTP quotes support '*' prefix to ignore errors 2301 2302 By default libcurl stops processing quote commands on failures. 2303 2304- THANKS: new contributors from 7.21.7 2305 2306- get_gss_name: proxy auth without proxy set equals error 2307 2308 Previously it would access a NULL pointer and die. 2309 2310 Bug: http://curl.haxx.se/mail/lib-2011-06/0170.html 2311 Reported by: Christian Hagele 2312 2313- examples: cleanup curl includes 2314 2315 Only <curl/curl.h> is needed typically and curl/types.h has been removed 2316 2317- libtests: stop checking for CURLM_CALL_MULTI_PERFORM 2318 2319 CURLM_CALL_MULTI_PERFORM stopped being a valid return code from 2320 curl_multi_perform back in 7.20.0. All the libcurl tests are ajusted to 2321 this and no longer check for this return code. Makes them simpler. 2322 2323Dan Fandrich (24 Jun 2011) 2324- Fixed test 1300 to pass the memory torture test 2325 2326Tom Wright (24 Jun 2011) 2327- looks like this should be static, not dll 2328 2329Dan Fandrich (23 Jun 2011) 2330- Display notes from setup file in testcurl.pl 2331 2332 Autobuild submitters can use this to add some text to their 2333 setup files to describe issues they've found with the build 2334 or tests. This could include laying blame on test failures on 2335 network issues or dependent libraries, explaining away compiler 2336 warnings or providing any additional information that could be 2337 useful to people reviewing and investigating problems with the 2338 publicly available autobuild logs. Note that persistent test 2339 failures that are not issues with curl itself should normally be 2340 fixed by excluding them from the test run instead. 2341 2342 This is an entirely optional field that is not entered by the 2343 user the first time a new build is created. 2344 2345- Added a leap second test to test517 2346 2347Daniel Stenberg (23 Jun 2011) 2348- runtests.pl: warn if a test is explicitly disabled 2349 2350 Just to make sure a user is aware of it. 2351 2352- bump release: start working towards 7.21.8 2353 2354- parsedate: detect more invalid dates better 2355 2356Version 7.21.7 (23 Jun 2011) 2357 2358Daniel Stenberg (23 Jun 2011) 2359- curl_formfree: clarify which pointer to free 2360 2361- RELEASE-NOTES: mention security issue 20110623 2362 2363 libcurl inappropriate GSSAPI delegation. Full details at 2364 http://curl.haxx.se/docs/adv_20110623.html 2365 2366- RELEASE-NOTES: synced with 9016958aa8989 2367 2368- Curl_input_negotiate: do not delegate GSSAPI credentials 2369 2370 This is a security flaw. See curl advisory 20110623 for details. 2371 2372 Reported by: Richard Silverman 2373 2374- [Josue Andrade Gomes brought this change] 2375 2376 windows build: use correct MS CRT 2377 2378- Merge pull request #23 from salty-horse/pop3_list_space 2379 2380 [pop3] remove extra space in LIST command 2381 2382Ori Avtalion (21 Jun 2011) 2383- [pop3] remove extra space in LIST command 2384 2385 Some servers, e.g. mail.bezeqint.net:110, consider it a syntax error 2386 2387Yang Tse (21 Jun 2011) 2388- http: fix compiler warning 2389 2390 compiler warning: conditional expression is constant 2391 2392- asyn-thread: fix compiler warning 2393 2394 compiler warning: variable is initialized but not referenced 2395 2396- cmake: remove spurious definition 2397 2398Daniel Stenberg (21 Jun 2011) 2399- FAQ: more blurb on persistent connections 2400 2401Yang Tse (21 Jun 2011) 2402- xc-translit.m4 fix quoting 2403 2404Daniel Stenberg (20 Jun 2011) 2405- INSTALL: mention the GIT-INFO file 2406 2407Dan Fandrich (20 Jun 2011) 2408- Added LOCAL_MODULE_TAGS to support Android gingerbread 2409 2410Daniel Stenberg (19 Jun 2011) 2411- [Amr Shahin brought this change] 2412 2413 unitteset: Curl_llist_move 2414 2415 adding unit test for Curl_llist_move, documenting unit-tested functions 2416 in llist.c, changing unit-test to unittest, replacing assert calls with 2417 abort_unless calls 2418 2419- CURLFORM_STREAM: acknowledge CURLFORM_FILENAME 2420 2421 The CURLFORM_STREAM is documented to only insert a file name (and thus 2422 look like a file upload) in the part if CURLFORM_FILENAME is set, but in 2423 reality it always inserted a filename="" and if CURLFORM_FILENAME wasn't 2424 set, it would insert insert rubbish (or possibly crash). 2425 2426 This is now fixed to work as documented, and test 554 has been extended 2427 to verify this. 2428 2429 Reported by: Sascha Swiercy 2430 Bug: http://curl.haxx.se/mail/lib-2011-06/0070.html 2431 2432Yang Tse (17 Jun 2011) 2433- configure: avoid direct usage of AS_TR_* macros 2434 2435- xc-translit.m4 provides transliteration macros with well defined behavior. 2436 2437Daniel Stenberg (14 Jun 2011) 2438- RELEASE-NOTES: add more contributors for this release 2439 2440- RELEASE-NOTES: synced with 0aedccc18a33a778535 2441 2442- curl_formget: fix FILE * leak 2443 2444 Properly deal with the fact that the last fread() call most probably is 2445 a short read, and when using callbacks in fact all calls can be short 2446 reads. No longer consider a file read done until it returns a 0 from the 2447 read function. 2448 2449 Reported by: Aaron Orenstein 2450 Bug: http://curl.haxx.se/mail/lib-2011-06/0048.html 2451 2452- curl_formget: treat CURLFORM_STREAM better 2453 2454 If a piece is set to use a callback to get the data, it should not be 2455 treated as data. It unfortunately also requires that curl_easy_perform() 2456 or similar has been used as otherwise the callback function hasn't been 2457 figured out and curl_formget won't know how to get the content. 2458 2459- curl_formget.3: CURLFORM_STREAM has its drawbacks 2460 2461 Due to a design flaw, the CURLFORM_STREAM option doesn't really work 2462 with curl_formget until after curl_easy_perform (or similar). 2463 2464- FAQ: binding clarification 2465 2466 We don't author the bindings, they are created outside the main project. 2467 2468Dan Fandrich (11 Jun 2011) 2469- Added http as a dependency of test 1308 2470 2471Daniel Stenberg (12 Jun 2011) 2472- test1309: added to the dist 2473 2474- write: add return code checks when used 2475 2476 These were just warnings in test code but it still makes it nicer to not 2477 generate them. 2478 2479- long/int mess 2480 2481 Typecast when converting to int from long to avoid some compiler warnings 2482 2483Yang Tse (11 Jun 2011) 2484- configure: OpenSSL API detection cleanup 2485 2486Dan Fandrich (11 Jun 2011) 2487- Fixed test 1309 to pass the torture test 2488 2489 Removing dynamic allocations also simplifies the test. 2490 2491Daniel Stenberg (10 Jun 2011) 2492- splay: add unit tests 2493 2494 The test code that was #ifdef'ed in the code was converted into unit 2495 tests in test case 1309. I also removed the #if 0'ed code from splay.c 2496 2497- unittest: mark all unit tested functions 2498 2499 With "@unittest: [num]" in the header comment for each tested function. 2500 Shows we have a log way to go still... 2501 2502- CURLOPT_WRITEHEADER: clarify the docs 2503 2504- unit test formpost: added test case 1308 2505 2506 This is a few first rather basic tests of curl_formadd() and 2507 curl_formget(). Should serve as building blocks to add more variations 2508 to the test. 2509 2510Yang Tse (9 Jun 2011) 2511- configure: warn if OpenSSL headers and library versions don't match 2512 2513- configure: get API info for a couple of OpenSSL functions (followup 2) 2514 2515- configure: get API info for a couple of OpenSSL functions (followup 1) 2516 2517- configure: fix recvfrom 5th arg type qualifier detection (followup) 2518 2519- configure: fix recvfrom 5th arg type qualifier detection 2520 2521Kamil Dudka (8 Jun 2011) 2522- disconnect: wipe out the keeps_speed time stamp 2523 2524 When closing a connection, the speedchecker's timestamp is now deleted 2525 so that it cannot accidentally be used by a fresh connection on the same 2526 handle when examining the transfer speed. 2527 2528 Bug: https://bugzilla.redhat.com/679709 2529 2530Yang Tse (7 Jun 2011) 2531- urldata: use uniform inclusion style for OpenSSL headers 2532 2533Daniel Stenberg (7 Jun 2011) 2534- HTTP time condition: force closure for 200 OK 2535 2536 When a time condition isn't met, so that no body is delivered to the 2537 application even though a 2xx response is being read from the server, we 2538 must close the connection to avoid a re-use of the connection to be 2539 completely tricked. 2540 2541 Added test 1128 to verify. 2542 2543- RELEASE-NOTES: synced with b772f3a32146d7d 2544 2545Yang Tse (6 Jun 2011) 2546- configure: get API info for a couple of OpenSSL functions 2547 2548Daniel Stenberg (5 Jun 2011) 2549- wait_ms: takes an int argument 2550 2551 Typecasts added since I changed more code to use long for timeouts 2552 2553- Curl_socket_ready: make timeout a 'long' 2554 2555 It was mostly typecasted to int all over the code so switching to long 2556 instead all over should be a net gain. 2557 2558Yang Tse (4 Jun 2011) 2559- xlc: avoid preprocessor definition usage when linking 2560 2561- unit tests: disable unit tests for a given cross-compilation configuration. 2562 2563 cross-compilation of unit tests static library/programs fails when 2564 libcurl shared library is also built. This might be due to a libtool or 2565 automake issue. In this case we disable unit tests. 2566 2567Daniel Stenberg (3 Jun 2011) 2568- cookie_output: made private 2569 2570- digest_cleanup_one: made private 2571 2572- privatise: make private functions static 2573 2574- Curl_fileinfo_dup: removed, not used 2575 2576- parsedate: turn private and static 2577 2578 I removed the prefix as well accordingly. 2579 2580Dan Fandrich (2 Jun 2011) 2581- curl hasn't sent a Pragma: header by default for a while 2582 2583Yang Tse (2 Jun 2011) 2584- unit tests: attempt to fix linkage issue 2585 2586- urlglob: fix zero size malloc 2587 2588- Remove unnecessary typecast 2589 2590- compiler warning: fix 2591 2592 Fix compiler warning: cast increases required alignment 2593 2594- unit tests: make unit tests building actually depend on --enable-debug option. 2595 2596- OpenSSL enabled: require OPENSSL_VERSION_NUMBER definition before usage. 2597 2598- unit tests: more build adjustments 2599 2600Daniel Stenberg (1 Jun 2011) 2601- CURLOPT_WILDCARDMATCH: minor style edit 2602 2603 Due to some flaw in roffit I removed some style changes to make the web 2604 page look better. 2605 2606Yang Tse (1 Jun 2011) 2607- makefile: avoid preprocessor definition usage when linking 2608 2609- warnless: icc 9.1 workaround 2610 2611Daniel Stenberg (31 May 2011) 2612- testcurl.pl: allow configure args to use '=' 2613 2614Yang Tse (30 May 2011) 2615- Makefile.am: fix spurious CFLAGS duplication 2616 2617Dan Fandrich (30 May 2011) 2618- Removed types.h from Android makefile 2619 2620Daniel Stenberg (30 May 2011) 2621- configure.ac: skip /dev/urandom check when cross-compiling 2622 2623 Bug: http://curl.haxx.se/bug/view.cgi?id=3307835 2624 2625Yang Tse (29 May 2011) 2626- main: fix header inclusion order 2627 2628 Currently, Windows cross-compiled autobuilds require inclusion of setup.h 2629 before curl.h to get definitions of CURL_STATICLIB and BUILDING_LIBCURL. 2630 2631- main: fix header inclusion order 2632 2633- distribution: Fix EXTRA_DIST letter case 2634 2635Daniel Stenberg (27 May 2011) 2636- curl_easy_setopt.3: NOPROGRESS also affects the callback 2637 2638Yang Tse (27 May 2011) 2639- warnless: header inclusion fix 2640 2641- Make checksrc.pl work on more out-of-tree builds 2642 2643 Source files given with relative paths do not have the 2644 -D directory specifier prepended. 2645 2646- compiler warning: fix 2647 2648 Fix compiler warning: conversion may lose significant bits 2649 2650- socks: fix unaligned memory access 2651 2652- compiler warning: fix 2653 2654 Fix compiler warning: variable was set but never used 2655 2656 Fix compiler warning: clobber ignored 2657 2658- unit tests: build adjustment 2659 2660 Also define UNITTESTS macro when building unit test sources. 2661 2662 Fixing compiler warning: external definition with no prior declaration 2663 2664Daniel Stenberg (25 May 2011) 2665- create_conn: only switch protocol handler if necessary 2666 2667 When switching to HTTP because a HTTP proxy is being used, the existing 2668 handler is now checked if it already is "compatible". This allows the https 2669 handler remain while other non-http handlers will be redirected. 2670 2671 Bug: http://curl.haxx.se/mail/lib-2011-05/0214.html 2672 Reported by: Jerome Robert 2673 2674- setopt.3: remove leftover style change 2675 2676- setopt.3: CURLOPT_WRITEFUNCTION had wrong function proto 2677 2678Yang Tse (25 May 2011) 2679- compiler warning: fix followup 2680 2681 Fix compiler warning: variable was set but never used 2682 2683 Fix compiler warning: clobber ignored 2684 2685- unit tests: README, adjust header inclusion order 2686 2687- compiler warning: fix 2688 2689 Fix compiler warning: variable was set but never used 2690 2691 Fix compiler warning: clobber ignored 2692 2693- compiler warning: fix 2694 2695 Fix compiler warning: external definition with no prior declaration 2696 2697- compiler warning: fix 2698 2699 Fix compiler warning: external definition with no prior declaration 2700 2701- compiler warning: fix 2702 2703 Fix compiler warning: argument is incompatible with corresponding format 2704 string conversion 2705 2706- build: inclusion guard 2707 2708 Enclose header file in an inclusion guard 2709 2710- compiler warning: fix 2711 2712 Fix compiler warning: expression has no effect 2713 2714- compiler warning: fix 2715 2716 Fix compiler warning: `keycheck' might be used uninitialized in this function. 2717 Fix compiler warning: `keybit' might be used uninitialized in this function. 2718 2719- compiler warning: fix 2720 2721 Fix variable declaration placement 2722 2723- compiler warning: fix 2724 2725 Fix missing semicolon 2726 2727- compiler warning: fix 2728 2729 Fix compiler warning: expression has no effect 2730 2731 Fix OOM handling 2732 2733- compiler warning: fix 2734 2735 Fix compiler warning: expression has no effect 2736 2737- compiler warning: fix 2738 2739 Fix compiler warning: unused variable 'data' 2740 2741- compiler warning: fix 2742 2743 Fix compiler warning: enumerated type mixed with another type 2744 2745- compiler warning: fix 2746 2747 Fix compiler warning: enumerated type mixed with another type 2748 2749- compiler warning: fix 2750 2751 Fix compiler warning: enumerated type mixed with another type 2752 2753- compiler warning: fix 2754 2755 Fix compiler warning: enumerated type mixed with another type 2756 2757- compiler warning: fix 2758 2759 Fix compiler warning: enumerated type mixed with another type 2760 2761- compiler warning: fix 2762 2763 Fix compiler warning: empty body in an if-statement 2764 2765- unit tests: adjust header inclusion order 2766 2767 Additionally, prevent multiple inclusions of curl_config.h 2768 2769Daniel Stenberg (20 May 2011) 2770- Merge pull request #19 from pierrejoye/master 2771 2772 winbuild: typo in docs 2773 2774- [Ola Mork brought this change] 2775 2776 cyassl: build without filesystem 2777 2778 Get cyassl's NO_FILESYSTEM to work with libcurl. Otherwise I'd get linker 2779 errors for the missing "SSL_CTX_load_verify_locations" functions. 2780 2781Pierre Joye (20 May 2011) 2782- - typo 2783 2784Daniel Stenberg (19 May 2011) 2785- typo: close is in man page section 3 2786 2787Yang Tse (19 May 2011) 2788- tests: verify OPEN/CLOSESOCKETFUNCTION 2789 2790 Test 585: Fix opensocket return type, and avoid function name clash. 2791 2792- version: linkage fix 2793 2794 Fix linkage on c-ares enabled Windows static builds 2795 2796Daniel Stenberg (18 May 2011) 2797- curl_easy_setopt.3: document CLOSESOCKET* options 2798 2799- tests: verify OPEN/CLOSESOCKETFUNCTION 2800 2801 Test 585 and 586 were added. Using a modified lib500.c 2802 2803- symbols-in-versions: add CLOSESOCKET* 2804 2805- CLOSESOCKETFUNCTION: use the callback 2806 2807 Fix the return type of the callback to match close() and make use of it. 2808 2809- CLOSESOCKETFUNCTION: added 2810 2811 Introduced the initial setup to allow closesocket callbacks by making 2812 sure sclose() is only ever called from one place in the libcurl source 2813 and still run all test cases fine. 2814 2815- GnuTLS handshake: fix timeout 2816 2817 Commit cbf4961bf3e garbled the timeout handling while doing SSL 2818 handshaking (in an attempt at fixing another bug). This puts sanity 2819 back. 2820 2821 Bug: http://curl.haxx.se/mail/lib-2011-05/0167.html 2822 Reported by: Ethan Glasser Camp 2823 2824- checksrc: trailing whitespace detection fix 2825 2826- [Marcel Roelofs brought this change] 2827 2828 negotiate sspi: fix sequential requests 2829 2830- tests: added HTTP If-Modified-Since tests 2831 2832 Added test 1126 and 1127 to verify curl's behaviour when If-Modified-Since 2833 is used and a 200 is returned. 2834 2835 The list of test cases in Makefile.am is now sorted numerically. 2836 2837- include: cleanup 2838 2839 Made the public headers checksrc compliant 2840 2841 Removed types.h (it's been unused since April 2004) 2842 2843 Made the root makefile do make in include by default as well, so that 2844 TAGS and the checksrc will work better. 2845 2846Dan Fandrich (6 May 2011) 2847- Fixed compilation when RTSP is disabled 2848 2849- Fixed LDAP after RTSP readwrite change 2850 2851Daniel Stenberg (6 May 2011) 2852- RELEASE-NOTES: synced with 32001ac4149b206 2853 2854- set_userpass: convert from protocol-specific to generic 2855 2856 The protocol handler's flags field now can set that the protocol 2857 requires a password, so that the set_userpass function doesn't have to 2858 have the specific knowledge of which protocols that do. 2859 2860- RTSP: cleanups 2861 2862 Made several functions static 2863 2864 Made one function defined to nothing when RTSP is disabled to avoid 2865 the #ifdefs in code. 2866 2867 Removed explicit rtsp.h includes 2868 2869- RTSP: convert protocol-specific checks to generic 2870 2871 Add a 'readwrite' function to the protocol handler struct and use that 2872 for the extra readwrite functionality RTSP needs. 2873 2874- SSL: check for SSL, not specific protocols 2875 2876 Code cleanup to check less for protocols and more for the specific 2877 relevant feature. Like if SSL is required. 2878 2879- http_perhapsrewind: remove HTTP check 2880 2881 No need to check for HTTP as this is now a HTTP-specific function 2882 2883- http_perhapsrewind: 2884 2885 make it static, remove Curl_ prefix 2886 2887- remove FILE protocol-specific checks 2888 2889 Also, convert the BANPROXY flag into NONETWORK for the protocols 2890 (file:// only atm) that don't work over networks. 2891 2892- curl.1: --socks* options no longer needed 2893 2894 As we now can specify all the socks proxy types with the regular --proxy 2895 option using protocol prefix. 2896 2897- socks proxy: allow socks5h:// prefix too 2898 2899 Using 'socks5h' as proxy protocol will make it a 2900 CURLPROXY_SOCKS5_HOSTNAME proxy which is SOCKS5 and asking the proxy to 2901 resolve host names. I found no "standard" protocol name for this. 2902 2903- curl.1: minor edit of --ftp-ssl* 2904 2905- [Jari Aalto brought this change] 2906 2907 curl.1: use GNU style and sort options 2908 2909 Follow style of GNU layout (cp, mv ...) where options are separated with 2910 comma: -o, --option 2911 2912 Order item alphabetically (by length also): -o, -O, --option 2913 2914 Follow style of GNU layout by moving help related options to the end: 2915 --help, -M, --version 2916 2917- Corrected comments 2918 2919 closepolicy has been deprecated and unused for years 2920 2921- ConnectionStore: remove unused return code 2922 2923- indent correctly 2924 2925- curl_easy_getinfo.3: clarify some timing info 2926 2927- curl_easy_setopt.3: clarify the SSH KEYFILE options usage 2928 2929 The internal defaults are important info 2930 2931- docs: mention the protocol:// support in proxy strings 2932 2933- --data-ascii: add mention 2934 2935 As it is a separate option it should have a .IP title 2936 2937- url encode docs: mention '-', '.', '_' and '~' 2938 2939 Clarify that the '-', '.', '_' or '~' letters are also not escaped since 2940 they shouldn't according to RFC3986 section 2.3. 2941 2942 This is how this function has behaved since sep 2010, commit 2943 5df13c31735fa0. 2944 2945- SSH: set non-blocking earlier 2946 2947 Introduce an INIT state for the SSH state machine and set libssh2 2948 non-blocking in that so that it is set properly before 2949 libssh2_session_startup() is called. 2950 2951 Bug: http://curl.haxx.se/mail/archive-2011-05/0001.html 2952 2953- curl_formfree.3: mention argument may be NULL 2954 2955 As the code already checks for it we can just as well make it official! 2956 2957- ConnectionExists: avoid NULL dereference 2958 2959 When checking for connections that are bound to a particular device we 2960 must make sure we don't compare with a NULL pointer. 2961 2962- resolver_error: remove bad semicolon 2963 2964- RELEASE-NOTES: synced with c4bc1d473f324 2965 2966- anyauthput.c: stdint.h must not be included unconditionally 2967 2968 As it is already included by curlbuild.h if it exists on the platform it 2969 was included here superfluously anyway. 2970 2971 Reported by: Dagobert Michelsen 2972 Bug: http://curl.haxx.se/bug/view.cgi?id=3294509 2973 2974- gai_strerror: provide private implementation 2975 2976 There are systems (like NetWare) without its own gai_strerror() 2977 function. 2978 2979- treaded-resolver: better error messages 2980 2981 Now use gai_strerror() to get proper error messages when getaddrinfo() 2982 has failed. Detect the function in configure. 2983 2984 Code based on work and suggestions by Jeff Pohlmeyer and Guenter Knauf 2985 2986- proxy: allow socks:// prefix in proxy string 2987 2988 Inspired by a patch from OB.Conseil. Added test case 708 to verify. 2989 2990- [Zmey Petroff brought this change] 2991 2992 CMake: improve library search, implement install. 2993 2994 Improved library search by check_function_exists_concat() macro: 2995 it does not revert the list of libraries any more. 2996 2997 Improved OpenSSL library search: first find zlib, then search for 2998 openssl libraries that may depend on zlib. 2999 3000 For Unix: openssl libraries can now be detected in nonstandard 3001 locations. Supply CMAKE_LIBRARY_PATH to CMake on command line. 3002 3003 Added installation capability (very basic one yet). 3004 3005- multi-socks: fix connect to proxy 3006 3007 When connecting to a socks or similar proxy we do the proxy handshake at 3008 once when we know the TCP connect is completed and we only consider the 3009 "connection" complete after the proxy handshake. This fixes test 564 3010 which is now no longer considered disabled. 3011 3012 Reported by: Dmitri Shubin 3013 Bug: http://curl.haxx.se/mail/lib-2011-04/0127.html 3014 3015- cleanup: remove old unused debug code 3016 3017Dan Fandrich (27 Apr 2011) 3018- Make checksrc.pl work on out-of-tree builds 3019 3020 Source files given with absolute paths do not have the 3021 -D directory specifier prepended. 3022 3023Daniel Stenberg (27 Apr 2011) 3024- make: add checksrc.pl to dist 3025 3026- make: add 'checksrc' as target to check code style 3027 3028 The make target checksrc now works in the root makefile and in both the 3029 src and lib directories. 3030 3031 It is also run automatically on "all" if configure --enable-debug was 3032 used. 3033 3034- checksrc: whitespace and code style cleanup 3035 3036 Make everything adhere to the standards upheld by checksrc.pl and now 3037 run checksrc from the makefile on debug builds. 3038 3039- checksrc: add -W to allow a file to be whitelisted 3040 3041 Useful when a known file just doesn't comply and there's no intention to 3042 make it do so. 3043 3044- whitespace cleanup: no space first in conditionals 3045 3046 "if(a)" is our style, not "if( a )" 3047 3048- lib/make: run checksrc.pl once for all files 3049 3050 Since it now supports multiple files this will be faster and will show 3051 problems for more file than one at a time - more convenient. 3052 3053- checksrc: scan many files, more checks 3054 3055 It now scans multiple files and outputs an error+warning count summary 3056 at the end in case at least one was detected. 3057 3058 -D can be used to specify in which dir the files are located 3059 3060 The script now scans for conditions that starts with a space for 3061 if/while/for lines. 3062 3063- Makefile: run checksrc if debug enabled 3064 3065 And make the build fail if a warning or error was detected 3066 3067- checksrc: exit error code if warnings or errors 3068 3069- SSH: move knownhost logic to separate function 3070 3071- source cleanup: unify look, style and indent levels 3072 3073 By the use of a the new lib/checksrc.pl script that checks that our 3074 basic source style rules are followed. 3075 3076Guenter Knauf (27 Apr 2011) 3077- Windows native IDN fixes. 3078 3079 For now provide prototypes instead of including the 3080 non-standard normalisation.h which is only available in the 3081 "Internationalized Domain Names Mitigation APIs" download. 3082 3083Dan Fandrich (25 Apr 2011) 3084- Fixed compiler warning in Windows SSPI case 3085 3086- Fixed compilation when the synchronous resolver is used 3087 3088- Added new resolver sources to Symbian and VC6 build files 3089 3090Daniel Stenberg (25 Apr 2011) 3091- hostip: comment fixed to state current situation 3092 3093- async resolvers: further cleanups 3094 3095 asyn-ares.c and asyn-thread.c are two separate backends that implement 3096 the same (internal) async resolver API for libcurl to use. Backend is 3097 specified at build time. 3098 3099 The internal resolver API is defined in asyn.h for asynch resolvers. 3100 3101- asynch resolvers: cleanup 3102 3103 Fixed indents, coding conventions and white space edits. 3104 3105 Modified the c-ares completion callback function to again NOT read the 3106 conn data when the ares handle is being taken down as then it may have 3107 been freed already. 3108 3109- [Vsevolod Novikov brought this change] 3110 3111 asynch resolvers: unified 3112 3113 Introducing an internal API for handling of different async resolver 3114 backends. 3115 3116Guenter Knauf (24 Apr 2011) 3117- Enabled OpenWatcom native Windows IDN build. 3118 3119 For now we directly import the Idn* symbols with the linker; 3120 an upcoming release of OWC will have these added to the import 3121 lib normaliz.lib, and prototypes are added to winnnls.h. 3122 3123Daniel Stenberg (22 Apr 2011) 3124- NTLM: work with unicode 3125 3126 Rewritten code from a patch brought by Matteo Rocco. 3127 3128- bump version: work towards 7.21.7 3129 3130- THANKS: contributors from 7.21.6 3131 3132Version 7.21.6 (22 Apr 2011) 3133 3134Daniel Stenberg (22 Apr 2011) 3135- RELEASE-NOTES: two more contributors 3136 3137Dan Fandrich (21 Apr 2011) 3138- Fixed test 1023 when using daily snapshots 3139 3140- Include unistd.h to declare close() 3141 3142Julien Chaffraix (21 Apr 2011) 3143- [Fabian Keil brought this change] 3144 3145 In lib/, change 'wanna' to 'want to'. 3146 3147 Found with codespell. 3148 3149- [Fabian Keil brought this change] 3150 3151 Fix spelling errors in buildconf 3152 3153 Found with codespell. 3154 3155- [Fabian Keil brought this change] 3156 3157 Fix spelling errors in src/ 3158 3159 Found with codespell. 3160 3161- [Fabian Keil brought this change] 3162 3163 Fix spelling errors in include/ 3164 3165- [Fabian Keil brought this change] 3166 3167 Fix a couple of spelling errors in lib/ 3168 3169 Found with codespell. 3170 3171- transfer.c: Fixed indentation in readwrite_data. 3172 3173Dan Fandrich (20 Apr 2011) 3174- Fixed closing test tag 3175 3176Daniel Stenberg (20 Apr 2011) 3177- RELEASE-NOTES: synced with 3242abd87a1262 3178 3179- SFTP: close file before postquote 3180 3181 Make sure that files are closed before the post quote commands run as if 3182 they operate on the just transferred file they could otherwise easily 3183 fail. 3184 3185 Patch by: Rajesh Naganathan (edited) 3186 3187Dan Fandrich (20 Apr 2011) 3188- Fixed test 1022 when using daily snapshots 3189 3190Daniel Stenberg (20 Apr 2011) 3191- Curl_http_connect: detect HTTPS properly after CONNECT 3192 3193 libcurl failed to check the correct struct for HTTPS after CONNECT was 3194 issued to the proxy, so it didn't do the TLS handshake and subsequently 3195 failed the connection. A regression released in 7.21.5 (introduced 3196 around commit 8831000bc07de). 3197 3198 Bug: http://curl.haxx.se/mail/lib-2011-04/0134.html 3199 Reported by: Josue Andrade Gomes 3200 3201- curl_easy_setopt.3: CURLOPT_PROXYTYPE clarification 3202 3203 When set to a HTTP 1.0 proxy, that only affects the CONNECT request and 3204 not the regular HTTP request. 3205 3206- [Gisle Vanem brought this change] 3207 3208 CURL_DOES_CONVERSIONS: fixes 3209 3210 Made it compile and work again after the code move. 3211 3212- CURL_DOES_CONVERSIONS: cleanup 3213 3214 Massively reduce #ifdefs all over (23 #ifdef lines less so far) 3215 Moved conversion-specific code to non-ascii.c 3216 3217Guenter Knauf (19 Apr 2011) 3218- Improve MinGW static makefile builds. 3219 3220 It is now possible to use any combination of features without 3221 having to 1st add makefile targets to the main makefile. The 3222 main makefile now passes the 'mingw32-feat1-feat2' as var CFG, 3223 and the ./[lib|src]/Makefile.m32 parses the CFG var to determine 3224 the features to be enabled. 3225 3226- Enabled MinGW native Windows IDN build. 3227 3228- Windows native IDN fixes. 3229 3230 changed windows.h include to system header; 3231 changed obsolete 2nd check for str_w to str_utf8 in order to catch 3232 malloc() failure and avoid a free(NULL); 3233 changed calls to GetLastError() to void to kill unsused var compiler 3234 warnings; 3235 moved one call to GetLastError() into else case so that its only 3236 called when WideCharToMultiByte() really fails. 3237 3238- Windows native IDN fixes. 3239 3240 Provide prototype for curl_win32_idn_to_ascii(); 3241 remove wrong 3rd parameter from curl_win32_idn_to_ascii() call. 3242 3243Daniel Stenberg (19 Apr 2011) 3244- curl-config: fix version output 3245 3246 do the s/VERSION/CURLVERSION replacement for the human redable output 3247 for --checkfor 3248 3249 Reported by: Ryan Schmidt 3250 3251- RELEASE-NOTES: synced with 5aae3c13e2 3252 3253Guenter Knauf (19 Apr 2011) 3254- Updated default (recommended) dependency versions. 3255 3256- Updated default (recommended) dependency versions. 3257 3258Daniel Stenberg (18 Apr 2011) 3259- transfer-encoding: document the options 3260 3261 The new libcurl and command line options are now described. 3262 3263- transfer-encoding: added new option and cmdline 3264 3265 Added CURLOPT_TRANSFER_ENCODING as the option to set to request Transfer 3266 Encoding in HTTP requests (if built zlib enabled). I also renamed 3267 CURLOPT_ENCODING to CURLOPT_ACCEPT_ENCODING (while keeping the old name 3268 around) to reduce the confusion when we have to encoding options for 3269 HTTP. 3270 3271 --tr-encoding is now the new command line option for curl to request 3272 this, and thus I updated the test cases accordingly. 3273 3274- CURLE_BAD_CONTENT_ENCODING: now used for transfer encoding too 3275 3276- TE: do the Connection: header 3277 3278 When TE: is inserted in the request, we must add a "Connection: TE" as 3279 well to be HTTP 1.1 compliant. If a custom Connection: header is passed 3280 in, we must use that and only append TE to it. Test case 1125 verifies 3281 TE: + custom Connection:. 3282 3283- test1124: verify gzip AND chunked transfer-encoding 3284 3285- TE: rename struct field content_encoding 3286 3287 Since this struct member is used in the code to determine what and how 3288 to decode automatically and since it is now also used for compressed 3289 Transfer-Encodings, I renamed it to the more suitable 'auto_decoding' 3290 3291- HTTP: add support for gzip and deflate Transfer-Encoding 3292 3293 Transfer-Encoding differs from Content-Encoding in a few subtle ways, 3294 but primarily it concerns the transfer only and not the content so when 3295 discovered to be compressed we know we have to uncompress it. There will 3296 only arrive compressed transfers in a response after we have requested 3297 them with the appropriate TE: header. 3298 3299 Test case 1122 and 1123 verify. 3300 3301Patrick Monnerat (18 Apr 2011) 3302- OS400 pragma comment: replace (date) by (user, __DATE__) to include year. 3303 3304- Augment RPG binding with "OLDIES" definitions. 3305 Fix OS400 LDAP wrappers: strings were non null-terminated. 3306 3307Daniel Stenberg (18 Apr 2011) 3308- curl-config: fix --version 3309 3310 curl-config --version didn't output the correct version string (bug 3311 introduced in commit 0355e33b5f7b234cf3), and unfortunately the test 3312 case 1022 that was supposed to check for this was broken. 3313 3314 This change fixes the test to detect this problem and it fixes the 3315 output. 3316 3317 Bug: http://curl.haxx.se/bug/view.cgi?id=3288727 3318 3319- RELEASE-NOTES: updated contributor amount 3320 3321- THANKS: 11 new contributors from 7.21.5 3322 3323- 7.21.6: next planned release number 3324 3325Version 7.21.5 (17 Apr 2011) 3326 3327Daniel Stenberg (17 Apr 2011) 3328- base64.c: removed wrong comment 3329 3330- INTERNALS: clean up 3331 3332 Clarified the release procedure 3333 3334- TODO-RELEASE: push the remaining ones to next release 3335 3336 As we're closing in on the release, I give up on the remaining ones but 3337 I leave them in here for now to try to fix for next release. 3338 3339 I removed the 281 issue about warnings from the statical analyzer scans, 3340 as they seem to be mostly false positives at this point. 3341 3342- RELEASE-NOTES: synced with c246f63a71 3343 3344- Curl_ssl_shutdown: restore send/recv pointers 3345 3346 When going back from SSL, put the send/recv function pointers back to 3347 the plain versions. 3348 3349 Bug: http://curl.haxx.se/mail/lib-2011-04/0070.html 3350 Reported by: Mehmet Bozkurt 3351 3352Guenter Knauf (16 Apr 2011) 3353- Changed email per Gisle's request. 3354 3355Daniel Stenberg (14 Apr 2011) 3356- curl.1: error code update 3357 3358 Error 4 has got a meaning 3359 3360 Error 48 has got a slightly different meaning now 3361 3362- FAQ: c-ares does ipv6 pretty well now 3363 3364- [Andrei Benea brought this change] 3365 3366 Fix a buffer overflow in pubkey_show(). 3367 3368Guenter Knauf (14 Apr 2011) 3369- Replaced var manipulations with perlish hacks. 3370 3371Dan Fandrich (12 Apr 2011) 3372- Updated minimum binary sizes 3373 3374Daniel Stenberg (12 Apr 2011) 3375- configure: libssh2 link fix without pkg-config 3376 3377 The script didn't properly add the -lssh2 link option when it enabled 3378 libssh2 linking where pkg-config isn't found. 3379 3380 Reported by: Saqib Ali 3381 Bug: http://curl.haxx.se/mail/lib-2011-04/0054.html 3382 3383- RELEASE-NOTES: synced with f01df197981 3384 3385- checkconnection: don't call with NULL pointer 3386 3387 When checking if an existing RTSP connection is alive or not, the 3388 checkconnection function might be called with a SessionHandle pointer 3389 being NULL and then referenced causing a crash. This happened only using 3390 the multi interface. 3391 3392 Reported by: Tinus van den Berg 3393 3394 Bug: http://curl.haxx.se/bug/view.cgi?id=3280739 3395 3396- curl.1: spell out the -O target directory 3397 3398 When using -O the file will be saved in the current directory, and this 3399 is now spelled out clearly. 3400 3401- OpenSSL: no-sslv2 aware 3402 3403 Allow openSSL without SSL2 to be used. This fix is inspired by the fix 3404 provided by Cristian Rodr�guez. 3405 3406 Reported by: Cristian Rodr�guez 3407 3408- curl_easy_setopt.3: CURLOPT_RESOLVE typo version 3409 3410 Reported by: Hongli Lai 3411 3412Kamil Dudka (8 Apr 2011) 3413- nss: allow to use multiple client certificates for a single host 3414 3415 In case a client certificate is used, invalidate SSL session cache 3416 at the end of a session. This forces NSS to ask for a new client 3417 certificate when connecting second time to the same host. 3418 3419 Bug: https://bugzilla.redhat.com/689031 3420 3421Daniel Stenberg (7 Apr 2011) 3422- mk-ca-bundle.pl: show full URL in output 3423 3424 When I decided to search for a potential error with the cacert bundle it 3425 struck me I wanted to see the full source URL in the output... 3426 3427Dan Fandrich (7 Apr 2011) 3428- Added mention of FTP proxies 3429 3430Daniel Stenberg (7 Apr 2011) 3431- [Gisle Vanem brought this change] 3432 3433 src/Makefile.b32: updates 3434 3435 * Rename the object object directory from 'objs' to 'BCC_obj' to be in 3436 sync with my previous patch for lib/Makefile.b32. 3437 3438 * Turn off these warnings to keep the build totally silent (with CBuilder-6 3439 that is). 3440 -w-inl 8026 Functions X are not expanded inline. 3441 -w-pia 8060 Possibly incorrect assignment 3442 -w-pin 8061 Initialization is only partially bracketed 3443 (same added in src/Makefile.b32) 3444 3445 * $(MKDIR) and $(RMDIR) have been replaced with the shell-commands 'md' 3446 and 'rd'. When having MingW/Msys programs 'mkdir.exe' and 'rmdir.exe' in 3447 $PATH, this confuses Borland's make and the result (the cleaning etc.) would 3448 not be as expected. 3449 3450 * Removed the preprocessing step; no need for PP_CMD and the .int files. 3451 curl.exe builds fine w/o and the makefile gets simpler. 3452 3453 * Added a target for creating a compressed hugehelp.c if WITH_ZLIB is defined. 3454 It assumes groff, gzip and perl is available if such an "advanced" users 3455 requests it. Okay? BTW. My groff and Perl needs unix-slashes ('/'). 3456 Other perls should handle both forms ('/' and '\'). 3457 3458- [Gisle Vanem brought this change] 3459 3460 lib/Makefile.b32: updates 3461 3462 * Rename the object object directory from 'objs' to 'BCC_obj'. I feel 3463 it should be named properly. Ref. Makefile.Watcom where it's called 3464 'WC_Win32.obj'. 3465 3466 * Turn off these warnings to keep the build totally silent (with CBuilder-6 3467 that is). 3468 -w-inl 8026 Functions X are not expanded inline. 3469 -w-pia 8060 Possibly incorrect assignment 3470 -w-pin 8061 Initialization is only partially bracketed 3471 3472 I'm sure the warnings could be fixed the "proper" way or with some added 3473 "#pragma" statements. But that just clutters the sources IMHO. 3474 3475 * $(MKDIR) and $(RMDIR) have been replaced with the shell-commands 'md' 3476 and 'rd'. When having MingW/Msys programs 'mkdir.exe' and 'rmdir.exe' in 3477 $PATH, this confuses Borland's make and the result (the cleaning etc.) would 3478 not be as expected. 3479 3480 * Added a ".path.int = $(OBJDIR)" to tell make where the $(PREPROCESSED) 3481 files are. Why we need the preprocess step in the fist place is beyond me 3482 (Yang?). But I'll leave that for now. 3483 3484- [Gisle Vanem brought this change] 3485 3486 examples/makefile.dj: update email 3487 3488- TODO-RELEASE: deleted 4 issues 3489 3490 These problems have gotten no interest/feedback from users: 3491 3492 -275 - Introduce a way to avoid sending USER for FTP connections 3493 -288 - bug 3219997 curl rtmp request curl: (55) select/poll returned error 3494 3495 This problem is rather an autoconf bug with little user interest and it 3496 can be worked around with an older autoconf: 3497 3498 -278 - "Configure $as_echo does not work" 3499 3500 This problem is not fixed: 3501 3502 -286 - bug 3214223 Pipelined HTTP requests with a zero-length body broken 3503 3504- [Chris Smowton brought this change] 3505 3506 HTTP pipelining: Fix handling of zero-length responses 3507 3508 Also add test case 584 for the same 3509 3510 Bug: http://curl.haxx.se/bug/view.cgi?id=3214223 3511 3512- libcurl.pc: version number fix 3513 3514 This hasn't show the version number correctly since the $VERSION change 3515 in the configure, and now it works again. 3516 3517Dan Fandrich (5 Apr 2011) 3518- Changed some nonportable types 3519 3520- Don't list NTLM in curl-config when HTTP is disabled 3521 3522 Also, fixed Curl_proxyCONNECT() stub with HTTP disabled. 3523 3524- Fixed compatibility macro CURLE_URL_MALFORMAT_USER 3525 3526Daniel Stenberg (5 Apr 2011) 3527- return code cleanup: build, init and run-time errors 3528 3529 Stop the abuse of CURLE_FAILED_INIT as return code for things not being 3530 init related by introducing two new return codes: 3531 3532 CURLE_NOT_BUILT_IN and CURLE_UNKNOWN_OPTION 3533 3534 CURLE_NOT_BUILT_IN replaces return code 4 that has been obsoleted for 3535 several years. It is used for returning error when something is 3536 attempted to be used but the feature/option was not enabled or 3537 explictitly disabled at build-time. Getting this error mostly means that 3538 libcurl needs to be rebuilt. 3539 3540 CURLE_FAILED_INIT is now saved and used strictly for init 3541 failures. Getting this problem means something went seriously wrong, 3542 like a resource shortage or similar. 3543 3544 CURLE_UNKNOWN_OPTION is the option formerly known as 3545 CURLE_UNKNOWN_TELNET_OPTION (and the old name is still present, 3546 separately defined to be removed in a very distant future). This error 3547 code is meant to be used to return when an option is given to libcurl 3548 that isn't known. This problem would mostly indicate a problem in the 3549 program that uses libcurl. 3550 3551- FTP+proxy: macrofied functions when proxy disabled 3552 3553 In my attempts to reduce #ifdefs in code, the SOCKS functions are now 3554 macros when libcurl is built without proxy support and therefore the FTP 3555 code could avoid some #ifs. 3556 3557- RELEASE-NOTES: synced with db59b6202d8 3558 3559- [Ben Noordhuis brought this change] 3560 3561 [pop3 starttls] PASS command was not sent after upgrade to TLS. 3562 3563- [Ben Noordhuis brought this change] 3564 3565 [pop3 starttls] the command to send is STLS, not STARTTLS. 3566 3567Dan Fandrich (4 Apr 2011) 3568- Added http_proxy.c to the Symbian build files 3569 3570Daniel Stenberg (4 Apr 2011) 3571- http-proxy: move proxy code to http_proxy.c 3572 3573 The new http_proxy.* files now host HTTP proxy specific code (500+ lines 3574 moved out from http.c), and as a consequence there is a macro introduced 3575 for the Curl_proxyCONNECT() function so that code can use it without 3576 actually supporting proxy (or HTTP) in builds. 3577 3578- disable cookies: remove ifdefs, move code 3579 3580 1 - make sure to #define macros for cookie functions in the cookie 3581 header when cookies are disabled to avoid having to use #ifdefs in code 3582 using those functions. 3583 3584 2 - move cookie-specific code to cookie.c and use the functio 3585 conditionally as mentioned in (1). 3586 3587 net result: 6 #if lines removed, and 9 lines of code less 3588 3589Kamil Dudka (4 Apr 2011) 3590- nss: fix a crash within SSL_AuthCertificate() 3591 3592 The bug was introduced in 806dbb0 (a wrong value was passed in as the 3593 first argument to the default callback in our wrapper). 3594 3595Daniel Stenberg (3 Apr 2011) 3596- multi: shorten lines 3597 3598 We keep them less than 80 columns 3599 3600- multi: conn goes bad when data change 3601 3602 Within multi_socket when conn is used as a shorthand, data could be 3603 changed and multi_runsingle could modify the connectdata struct to deal 3604 with. This bug has not been included in a public release. 3605 3606 Using 'conn' like that turned out to be ugly. This change is a partial 3607 revert of commit f1c6cd42f474df59. 3608 3609 Reported by: Miroslav Spousta 3610 Bug: http://curl.haxx.se/bug/view.cgi?id=3265485 3611 3612Guenter Knauf (1 Apr 2011) 3613- Increased script version. 3614 3615- Make use of proxy vars if set. 3616 3617 Posted to the list by Quanah Gibson-Mount [quanah zimbra.com]. 3618 3619- Use var again instead of hard-coded filename. 3620 3621Daniel Stenberg (29 Mar 2011) 3622- [Gisle Vanem brought this change] 3623 3624 typo fix 3625 3626- curl_easy_setopt.3: mention TFTP read callback flaw 3627 3628 The read callback must return the exact requested amount of data when it 3629 is used for doing TFTP uploads. This is due to how it deals with data 3630 internally. This could/should be fixed but for now we document the 3631 existing behavior. 3632 3633 Reported by: Colin Blair 3634 Bug: http://curl.haxx.se/mail/lib-2011-03/0319.html 3635 3636Yang Tse (27 Mar 2011) 3637- configure: fix libtool warning 3638 3639Daniel Stenberg (25 Mar 2011) 3640- [Peter Sylvester brought this change] 3641 3642 TSL-SRP: enabled with OpenSSL 3643 3644 If a new enough OpenSSL version is used, configure detects the TLS-SRP 3645 support and enables it. 3646 3647- RELEASE-NOTES: synced with 11c2db2aa2a 3648 3649- fix: re-use of bound connections 3650 3651 When asked to bind the local end of a connection when doing a request, 3652 the code will now disqualify other existing connections from re-use even 3653 if they are connected to the correct remote host. 3654 3655 This will also affect which connections that can be used for pipelining, 3656 so that only connections that aren't bound or bound to the same 3657 device/port you're asking for will be considered. 3658 3659- symbols-in-versions: make test 1119 happy 3660 3661- rtsp: move protocol code to dedicated file 3662 3663 The RTSP-specific function for checking for "dead" connection is better 3664 located in rtsp.c. The code using this is now written without #ifdefs as 3665 the function call is instead turned into a macro (in rtsp.h) when RTSP 3666 is disabled. 3667 3668- MAIL-ETIQUETTE: intro and spam 3669 3670 Added a little generic info section about the lists and a section about 3671 how to deal with trolls and spam on the lists. 3672 3673- TODO-RELEASE: 1 fixed, 1 notabug 3674 3675 Fixed: 3676 3677 271 - fix the IPv6-working probing to only exist at one place in the code and 3678 only get done once 3679 3680 A problem not repeatable and no proper recipe given and therefore simply 3681 removed for now until we hear something else: 3682 3683 282 - 100 Continue responses should return the "final" HTTP response code: 3684 "Getting the HTTP response code following a 100 Continue" 3685 3686- ipv6: only probe once 3687 3688 Move ipv6-functional-probe into a single function that is used from all 3689 places that need to know. 3690 3691 Make the probe function store the result in a static variable so that 3692 subsequent invokes just returns the previous result and won't have to 3693 probe again. 3694 3695- headers: more copyright headers added 3696 3697- MAIL-ETIQUETTE: how to behave 3698 3699 This is a new documentation for the source tree. This information has 3700 been present since a long time at 3701 http://curl.haxx.se/mail/etiquette.html but now it is put into a plain 3702 text version too for wider distribution. The web version will be 3703 automatically generated from this source document. 3704 3705Julien Chaffraix (21 Mar 2011) 3706- progress: don't print the last update on a separate line. 3707 3708 Curl_posttransfer is called too soon to add the final new line. 3709 Moved the new line logic to pgrsDone as there is no more call to 3710 update the progress status after this call. 3711 3712 Reported by: Dmitri Shubin <sbn_at_tbricks.com> 3713 http://curl.haxx.se/mail/lib-2010-12/0162.html 3714 3715Daniel Stenberg (21 Mar 2011) 3716- TODO-RELEASE: fixed 2, got 3 new! 3717 3718- [Dave Reisner brought this change] 3719 3720 libcurl.m4: Add missing quotes in AC_LINK_IFELSE 3721 3722 This avoids warnings generated by autoconf 2.68. 3723 3724 Signed-off-by: Dave Reisner <d@falconindy.com> 3725 3726- retry-request: rewind if data was sent 3727 3728 When libcurl sends a HTTP request on a re-used connection and detects it 3729 being closed (ie no data at all was read from it), it is important to 3730 rewind if any data in the request was sent using the read callback or 3731 was read from file, as otherwise the retried request will be broken. 3732 3733 Reported by: Chris Smowton 3734 Bug: http://curl.haxx.se/bug/view.cgi?id=3195205 3735 3736- configure: avoid $VERSION 3737 3738 To reduce the risk of variable name conflicts, use CURLVERSION instead 3739 of VERSION. 3740 3741- symbols-in-versions: many corrections 3742 3743 Scanned with a tool that checked for mistakes and this is the subsequent 3744 cleanup. 3745 3746Julien Chaffraix (20 Mar 2011) 3747- unit1305: Fixed the test to match our coding style. 3748 3749- url: 0 is PROTOPT_NONE. 3750 3751 Tiny tweak after Daniel's refactoring of the protocol handlers. 3752 3753Daniel Stenberg (19 Mar 2011) 3754- pop3: add state name in debug array 3755 3756 We have an array with the state names only built and used when built 3757 debug enabled and this need to list all the states from the .h 3758 3759Dan Fandrich (18 Mar 2011) 3760- Added two more POP3 tests 3761 3762- pop3: use Curl_safefree() to allow torture tests to succeed 3763 3764Daniel Stenberg (18 Mar 2011) 3765- symbol-scan.pl: detect duplicates 3766 3767 Test 1119 now also makes sure that symbols-in-versions doesn't contain 3768 any duplicates 3769 3770- CONTRIBUTE: minor edits 3771 3772 Slightly modified to become a nicer web page when converted for the site 3773 3774- RELEASE-NOTES: synced with 0c05ee3a33d4d7 3775 3776- pop3: remove unused variable 3777 3778Dan Fandrich (17 Mar 2011) 3779- Added support for LISTing a single POP3 message 3780 3781 Added tests for a number of POP3 LIST operations, including one 3782 that shows a curl problem when listing no messages, so is 3783 disabled. 3784 3785- pop3: fixed memory leak in an error retrieval case 3786 3787Daniel Stenberg (17 Mar 2011) 3788- symbols-in-versions: remove duplicates 3789 3790- symbols-in-versions: 2 corrections 3791 3792 CURLE_CHUNK_FAILED and CURLE_FTP_BAD_FILE_LIST were introduced in 3793 7.21.0, not 7.20.1 3794 3795- connection setup: if HTTP is disabled asking for HTTP proxy is bad 3796 3797- FAQ: better english 3798 3799 Reported by: Andre Guibert de Bruet 3800 3801- scan-build warning 3802 3803 Value stored to 'len' is never read 3804 3805- ldap_recv: check return code from ldap_get_dn_ber 3806 3807- compiler warnings fixed 3808 3809 Use (void)[variable] to inhibit unused argument/variables warnings. 3810 3811- [Ben Noordhuis brought this change] 3812 3813 SMTP-multi: non-blocking connect 3814 3815 Use Curl_ssl_connect_nonblocking() when upgrading the connection to 3816 TLS/SSL while using the multi interface. 3817 3818- [Ben Noordhuis brought this change] 3819 3820 SMTP in multi mode: use Curl_ssl_connect_nonblocking() when connecting. 3821 3822- lib582: use curl_socket_t for portability 3823 3824- buildfix: spell define correctly 3825 3826Kamil Dudka (15 Mar 2011) 3827- nss: do not ignore value of CURLOPT_SSL_VERIFYPEER 3828 3829 When NSS-powered libcurl connected to a SSL server with 3830 CURLOPT_SSL_VERIFYPEER equal to zero, NSS remembered that the peer 3831 certificate was accepted by libcurl and did not ask the second time when 3832 connecting to the same server with CURLOPT_SSL_VERIFYPEER equal to one. 3833 3834 This patch turns off the SSL session cache for the particular SSL socket 3835 if peer verification is disabled. In order to avoid any performance 3836 impact, the peer verification is completely skipped in that case, which 3837 makes it even faster than before. 3838 3839 Bug: https://bugzilla.redhat.com/678580 3840 3841Guenter Knauf (15 Mar 2011) 3842- Removed unused var. 3843 3844Daniel Stenberg (15 Mar 2011) 3845- configure: stop using the deprecated AM_INIT_AUTOMAKE syntax 3846 3847- protocol handler cleanup: SSL awareness 3848 3849 As a follow-up to commit 8831000bc0: don't assume that the SSL powered 3850 protocol alternatives are available. 3851 3852- ldap: use the new protocol handler setup 3853 3854 Use the new flags field and stop using the old protocol defines. 3855 3856- TODO-RELEASE: add and remove issues 3857 3858 Removed a fixed issue, added five new existing ones and clarified one of 3859 the previous ones. 3860 3861- protocols: use CURLPROTO_ internally 3862 3863 The PROT_* set of internal defines for the protocols is no longer 3864 used. We now use the same bits internally as we have defined in the 3865 public header using the CURLPROTO_ prefix. This is for simplicity and 3866 because the PROT_* prefix was already used duplicated internally for a 3867 set of KRB4 values. 3868 3869 The PROTOPT_* defines were moved up to just below the struct definition 3870 within which they are used. 3871 3872- protocol handler: added flags field 3873 3874 The protocol handler struct got a 'flags' field for special information 3875 and characteristics of the given protocol. 3876 3877 This now enables us to move away central protocol information such as 3878 CLOSEACTION and DUALCHANNEL from single defines in a central place, out 3879 to each protocol's definition. It also made us stop abusing the protocol 3880 field for other info than the protocol, and we could start cleaning up 3881 other protocol-specific things by adding flags bits to set in the 3882 handler struct. 3883 3884 The "protocol" field connectdata struct was removed as well and the code 3885 now refers directly to the conn->handler->protocol field instead. To 3886 make things work properly, the code now always store a conn->given 3887 pointer that points out the original handler struct so that the code can 3888 learn details from the original protocol even if conn->handler is 3889 modified along the way - for example when switching to go over a HTTP 3890 proxy. 3891 3892Patrick Monnerat (14 Mar 2011) 3893- - Take new char * options into account in OS400 curl_easy_setopt_ccsid(). 3894 - Keep RPG binding, STRING_* table end check and OS400 README up to date. 3895 3896Daniel Stenberg (14 Mar 2011) 3897- FAQ: indent tables 3898 3899 Lines that are indented with at least 5 spaces get special treatment by 3900 the script that converts it to HTML on the site. 3901 3902- sslgen: define Curl_ssl_connect_nonblocking for non-SSL 3903 3904 The non-blocking connect improvement for IMAP showed that we didn't 3905 properly define the Curl_ssl_connect_nonblocking function for non-SSL 3906 builds. 3907 3908 Reported by: Tor Arntsen 3909 3910- configure: removed wrongly claimed default paths 3911 3912 Several --with-XXX options claimed the wrong default path in their help 3913 outputs. 3914 3915 Reported by: Vincent Torri 3916 3917- [Ask Bj��rn Hansen brought this change] 3918 3919 mk-ca-bundle.pl: Only download if modified 3920 3921 Only download and convert the certdata to the ca-bundle.crt if Mozilla 3922 changed the data 3923 3924 The Perl LWP module (which in a bit of a circular reference is used by 3925 mk-ca-bundle.pl) is now indirectly using this script. I made this small 3926 tweak to make it easier to automatically maintain the generated 3927 ca-bundle.crt file in version control. 3928 3929- SSH: add protocol lock direction 3930 3931 Some protocols have to call the underlying functions without regard to 3932 what exact state the socket signals. For example even if the socket says 3933 "readable", the send function might need to be called while uploading, 3934 or vice versa. This is the case for libssh2 based protocols: SCP and 3935 SFTP and we now introduce a define to set those protocols and we make 3936 the multi interface code aware of this concept. 3937 3938 This is another fix to make test 582 run properly. 3939 3940- state: add missing state to debug table 3941 3942 As a new state recently was added to the IMAP state machine it has to be 3943 in the array of names as well as otherwise libcurl crashes when a debug 3944 version runs... 3945 3946- test 582: enabled again 3947 3948 Commit ca37692bf43b5ef should now hopefully make it run 3949 3950- ssh_statemach_act: set cselect for sftp upload 3951 3952 For uploads we want to use the _sending_ function even when the socket 3953 turns out readable as the underlying libssh2 sftp send function will 3954 deal with both accordingly. This is what the cselect_bits magic is for. 3955 3956 Fixes test 582. 3957 3958- RELEASE-NOTES: synced with e649a7baae2 3959 3960- Revert "test582: enabled" 3961 3962 This reverts commit b8478187406cf625c9d0f10b45a082221130cc92. 3963 3964- Merge branch 'imap' of https://github.com/bnoordhuis/curl into bnoordhuis-imap 3965 3966- TODO-RELEASE: fixed four isues 3967 3968 These issues are now addressed: 3969 3970 276 - Karl M's vc makefile patch 3971 277 - The "Stall when uploading to sftp using multi interface" bug 3972 279 - curl_multi_remove_handle() crashes 3973 280 - Marcus Sundberg's gss patch 3974 3975- [Karl M brought this change] 3976 3977 VC: add missing file 3978 3979 http_negotiate_sspi.c was added to the source tree recently 3980 3981- [Marcus Sundberg brought this change] 3982 3983 GSS: handle reuse fix 3984 3985 Make GSS authentication work when a curl handle is reused for multiple 3986 authenticated requests, by always setting negdata->state in 3987 output_auth_headers(). 3988 3989 Signed-off-by: Marcus Sundberg <marcus.sundberg@aptilo.com> 3990 3991- test583: verify early SSH multi remove handle 3992 3993 This test case is meant to verify that the logic in commit 3994 60172a0446bbe3f8b actually works. This test failed for me before that 3995 change and it works after it. 3996 3997- SFTP: gracefully handle shutdown early 3998 3999 When using the multi interface and a handle using SFTP was removed very 4000 early on, we would get a segfault due to the code assumed data was there 4001 that hadn't yet been setup. 4002 4003 Bug: http://curl.haxx.se/mail/lib-2011-03/0066.html 4004 Reported by: Saqib Ali 4005 4006- [Manuel Massing brought this change] 4007 4008 CURL_CHECK_FUNC_RECVFROM: android/bionic fix 4009 4010 recvfrom in bionic (the android libc) deviates from POSIX and uses a 4011 const in the 5th argument ("const struct sockaddr *") so the check now 4012 tests for that as well. 4013 4014- test582: enabled 4015 4016- PROT_CLOSEACTION: added SFTP and SCP 4017 4018 Both SFTP and SCP are protocols that need to shut down stuff properly 4019 when the connection is about to get torned down. The primary effect of 4020 not doing this shows up as memory leaks (when using SCP or SFTP with the 4021 multi interface). 4022 4023 This is one of the problems detected by test 582. 4024 4025- readwrite_upload: stop upload at file size 4026 4027 As we know how much to send, we can and should stop once we've sent that 4028 much data as it avoids having to rely on other mechanisms to detect the 4029 end. 4030 4031 This is one of the problems detected by test 582. 4032 4033 Reported by: Henry Ludemann <misc@hl.id.au> 4034 4035- sftp upload: expire to advance state machine 4036 4037 When using the multi_socket API to do SFTP upload, it is important that 4038 we set a quick expire when leaving the SSH_SFTP_UPLOAD_INIT state as 4039 there's nothing happening on the socket so there's no read or write to 4040 wait for, but the next libssh2 API function needs to be called to get 4041 the ball rolling. 4042 4043 This is one of the problems detected by test 582. 4044 4045 Reported by: Henry Ludemann <misc@hl.id.au> 4046 4047- test582: improved info messages 4048 4049- source header: added to more files 4050 4051- sources: update source headers 4052 4053 All C and H files now (should) feature the proper project curl source 4054 code header, which includes basic info, a copyright statement and some 4055 basic disclaimers. 4056 4057- TODO-RELEASE: add 10 pending issues 4058 4059- TODO-RELEASE: fix the IPv6-working probing 4060 4061- tests: phase out haxx.se 4062 4063 Instead of using haxx.se as a fixed magic host name in lots of tests, 4064 this is a first step to move toward the generic example.com host 4065 instead. 4066 4067- test523: avoid using haxx.se 4068 4069 ... since search engines find what they think is a URL in this, they 4070 hammer www.haxx.se on this port! 4071 4072- configure: update the copyright year in the output 4073 4074Dan Fandrich (9 Mar 2011) 4075- Force setopt constants written by --libcurl to be long 4076 4077Daniel Stenberg (8 Mar 2011) 4078- cyassl: fix compiler warnings 4079 4080- [Todd A Ouska brought this change] 4081 4082 SSL: (part 2) Added CyaSSL to SSL abstraction layer 4083 4084 This is the modified existing files commit. 4085 4086- [Todd A Ouska brought this change] 4087 4088 SSL: Added CyaSSL to SSL abstraction layer 4089 4090 CyaSSL (available from git@github.com:cyassl/cyassl.git) has been 4091 added to the SSL abstraction layer. 4092 4093 To test: 4094 1) git CyaSSL sources 4095 2) autoreconf -i 4096 3) ./configure --disable-static 4097 4) make 4098 5) sudo make install 4099 6) autoreconf -i 4100 7) git curl sources (and this patch) 4101 8) ./configure --disable-shared --with-cyassl --without-ssl --enable-debug 4102 9) make 4103 10) normal testing 4104 4105 Please send questions or comments to todd@yassl.com . 4106 4107- curl.1: clarify -E 4108 4109 Stress that it is for client certificates and then mention that it also 4110 works for all other SSL-based protocols apart from HTTPS and 4111 FTPS. Namely POP3S, IMAPS and SMTPS for now. 4112 4113- FAQ: Protocol xxx not supported or disabled in libcurl 4114 4115- lib582: used for test 582 4116 4117 Accidentally not included in commit 0e74e1d8d83 4118 4119Dan Fandrich (7 Mar 2011) 4120- Fixed libcurl to honour the --disable-ldaps configure option 4121 4122Daniel Stenberg (8 Mar 2011) 4123- [Henry Ludemann brought this change] 4124 4125 sftp-multi: test 582 added 4126 4127 Add test 582 for uploading a file using sftp and the multi interface. 4128 4129 (Patch and test slightly tweaked by Daniel Stenberg) 4130 4131 Initially marked as disabled until it is fixed in the source. 4132 4133- FAQ: How to SFTP from my user's home directory? 4134 4135- cpp: correct #endif placement 4136 4137 The end-of-file #endif in rawstr.h was not correcly positioned after all 4138 prototypes. 4139 4140 Reported by: Boris 4141 Bug: http://curl.haxx.se/bug/view.cgi?id=3195205 4142 4143Dan Fandrich (4 Mar 2011) 4144- Moved test 577 into the unit test framework as test 1307 4145 4146- Added unit test 1306 so tests 558 & 559 are now fully replaced 4147 4148- The unit test argument is allowed to be used 4149 4150- Converted tests 558 & 559 to use the unit test framework as 1305 4151 4152 Test 558 was just a subset of 559 which is something that can be 4153 easily added later. 4154 4155- Fixed test 1300 to pass the torture test 4156 4157- Added abort_* unit test macros 4158 4159 These are for when a test failure makes it impossible to continue 4160 running further tests. 4161 4162Kamil Dudka (4 Mar 2011) 4163- [Stefan Krause brought this change] 4164 4165 transfer: avoid insane conversion of time_t 4166 4167Daniel Stenberg (26 Feb 2011) 4168- ssh_connect: treat libssh2 return code better 4169 4170 libssh2_knownhost_readfile() returns a negative value on error or 4171 otherwise number of parsed known hosts - this was previously not 4172 documented correctly in the libssh2 man page for the function. 4173 4174 Bug: http://curl.haxx.se/mail/lib-2011-02/0327.html 4175 Reported by: murat 4176 4177Julien Chaffraix (25 Feb 2011) 4178- http: removed wrong unused comment. 4179 4180 |premature| is used in Curl_http_done. 4181 4182- http: removed code duplication for stubbed https_getsock function. 4183 4184Daniel Stenberg (23 Feb 2011) 4185- RELEASE-NOTES: synced with 2345c1dd661c 4186 4187- runtests.pl/stopserver: space separate pids 4188 4189 The stopserver function would append pids to kill and could append them 4190 without separating them with space properly. The result would be a very 4191 large number that by (some implementations of) kill would be interpreted 4192 as a negative number and that process group would be wiped... 4193 4194 Bug: http://curl.haxx.se/bug/view.cgi?id=3188836 4195 Reported by: Greg Pratt 4196 4197Kamil Dudka (22 Feb 2011) 4198- nss: do not ignore failure of SSL handshake 4199 4200 Flaw introduced in fc77790 and present in curl-7.21.4. 4201 Bug: https://bugzilla.redhat.com/669702#c16 4202 4203Daniel Stenberg (21 Feb 2011) 4204- CURLOPT_SSH_KEYFUNCTION: requires *SSH_KNOWNHOSTS 4205 4206 Extend the docs to clarify that CURLOPT_SSH_KEYFUNCTION is only called 4207 if the known hosts option is also correctly set! 4208 4209Julien Chaffraix (20 Feb 2011) 4210- curl_easy_setopt.3: Removed wrong reference to CURLOPT_USERPASSWORD. 4211 4212 CURLOPT_HTTPAUTH was mentioning CURLOPT_USERPASSWORD instead of 4213 CURLOPT_PASSWORD. 4214 4215 Reported by: Mike Henshaw 4216 4217- netrc: Removed _NETRC_DEBUG code. 4218 4219 This is not needed anymore as we have unit testing running on it. 4220 4221- tests: Cleaned up netrc testing. 4222 4223 Removed the "netrc_debug" keyword replaced with --netrc-file additions. 4224 Removed the debug code from Curl_parsenetrc as it is superseeded by 4225 --netrc-file. 4226 4227- curl: Added --netrc-file. 4228 4229 This enables people to specify a path to the netrc file to use. 4230 The new option override --netrc if both are present. However it 4231 does follow --netrc-optional if specified. 4232 4233Ben Noordhuis (20 Feb 2011) 4234- IMAP in multi mode: use Curl_ssl_connect_nonblocking() when upgrading the connection to TLS/SSL. 4235 4236- IMAP in multi mode: use Curl_ssl_connect_nonblocking() when connecting. 4237 4238Daniel Stenberg (18 Feb 2011) 4239- [Mike Crowe brought this change] 4240 4241 multi: close connection on timeout 4242 4243 After a request times out, the connection wasn't properly closed and 4244 prevented to get re-used, so subsequent transfers could still mistakenly 4245 get to use the previously aborted connection. 4246 4247- multi: better failed connect treatment 4248 4249 When failing to connect the protocol during the CURLM_STATE_PROTOCONNECT 4250 state, Curl_done() has to be called with the premature flag set TRUE as 4251 for the pingpong protocols this can be important. 4252 4253 When Curl_done() is called with premature == TRUE, it needs to call 4254 Curl_disconnect() with its 'dead_connection' argument set to TRUE as 4255 well so that any protocol handler's disconnect function won't attempt to 4256 use the (control) connection for anything. 4257 4258 This problem caused the pingpong protocols to fail to disconnect when 4259 STARTTLS failed. 4260 4261 Reported by: Alona Rossen 4262 Bug: http://curl.haxx.se/mail/lib-2011-02/0195.html 4263 4264- [Hoi-Ho Chan brought this change] 4265 4266 PolarSSL: Return 0 on receiving TLS CLOSE_NOTIFY alert 4267 4268 Signed-off-by: Hoi-Ho Chan <hoiho.chan@gmail.com> 4269 4270- symbols-in-versions: sorted 4271 4272 I forgot to sort it when I added the CURL_SOCKOPT_* symbols 4273 4274- TODO-RELEASE: refresh 4275 4276- SOCKOPTFUNCTION: documented new return codes 4277 4278- SOCKOPTFUNCTION: callback can say already-connected 4279 4280 Introducing a few CURL_SOCKOPT* defines for conveniance. The new 4281 CURL_SOCKOPT_ALREADY_CONNECTED signals to libcurl that the socket is to 4282 be treated as already connected and thus it will skip the connect() 4283 call. 4284 4285Kamil Dudka (17 Feb 2011) 4286- nss: avoid memory leak on SSL connection failure 4287 4288Daniel Stenberg (17 Feb 2011) 4289- RELEASE-NOTES: fresh start towards 7.21.5 4290 4291- curlver.h: bump to 7.21.5 4292 4293- THANKS: add contributors from 7.21.4 4294 4295Version 7.21.4 (17 Feb 2011) 4296 4297Guenter Knauf (17 Feb 2011) 4298- Set -fpcc-struct-return only for gcc compiler. 4299 4300Daniel Stenberg (17 Feb 2011) 4301- RELEASE-NOTES: credits since 7.21.3 4302 4303 I went through all the names mentioned as authors and in commit messages 4304 since 7.21.3, and this list inserted now is sorted on first name. 4305 4306- nss_load_key: fix unused variable warning 4307 4308- gmtime: remove define 4309 4310 It turns out some systems rely on the gmtime or gmtime_r to be defined 4311 already in the system headers and thus my "precaution" redefining of 4312 them only caused trouble. They are now removed. 4313 4314Guenter Knauf (13 Feb 2011) 4315- Added -m32 to CFLAGS to compile with x86_64 gcc. 4316 4317- Updated OpenSSL version, added links to docu. 4318 4319Daniel Stenberg (10 Feb 2011) 4320- RELEASE-NOTES: synced with 3bb1291fbd4 4321 4322- --keepalive-time: warn if not supported properly 4323 4324 Since the feature requires support for TCP_KEEPIDLE and TCP_KEEPINTVL to 4325 function as documented, it now warns if that support is missing when the 4326 option is used. 4327 4328Dan Fandrich (10 Feb 2011) 4329- Call ERR_peek_error instead of ERR_peek_last_error 4330 4331 The latter isn't available in older OpenSSL versions, and is 4332 less useful since it returns the most recent error instead of 4333 the first one encountered. 4334 4335Julien Chaffraix (10 Feb 2011) 4336- netrc: Enable setting up the filename in unit tests. 4337 4338 Unset the environment variable so that we can specify different 4339 filenames in the unit test. 4340 4341- test1304: Added some unit tests for Curl_parsenetrc. 4342 4343 Moved some definitons into the header file so that we can reuse them. 4344 4345Daniel Stenberg (9 Feb 2011) 4346- [Quinn Slack brought this change] 4347 4348 CURLE_TLSAUTH_FAILED: removed 4349 4350 On second thought, I think CURLE_TLSAUTH_FAILED should be eliminated. It 4351 was only being raised when an internal error occurred while allocating 4352 or setting the GnuTLS SRP client credentials struct. For TLS 4353 authentication failures, the general CURLE_SSL_CONNECT_ERROR seems 4354 appropriate; its error string already includes "passwords" as a possible 4355 cause. Having a separate TLS auth error code might also cause people to 4356 think that a TLS auth failure means the wrong username or password was 4357 entered, when it could also be a sign of a man-in-the-middle attack. 4358 4359- [Quinn Slack brought this change] 4360 4361 TLS-SRP: new options documented 4362 4363- CURLOPT_SOCKOPTFUNCTION: return proper error code 4364 4365 When the callback returns an error, this function must make sure to return 4366 CURLE_ABORTED_BY_CALLBACK properly and not CURLE_OK as before to allow the 4367 callback to properly abort the operation. 4368 4369- curl.1: typo in -v description 4370 4371 Reported by: Ian D Allen 4372 Bug: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/714895 4373 4374 Forwarded to us by: 4375 4376 Reported by: Andreas Olsson 4377 Bug: http://curl.haxx.se/bug/view.cgi?id=3175422 4378 4379Julien Chaffraix (7 Feb 2011) 4380- netrc: Removed dead code. 4381 4382 The main has not been updated from some time and is out of sync with 4383 the code. The code is now tested by several test cases so no need for 4384 a seperate code path. 4385 4386- netrc: Tightened up the type checks. 4387 4388 The state should not be anonymous so that we can check if the values 4389 are fine. Added 2 unreachables states to the switch as a result of this 4390 change. 4391 4392- imap: Fixed typo in a comment. 4393 4394Daniel Stenberg (7 Feb 2011) 4395- Curl_gmtime: avoid future mistakes 4396 4397 Document Curl_gmtime() and define away the old functions so that they 4398 won't be used internally again by mistake. 4399 4400- Curl_gmtime: added a portable gmtime 4401 4402 Instead of polluting many places with #ifdefs, we create a single place 4403 for this function, and also check return code properly so that a NULL 4404 pointer returned won't cause problems. 4405 4406Guenter Knauf (3 Feb 2011) 4407- mk-ca-bundle.vbs: use new cacert url 4408 4409 The official Mozilla page at http://www.mozilla.org/projects/security/certs/ 4410 points out a new place as the "proper" place to get Mozilla's CA certs from 4411 so this script is now updated to use that instead. 4412 4413 Reported by: Daniel Mentz 4414 4415Daniel Stenberg (2 Feb 2011) 4416- mk-ca-bundle.pl: use new cacert url 4417 4418 The official Mozilla page at 4419 http://www.mozilla.org/projects/security/certs/ points out a new place 4420 as the "proper" place to get Mozilla's CA certs from so this script is 4421 now updated to use that instead. 4422 4423 Reported by: Daniel Mentz 4424 4425- [Bjoern Sikora brought this change] 4426 4427 ssluse: improved error message on SSL_CTX_new failures 4428 4429 "SSL: couldn't create a context" really isn't that helpful, now it'll 4430 also extract an explanation from OpenSSL and append to the right. 4431 4432- [Nicholas Maniscalco brought this change] 4433 4434 multi: fix CURLM_STATE_TOOFAST for multi_socket 4435 4436 The code in the toofast state needs to first recalculate the values 4437 before it uses them again since it may have been a while since it last 4438 did it when it reaches this point. 4439 4440- unit1300: code style cleanup 4441 4442- [Amr Shahin brought this change] 4443 4444 adding unit tests for Curl_llist_remove 4445 4446Patrick Monnerat (31 Jan 2011) 4447- Include TLSAUTH options in ILE/RPG binding. 4448 4449Kamil Dudka (31 Jan 2011) 4450- [Dave Reisner brought this change] 4451 4452 file: add support for CURLOPT_TIMECONDITION 4453 4454- [Dave Reisner brought this change] 4455 4456 transfer: add Curl_meets_timecondition() 4457 4458 This will be used by file_do() and Curl_readwrite() as a unified method 4459 of checking to see if a remote document meets the supplied 4460 CURLOPT_TIMEVAL and CURLOPT_TIMECONDITION. 4461 4462 Signed-off-by: Dave Reisner <d@falconindy.com> 4463 4464Daniel Stenberg (29 Jan 2011) 4465- FAQ: clarified/expanded 6.7 a bit 4466 4467 "6.7 What are my obligations when using libcurl in my commercial apps?" 4468 got the piece about what exactly "in all copies" mean to a user of the 4469 code. 4470 4471 This interpretation is based on what other MIT-like licenses have made 4472 more explicit. 4473 4474- COPYING: update the year to 2011 4475 4476 The generic copyright year range now includes 2011 4477 4478- [Pierre Joye brought this change] 4479 4480 Windows build: alternative makefile 4481 4482 This is a separate makefile for MSVC builds. It is deliberately put in 4483 another dir than src/ and lib/ to allow a different build experience 4484 than the previous - at least during a period. Eventually we should 4485 unify. 4486 4487- test: add test 580 to the dist 4488 4489Dan Fandrich (27 Jan 2011) 4490- Some minor edits including updates to function names 4491 4492Daniel Stenberg (27 Jan 2011) 4493- ares: memory leak fix 4494 4495 The double name resolve trick used with c-ares could leave allocated 4496 memory in 'temp_ai' if the operation was aborted in the middle. 4497 4498- ares_query_completed_cb: don't touch invalid data 4499 4500 When this callback is called due to the destruction of the ares handle, 4501 the connection pointer passed in as an argument may no longer pointing 4502 to valid data and this function doesn't need to do anything with it 4503 anyway so we make sure it doesn't. 4504 4505 Bug: http://curl.haxx.se/mail/lib-2011-01/0333.html 4506 Reported by: Vsevolod Novikov 4507 4508Kamil Dudka (27 Jan 2011) 4509- nss: avoid memory leaks and failure of NSS shutdown 4510 4511 ... in case more than one CA is loaded. 4512 4513 Bug: https://bugzilla.redhat.com/670802 4514 4515Dan Fandrich (26 Jan 2011) 4516- Mention that sftp quote commands can be quoted 4517 4518Daniel Stenberg (25 Jan 2011) 4519- tests: more multiple headers checks 4520 4521- HTTP: memory leak on multiple Location: 4522 4523 The HTTP parser allocated memory on each received Location: header 4524 without properly freeing old data. Starting now, the code only considers 4525 the first Location: header and will blissfully ignore subsequent ones. 4526 4527 Bug: http://curl.haxx.se/bug/view.cgi?id=3165129 4528 Reported by: Martin Lemke 4529 4530- FAQ: clarify 5.13 how to stop a transfer 4531 4532Guenter Knauf (22 Jan 2011) 4533- Fixed C++ style comment not allowed in ISO C90. 4534 4535Dan Fandrich (21 Jan 2011) 4536- Mention axTLS in some more documentation 4537 4538Daniel Stenberg (20 Jan 2011) 4539- runtests.pl: make -s not show skipped tests 4540 4541- [Amr Shahin brought this change] 4542 4543 unittest: add 3 tests to test1300 4544 4545 Testing Curl_llist_insert_next 4546 4547Dan Fandrich (20 Jan 2011) 4548- [Darshan Mody brought this change] 4549 4550 Fixed compile using OpenSSL versions < 0.9.4a 4551 4552Daniel Stenberg (19 Jan 2011) 4553- main: make the tlsauth options always present 4554 4555 ... to not make the connection between the tool and the libcurl used 4556 tighter than necessary, the tlsauth options are now always present but 4557 if the used libcurl doesn't have TLSAUTH support it will return failure. 4558 4559 Also, replaced strncmp() with strequal to get case insensitive matching. 4560 4561- symbols-in-versions: add the new TLSAUTH-SRP symbols 4562 4563- configure: TLS-SRP wasn't added as a feature 4564 4565 Test case 1014 failed since TLS-SRP was correctly set to the features 4566 variable so curl-config --features didn't output it. 4567 4568- dist: add new certs to tarball 4569 4570- [Quinn Slack brought this change] 4571 4572 TLS-SRP: support added when using GnuTLS 4573 4574- CURLOPT_SSL_VERIFYPEER: more clarifications 4575 4576 The default value is 1. 4577 4578 curl _uses_ a default CA bundle, it doesn't install one. 4579 4580 Drop the references to 7.10 as that is now >8 years old! 4581 4582- TheArtOfHttpScripting: extended 4583 4584 Extended the intial HTTP protcol part and added a mention of --trace and 4585 --trace-ascii. 4586 4587 Replaced most URLs in the text to use example.com instead of all the 4588 made up strange names. 4589 4590 Shortened a bunch of lines. 4591 4592- curl_easy_setopt.3: clarify VERIFYHOST/PEER 4593 4594 Extended the descriptions somewhat and made the options get listed next 4595 to each other. 4596 4597- RELEASE-NOTES: mention contributors 4598 4599- RELEASE-NOTES: synced with 7fcbdd68b9e 4600 4601Guenter Knauf (18 Jan 2011) 4602- Fixed configure define for Win32. 4603 4604 Submitted by Vincent Torri. 4605 4606Kamil Dudka (18 Jan 2011) 4607- nss: fix a bug in handling of CURLOPT_CAPATH 4608 4609 ... and update the curl.1 and curl_easy_setopt.3 man pages such that 4610 they do not suggest to use an OpenSSL utility if curl is not built 4611 against OpenSSL. 4612 4613 Bug: https://bugzilla.redhat.com/669702 4614 4615Guenter Knauf (17 Jan 2011) 4616- Avoid redefines. 4617 4618Daniel Stenberg (15 Jan 2011) 4619- curl.1: fix spelling 4620 4621 Bug: http://curl.haxx.se/bug/view.cgi?id=3157232 4622 Reported by: John Bradshaw 4623 4624Guenter Knauf (14 Jan 2011) 4625- Added casts to silent gcc warnings. 4626 4627Yang Tse (13 Jan 2011) 4628- build: BCC - makefile.b32 tweak 4629 4630 Get rid of stdout redirection to NUL and move stderr redirection 4631 into RM and RMDIR macros. 4632 4633- build: BCC - makefile.b32 tweak 4634 4635 Check for BCCDIR environment var done now as other checks. 4636 4637Guenter Knauf (13 Jan 2011) 4638- Use env var for PSDK instead of hardcoded path. 4639 4640- Enabled SSPI support by default. 4641 4642- Use MAKE macro with BCC targets. 4643 4644Yang Tse (12 Jan 2011) 4645- docs - update BCC INSTALL section 4646 4647- build: BCC - require Borlands's MAKE for Makefile.b32 processing. 4648 4649- build: BCC - recover lost functionality from commit 3d813204260b37289411 4650 4651 Borland's $(MAKEDIR) expands to the path where make.exe is located, 4652 use this feature to define BCCDIR when user has not defined BCCDIR. 4653 4654- build: use external preprocessor cpp32 when building with Borland C 4655 4656- build: allow usage of Borland 5.5.1 external preprocessor cpp32 4657 4658Guenter Knauf (11 Jan 2011) 4659- Disable LDAP support since BCC headers are insufficient. 4660 4661- Instead of exiting with error lets set BCCDIR self. 4662 4663- Some Borland C++ makefile tweaks. 4664 4665- Borland C++ doesnt have struct sockaddr_storage. 4666 4667Daniel Stenberg (11 Jan 2011) 4668- connect: use UDP correctly 4669 4670 The idea that the protocol and socktype is part of name resolving in the 4671 libc functions is nuts. We keep the name resolver functions assume 4672 TCP/STREAM and we make sure that when we want to connect to a UDP 4673 service we use the correct UDP/DGRAM set instead. This bug was because 4674 the ->protocol field was not always set correctly. 4675 4676 This bug was only affecting ipv6-disabled non-cares non-threaded builds. 4677 4678 Bug: http://curl.haxx.se/bug/view.cgi?id=3154436 4679 Reported by: "dperham" 4680 4681- [Quinn Slack brought this change] 4682 4683 SSL: fix memory leak 4684 4685 In OOM situation. Follow-up fix to commit a9cd4f4ed49e1a0. 4686 4687- gtls: fix memory leak 4688 4689 Bug: http://curl.haxx.se/mail/lib-2011-01/0079.html 4690 Reported by: Quinn Slack 4691 4692- [Marcel Roelofs brought this change] 4693 4694 HTTP: HTTP Negotiate authentication using SSPI 4695 4696 Only under Windows 4697 4698- cmake: removed two files 4699 4700 CMake/CheckTypeSize.c.in and CMake/CheckTypeSize.cmake were removed in 4701 the previous cmake commit 4702 4703Dan Fandrich (5 Jan 2011) 4704- Made unit_setup() return an error code to abort the test early 4705 4706 This makes it possible to skip the call to unit_stop() in such 4707 cases. Also use Curl_safefree() in unit test 1302 so it will 4708 pass the memory torture test. 4709 4710Daniel Stenberg (6 Jan 2011) 4711- SSH: speedcheck clobbered existing error 4712 4713 The just added speedcheck must not ruin the error code if already set 4714 due to a problem. 4715 4716- [Brad King brought this change] 4717 4718 CMake: Use upstream CheckTypeSize module 4719 4720 The CheckTypeSize module that comes with CMake 2.6.2 and above does 4721 everything we need and also supports cross-compiling. Avoid duplicating 4722 an older version of it here. This also fixes a cross-compiling error 4723 because the old line 4724 4725 include ("${CMAKE_MODULE_PATH}/CheckTypeSize.cmake") 4726 4727 failed because CMAKE_MODULE_PATH is a search path and not a directory. 4728 4729 Signed-off-by: Brad King <brad.king@kitware.com> 4730 4731- SSH: acknowledge speedcheck 4732 4733 Check for speedcheck limits during the state machine traversals 4734 4735- tests: <info> tag corrections 4736 4737- unittest: 1303 tests Curl_timeleft 4738 4739 I came up with 33 different ways to call it and verify that it returns the 4740 correct return code. 4741 4742- curlcheck.h: add fail() 4743 4744 fail is a new function/macro that a test case can use to indicate a test 4745 failure for cases when the standard macros are not sufficient. 4746 4747- Curl_timeleft: s/conn/data in first argument 4748 4749 As the function doesn't really use the connectdata struct but only the 4750 SessionHanadle struct I modified what argument it wants. 4751 4752Dan Fandrich (4 Jan 2011) 4753- Fixed path to allow out-of-tree builds 4754 4755Kamil Dudka (4 Jan 2011) 4756- nss: avoid CURLE_OUT_OF_MEMORY given a file name without any slash 4757 4758 Bug: https://bugzilla.redhat.com/623663 4759 4760Daniel Stenberg (4 Jan 2011) 4761- ignore: all executable unit test cases 4762 4763- tests: add 1302 to the package 4764 4765- unittest: test base64 encode/decode 4766 4767- curlcheck.h: avoid using NULL pointers 4768 4769- curlcheck.h: add verify_memory 4770 4771 This check verifies that a pointer contains the correct data. 4772 4773- curlcheck.h: add newlines in error messages 4774 4775- unittest: verify curl_strequal 4776 4777- get_cert_chain: support larger data sets 4778 4779 512 bytes turned out too short for some data, so now we allocate a 4780 larger buffer instead 4781 4782 Bug: http://curl.haxx.se/mail/archive-2011-01/0002.html 4783 4784- RELEASE-NOTES: synced with 83e9fb21aabbec2 4785 4786- curlcheck.h: add fail_if() fix code 4787 4788 The UNITTEST_START and UNITTEST_STOP defines needed to do a new brace 4789 level so that test cases can declare variables fine and still remain 4790 fine C89 code. 4791 4792- unittests: basic docs 4793 4794- ignore: unit test files 4795 4796- unittests: a dedicated feature in tests 4797 4798 The test runner script now knows if unittests can run and the unit test 4799 setup file says it is one. I also made runtests.pl deal with no 4800 <command> tag set, so that the description file can get even simpler. 4801 4802- unittesting: build a separate static lib 4803 4804 When configure --enable-debug has been used, all files in lib/ are now 4805 built twice and a separate static library crafted for unit-testing will 4806 be linked. The unit tests in the tests/unit subdir will use that 4807 library. 4808 4809- unittest: framework for unit-testing 4810 4811 This is the first approach at doing fairly clean and easy to write and 4812 debug unit tests. 4813 4814- SSH: avoid PATH_MAX with alloc 4815 4816 We cannot assume that PATH_MAX will be enough for the remote path name 4817 so allocating room for it is the only sensible approach. 4818 4819- TODO: get rid of PATH_MAX 4820 4821- Curl_nss_connect: avoid PATH_MAX 4822 4823 Since some systems don't have PATH_MAX and it isn't that clever to 4824 assume a fixed maximum path length, the code now allocates buffer space 4825 instead of using stack. 4826 4827 Reported by: Samuel Thibault 4828 Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608521 4829 4830- SFTP: make pwd output result to header callback 4831 4832 Sending "pwd" as a QUOTE command only sent the reply to the 4833 DEBUGFUNCTION. Now it also sends an FTP-like header to the header 4834 callback to allow similar operations as with FTP, and apps can re-use 4835 the same parser. 4836 4837- pubkey_show: allocate buffer to fit any-size result 4838 4839 The loop condition was wrong so keys larger than 340 bits would overflow 4840 the local stack-based buffer. 4841 4842- CURLINFO_FTP_ENTRY_PATH: sftp support 4843 4844- [Luke Amery brought this change] 4845 4846 ssh: honour the CURLINFO_FTP_ENTRY_PATH curl_getinfo option 4847 4848- [Pierre Joye brought this change] 4849 4850 IDN: use win32 API if told to 4851 4852 The functionality is provided in a new source file: lib/idn_win32.c 4853 4854Yang Tse (28 Dec 2010) 4855- test harness: take in account that Windows does not support LD_PRELOAD 4856 4857 configure.ac: Test harness libhostname library will not be built for Windows. 4858 4859 runtests.pl: LD_PRELOAD mechanism will not be used to load libhostname 4860 library on operating systems which lack LD_PRELOAD support. 4861 4862Daniel Stenberg (27 Dec 2010) 4863- c-ares: fix cancelled resolves 4864 4865 When built IPv6-enabled, we could do Curl_done() with one of the two 4866 resolves having returned already, so when ares_cancel() is called the 4867 resolve callback ends up doing funny things (sometimes resulting in a 4868 segfault) since it would try to actually store the previous resolve even 4869 though we're shutting down the resolve. 4870 4871 This bug was introduced in commit 8ab137b2bc9630ce so it hasn't been 4872 included in any public release. 4873 4874 Bug: http://curl.haxx.se/bug/view.cgi?id=3145445 4875 Reported by: Pedro Larroy 4876 4877- [Brad Hards brought this change] 4878 4879 Typo / spelling fixes. 4880 4881- [Brad Hards brought this change] 4882 4883 Use angle address, as for the rest of the example. 4884 4885 Also spelling fix for RECIPIENT #define. 4886 4887- [Brad Hards brought this change] 4888 4889 Add angle brackets to addresses in easy SMTP examples, as for smtp-multi example. 4890 4891- cookies: tricked dotcounter fixed 4892 4893 Providing multiple dots in a series in the domain field (domain=..com) could 4894 trick the cookie engine to wrongly accept the cookie believing it to be 4895 fine. Since the tailmatching would then match all .com sites, the cookie would 4896 then be sent to all of them. 4897 4898 The code now requires at least one letter between each dot for them to be 4899 counted. Edited test case 61 to verify this. 4900 4901- multi: connect fail => use next IP address 4902 4903 When using the multi interface and connecting to a host name that 4904 resolves to multiple IP addresses, there was no logic that made it 4905 continue to the next IP if connecting to the first address times 4906 out. This is now corrected. 4907 4908- smtp-multi: put recipient within <brackets> 4909 4910 Even if libcurl might to do it for us, it is more correct. 4911 4912- ossl_seed: no more RAND_screen 4913 4914 RAND_screen() is slow, not thread-safe and not needed anymore since OpenSSL 4915 uses the thread-safe win32 CryptoAPI nowadays. 4916 4917- multi: inhibit some verbose outputs 4918 4919 The info about pipe status and expire cleared are clearly debug-related 4920 and not anything mere mortals will or should care about so they are now 4921 ifdef'ed DEBUGBUILD 4922 4923- SMTP tests: updated MAIL FROM use 4924 4925 They were all wrong previously since none used the <brackets> they 4926 should for MAIL FROM. Now libcurl adds them itself if the app doesn't so 4927 they end up wrong less easy. 4928 4929- CURLOPT_MAIL_FROM: document the bracket situation 4930 4931- [Brad Hards brought this change] 4932 4933 SMTP: add brackets for MAIL FROM 4934 4935 Similar to what is done already for RCPT TO, the code now checks for and 4936 adds angle brackets (<>) around the email address that is provided for 4937 CURLOPT_MAIL_RCPT unless the app has done so itself. 4938 4939Guenter Knauf (22 Dec 2010) 4940- Added support for axTLS to NetWare build. 4941 4942- Fixed include: memory.h -> curl_memory.h. 4943 4944Kamil Dudka (22 Dec 2010) 4945- [Brad Hards brought this change] 4946 4947 smtp-tls: add a missing newline 4948 4949 Without this you won't get the next (Subject) line. 4950 4951Daniel Stenberg (21 Dec 2010) 4952- [Brad Hards brought this change] 4953 4954 Typo fixes. 4955 4956Patrick Monnerat (21 Dec 2010) 4957- New curl/curl.h definitions added to ILE/RPG binding. 4958 4959Yang Tse (21 Dec 2010) 4960- build: sort configuration hunks in lib/Makefile.vc6 4961 4962 sorted to reflect same internal order as the one shown 4963 in the usage message. 4964 4965Daniel Stenberg (20 Dec 2010) 4966- getparameter: add error check 4967 4968 if add2list() returns an error, bail out! 4969 4970- loadhostpairs: return errorcode 4971 4972 Make sure that Curl_cache_addr() errors are propagated to callers of 4973 loadhostpairs(). 4974 4975 (this loadhostpairs function caused a scan-build warning due to the 4976 'dns' variable getting assigned but never used) 4977 4978Yang Tse (20 Dec 2010) 4979- distrib: add new file to EXTRA_DIST 4980 4981- build: refactoring of msvc makefiles to allow overriding of library filenames. 4982 4983 Default libcurl's file names are kept equal to those used since Y2K. 4984 4985Daniel Stenberg (19 Dec 2010) 4986- ftp_parselist: fix compiler warning 4987 4988 Doing curlx_strtoofft() on the size just to figure out the end of it 4989 causes a compiler warning since the result wasn't used, but is also a 4990 bit of a waste. 4991 4992- [Pasha Kuznetsov brought this change] 4993 4994 Curl_do: avoid using stale conn pointer 4995 4996 Since the original `conn' pointer was used after the `connectdata' it 4997 points to has been closed/cleaned up by Curl_reconnect_request it caused 4998 a crash. We must make sure to use the newly created connection instead! 4999 5000 URL: http://curl.haxx.se/mail/lib-2010-12/0202.html 5001 5002- [Tommie Gannert brought this change] 5003 5004 ares: ask for both IPv4 and IPv6 addresses 5005 5006 Make the c-ares resolver code ask for both IPv4 and IPv6 addresses when 5007 IPv6 is enabled. 5008 5009 This is a workaround for the missing ares_getaddrinfo() and is a lot 5010 easier to implement. 5011 5012 Note that as long as c-ares returns IPv4 addresses when IPv6 addresses 5013 were requested but missing, this will cause a host's IPv4 addresses to 5014 occur twice in the DNS cache. 5015 5016 URL: http://curl.haxx.se/mail/lib-2010-12/0041.html 5017 5018- examples: socket type cleanup 5019 5020- [Brad Hards brought this change] 5021 5022 Trival comment fix. 5023 5024- [Brad Hards brought this change] 5025 5026 smtp-tls: add Message-ID: header 5027 5028- gitignore: ignore the new example execs 5029 5030- examples: fix compiler warnings 5031 5032- examples: build all examples easier 5033 5034- [Brad Hards brought this change] 5035 5036 smtp-tls: new example 5037 5038 This example shows how to send SMTP with TLS 5039 5040- [Brad Hards brought this change] 5041 5042 Docs: add simple SMTP example 5043 5044 Add a simple SMTP example program, patterned after some of the existing 5045 examples, and the curl application. 5046 5047 This version addresses issues raised by David Woodhouse on comments in 5048 the simplesmtp.c example. 5049 5050Kamil Dudka (17 Dec 2010) 5051- [Paul Howarth brought this change] 5052 5053 tftpd: avoid buffer overflow report from glibc 5054 5055Daniel Stenberg (17 Dec 2010) 5056- example: fix compiler warnings in fopen.c 5057 5058- [Brad Hards brought this change] 5059 5060 chkspeed: bad strtol() call for -M option 5061 5062 Bug: http://curl.haxx.se/mail/lib-2010-12/0192.html 5063 5064Yang Tse (16 Dec 2010) 5065- axTLS integration: silence runtests.pl perl warning 5066 5067Daniel Stenberg (15 Dec 2010) 5068- axTLS: mention it among the other SSL libs 5069 5070- 7.21.4: version bump 5071 5072- axtls_connect: allow connect without peer verification 5073 5074 The SSL_SERVER_VERIFY_LATER bit in the ssl_ctx_new() call allows the 5075 code to verify the peer certificate explicitly after the handshake and 5076 then the "data->set.ssl.verifypeer" option works. 5077 5078- axTLS: allow "default" SSL version as well 5079 5080 When no explicit version is selected we should try to use whatever is 5081 best for us, and in the axTLS case that means TLSv1. 5082 5083- axtls.c: cleanup 5084 5085 Removed trailing whitespace 5086 Removed several compiler warnings 5087 Removed odd backslashes at some line endings 5088