aboutsummaryrefslogtreecommitdiff
path: root/lib/imap.c
AgeCommit message (Collapse)Author
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-24imap.c: imap_sendf() fix va_start/va_end matchingYang 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-27imap: Added support for overriding the SASL initial responseSteve Holme
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.
2013-04-13imap: Added support for ;auth=<mech> in the URLSteve Holme
Added support for specifying the preferred authentication mechanism in the URL as per RFC-5092.
2013-04-12imap: Added function description to imap_parse_custom_request()Steve Holme
2013-04-12imap: Moved utility functions to end of imap.c (Part 3/3)Steve Holme
Moved imap_is_bchar() be with the other utility based functions.
2013-04-12imap: Moved utility functions to end of imap.c (Part 2/3)Steve Holme
Moved imap_parse_url_path() and imap_parse_custom_request() to the end of the file allowing all utility functions to be grouped together.
2013-04-12imap: Moved utility functions to end of imap.c (Part 1/3)Steve Holme
Moved imap_atom() and imap_sendf() to the end of the file allowing all utility functions to be grouped together.
2013-04-12imap: Corrected function description for imap_connect()Steve Holme
2013-03-17imap: Fixed incorrect initial response generation for SASL AUTHENTICATESteve Holme
Fixed incorrect initial response generation for the NTLM and LOGIN SASL authentication mechanisms when the SASL-IR was detected. Introduced in commit: 6da7dc026c14.
2013-03-10imap: Reworked some function descriptionsSteve Holme
2013-03-10imap: Added some missing comments to imap_sendf()Steve Holme
2013-03-09email: Removed hard returns from init functionsSteve Holme
2013-03-09imap: Re-factored all perform based functionsSteve Holme
Standardised the naming of all perform based functions to be in the form imap_perform_something().
2013-03-09imap: Added description comments to all perform based functionsSteve Holme
2013-03-09imap: Removed the need for separate custom request functionsSteve Holme
Moved the custom request processing into the LIST command as the logic is the same.
2013-03-09imap: Corrected typo in commentSteve Holme
2013-03-09imap: Moved imap_logout() to be grouped with the other perform 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-08imap: Fixed handling of untagged responses for the STORE custom commandSteve Holme
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.
2013-03-07imap: Fixed SELECT not being performed for custom requestsSteve 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-06imap: Tidied up the APPEND and final APPEND response functionsSteve Holme
Removed unnecessary state changes on failure and setting of result codes on success.
2013-03-06imap: Tidied up the final FETCH response functionSteve Holme
Removed unnecessary state change on failure and setting of result code on success.
2013-03-06imap: Tidied up the LIST response functionSteve Holme
Reworked comments as they referenced custom commands, removed unnecessary state change on failure and setting of result code on success.
2013-03-06imap: Removed the custom request response functionSteve Holme
Removed imap_state_custom_resp() as imap_state_list_resp() provides the same functionality.
2013-03-06imap: Added check for empty UID in FETCH commandSteve Holme
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().
2013-03-06imap: fix compiler warningDaniel Stenberg
imap.c:694:21: error: unused variable 'imapc' [-Werror=unused-variable]
2013-03-05imap: Added support for list commandSteve Holme
2013-03-05imap: Added list perform and response handler functionsSteve Holme
2013-03-05imap: Introduced IMAP_LIST stateSteve Holme
2013-03-05imap: Small tidy up of imap_select() to match imap_append()Steve Holme
Updated the style of imap_select() before adding the LIST command.
2013-03-05imap: Moved mailbox check from the imap_do() functionSteve Holme
In preparation for the addition of the LIST command, moved the mailbox check from imap_do() to imap_select() and imap_append().
2013-03-03imap: Added comments to imap_append()Steve Holme
2013-03-03imap: Added required mailbox check for FETCH and APPEND commandsJiri Hruska
2013-03-03imap: Fixed typo in variable assignmentSteve Holme
2013-03-03imap: Fixed custom request handling in imap_done()Jiri Hruska
Fixed imap_done() so that neither the FINAL states are not entered when a custom command has been performed.
2013-03-03imap: Enabled custom requests in imap_select_resp()Jiri Hruska
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.
2013-03-03imap: Enabled custom requests in imap_perform()Jiri Hruska
Modified imap_perform() to start with the custom command instead of SELECT when a custom command is to be performed and no mailbox has been given.
2013-03-03imap: Added custom request perform and response handler functionsJiri Hruska
Added imap_custom(), which initiates the custom command processing, and an associated response handler imap_state_custom_resp(), which handles any responses by sending them to the client as body data. All untagged responses with the same name as the first word of the custom request string are accepted, with the exception of SELECT and EXAMINE which have responses that cannot be easily identified. An extra check has been provided for them so that any untagged responses are accepted for them.
2013-03-03imap: Added custom request parsingJiri Hruska
Added imap_parse_custom_request() for parsing the CURLOPT_CUSTOMREQUEST parameter which URL decodes the value and separates the request from any parameters - This makes it easier to filter untagged responses by the request command.