aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-01file: use private buffer for C-L outputDaniel Stenberg
... instead of clobbering the download buffer.
2017-05-01CURLOPT_BUFFERSIZE: 1024 bytes is now the minimum sizeDaniel Stenberg
The buffer is needed to receive FTP, HTTP CONNECT responses etc so already at this size things risk breaking and smaller is certainly not wise.
2017-05-01ftp: use private buffer for temp storage, not receive bufferDaniel Stenberg
2017-05-01http: use private user:password output bufferDaniel Stenberg
Don't clobber the receive buffer.
2017-05-01anyauthput: remove unused codeMarcel Raad
The definition of TRUE was introduced in 4a728747e6f8845e500910e397dfc99aaf4a7984 and is not used anymore since e664cd5826d43930fcc5b5dbaedbec94af33184b. The usage of intptr_t was removed in 32e38b8f42477cf5ce3c3fef2fcc9db82f7fb7be.
2017-05-01tool: Fix missing prototype warnings for CURL_DOES_CONVERSIONSJay Satiro
- Include tool_convert.h where needed. Bug: https://github.com/curl/curl/issues/1460 Reported-by: Gisle Vanem
2017-05-01curl_setup: Ensure no more than one IDN lib is enabledJay Satiro
Prior to this change it was possible for libcurl to be built with both Windows' native IDN lib (normaliz) and libidn2 enabled. It appears that doesn't offer any benefit --and could cause a bug-- since libcurl's IDN handling is written to use either one but not both. Bug: https://github.com/curl/curl/issues/1441#issuecomment-297689856 Reported-by: Gisle Vanem
2017-05-01getpart: use correct variable typeMarcel Raad
This fixes the following clang warning: getpart.c:201:17: warning: cast from function call of type 'CURLcode' to non-matching type 'int' [-Wbad-function-cast]
2017-05-01tests: declare TU-local variables staticMarcel Raad
This fixes missing-variable-declarations warnings when building with clang.
2017-05-01tool_cb_prg: fix double-promotion warningMarcel Raad
clang complains: tool_cb_prg.c:86:22: error: implicit conversion increases floating-point precision: 'float' to 'double' [-Werror,-Wdouble-promotion] Fix this by using a double instead of a float constant.
2017-05-01examples: fixed too long line and too long string warningsDan Fandrich
2017-04-30examples: declare TU-local variables staticMarcel Raad
This fixes missing-variable-declarations warnings when building with clang.
2017-04-30http2: declare TU-local variables staticMarcel Raad
This fixes the following clang warnings: http2.c:184:27: error: no previous extern declaration for non-static variable 'Curl_handler_http2' [-Werror,-Wmissing-variable-declarations] http2.c:204:27: error: no previous extern declaration for non-static variable 'Curl_handler_http2_ssl' [-Werror,-Wmissing-variable-declarations]
2017-04-30unit1604: fixed indentationDan Fandrich
2017-04-30unit1604: fixed compilation under Windows, broken in the previous commitDan Fandrich
2017-04-30tests: fixed OOM handling of unit tests to abort testDan Fandrich
It's dangerous to continue to run the test when a memory alloc fails.
2017-04-29curl_rtmp: fix missing-variable-declarations warningsMarcel Raad
clang complains: curl_rtmp.c:61:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmp' [-Werror,-Wmissing-variable-declarations] curl_rtmp.c:81:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpt' [-Werror,-Wmissing-variable-declarations] curl_rtmp.c:101:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpe' [-Werror,-Wmissing-variable-declarations] curl_rtmp.c:121:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpte' [-Werror,-Wmissing-variable-declarations] curl_rtmp.c:141:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmps' [-Werror,-Wmissing-variable-declarations] curl_rtmp.c:161:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpts' [-Werror,-Wmissing-variable-declarations] Fix this by including the header file.
2017-04-29url: fixed a memory leak on OOM while setting CURLOPT_BUFFERSIZEDan Fandrich
2017-04-29tests: added --remote-time tests for remaining protocols that support itDan Fandrich
2017-04-29runtests.pl: support multiline <postcheck> commandsDan Fandrich
2017-04-27tool_operate: use utimes instead of obsolescent utime when availableDan Fandrich
2017-04-27test1443: test --remote-timeDan Fandrich
2017-04-27http-proxy: removed unused argument in CURL_DISABLE_PROXY caseDan Fandrich
Missed in commit 55c3c02e
2017-04-27cookie_interface.c: changed the other domain to example.com tooDaniel Stenberg
2017-04-27cookie_interface.c: fix cookie domain so the example worksDaniel Stenberg
2017-04-26Makefile: fix make distDan Fandrich
Commit 80a87e8a broke 'make dist' as it can't handle installing from absolute target names. Rearranged the dependencies so the absolute name is used for building but the relative name is use for distributing.
2017-04-26lib: remove unused codeMarcel Raad
This fixes the following clang warnings: macro is not used [-Wunused-macros] will never be executed [-Wunreachable-code] Closes https://github.com/curl/curl/pull/1448
2017-04-26http-proxy: remove unused argument from Curl_proxyCONNECT()Daniel Stenberg
2017-04-26url: declare get_protocol_family() staticMartin Kepplinger
get_protocol_family() is not defined static even though there is a static local forward declaration. Let's simply make the definition match it's declaration. Bug: https://curl.haxx.se/mail/lib-2017-04/0127.html
2017-04-25examples: ftpuploadfrommem.cDaniel Stenberg
Uploads data to an FTP site, directly from memory. Closes #1451
2017-04-25nss: load libnssckbi.so if no other trust is specifiedKamil Dudka
The module contains a more comprehensive set of trust information than supported by nss-pem, because libnssckbi.so also includes information about distrusted certificates. Reviewed-by: Kai Engert Closes #1414
2017-04-25nss: factorize out nss_{un,}load_module to separate fncsKamil Dudka
No change of behavior is intended by this commit.
2017-04-25nss: do not leak PKCS #11 slot while loading a keyKamil Dudka
It could prevent nss-pem from being unloaded later on. Bug: https://bugzilla.redhat.com/1444860
2017-04-25typecheck-gcc: fix _curl_is_slist_infoMarcel Raad
Info values starting with CURLINFO_SOCKET expect a curl_socket_t, not a curl_slist argument. This fixes the following GCC warning when building the examples with --enable-optimize: ../../include/curl/typecheck-gcc.h:126:42: warning: call to ‘_curl_easy_getinfo_err_curl_slist’ declared with attribute warning: curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info [enabled by default] sendrecv.c:90:11: note: in expansion of macro ‘curl_easy_getinfo’ res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd); Closes https://github.com/curl/curl/pull/1447
2017-04-25curl: set a 100K buffer size by defaultDaniel Stenberg
Test command 'time curl http://localhost/80GB -so /dev/null' on a Debian Linux. Before (middle performing run out 9): real 0m28.078s user 0m11.240s sys 0m12.876s After (middle performing run out 9) real 0m26.356s (93.9%) user 0m5.324s (47.4%) sys 0m8.368s (65.0%) Also, doing SFTP over a 200 millsecond latency link is now about 6 times faster. Closes #1446
2017-04-25transfer: remove 'uploadbuf' pointer and cleanup readwrite_upload()Daniel Stenberg
The data->req.uploadbuf struct member served no good purpose, instead we use ->state.uploadbuffer directly. It makes it clearer in the code which buffer that's being used. Removed the 'SingleRequest *' argument from the readwrite_upload() proto as it can be derived from the Curl_easy struct. Also made the code in the readwrite_upload() function use the 'k->' shortcut to all references to struct fields in 'data->req', which previously was made with a mix of both.
2017-04-25configure: stop prepending to LDFLAGS, CPPFLAGSJay Satiro
- Change prepends to appends because user's LDFLAGS and CPPFLAGS should always come first so they're searched before ours. Bug: https://github.com/curl/curl/issues/1420 Reported-by: Helmut K. C. Tessarek
2017-04-25if2ip: fix -Wcast-align warningMarcel Raad
Follow-up to 119037325de02579f5c58256ca2ed2a0aa592c86, which fixed the warning in the HAVE_GETIFADDRS block, but not in the HAVE_IOCTL_SIOCGIFADDR block.
2017-04-24Makefile: avoid use of GNU-specific form of $<Dan Fandrich
$< is only allowed in implicit rules in some non-GNU makes (e.g. BSD, AIX) so avoid use elsewhere by referencing the dependent curl.1 file directly instead. This is somewhat tricky because the file is supplied in the packaged tar ball (but not in git) but must still be able to be rebuilt when its dependencies change. The right thing must happen in both tar ball and git source trees, as well as in both in-tree and out-of-tree builds.
2017-04-24nss: adapt to the new Curl_llist APIKamil Dudka
This commit fixes compilation failure caused by cbae73e1dd95946597ea74ccb580c30f78e3fa73.
2017-04-24curl-compilers.m4: accept -Og and -Ofast GCC flagsMarcel Raad
-Og, introduced in GCC 4.8, optimizes for debugging experience. -Ofast, introduced in GCC 4.7, builds on -O3 and enables further optimizations breaking strict standards compliance. When specified in CFLAGS, these were always overridden by -O0 or -O2. Fix this by adding them to flags_opt_all. Ref: https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Options.html Ref: https://github.com/curl/curl/pull/1404#issuecomment-296401570 Closes https://github.com/curl/curl/pull/1440
2017-04-24RELEASE-NOTES: synced with c68fed875Daniel Stenberg
2017-04-24configure: fix the -ldl check for openssl, add -lpthread checkDaniel Stenberg
The check for if -ldl is needed to build with (a statically built) openssl was broken. This repairs the check, and adds a check for -lpthread as well since OpenSSL 1.1.0+ does in fact require -lpthread so only adding -ldl for a static openssl build is no longer enough. Reported-by: Jay Satiro Ref: #1426 Closes #1427
2017-04-24llist: fix a comment after cbae73e1dd9Daniel Stenberg
Pointed-it-by: Kevin Ji URL: https://github.com/curl/curl/commit/cbae73e1dd95946597ea74ccb580c30f78e3fa73#commitcomment-21872622
2017-04-22schannel: Don't treat encrypted partial record as pending dataJay Satiro
- Track when the cached encrypted data contains only a partial record that can't be decrypted without more data (SEC_E_INCOMPLETE_MESSAGE). - Change Curl_schannel_data_pending to return false in such a case. Other SSL libraries have pending data functions that behave similarly. Ref: https://github.com/curl/curl/pull/1387 Closes https://github.com/curl/curl/pull/1392
2017-04-22multi: clarify condition in curl_multi_waitAlan Jenkins
`if(nfds || extra_nfds) {` is followed by `malloc(nfds * ...)`. If `extra_fs` could be non-zero when `nfds` was zero, then we have `malloc(0)` which is allowed to return `NULL`. But, malloc returning NULL can be confusing. In this code, the next line would treat the NULL as an allocation failure. It turns out, if `nfds` is zero then `extra_nfds` must also be zero. The final value of `nfds` includes `extra_nfds`. So the test for `extra_nfds` is redundant. It can only confuse the reader. Closes #1439
2017-04-22lib: fix maybe-uninitialized warningsMarcel Raad
With -Og, GCC complains: easy.c:628:7: error: ‘mcode’ may be used uninitialized in this function [-Werror=maybe-uninitialized] ../lib/strcase.h:35:29: error: ‘tok_buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized] vauth/digest.c:208:9: note: ‘tok_buf’ was declared here ../lib/strcase.h:35:29: error: ‘tok_buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized] vauth/digest.c:566:15: note: ‘tok_buf’ was declared here Fix this by initializing the variables.
2017-04-22gnutls: removed some code when --disable-verbose is configuredDan Fandrich
This reduces the binary size and fixes a compile warning.
2017-04-22llist: no longer uses mallocDaniel Stenberg
The 'list element' struct now has to be within the data that is being added to the list. Removes 16.6% (tiny) mallocs from a simple HTTP transfer. (96 => 80) Also removed return codes since the llist functions can't fail now. Test 1300 updated accordingly. Closes #1435
2017-04-21typecheck-gcc: handle function pointers properlyMarcel Raad
All the callbacks passed to curl_easy_setopt are defined as function pointers. The possibility to pass both functions and function pointers was handled for the callbacks that typecheck-gcc.h defined as compatible, but not for the public callback types themselves. This makes all compatible callback types defined in typecheck-gcc.h function pointers too and checks all functions uniformly with _curl_callback_compatible, which handles both functions and function pointers. A symptom of the problem was a warning in tool_operate.c with --disable-libcurl-option and without --enable-debug as that file passes the callback functions to curl_easy_setopt directly. Fixes https://github.com/curl/curl/issues/1403 Closes https://github.com/curl/curl/pull/1404