aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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
2013-10-30NSS: support for CERTINFO featurePatrick Monnerat
2013-10-30base64: removed trailing white spaceDaniel Stenberg
and updated copyright year
2013-10-30base64: Added basic validation to base64 input string when decodingSteve Holme
A base64 string should be a multiple of 4 characters in length, not contain any more than 2 padding characters and only contain padding characters at the end of string. For example: Y3VybA== Strings such as the following are considered invalid: Y= - Invalid length Y== - Invalid length Y=== - More than two padding characters Y=x= - Padding character contained within string
2013-10-29bugfix: Don't block waiting for socket1 connect.Björn Stenberg
This patch fixes a bug in Happy Eyeballs where curl would wait for a connect response from socket1 before checking socket2. Also, it updates error messages for failed connections, showing the ip addresses that failed rather than just the host name repeatedly. Bug: http://curl.haxx.se/mail/lib-2013-10/0236.html Reported-by: Paul Marks
2013-10-28sasl: Updated create_digest_md5_message() to use a dynamic bufferSteve Holme
2013-10-28OS400: coding style standardsPatrick Monnerat
2013-10-27email: Added support for cancelling NTLM authenticationSteve Holme
2013-10-27sasl: Removed unused variables from commit b87ba2c94217c0Steve Holme
2013-10-27email: Added support for cancelling DIGEST-MD5 authenticationSteve Holme
2013-10-27email: Corrected a couple of typos from 1e39b95682781fSteve Holme
2013-10-27email: Added support for canceling CRAM-MD5 authenticationSteve Holme
2013-10-27Typo fix in trynextip().Björn Stenberg
2013-10-27Add "Happy Eyeballs" for IPv4/IPv6.Björn Stenberg
This patch invokes two socket connect()s nearly simultaneously, and the socket that is first connected "wins" and is subsequently used for the connection. The other is terminated. There is a very slight IPv4 preference, in that if both sockets connect simultaneously IPv4 is checked first and thus will win.
2013-10-27email: Added initial support for cancelling authenticationSteve Holme
Should a client application fail to decode an authentication message received from a server, or not support any of the parameters given by the server in the message, then the authentication phrase should be cancelled gracefully by the client rather than simply terminating the connection. The authentication phrase should be cancelled by simply sending a '*' to the server, in response to erroneous data being received, as per RFC-3501, RFC-4954 and RFC-5034. This patch adds the necessary state machine constants and appropriate response handlers in order to add this functionality for the CRAM-MD5, DIGEST-MD5 and NTLM authentication mechanisms.