Age | Commit message (Collapse) | Author |
|
|
|
The list of unsafe functions currently consists of sprintf, vsprintf,
strcat, strncat and gets.
Subsequently, some existing code needed updating to avoid warnings on
this.
|
|
With all the recent imap changes it wasn't clear what new features and
fixes should be included in the release notes.
|
|
|
|
Just a folder list would be retrieved if UID was not specified now.
|
|
Commit 198012ee inadvertently broke LIST_imap().
|
|
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.
|
|
Enriched IMAP capabilities of ftpserver.pl in order to be able to
add tests for the new IMAP features.
* Added support for APPEND - Saves uploaded data to log/upload.$testno
* Added support for LIST - Returns the contents of <reply/> section in
the current test, like e.g FETCH.
* Added support for STORE - Returns hardcoded updated flags
* Changed handling of SELECT - Returns much more information in the
usual set of untagged responses; uses hardcoded data from an example
in the IMAP RFC
* Changed handling of FETCH - Fixed response format
|
|
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().
|
|
The option needs to be set on the SSL socket. Setting it on the model
takes no effect. Note that the non-blocking mode is still not enabled
for the handshake because the code is not yet ready for that.
|
|
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().
|
|
Commit 26eaa8383001 introduces the use of S_ISDIR() yet some compilers,
such as MSVC don't support it, so we must define a substitute using
file flags and mask.
|
|
Commit f4cc54cb4746ae5a6d (shipped as part of the 7.29.0 release) was a
bug fix that introduced a regression in that while trying to avoid
allowing directory names, it also forbade "special" files like character
devices and more. like "/dev/null" as was used by Oliver who reported
this regression.
Reported by: Oliver Gondža
Bug: http://curl.haxx.se/mail/archive-2013-02/0040.html
|
|
If the server hung up the connection without sending a closure alert,
then we'd keep probing the socket for data even though it's dead. Now
we're ready for this situation.
Bug: http://curl.haxx.se/mail/lib-2013-03/0014.html
Reported by: Aki Koskinen
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
Updated pop3 code following recent imap changes.
|
|
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.
|
|
Added custom request parameters to the per-request structure.
|
|
|
|
Minor tidy up of code layout and comments following recent changes.
|
|
Introduced the result code variable to simplify the state changes and
remove the hard returns.
|
|
For consistency changed the logic of the imap_state_append_resp()
function to test for an unsucessful continuation response rather than a
succesful one.
|
|
For consistency changed two if(constant != imapcode) tests to be
if(imapcode != constant).
|
|
|
|
Added logic in imap_perform() to perform an APPEND rather than SELECT
and FETCH if an upload has been specified.
|
|
The APPEND operation needs to be performed in several steps:
1) We send "<tag> APPEND <mailbox> <flags> {<size>}\r\n"
2) Server responds with continuation respose "+ ...\r\n"
3) We start the transfer and send <size> bytes of data
4) Only now we end the request command line by sending "\r\n"
5) Server responds with "<tag> OK ...\r\n"
This commit performs steps 4 and 5, in the DONE phase, as more
processing is required after the transfer.
|
|
Added imap_append() function to initiate upload and imap_append_resp()
to handle the continuation response and start the transfer.
|
|
|
|
Add number of bytes retrieved from the PP cache to req.bytecount and set
req.maxdownload only when starting a proper download.
|
|
Added safer parsing of the untagged FETCH response line and the size of
continuation data.
|
|
Accidentally lost the result code in imap_state_capability() and
imap_state_login() with commit b06a78622609.
|
|
|
|
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.
|