aboutsummaryrefslogtreecommitdiff
path: root/lib/pop3.c
AgeCommit message (Collapse)Author
2013-12-18imap/pop3/smtp: Added support for SASL authentication downgradesSteve Holme
Added support for downgrading the SASL authentication mechanism when the decoding of CRAM-MD5, DIGEST-MD5 and NTLM messages fails. This enhances the previously added support for graceful cancellation by allowing the client to retry a lesser SASL mechanism such as LOGIN or PLAIN, or even APOP / clear text (in the case of POP3 and IMAP) when supported by the server.
2013-12-18pop3: Moved the calculation of SASL login details into a separate functionSteve Holme
2013-12-18pop3: Moved the sending of the AUTH command into a separate functionSteve Holme
2013-12-17email: Renamed *_perform_authenticate() functionsSteve Holme
In preparation for the upcoming SASL downgrade feature renamed the imap__perform_authenticate(), pop3__perform_authenticate() and smtp__perform_authenticate() functions.
2013-12-04imap/pop3: Post graceful cancellation consistency changesSteve Holme
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-27email: Added support for cancelling NTLM authenticationSteve 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-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.
2013-10-27email: Moved authentication message parsing into a separate functionSteve Holme
...in preparation for upcoming modifications.
2013-10-26email: Added references to SASL LOGIN authentication draft proposalSteve Holme
2013-10-18email: Fixed QUIT / LOGOUT being sent when SSL connect failsSteve Holme
2013-09-24sasl: Centralised the authentication mechanism stringsSteve Holme
Moved the standard SASL mechanism strings into curl_sasl.h rather than hard coding the same values over and over again in the protocols that use SASL authentication. For more information about the mechanism strings see: http://www.iana.org/assignments/sasl-mechanisms
2013-09-20pop3: Added basic SASL XOAUTH2 supportSteve Holme
Added the ability to use an XOAUTH2 bearer token [RFC6750] with POP3 for authentication using RFC6749 "OAuth 2.0 Authorization Framework". The bearer token is expected to be valid for the user specified in conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has an advertised auth mechanism of "XOAUTH2", the user and access token are formatted as a base64 encoded string and sent to the server as "AUTH XOAUTH2 <bearer token>".
2013-09-10imap/pop3/smtp: Speed up SSL connection initializationJiri Hruska
Don't wait for the next callback call (usually 1 second) before continuing with protocol specific connection initialization.
2013-08-12SessionHandle: the protocol specific pointer is now a void *Daniel Stenberg
All protocol handler structs are now opaque (void *) in the SessionHandle struct and moved in the request-specific sub-struct 'SingleRequest'. The intension is to keep the protocol specific knowledge in their own dedicated source files [protocol].c etc. There's some "leakage" where this policy is violated, to be addressed at a later point in time.
2013-08-12urldata: clean up the use of the protocol specific structsDaniel Stenberg
1 - always allocate the struct in protocol->setup_connection. Some protocol handlers had to get this function added. 2 - always free at the end of a request. This is also an attempt to keep less memory in the handle after it is completed.
2013-08-09comments: remove old and wrong multi/easy interface statementsDaniel Stenberg
2013-07-24string formatting: fix zero-length printf format stringYang Tse
2013-07-24string formatting: fix 25+ printf-style format stringsYang Tse
2013-04-28email: Tidy up of *_perform_authenticate()Steve Holme
Removed the hard returns from imap and pop3 by using the same style for sending the authentication string as smtp. Moved the "Other mechanisms not supported" check in smtp to match that of imap and pop3 to provide consistency between the three email protocols.
2013-04-28pop3: Added 255 octet limit check when sending initial responseSteve Holme
Added 255 octet limit check as per Section 4. Paragraph 8 of RFC-5034.
2013-04-27pop3: Added support for enabling the SASL initial responseSteve Holme
Allowed the user to specify whether to send the client's intial response in the AUTH command via CURLOPT_SASL_IR.
2013-04-15pop3: Added missing comment for pop3_state_apop_resp()Steve Holme
2013-04-15pop3: Updated the coding style of pop3_state_servergreet_resp()Steve Holme
Updated the coding style, in this function, to be consistent with other response functions rather then performing a hard return on failure.
2013-04-14pop3: Re-factored all perform based functionsSteve Holme
Standardised the naming of all perform based functions to be in the form pop3_perform_something() following the changes made to IMAP.
2013-04-14pop3: Added description comments to all perform based functionsSteve Holme
2013-04-14pop3: Moved pop3_quit() to be with the other perform functionsSteve Holme
2013-04-14pop3: Moved pop3_command() to be with the other perform functionsSteve Holme
Started to apply the same tidy up to the POP3 code as applied to the IMAP code in the 7.30.0 release.
2013-04-13pop3: Added support for ;auth=<mech> in the URLSteve Holme
Added support for specifying the preferred authentication type and SASL mechanism in the URL as per RFC-2384.
2013-04-12pop3: Reworked the function description for Curl_pop3_write()Steve Holme
2013-04-12pop3: Added function description to pop3_parse_custom_request()Steve Holme
2013-04-12pop3: Moved utility functions to end of pop3.cSteve Holme
2013-03-13pop3: Removed unnecessary transfer cancellationSteve Holme
Following commit e450f66a02d8 and the changes in the multi interface being used internally, from 7.29.0, the transfer cancellation in pop3_dophase_done() is no longer required.
2013-03-12pop3: Fixed continuous wait when using --ftp-listSteve Holme
Don't initiate a transfer when using --ftp-list.
2013-03-09email: Removed hard returns from init functionsSteve Holme
2013-03-09email: Updated the function descriptions for the logout / quit functionsSteve Holme
Updated the function description comments following commit 4838d196fdbf.
2013-03-09email: Simplified the logout / quit functionsSteve Holme
Moved the blocking state machine to the disconnect functions so that the logout / quit functions are only responsible for sending the actual command needed to logout or quit. Additionally removed the hard return on failure.
2013-03-08email: Tidied up the *_regular_transfer() functionsSteve Holme
Added comments and simplified convoluted dophase_done comparison.
2013-03-08email: Simplified nesting of if statements in *_doing() functionsSteve Holme
2013-03-07email: Minor code tidy up following recent changesSteve Holme
Removed unwanted braces and added variable initialisation.
2013-03-07email: Optimised block_statemach() functionsSteve Holme
Optimised the result test in each of the block_statemach() functions.
2013-03-03pop3: Updated the coding style for state changes after a send operationSteve Holme
Some state changes would be performed after a failure test that performed a hard return, whilst others would be performed within a test for success. Updated the code, for consistency, so all instances are performed within a success test.
2013-03-03pop3: Fixed unnecessary parent structure referenceSteve Holme
Updated pop3 code following recent imap changes.
2013-02-28pop3 / smtp: Small comment tidy upSteve Holme
Small tidy up to keep some comments consistant across each of the email protocols.
2013-02-28pop3: Small tidy up of function argumentsSteve Holme
2013-02-28pop3: Corrected debug message for POP3_AUTH_FINAL constantSteve Holme
Following commit afad1ce753a1 corrected the debug message in state() from AUTH to AUTH_FINAL.