summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* openssl: builds with OpenSSL 1.1.0-pre5Daniel Stenberg2016-04-211-1/+72
| | | | | | The RSA, DSA and DH structs are now opaque and require use of new APIs Fixes #763
* url.c: Prefer we don't use explicit NULLs in conditionsSteve Holme2016-04-201-2/+2
| | | | Fixed commit fa5fa65a30 to not use NULLs in if condition.
* NTLM: check for NULL pointer before deferencingIsaac Boukris2016-04-201-0/+4
| | | | | | | At ConnectionExists, both check->proxyuser and check->proxypasswd could be NULL, so make sure to check first. Fixes #765
* sendf.c: added ability to call recv() before send() as workaroundKarlson2k2016-04-204-1/+179
| | | | | | | | | | | | WinSock destroys recv() buffer if send() is failed. As result - server response may be lost if server sent it while curl is still sending request. This behavior noticeable on HTTP server short replies if libcurl use several send() for request (usually for POST request). To workaround this problem, libcurl use recv() before every send() and keeps received data in intermediate buffer for further processing. Fixes: #657 Closes: #668
* connect: make sure that rc is initialized in singleipconnect()Kamil Dudka2016-04-191-1/+1
| | | | | | | | | | | | This commit fixes a Clang warning introduced in curl-7_48_0-190-g8f72b13: Error: CLANG_WARNING: lib/connect.c:1120:11: warning: The right operand of '==' is a garbage value 1118| } 1119| 1120|-> if(-1 == rc) 1121| error = SOCKERRNO; 1122| }
* lib/checksrc.whitelist: not needed anymoreDaniel Stenberg2016-04-192-9/+1
| | | | ... as checksrc now skips comments
* vtls.h: remove a space before semicolonDaniel Stenberg2016-04-191-2/+2
| | | | ... that the new checksrc detected
* darwinssl: removed commented out codeDaniel Stenberg2016-04-191-2/+1
|
* http_chunks: removed checksrc disableDaniel Stenberg2016-04-191-1/+0
| | | | ... since checksrc now skips comments
* imap: inlined checksrc disable instead of whitelist editDaniel Stenberg2016-04-191-0/+1
|
* checksrc: taught to skip commentsDaniel Stenberg2016-04-191-7/+48
| | | | | | | ... but output non-stripped version of the line, even if that then can make the script identify the wrong position in the line at times. Showing the line stripped (ie without comments) is just too surprising.
* connect: implement TCP Fast Open for LinuxAlessandro Ghedini2016-04-183-5/+18
| | | | Closes #660
* connect: implement TCP Fast Open for OS XAlessandro Ghedini2016-04-181-1/+18
|
* url: add CURLOPT_TCP_FASTOPEN optionAlessandro Ghedini2016-04-182-0/+13
|
* checksrc: pass on -D so the whitelists are found correctlyDaniel Stenberg2016-04-181-2/+2
|
* includes: avoid duplicate memory callback typdefs even harderDaniel Stenberg2016-04-181-0/+1
|
* checksrc/makefile.am: use $top_srcdir to find source filesDaniel Stenberg2016-04-181-1/+2
| | | | ... to properly support out of source tree builds.
* news: CURLOPT_CONNECT_TO and --connect-toMichael Kaufmann2016-04-178-34/+407
| | | | | Makes curl connect to the given host+port instead of the host+port found in the URL.
* http2: Use size_t type for data drain countJay Satiro2016-04-123-4/+6
| | | | | Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: Improve header parsingJay Satiro2016-04-111-30/+102
| | | | | | | | | | | | | | | - Error if a header line is larger than supported. - Warn if cumulative header line length may be larger than supported. - Allow spaces when parsing the path component. - Make sure each header line ends in \r\n. This fixes an out of bounds. - Disallow header continuation lines until we decide what to do. Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: Add Curl_http2_strerror for HTTP/2 error codesJay Satiro2016-04-112-4/+39
| | | | | Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: Don't increment drain when one header field is receivedTatsuhiro Tsujikawa2016-04-111-4/+0
| | | | | | | | Sicne we write header field in temporary location, not in the memory that upper layer provides, incrementing drain should not happen. Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: Ensure that http2_handle_stream_close is calledTatsuhiro Tsujikawa2016-04-112-19/+39
| | | | | | | | | | | | | | | | | | | This commit ensures that streams which was closed in on_stream_close callback gets passed to http2_handle_stream_close. Previously, this might not happen. To achieve this, we increment drain property to forcibly call recv function for that stream. To more accurately check that we have no pending event before shutting down HTTP/2 session, we sum up drain property into http_conn.drain_total. We only shutdown session if that value is 0. With this commit, when stream was closed before reading response header fields, error code CURLE_HTTP2_STREAM is returned even if HTTP/2 level error is NO_ERROR. This signals the upper layer that stream was closed by error just like TCP connection close in HTTP/1. Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: Process paused data first before tear down http2 sessionTatsuhiro Tsujikawa2016-04-111-2/+125
| | | | | | | | | | | | This commit ensures that data from network are processed before HTTP/2 session is terminated. This is achieved by pausing nghttp2 whenever different stream than current easy handle receives data. This commit also fixes the bug that sometimes processing hangs when multiple HTTP/2 streams are multiplexed. Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: Check session closure early in http2_recvTatsuhiro Tsujikawa2016-04-111-7/+8
| | | | | Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: Add handling stream level errorTatsuhiro Tsujikawa2016-04-113-2/+13
| | | | | | | | | | | | | Previously, when a stream was closed with other than NGHTTP2_NO_ERROR by RST_STREAM, underlying TCP connection was dropped. This is undesirable since there may be other streams multiplexed and they are very much fine. This change introduce new error code CURLE_HTTP2_STREAM, which indicates stream error that only affects the relevant stream, and connection should be kept open. The existing CURLE_HTTP2 means connection error in general. Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
* http2: drain the socket better...Daniel Stenberg2016-04-111-0/+4
| | | | | | | | | | | ... but ignore EAGAIN if the stream has ended so that we don't end up in a loop. This is a follow-up to c8ab613 in order to avoid the problem d261652 was made to fix. Reported-by: Jay Satiro Clues-provided-by: Tatsuhiro Tsujikawa Discussed in #750
* CURLOPT_SOCKS5_GSSAPI_SERVICE: Merged with CURLOPT_PROXY_SERVICE_NAMESteve Holme2016-04-095-22/+9
| | | | | | | | | As these two options provide identical functionality, the former for SOCK5 proxies and the latter for HTTP proxies, merged the two options together. As such CURLOPT_SOCKS5_GSSAPI_SERVICE is marked as deprecated as of 7.49.0.
* urldata: Use bool for socks5_gssapi_nec as it is a flagSteve Holme2016-04-091-1/+1
| | | | This value is set to TRUE or FALSE so should be a bool and not a long.
* url: Ternary operator code style changesSteve Holme2016-04-091-54/+56
|
* sasl: Fixed compilation errors from commit 9d89a0387Steve Holme2016-04-093-1/+11
| | | | ...when GSS-API or Windows SSPI are not used.
* url: Corrected comments following 9d89a0387Steve Holme2016-04-091-1/+1
|
* Makefile: Fixed echo of checksrc checkSteve Holme2016-04-081-1/+1
|
* checksrc: Fix issue with the autobuilds not picking up the whitelistSteve Holme2016-04-081-1/+1
|
* checksrc: Added missing vauth and vtls directoriesSteve Holme2016-04-081-1/+1
|
* ftp/imap/pop3/smtp: Allow the service name to be overriddenSteve Holme2016-04-082-5/+14
| | | | | Allow the service name to be overridden for DIGIST-MD5 and Kerberos 5 authentication in FTP, IMAP, POP3 and SMTP.
* http_negotiate: Calculate service name and proxy service name locallySteve Holme2016-04-083-17/+4
| | | | | | Calculate the service name and proxy service names locally, rather than in url.c which will allow for us to support overriding the service name for other protocols such as FTP, IMAP, POP3 and SMTP.
* mbedtls: fix MBEDTLS_DEBUG buildsDamien Vielpeau2016-04-071-2/+3
|
* mbedtls: implement and provide *_data_pending()Daniel Stenberg2016-04-072-2/+8
| | | | | | | | | ... as otherwise we might get stuck thinking there's no more data to handle. Reported-by: Damien Vielpeau Fixes #737
* mbedtls: follow-up for the previous commitDaniel Stenberg2016-04-071-5/+4
|
* mbedtls.c: name space pollution fix, Use 'Curl_'Daniel Stenberg2016-04-071-2/+4
|
* mbedtls.c: changed private prefix to mbed_Daniel Stenberg2016-04-071-33/+29
| | | | | mbedtls_ is the prefix used by the mbedTLS library itself so we should avoid using that for our private functions.
* mbedtls.h: fix compiler warningsDaniel Stenberg2016-04-071-0/+2
|
* HTTP2: Add a space character after the status codeMichael Kaufmann2016-04-061-1/+2
| | | | | | | The space character after the status code is mandatory, even if the reason phrase is empty (see RFC 7230 section 3.1.2) Closes #755
* URLs: change http to https in many placesViktor Szakats2016-04-0615-15/+15
| | | | Closes #754
* vauth: Corrected a number of typos in commentsSteve Holme2016-04-067-9/+9
| | | | Reported-by: Michael Osipov
* http2: fix connection reuse when PING comes after last DATADaniel Stenberg2016-04-051-8/+0
| | | | | | | | | | | | It turns out the google GFE HTTP/2 servers send a PING frame immediately after a stream ends and its last DATA has been received by curl. So if we don't drain that from the socket, it makes the socket readable in subsequent checks and libcurl then (wrongly) assumes the connection is dead when trying to reuse the connection. Reported-by: Joonas Kuorilehto Discussed in #750
* multi: remove trailing space in debug outputDaniel Stenberg2016-04-051-1/+1
|
* lib/src: fix the checksrc invokeDaniel Stenberg2016-04-031-2/+2
| | | | ... now works correctly when invoke from the root makefile
* nw: please the stricter checksrcDaniel Stenberg2016-04-032-29/+29
|