aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-27wildcardmatch: fix heap buffer overflow in setcharsetDaniel Stenberg
The code would previous read beyond the end of the pattern string if the match pattern ends with an open bracket when the default pattern matching function is used. Detected by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4161 CVE-2017-8817 Bug: https://curl.haxx.se/docs/adv_2017-ae72.html
2017-11-27url: fix alignment of ssl_backend_data structJay Satiro
- Align the array of ssl_backend_data on a max 32 byte boundary. 8 is likely to be ok but I went with 32 for posterity should one of the ssl_backend_data structs change to contain a larger sized variable in the future. Prior to this change (since dev 70f1db3, release 7.56) the connectdata structure was undersized by 4 bytes in 32-bit builds with ssl enabled because long long * was mistakenly used for alignment instead of long long, with the intention being an 8 byte boundary. Also long long may not be an available type. The undersized connectdata could lead to oob read/write past the end in what was expected to be the last 4 bytes of the connection's secondary socket https proxy ssl_backend_data struct (the secondary socket in a connection is used by ftp, others?). Closes https://github.com/curl/curl/issues/2093 CVE-2017-8818 Bug: https://curl.haxx.se/docs/adv_2017-af0a.html
2017-11-25ssh: remove check for a NULL pointer (!)Daniel Stenberg
With this check present, scan-build warns that we might dereference this point in other places where it isn't first checked for NULL. Thus, if it *can* be NULL we have a problem on a few places. However, this pointer should not be possible to be NULL here so I remove the check and thus also three different scan-build warnings. Closes #2111
2017-11-24test: add test for bad UNC/SMB path in file: URLMatthew Kerwin
2017-11-24test: add tests to ensure basic file: URLsMatthew Kerwin
2017-11-24URL: update "file:" URL handlingMatthew Kerwin
* LOTS of comment updates * explicit error for SMB shares (e.g. "file:////share/path/file") * more strict handling of authority (i.e. "//localhost/") * now accepts dodgy old "C:|" drive letters * more precise handling of drive letters in and out of Windows (especially recognising both "file:c:/" and "file:/c:/") Closes #2110
2017-11-24metalink: fix memory-leak and NULL pointer dereferenceDaniel Stenberg
Reported by scan-build Closes #2109
2017-11-24connect: add support for new TCP Fast Open API on LinuxAlessandro Ghedini
The new API added in Linux 4.11 only requires setting a socket option before connecting, without the whole sento() machinery. Notably, this makes it possible to use TFO with SSL connections on Linux as well, without the need to mess around with OpenSSL (or whatever other SSL library) internals. Closes #2056
2017-11-24make: fix "make distclean"Daniel Stenberg
Fixes #2097 Closes #2108
2017-11-23RELEASE-NOTES: synced with 31f18d272Daniel Stenberg
2017-11-23connect: improve the bind error messageJay Satiro
eg consider a non-existent interface eth8, curl --interface eth8 Before: curl: (45) Could not resolve host: eth8 After: curl: (45) Couldn't bind to 'eth8' Bug: https://github.com/curl/curl/issues/2104 Reported-by: Alfonso Martone
2017-11-23examples/rtsp: clear RANGE again after useDaniel Stenberg
Fixes #2106 Reported-by: youngchopin on github
2017-11-22test1264: verify URL with space in host name being rejectedMichael Kaufmann
2017-11-22url: reject ASCII control characters and space in host namesDaniel Stenberg
Host names like "127.0.0.1 moo" would otherwise be accepted by some getaddrinfo() implementations. Updated test 1034 and 1035 accordingly. Fixes #2073 Closes #2092
2017-11-21Curl_open: fix OOM return error correctlyDaniel Stenberg
Closes #2098
2017-11-21http2: fix "Value stored to 'end' is never read" scan-build errorDaniel Stenberg
2017-11-21http2: fix "Value stored to 'hdbuf' is never read" scan-build errorDaniel Stenberg
2017-11-21openssl: fix "Value stored to 'rc' is never read" scan-build errorDaniel Stenberg
2017-11-21mime: fix "Value stored to 'sz' is never read" scan-build errorDaniel Stenberg
2017-11-21Curl_llist_remove: fix potential NULL pointer derefDaniel Stenberg
Fixes a scan-build warning.
2017-11-21ntlm: remove unnecessary NULL-check to please scan-buildDaniel Stenberg
2017-11-20BUGS: spellcheckedDaniel Stenberg
2017-11-18examples/curlx: Fix code stylefmmedeiros
- Add braces around multi-line if statement. Closes https://github.com/curl/curl/pull/2096
2017-11-17resolve: allow IP address within [] bracketsDaniel Stenberg
... so that IPv6 addresses can be passed like they can for connect-to and how they're used in URLs. Added test 1324 to verify Reported-by: Alex Malinovich Fixes #2087 Closes #2091
2017-11-15macOS: Fix missing connectx function with Xcode version older than 9.0Pavol Markovic
The previous fix https://github.com/curl/curl/pull/1788 worked just for Xcode 9. This commit extends the fix to older Xcode versions effectively by not using connectx function. Fixes https://github.com/curl/curl/issues/1330 Fixes https://github.com/curl/curl/issues/2080 Closes https://github.com/curl/curl/pull/1336 Closes #2082
2017-11-15openssl: fix too broad use of HAVE_OPAQUE_EVP_PKEYDirk Feytons
Fixes #2079 Closes #2081
2017-11-14TODO: ignore private IP addresses in PASV responseDaniel Stenberg
Closes #1455
2017-11-14RELEASE-NOTES: synced with ae7369b6dDaniel Stenberg
2017-11-14URL: return error on malformed URLs with junk after IPv6 bracketMichael Kaufmann
Follow-up to aadb7c7. Verified by new test 1263. Closes #2072
2017-11-14INTERNALS: we may use libidn2 now, not libidnDaniel Stenberg
2017-11-13zlib/brotli: only include header files in modules needing themPatrick Monnerat
There is a conflict on symbol 'free_func' between openssl/crypto.h and zlib.h on AIX. This is an attempt to resolve it. Bug: https://curl.haxx.se/mail/lib-2017-11/0032.html Reported-By: Michael Felt
2017-11-13SMB: fix uninitialized local variableDaniel Stenberg
Reported-by: Brian Carpenter
2017-11-12connect.c: remove executable bit on fileOrgad Shaneh
Closes #2071
2017-11-12README.md: fixed layouthsiao yi
Closes #2069
2017-11-10setopt: split out curl_easy_setopt() to its own fileDaniel Stenberg
... to make url.c smaller. Closes #1944
2017-11-10cmake: Add missing setmode checkJohn Starks
Ensure HAVE_SETMODE is set to 1 on OSes that have setmode. Without this, curl will corrupt binary files when writing them to stdout on Windows. Closes https://github.com/curl/curl/pull/2067
2017-11-10curl_share_setopt: va_end was not called if conncache errorsDaniel Stenberg
CID 984459, detected by Coverity
2017-11-10cmake: Correctly include curl.rc in Windows builds (#2064)John Starks
Update CMakeLists.txt to add curl.rc to the correct list.
2017-11-09RELEASE-NOTES: synced with 32828cc4fDaniel Stenberg
2017-11-09--interface: add support for Linux VRFLuca Boccassi
The --interface command (CURLOPT_INTERFACE option) already uses SO_BINDTODEVICE on Linux, but it tries to parse it as an interface or IP address first, which fails in case the user passes a VRF. Try to use the socket option immediately and parse it as a fallback instead. Update the documentation to mention this feature, and that it requires the binary to be ran by root or with CAP_NET_RAW capabilities for this to work. Closes #2024
2017-11-09curl_share_setopt.3: document CURL_LOCK_DATA_CONNECTDaniel Stenberg
Closes #2043
2017-11-09examples: add shared-connection-cacheDaniel Stenberg
2017-11-09test1554: verify connection cache sharingDaniel Stenberg
2017-11-09share: add support for sharing the connection cacheDaniel Stenberg
2017-11-09imap: deal with commands case insensitivelyDaniel Stenberg
As documented in RFC 3501 section 9: https://tools.ietf.org/html/rfc3501#section-9 Closes #2061
2017-11-09connect: store IPv6 connection status after valid connectionDaniel Stenberg
... previously it would store it already in the happy eyeballs stage which could lead to the IPv6 bit being set for an IPv4 connection, leading to curl not wanting to do EPSV=>PASV for FTP transfers. Closes #2053
2017-11-09curl_multi_fdset.3: emphasize curl_multi_timeoutDaniel Stenberg
... even when there's no socket to wait for, the timeout can still be very short.
2017-11-09content_encoding: fix inflate_stream for no bytes availableJay Satiro
- Don't call zlib's inflate() when avail_in stream bytes is 0. This is a follow up to the parent commit 19e66e5. Prior to that change libcurl's inflate_stream could call zlib's inflate even when no bytes were available, causing inflate to return Z_BUF_ERROR, and then inflate_stream would treat that as a hard error and return CURLE_BAD_CONTENT_ENCODING. According to the zlib FAQ, Z_BUF_ERROR is not fatal. This bug would happen randomly since packet sizes are arbitrary. A test of 10,000 transfers had 55 fail (ie 0.55%). Ref: https://zlib.net/zlib_faq.html#faq05 Closes https://github.com/curl/curl/pull/2060
2017-11-07content_encoding: do not write 0 length dataPatrick Monnerat
2017-11-06fnmatch: remove dead codeDaniel Stenberg
There was a duplicate check for backslashes in the setcharset() function. Coverity CID 1420611