aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2013-11-27multi.c: Fixed compilation error introduced in commit a900d45489fc14Steve Holme
Systems that define SIGPIPE_VARIABLE as a noop would not compile as restore_pipe was defined afterwards.
2013-11-27curl_easy_getopt: Handle API violation gracefullyChristian Grothoff
This fixes a NULL dereference in the case where the client asks for CURLINFO_TLS_SESSION data after the (TLS) session has already been destroyed (i.e. curl_easy_perform has already completed for this handle). Instead of crashing, we now return a CURLSSLBACKEND_NONE error.
2013-11-27curl_multi_cleanup: ignore SIGPIPEJeff King
This is an extension to the fix in 7d80ed64e43515. We may call Curl_disconnect() while cleaning up the multi handle, which could lead to openssl sending packets, which could get a SIGPIPE. Signed-off-by: Jeff King <peff@peff.net>
2013-11-27sigpipe: factor out sigpipe_reset from easy.cJeff King
Commit 7d80ed64e43515 introduced some helpers to handle sigpipe in easy.c. However, that fix was incomplete, and we need to add more callers in other files. The first step is making the helpers globally accessible. Since the functions are small and should generally end up inlined anyway, we simply define them in the header as static functions. Signed-off-by: Jeff King <peff@peff.net>
2013-11-27connect: Try next ip directly after immediate connect failBjörn Stenberg
This fixes a rare Happy Eyeballs bug where if the first IP family runs out of addresses before the second-family-timer fires, and the second IP family's first connect fails immediately, no further IPs of the second family are attempted.
2013-11-25hostip: don't prune DNS cache entries that are in useDaniel Stenberg
When adding entries to the DNS cache with CURLOPT_RESOLVE, they are marked 'inuse' forever to prevent them from ever being removed in normal operations. Still, the code that pruned out-of-date DNS entries didn't care for the 'inuse' struct field and pruned it anyway! Reported-by: Romulo A. Ceccon Bug: http://curl.haxx.se/bug/view.cgi?id=1303
2013-11-23smtp: Post SMTP command expansion tidy upSteve Holme
Removed unnecessary SMTP_STOP state changes on failure. Removed hard return on failure in smtp_state_data_resp().
2013-11-21curl_easy_getinfo: Added CURLINFO_TLS_SESSION for accessing TLS internalsChristian Grothoff
Added new API for returning a SSL backend type and pointer, in order to allow access to the TLS internals, that may then be used to obtain X509 certificate information for example.
2013-11-17smtp: Fixed space being sent in non --mail-rcpt based requestsSteve Holme
Commands such as NOOP, RSET and HELP would be sent with a space at the end of the command, for example: "NOOP ".
2013-11-17smtp: Changed the default command to HELP when no options are specifiedSteve Holme
Otherwise a NOOP operation would be performed which a) only returns a single line response and not a multiline response where -I needs to be used, and b) provides an inconsistent user experience compared to that of the POP3 and IMAP protocols.
2013-11-17smtp:Fixed memory leak from commit dac01ff6d788b2Steve Holme
The buffer allocated by smtp_parse_custom_request() was not freed.
2013-11-17connect: Close open but unconnected socket in singleipconnect()Steve Holme
singleipconnect() could return the file descriptor of an open socket even though the function returned a CURLE_COULDNT_CONNECT error code from commit ed1662c374361a and 02fbc26d59c591. This could cause tests 19, 704 and 1233 to fail on FreeBSD, AIX and Solaris.
2013-11-15smtp: Fixed broken RCPT TO from commit 0ea4a80bb23666Steve Holme
2013-11-15smtp_state_mail_resp: removed unused variable 'smtp'Daniel Stenberg
2013-11-15smtp: Simplified the next RCPT TO logicSteve Holme
2013-11-15smtp.c: Fixed trailing whitespaceSteve Holme
2013-11-15smtp: Added support for VRFY and EXPN commandsSteve Holme
2013-11-15smtp: Added support for NOOP and RSET commandsSteve Holme
2013-11-15smtp: Fixed handling of multiline server greeting responsesSteve Holme
Incorrectly processed multiline server greeting responses as "wanted" continue responses in smtp_endofresp(), from commit f16c0de4e9bbe3, which in turn broke the SMTP server detection in the test suite, because the EHLO command would not be sent.
2013-11-15smtp.c: Fixed compilation error from commit f16c0de4e9bbe3Steve Holme
warning: unused variable 'smtpc'
2013-11-15smtp: Fixed processing of more than one response when sent in same packetSteve Holme
Added a loop to smtp_statemach_act() in which Curl_pp_readresp() is called until the cache is drained. Without this multiple responses received in a single packet could result in a hang or delay.
2013-11-15smtp: Moved EHLO response handling to smtp_state_ehlo_resp()Steve Holme
Similar to the processing of untagged CAPABILITY responses in IMAP moved the processing of multiline EHLO responses to smtp_state_ehlo_resp() and introduced an internal response code of one to differentiate a multiline continuation from the end of command. This also allows for the separate processing of multiline responses from commands such as VRFY and EXPN.
2013-11-14connect: Forgot to correct line endings before push in commit ed1662c374361aSteve Holme
2013-11-14connect: Return the socket descriptor even on failBjörn Stenberg
singleipconnect() did not return the open socket descriptor on some errors, thereby sometimes causing a socket leak. This patch ensures the socket is always returned.
2013-11-12darwinssl: check for SSLSetSessionOption() presence when toggling BEASTNick Zitzmann
Even though this is only a formality (since not many people build on Mavericks while targeting Leopard), since we still support Leopard at the earliest, we might as well be pedantic.
2013-11-12darwinssl: PKCS#12 import feature now requires Lion or laterNick Zitzmann
It turns out that some of the constants necessary to make this feature work are missing from Snow Leopard's Security framework even though they are defined in the headers. Bug: http://curl.haxx.se/mail/lib-2013-11/0076.html Reported by: myriachan
2013-11-12curl_easy_setopt: Added the ability to set the login options separatelySteve Holme
Rather than set the authentication options as part of the login details specified in the URL, or via the older CURLOPT_USERPWD option, added a new libcurl option to allow the login options to be set separately.
2013-11-12multi: Small code tidy up to avoid hard returnSteve Holme
2013-11-11multi: Set read socket when returning READSOCK(0)Björn Stenberg
This patch fixes and issue introduced in commit 7d7df831981fee, if the tunnel state was TUNNEL_CONNECT, waitconnect_getsock() would return a bitmask indicating a readable socket but never stored the socket in the return array.
2013-11-10connect: Close temporary sockets in conn_free()Björn Stenberg
The temporary sockets used for Happy Eyeballs were not closed properly, if curl exited prematurely, which this patch fixes.
2013-11-10ares: Fixed compilation under Visual Studio 2012Kim Vandry
2013-11-05url.c: Very small amount of policingSteve Holme
2013-11-05url.c: Remove superfluous for loopBjörn Stenberg
The reason for this loop's existence was removed in commit 02fbc26d59c591.
2013-11-05Curl_ssl_push_certinfo_len: don't %.*s non-zero-terminated stringDaniel Stenberg
Our own printf() replacement clearly can't properly handle %.*s with a string that isn't zero terminated. Instead of fixing the printf code or even figuring out what the proper posix behavior is, I reverted this piece of the code back to the previous version where it does malloc + memcpy instead. Regression added in e839446c2a5, released in curl 7.32.0. Reported-by: Felix Yan Bug: http://curl.haxx.se/bug/view.cgi?id=1295
2013-11-05connect.h: Updated copyright year for last editSteve Holme
2013-11-04connect: Add connection delay to Happy Eyeballs.Björn Stenberg
This patch adds a 200ms delay between the first and second address family socket connection attempts. It also iterates over IP addresses in the order returned by the system, meaning most dual-stack systems will try IPv6 first. Additionally, it refactors the connect code, removing most code that handled synchronous connects. Since all sockets are now non-blocking, the logic can be made simpler.
2013-11-04winbind: Fixed ntlm_auth expecting eol following commit e17c1b25bc33ebSteve Holme
2013-11-04nss.c: Fixed compilation warnings (Take Two)Steve Holme
nss.c:702: warning: pointer targets in passing argument 3 of 'Curl_extract_certinfo' differ in signedness nss.c:702: warning: pointer targets in passing argument 4 of 'Curl_extract_certinfo' differ in signedness Made sure the cast was correctly "unsigned char *" to "char *" and not "unsigned char *" to "unsigned char *".
2013-11-04nss.c: Fixed compilation warningsSteve Holme
nss.c:700: warning: pointer targets in passing argument 3 of 'Curl_extract_certinfo' differ in signedness nss.c:700: warning: pointer targets in passing argument 4 of 'Curl_extract_certinfo' differ in signedness
2013-11-03connect.c: Code policing on commit 5094bb53f4a027Steve Holme
No need for a rhs condition on a bitwise compare.
2013-11-03nss.c: Fixed compilation warningsSteve Holme
warning: implicit declaration of function 'Curl_extract_certinfo'
2013-11-03x509asn1.c: Fixed compilation warningsSteve Holme
warning: declaration of 'chsize' shadows a global declaration
2013-11-03base64: Fixed compilation warnings when using Curl_base64_decode()Steve Holme
curl_sasl.c:294: warning: dereferencing type-punned pointer will break strict-aliasing rules getpart.c:201: warning: dereferencing type-punned pointer will break strict-aliasing rules
2013-11-03connect: Fixed "Whut?" no server connection failuresSteve Holme
Introduced in commit 7d7df831981fee curl would loop displaying "Whut?" if it was trying to connect to an address and port that didn't have anything listening on it.
2013-11-03http: Post base64 decoding tidy upSteve Holme
Renamed copy_header_value() to Curl_copy_header_value() as this function is now non static. Simplified proxy flag in Curl_http_input_auth() when calling sub-functions. Removed unnecessary white space removal when using negotiate as it had been missed in commit cdccb422671aeb.
2013-11-02http: Added proxy tunnel authentication message header value extractionSteve Holme
...following recent changes to Curl_base64_decode() rather than trying to parse a header line for the authentication mechanisms which is CRLF terminated and inline zero terminate it.
2013-10-31http: Added authentication message header value extractionSteve Holme
...following recent changes to Curl_base64_decode() rather than trying to parse a header line for the authentication mechanisms which is CRLF terminated and inline zero terminate it.
2013-10-30curl_multi_wait: accept 0 from multi_timeout() as valid timeoutDaniel Stenberg
The code rejected 0 as a valid timeout while in fact the function could indeed legitimately return that and it should be respected. Reported-by: Bjorn Stenberg
2013-10-30email: Corrected a couple of typos from commit aa0eaef4838ccdSteve Holme
2013-10-30email: Post graceful SASL authentication cancellation tidy upSteve Holme