Age | Commit message (Collapse) | Author |
|
|
|
Added the ability to use an XOAUTH2 bearer token [RFC6750] with IMAP 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
"A001 AUTHENTICATE XOAUTH2 <bearer token>".
|
|
Adding this line allows libcurl to return the server response when
performing a search command via a custom request.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
In addition to checking for the SASL-IR capability the user can override
the sending of the client's initial response in the AUTHENTICATION
command with the use of CURLOPT_SASL_IR should the server erroneously
not report SASL-IR when it does support it.
|
|
Added support for specifying the preferred authentication mechanism in
the URL as per RFC-5092.
|
|
|
|
Moved imap_is_bchar() be with the other utility based functions.
|
|
Moved imap_parse_url_path() and imap_parse_custom_request() to the end of the
file allowing all utility functions to be grouped together.
|
|
Moved imap_atom() and imap_sendf() to the end of the file allowing all
utility functions to be grouped together.
|
|
|
|
Fixed incorrect initial response generation for the NTLM and LOGIN SASL
authentication mechanisms when the SASL-IR was detected.
Introduced in commit: 6da7dc026c14.
|
|
|
|
|
|
|
|
Standardised the naming of all perform based functions to be in the form
imap_perform_something().
|
|
|
|
Moved the custom request processing into the LIST command as the logic
is the same.
|
|
|
|
|
|
Updated the function description comments following commit 4838d196fdbf.
|
|
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.
|
|
Added comments and simplified convoluted dophase_done comparison.
|
|
|
|
Added an exception, for the STORE command, to the untagged response
processor in imap_endofresp() as servers will back respones containing
the FETCH keyword instead.
|
|
|
|
Removed unwanted braces and added variable initialisation.
|
|
Optimised the result test in each of the block_statemach() functions.
|
|
Removed unnecessary state changes on failure and setting of result codes
on success.
|
|
Removed unnecessary state change on failure and setting of result code on
success.
|
|
Reworked comments as they referenced custom commands, removed
unnecessary state change on failure and setting of result code on
success.
|
|
Removed imap_state_custom_resp() as imap_state_list_resp() provides the
same functionality.
|
|
As the UID has to be specified by the user for the FETCH command to work
correctly, added a check to imap_fetch(), although strictly speaking it
is protected by the call from imap_perform().
|
|
imap.c:694:21: error: unused variable 'imapc' [-Werror=unused-variable]
|
|
|
|
|
|
|
|
Updated the style of imap_select() before adding the LIST command.
|
|
In preparation for the addition of the LIST command, moved the mailbox
check from imap_do() to imap_select() and imap_append().
|
|
|
|
|
|
|
|
Fixed imap_done() so that neither the FINAL states are not entered when
a custom command has been performed.
|
|
Changed imap_select_resp() to invoke imap_custom() instead of
imap_fetch() after the mailbox has been selected if a custom
command has been set.
|