summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* curl: make str2udouble not return values on errorbagder/str2udouble-integer-overflowDaniel Stenberg2017-09-171-3/+5
| | | | | | | ... previously it would store a return value even when it returned error, which could make the value get used anyway! Reported-by: Brian Carpenter
* schannel: Support partial send for when data is too largeMarc Aldorasi2017-09-161-2/+1
| | | | | | | | | | Schannel can only encrypt a certain amount of data at once. Instead of failing when too much data is to be sent at once, send as much data as we can and let the caller send the remaining data by calling send again. Bug: https://curl.haxx.se/mail/lib-2014-07/0033.html Closes https://github.com/curl/curl/pull/1890
* openssl: add missing includesDavid Benjamin2017-09-161-0/+2
| | | | | | | | lib/vtls/openssl.c uses OpenSSL APIs from BUF_MEM and BIO APIs. Include their headers directly rather than relying on other OpenSSL headers including things. Closes https://github.com/curl/curl/pull/1891
* conversions: fix several compiler warningsDaniel Stenberg2017-09-152-14/+16
|
* server/getpart: provide dummy function to build conversion enabledDaniel Stenberg2017-09-151-1/+29
|
* non-ascii: use iconv() with 'char **' argumentDaniel Stenberg2017-09-151-3/+3
| | | | Bug: https://curl.haxx.se/mail/lib-2017-09/0031.html
* escape.c: error: pointer targets differ in signednessDaniel Stenberg2017-09-151-2/+2
|
* docs: clarify the CURLOPT_INTERLEAVE* options behaviorDaniel Stenberg2017-09-152-5/+10
|
* rtsp: Segfault in rtsp.c when using WRITEDATAMax Dymond2017-09-151-9/+14
| | | | | | | | | If the INTERLEAVEFUNCTION is defined, then use that plus the INTERLEAVEDATA information when writing RTP. Otherwise, use WRITEFUNCTION and WRITEDATA. Fixes #1880 Closes #1884
* tests: enable gssapi in travis-ci linux buildIsaac Boukris2017-09-151-1/+2
| | | | Closes https://github.com/curl/curl/pull/1687
* tests: add initial gssapi test using stub implementationIsaac Boukris2017-09-1510-2/+825
| | | | | | | | | | | The stub implementation is pre-loaded using LD_PRELOAD and emulates common gssapi uses (only builds if curl is initially built with gssapi support). The initial tests are currently disabled for debug builds as LD_PRELOAD is not used then. Ref: https://github.com/curl/curl/pull/1687
* test1150: verify same host fetch using different ports over proxyDaniel Stenberg2017-09-152-1/+57
| | | | Closes #1889
* URL: on connection re-use, still pick the new remote portDaniel Stenberg2017-09-141-0/+1
| | | | | | | | ... as when a proxy connection is being re-used, it can still get a different remote port. Fixes #1887 Reported-by: Oli Kingshott
* RELEASE-NOTES: synced with 87501e57fDaniel Stenberg2017-09-121-5/+35
|
* code style: remove wrong uses of multiple spacesDaniel Stenberg2017-09-127-10/+10
| | | | Closes #1878
* checksrc: detect and warn for multiple spacesDaniel Stenberg2017-09-121-0/+13
|
* code style: use space after semicolonDaniel Stenberg2017-09-125-11/+12
|
* checksrc: verify space after semicolonsDaniel Stenberg2017-09-121-0/+8
|
* code style: use spaces around plusesDaniel Stenberg2017-09-11104-366/+386
|
* checksrc: detect and warn for lack of spaces next to plus signsDaniel Stenberg2017-09-111-0/+13
|
* code style: use spaces around equals signsDaniel Stenberg2017-09-11144-990/+995
|
* checksrc: verify spaces around equals signsDaniel Stenberg2017-09-111-1/+17
| | | | ... as the code style mandates.
* Curl_checkheaders: make it available for IMAP and SMTP tooDaniel Stenberg2017-09-115-25/+30
| | | | | | ... not only HTTP uses this now. Closes #1875
* travis: add build without HTTP/SMTP/IMAPDaniel Stenberg2017-09-111-0/+4
|
* mbedtls: enable CA path processingJay Satiro2017-09-103-5/+7
| | | | | | | | CA path processing was implemented when mbedtls.c was added to libcurl in fe7590f, but it was never enabled. Bug: https://github.com/curl/curl/issues/1877 Reported-by: SBKarr@users.noreply.github.com
* rtsp: do not call fwrite() with NULL pointer FILE *Daniel Stenberg2017-09-082-0/+9
| | | | | | | | | | | If the default write callback is used and no destination has been set, a NULL pointer would be passed to fwrite()'s 4th argument. OSS-fuzz bug https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3327 (not publicly open yet) Detected by OSS-fuzz Closes #1874
* configure: use -Wno-varargs on clang 3.9[.X] debug buildsDaniel Stenberg2017-09-081-1/+6
| | | | ... to avoid a clang bug
* ossfuzz: add some more handled CURL optionsMax Dymond2017-09-0811-28/+160
| | | | | Add support for HEADER, COOKIE, RANGE, CUSTOMREQUEST, MAIL_RECIPIENT, MAIL_FROM and uploading data.
* configure: check for C++ compiler after C, to make it non-fatalDaniel Stenberg2017-09-071-1/+1
| | | | | | | | | The tests for object file/executable file extensions are presumably only done for the first of these macros in the configure file. Bug: https://github.com/curl/curl/pull/1851#issuecomment-327597515 Reported-by: Marcel Raad Closes #1873
* form API: add new test 650.Patrick Monnerat2017-09-074-2/+316
| | | | | | Now that the form API is deprecated and not used anymore in curl tool, a lot of its features left untested. Test 650 attempts to check all these features not tested elsewhere.
* configure: fix curl_off_t check's include orderJay Satiro2017-09-071-1/+1
| | | | | | | | | | | - Prepend srcdir include path instead of append. Prior to this change it was possible that during the check for the size of curl_off_t the include path of a user's already installed curl could come before the include path of the to-be-built curl, resulting in the system.h of the former being incorrectly included for that check. Closes https://github.com/curl/curl/pull/1870
* KNOWN_BUGS: Remove CMake symbol hiding issueJakub Zakrzewski2017-09-071-1/+0
| | | | It has already been fixed in 6140dfc
* http-proxy: when not doing CONNECT, that phase is done immediatelyDaniel Stenberg2017-09-071-1/+1
| | | | | | | | | `conn->connect_state` is NULL when doing a regular non-CONNECT request over the proxy and should therefor be considered complete at once. Fixes #1853 Closes #1862 Reported-by: Lawrence Wagerfield
* OpenSSL: fix yet another mistake while encapsulating SSL backend dataJohannes Schindelin2017-09-071-1/+3
| | | | | | | | | | | | Another mistake in my manual fixups of the largely mechanical search-and-replace ("connssl->" -> "BACKEND->"), just like the previous commit concerning HTTPS proxies (and hence not caught during my earlier testing). Fixes #1855 Closes #1871 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* OpenSSL: fix erroneous SSL backend encapsulationJohannes Schindelin2017-09-071-2/+2
| | | | | | | | | | | | | | | | | | In d65e6cc4f (vtls: prepare the SSL backends for encapsulated private data, 2017-06-21), this developer prepared for a separation of the private data of the SSL backends from the general connection data. This conversion was partially automated (search-and-replace) and partially manual (e.g. proxy_ssl's backend data). Sadly, there was a crucial error in the manual part, where the wrong handle was used: rather than connecting ssl[sockindex]' BIO to the proxy_ssl[sockindex]', we reconnected proxy_ssl[sockindex]. The reason was an incorrect location to paste "BACKEND->"... d'oh. Reported by Jay Satiro in https://github.com/curl/curl/issues/1855. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* vtls: fix memory corruptionJay Satiro2017-09-071-0/+10
| | | | | | | | | | | | Ever since 70f1db321 (vtls: encapsulate SSL backend-specific data, 2017-07-28), the code handling HTTPS proxies was broken because the pointer to the SSL backend data was not swapped between conn->ssl[sockindex] and conn->proxy_ssl[sockindex] as intended, but instead set to NULL (causing segmentation faults). [jes: provided the commit message, tested and verified the patch] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* vtls: switch to CURL_SHA256_DIGEST_LENGTH defineDaniel Stenberg2017-09-073-7/+8
| | | | | | | | | ... instead of the prefix-less version since WolfSSL 3.12 now uses an enum with that name that causes build failures for us. Fixes #1865 Closes #1867 Reported-by: Gisle Vanem
* travis: add c-ares enabled builds linux + osxDaniel Stenberg2017-09-071-0/+7
| | | | Closes #1868
* HISTORY: added some recent itemsDaniel Stenberg2017-09-071-0/+18
|
* SSL: fix unused parameter warningsJay Satiro2017-09-064-0/+6
|
* mime: drop internal FILE * support.Patrick Monnerat2017-09-064-137/+74
| | | | | | | | - The part kind MIMEKIND_FILE and associated code are suppressed. - Seek data origin offset not used anymore: suppressed. - MIMEKIND_NAMEDFILE renamed MIMEKIND_FILE; associated fields/functions renamed accordingly. - Curl_getformdata() processes stdin via a callback.
* configure: remove --enable-soname-bump and SONAME_BUMPDaniel Stenberg2017-09-062-47/+0
| | | | | | | | | | | | | | | | | | Back in 2008, (and commit 3f3d6ebe665f3) we changed the logic in how we determine the native type for `curl_off_t`. To really make sure we didn't break ABI without bumping SONAME, we introduced logic that attempted to detect that it would use a different size and thus not be compatible. We also provided a manual switch that allowed users to tell configure to bump SONAME by force. Today, we know of no one who ever got a SONAME bump auto-detected and we don't know of anyone who's using the manual bump feature. The auto- detection is also no longer working since we introduced defining curl_off_t in system.h (7.55.0). Finally, this bumping logic is not present in the cmake build. Closes #1861
* vtls: select ssl backend case-insensitive (follow-up)Gisle Vanem2017-09-062-7/+10
| | | | | | | | | | | | | - Do a case-insensitive comparison of CURL_SSL_BACKEND env as well. - Change Curl_strcasecompare calls to strcasecompare (maps to the former but shorter). Follow-up to c290b8f. Bug: https://github.com/curl/curl/commit/c290b8f#commitcomment-24094313 Co-authored-by: Jay Satiro
* openssl: Integrate Peter Wu's SSLKEYLOGFILE implementationJay Satiro2017-09-052-0/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an adaptation of 2 of Peter Wu's SSLKEYLOGFILE implementations. The first one, written for old OpenSSL versions: https://git.lekensteyn.nl/peter/wireshark-notes/tree/src/sslkeylog.c The second one, written for BoringSSL and new OpenSSL versions: https://github.com/curl/curl/pull/1346 Note the first one is GPL licensed but the author gave permission to waive that license for libcurl. As of right now this feature is disabled by default, and does not have a configure option to enable it. To enable this feature define ENABLE_SSLKEYLOGFILE when building libcurl and set environment variable SSLKEYLOGFILE to a pathname that will receive the keys. And in Wireshark change your preferences to point to that key file: Edit > Preferences > Protocols > SSL > Master-Secret Co-authored-by: Peter Wu Ref: https://github.com/curl/curl/pull/1030 Ref: https://github.com/curl/curl/pull/1346 Closes https://github.com/curl/curl/pull/1866
* mime: fix a trivial warning.Patrick Monnerat2017-09-051-1/+0
|
* mime: replace 'struct Curl_mimepart' by 'curl_mimepart' in encoder code.Patrick Monnerat2017-09-052-23/+22
| | | | mime_state is now a typedef.
* mime: implement encoders.Patrick Monnerat2017-09-0512-45/+809
| | | | | | | | curl_mime_encoder() is operational and documented. curl tool -F option is extended with ";encoder=". curl tool --libcurl option generates calls to curl_mime_encoder(). New encoder tests 648 & 649. Test 1404 extended with an encoder specification.
* runtests.pl: support attribute "nonewline" in part verify/upload.Patrick Monnerat2017-09-051-0/+7
|
* fixup data/test1135Daniel Stenberg2017-09-051-1/+1
|
* mime: unified to use the typedef'd mime structs everywhereDaniel Stenberg2017-09-057-96/+96
| | | | ... and slightly edited to follow our code style better.