aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-03gtls: fix build when sizeof(long) < sizeof(void *)Johannes Schindelin
- Change gnutls pointer/int macros to pointer/curl_socket_t. Prior to this change they used long type as well. The size of the `long` data type can be shorter than that of pointer types. This is the case most notably on Windows. If C99 were acceptable, we could simply use `intptr_t` here. But we want to retain C89 compatibility. Simply use the trick of performing pointer arithmetic with the NULL pointer: to convert an integer `i` to a pointer, simply take the address of the `i`th element of a hypothetical character array starting at address NULL. To convert back, simply cast the pointer difference. Thanks to Jay Satiro for the initial modification to use curl_socket_t instead of int/long. Closes #1617 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-07-03unit1399: fix integer overflowRyan Winograd
Bug: #1616 Closes #1633
2017-07-02cmake: Added compatibility options for older Windows versionsPer Malmberg
CURL_STATIC_CRT and ENABLE_INET_PTON Closes #1621
2017-07-01unit1399: add logging to time comparisonDaniel Stenberg
... to enable tracking down why autobuilds fail on this Bug: #1616
2017-06-30make: build the docs subdir only from within srcDaniel Stenberg
... and don't build at all in include Prompted-by-work-by: Simon Warta Ref: #1590 Closes #1591
2017-06-30test1450: fix up DICT server in torture modeMax Dymond
As per https://github.com/curl/curl/pull/1615, the DICT server is a little spammy in torture mode due to the sockets being torn down unexpectedly. Fix this by adding some error handling to the handling function. Closes #1629
2017-06-30test1450: add simple testing for DICTMax Dymond
Add a new server which provides a DICT interface. This is intended to begin coverage testing for lib/dict.c Closes #1615
2017-06-30test1521: fix out-of-tree builds, broken with 467da3afDan Fandrich
The test.h file is no longer in the same directory as the source file, so that directory needs to be added to the include path. Fixes #1627 Closes #1628
2017-06-30http2: handle PING framesMax Dymond
Add a connection check function to HTTP2 based off RTSP. This causes PINGs to be handled the next time the connection is reused. Closes #1521
2017-06-30handler: refactor connection checkingMax Dymond
Add a new type of callback to Curl_handler which performs checks on the connection. Alter RTSP so that it uses this callback to do its own check on connection health.
2017-06-30openssl: improve fallback seed of PRNG with a time based hashdmitrykos
Fixes #1620
2017-06-30progress: prevent resetting t_starttransferRyan Winograd
Prevent `Curl_pgrsTime` from modifying `t_starttransfer` when invoked with `TIMER_STARTTRANSFER` more than once during a single request. When a redirect occurs, this is considered a new request and `t_starttransfer` can be updated to reflect the `t_starttransfer` time of the redirect request. Closes #1616 Bug: https://github.com/curl/curl/pull/1602#issuecomment-310267370
2017-06-29curl_strequal.3: fix typo in SYNOPSISDaniel Stenberg
Reported-by: Jesse Chisholm Fixes #1623
2017-06-28RELEASE-NOTES: synced with ce2c3ebdaDaniel Stenberg
2017-06-28curl --socks5-{basic,gssapi}: control socks5 authKamil Dudka
Closes https://github.com/curl/curl/pull/1454
2017-06-28CURLOPT_SOCKS5_AUTH: allowed methods for SOCKS5 proxy authKamil Dudka
If libcurl was built with GSS-API support, it unconditionally advertised GSS-API authentication while connecting to a SOCKS5 proxy. This caused problems in environments with improperly configured Kerberos: a stock libcurl failed to connect, despite libcurl built without GSS-API connected fine using username and password. This commit introduces the CURLOPT_SOCKS5_AUTH option to control the allowed methods for SOCKS5 authentication at run time. Note that a new option was preferred over reusing CURLOPT_PROXYAUTH for compatibility reasons because the set of authentication methods allowed by default was different for HTTP and SOCKS5 proxies. Bug: https://curl.haxx.se/mail/lib-2017-01/0005.html Closes https://github.com/curl/curl/pull/1454
2017-06-28socks: deduplicate the code for auth requestKamil Dudka
2017-06-28socks: use proxy_user instead of proxy_nameKamil Dudka
... to make it obvious what the data is used for
2017-06-27libtest/make: generate lib1521.cDaniel Stenberg
... instead of having the generated code checked in. This saves space in the tarball but primarily automatically adapts to newly added options. Closes #1614
2017-06-26tool_getparam: fix memory leak on test 1147 OOM (torture tests)Jay Satiro
Bug: https://github.com/curl/curl/pull/1486#issuecomment-310926872 Reported-by: Dan Fandrich
2017-06-25test1537: fixed memory leak on OOMDan Fandrich
2017-06-25test1521: fix compiler warningsMarcel Raad
The integer literal 3123123123 doesn't fit into a 32-bit signed integer, so GCC with 32-bit long warns in C90 mode: this decimal constant is unsigned only in ISO C90 [enabled by default] Fix this by using ULONG_MAX, which should fit in any curl_off_t and has the correct suffix to not issue any warnings. Also adds the missing CURLOPT_REQUEST_TARGET from commit 9b167fd090f596eac828817d48c247eeae53407f. Closes https://github.com/curl/curl/pull/1611
2017-06-24curl/system.h: add check for XTENSA for 32bit gccDaniel Stenberg
Reported-by: Neil Kolban Fixes: 1598
2017-06-24winbuild: fix boringssl buildHenrik S. Gaßmann
Compile with `WIN32_LEAN_AND_MEAN` which prevents `windows.h` from including too much clutter including `wincrypt.h` which in turn contains some preprocessor macros that clash with boringssl symbols. Detect boringssl by checking the existance of `is_boringssl.h` and set the corresponding `HAVE_BORINGSSL` for compilation which is used in `ldap.c` to undefine the evil macros. Closes #1610
2017-06-24progress: progress.timespent needs to be usDaniel Stenberg
follow-up to 64ed44a815e4e to fix test 500 failures
2017-06-24curl-compilers.m4: fix unknown-warning-option on Apple clangMarcel Raad
Since 5598b0bd63f690c151074494ce47ef872f004ab4, clang -v is used to detect the clang version. The version number was expected to come after the word "version". For Apple clang, this doesn't work as it has its own versioning scheme. The version number is now first searched after the string "based on LLVM". This works for Apple clang before version 7, and also for e.g. Ubuntu's clang up to version 3.7. If it's not found and the version string contains "Apple LLVM version", clang version 3.7 is assumed, which is the version that comes with Xcode 7. Otherwise, the version number is still expected after the word "version", which works for very old Apple clang versions. Ref: https://trac.macports.org/wiki/XcodeVersionInfo Fixes https://github.com/curl/curl/issues/1606 Closes https://github.com/curl/curl/pull/1607
2017-06-24progress: fix "time spent", broke in adef394acDaniel Stenberg
2017-06-24CURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS caseDaniel Stenberg
... supported since 7.54.1
2017-06-24maketgz: switch to -6e for xzDaniel Stenberg
To reduce the memory requirement for decompress, and still do almost as good compression as with -9e. Pointed-out-by: Dan Fandrich
2017-06-23libtest/Makefile: remove unused lib1541 variablesDaniel Stenberg
2017-06-22CONTRIBUTE.md: mention the out-of-tree build test tooDaniel Stenberg
2017-06-22maketgz: switch to xz instead of lzmaDaniel Stenberg
The compressed output size seems to be a tad bit smaller, but generally xz seems more preferred these days and is used directly by for example gentoo instead of bz2. "Users of LZMA Utils should move to XZ Utils" => https://tukaani.org/lzma/ Closes #1604
2017-06-21--request-target: instead of --strip-path-slashDaniel Stenberg
... and CURLOPT_REQUEST_TARGET instead of CURLOPT_STRIP_PATH_SLASH. This option instead provides the full "alternative" target to use in the request, instead of extracting the path from the URL. Test 1298 and 1299 updated accordingly. Idea-by: Evert Pot Suggestion: https://daniel.haxx.se/blog/2017/06/19/options-with-curl/comment-page-1/#comment-18373 Closes #1593
2017-06-21lib1521: fix missing-variable-declarations clang warningsMarcel Raad
Declare TU-local variables static.
2017-06-21travis: enable typecheck-gcc warningsMarcel Raad
- switch debug and release configurations so that we get an optimized build with GCC 4.3+ as required by typecheck-gcc - enable warnings-as-errors for release builds (which have warnings disabled) Closes https://github.com/curl/curl/pull/1595
2017-06-21typecheck-gcc: add support for CURLINFO_OFF_TMarcel Raad
typecheck-gcc expected curl_socket_t instead of curl_off_t arguments for CURLINFO_OFF_T. Detected by test1521, unfortunately only when run locally. Closes https://github.com/curl/curl/pull/1592
2017-06-21ci: whitelist branches to avoid testing feature branches twiceSimon Warta
2017-06-21lib: fix the djgpp buildGisle Vanem
Bug: https://github.com/curl/curl/commit/73a2fcea0b4adea6ba342cd7ed1149782c214ae3#commitcomment-22655993
2017-06-20if2ip: fix compiler warning in ISO C90 modeMarcel Raad
remote_scope_id is only used when both HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID and ENABLE_IPV6 are defined instead of only one of them.
2017-06-20travis: do the distcheck test build out-of-tree as wellDaniel Stenberg
2017-06-19http: add --strip-path-slash and CURLOPT_STRIP_PATH_SLASHDaniel Stenberg
... to enable sending "OPTIONS *" which wasn't possible previously. This option currently only works for HTTP. Added test cases 1298 + 1299 to verify Fixes #1280 Closes #1462
2017-06-19test1521: test getinfo's OFF_T types tooDaniel Stenberg
Closes #1588
2017-06-19lib1521: add curl_easy_getinfo calls to the test setDaniel Stenberg
Also added return value checks to make sure no unexpected return codes are used.
2017-06-19automake: use $(MKHELP) variable instead if constant mkhelp.plSimon Warta
this improves symmetry with the rule above
2017-06-19mkhelp.pl: fix script name in usage textSimon Warta
2017-06-19RELEASE-NOTES: synced with 3b80d3ca4Daniel Stenberg
2017-06-19getinfo: return sizes as curl_off_tDaniel Stenberg
This change introduces new alternatives for the existing six curl_easy_getinfo() options that return sizes or speeds as doubles. The new versions are named like the old ones but with an appended '_T': CURLINFO_CONTENT_LENGTH_DOWNLOAD_T CURLINFO_CONTENT_LENGTH_UPLOAD_T CURLINFO_SIZE_DOWNLOAD_T CURLINFO_SIZE_UPLOAD_T CURLINFO_SPEED_DOWNLOAD_T CURLINFO_SPEED_UPLOAD_T Closes #1511
2017-06-19PIPELINING_SERVER_BL: cleanup the internal list useDaniel Stenberg
The list was freed incorrectly since the llist refactor of cbae73e1dd959. Added test 1550 to verify that it works and avoid future regressions. Reported-by: Pascal Terjan Fixes #1584 Closes #1585
2017-06-18http2: fix OOM crashDaniel Stenberg
torture mode with test 1021 found it
2017-06-18CURLOPT_PREQUOTE.3: spellfix man page referenceDaniel Stenberg