Steve Holme [Wed, 27 Feb 2013 21:00:35 +0000 (21:00 +0000)]
imap: Updated the coding style of imap_state_servergreet_resp()
Updated the coding style, in this function, to be consistant with other
response functions rather then performing a hard return on failure.
Steve Holme [Wed, 27 Feb 2013 20:53:34 +0000 (20:53 +0000)]
imap: Reversed the logic of the (un)successful tagged SELECT response
Reversed the logic of the unsuccessful vs successful tagged SELECT
response in imap_state_select_resp() to be more logical to read.
Steve Holme [Wed, 27 Feb 2013 20:48:24 +0000 (20:48 +0000)]
imap: Reversed the logic of the (un)successful tagged CAPABILITY response
Reversed the logic of the unsuccessful vs successful tagged CAPABILITY
response in imap_state_capability_resp() to be more logical to read.
Steve Holme [Wed, 27 Feb 2013 20:35:04 +0000 (20:35 +0000)]
imap: Corrected char* references with char *
Corrected char* references made in commit:
709b3506cd9b.
Jiri Hruska [Wed, 27 Feb 2013 18:49:00 +0000 (19:49 +0100)]
imap: Added processing of more than one response when sent in same packet
Added a loop to imap_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.
Jiri Hruska [Wed, 27 Feb 2013 18:02:53 +0000 (19:02 +0100)]
imap: Added skipping of SELECT command if already in the same mailbox
Added storage and checking of the last mailbox userd to prevent
unnecessary switching.
Jiri Hruska [Wed, 27 Feb 2013 17:31:08 +0000 (18:31 +0100)]
imap: Introduced the mailbox variable
Added the mailbox variable to the per-connection structure in
preparation for checking for an already selected mailbox.
Steve Holme [Tue, 26 Feb 2013 23:15:16 +0000 (23:15 +0000)]
email: Slight reordering of connection based variables
Reordered the state and ssl_done variables in order to provide more
consistency between the email protocols as well as for for an upcoming
change.
Steve Holme [Tue, 26 Feb 2013 23:07:37 +0000 (23:07 +0000)]
imap: Tidied up comments for connection based variables
Steve Holme [Tue, 26 Feb 2013 22:22:26 +0000 (22:22 +0000)]
DOCS: Added the IMAP UIDVALIDITY property to the CURLOPT_URL section
Jiri Hruska [Tue, 26 Feb 2013 21:12:24 +0000 (22:12 +0100)]
imap: Added verification of UIDVALIDITY mailbox attribute
Added support for checking the UIDVALIDITY, and aborting the request, if
it has been specified in the URL and the server response is different.
Jiri Hruska [Tue, 26 Feb 2013 20:56:14 +0000 (21:56 +0100)]
imap: Added support for parsing the UIDVALIDITY property
Added support for parsing the UIDVALIDITY property from the SELECT
response and storing it in the per-connection structure.
Jiri Hruska [Tue, 26 Feb 2013 20:42:01 +0000 (21:42 +0100)]
imap: Introduced the mailbox_uidvalidity variable
Added the mailbox_uidvalidity variable to the per-connection structure
in preparation for checking the UIDVALIDITY mailbox attribute.
Steve Holme [Tue, 26 Feb 2013 20:40:22 +0000 (20:40 +0000)]
imap: Corrected comment in imap_endofresp()
Steve Holme [Tue, 26 Feb 2013 20:37:08 +0000 (20:37 +0000)]
imap: Corrected whitespace
Jiri Hruska [Tue, 26 Feb 2013 18:22:42 +0000 (19:22 +0100)]
imap: Added filtering of CAPABILITY and FETCH untagged responses
Only responses that contain "CAPABILITY" and "FETCH", respectively,
will be sent to their response handler.
Jiri Hruska [Tue, 26 Feb 2013 17:52:19 +0000 (18:52 +0100)]
imap: Added a helper function for upcoming untagged response filtering
RFC 3501 states that "the client MUST be prepared to accept any response
at all times" yet we assume anything received with "* " at the beginning
is the untagged response we want.
Introduced a helper function that checks whether the input looks like a
response to specified command, so that we may filter the ones we are
interested in according to the current state.
Jiri Hruska [Tue, 26 Feb 2013 17:10:54 +0000 (18:10 +0100)]
imap: Moved CAPABILITY response handling to imap_state_capability_resp()
Introduced similar handling to the FETCH responses, where even the
untagged data responses are handled by the response handler of the
individual state.
Linus Nielsen Feltzing [Tue, 26 Feb 2013 08:05:25 +0000 (09:05 +0100)]
Remove unused variable in smtp_state_data_resp()
Steve Holme [Mon, 25 Feb 2013 23:00:08 +0000 (23:00 +0000)]
email: Small tidy up following recent changes
Steve Holme [Mon, 25 Feb 2013 22:28:14 +0000 (22:28 +0000)]
smtp: Removed bytecountp from the per-request structure
Removed this pointer to a downloaded bytes counter because it was set in
smtp_init() to point to the same variable the transfer functions keep
the count in (k->bytecount), effectively making the code in transfer.c
"*k->bytecountp = k->bytecount" a no-op.
Steve Holme [Mon, 25 Feb 2013 21:46:37 +0000 (21:46 +0000)]
pop3: Removed bytecountp from the per-request structure
Removed this pointer to a downloaded bytes counter because it was set in
pop3_init() to point to the same variable the transfer functions keep
the count in (k->bytecount), effectively making the code in transfer.c
"*k->bytecountp = k->bytecount" a no-op.
Jiri Hruska [Mon, 25 Feb 2013 17:40:32 +0000 (18:40 +0100)]
imap: Removed bytecountp from the per-request structure
Removed this pointer to a downloaded bytes counter because it was set in
imap_init() to point to the same variable the transfer functions keep
the count in (k->bytecount), effectively making the code in transfer.c
"*k->bytecountp = k->bytecount" a no-op.
Jiri Hruska [Mon, 25 Feb 2013 17:06:02 +0000 (18:06 +0100)]
imap: Adjusted SELECT and FETCH function order
Moved imap_select() and imap_fetch() to be grouped with the other
perform functions.
Jiri Hruska [Mon, 25 Feb 2013 16:59:05 +0000 (17:59 +0100)]
imap: Adjusted SELECT and FETCH state order in imap_statemach_act()
Exchanged the position of these states in the switch statements to
match the state enum, execution and function order.
Steve Holme [Mon, 25 Feb 2013 15:53:24 +0000 (15:53 +0000)]
imap: Minor tidy up of comments in imap_parse_url_path()
Tidy up of comments before next round of imap changes.
Steve Holme [Mon, 25 Feb 2013 09:43:23 +0000 (09:43 +0000)]
imap: Fixed incorrect comparison for STARTTLS in imap_endofresp()
Corrected the comparison type in addition to commit
1dac29fa83a9.
Steve Holme [Mon, 25 Feb 2013 09:36:52 +0000 (09:36 +0000)]
DOCS: Corrected IMAP URL examples according to RFC5092
URL examples that included the UID weren't technically correct although
would pass the curl parser.
Nick Zitzmann [Sun, 24 Feb 2013 22:39:15 +0000 (15:39 -0700)]
darwinssl: fix undefined $ssllib warning in runtests.pl
I also added --with-darwinssl to the list of SSL options in configure.
Steve Holme [Sun, 24 Feb 2013 19:23:33 +0000 (19:23 +0000)]
imap: Added check for new internal imap response code
Steve Holme [Sun, 24 Feb 2013 16:14:16 +0000 (16:14 +0000)]
imap: Changed the order of the response types in imap_endofresp()
From a maintenance point of view the code reads better to view tagged
responses, then untagged followed by continuation responses.
Additionally, this matches the order of responses in POP3.
Jiri Hruska [Sun, 24 Feb 2013 13:54:25 +0000 (14:54 +0100)]
imap: Added stricter parsing of continuation responses
Enhanced the parsing to only allow continuation responses in some
states.
Steve Holme [Sun, 24 Feb 2013 12:45:04 +0000 (12:45 +0000)]
imap: Simplified memcmp() in tagged response parsing
Jiri Hruska [Sun, 24 Feb 2013 12:27:49 +0000 (13:27 +0100)]
imap: Reworked the logic of untagged command responses
Steve Holme [Sun, 24 Feb 2013 12:05:15 +0000 (12:05 +0000)]
imap: Corrected spacing of trailing brace
Jiri Hruska [Sun, 24 Feb 2013 11:48:43 +0000 (12:48 +0100)]
imap: Added stricter parsing of tagged command responses
Enhanced the parsing of tagged responses which must start with "OK",
"NO" or "BAD"
Jiri Hruska [Sun, 24 Feb 2013 11:23:06 +0000 (12:23 +0100)]
imap: Simplified command response test in imap_endofresp()
Jiri Hruska [Sun, 24 Feb 2013 11:21:53 +0000 (12:21 +0100)]
imap: Corrected comment in imap_endofresp()
Steve Holme [Sun, 24 Feb 2013 00:47:38 +0000 (00:47 +0000)]
DOCS: Corrected layout of POP3 and IMAP URL examples
Corrected layout issues with the POP3 and IMAP URL examples introduced
in commit
cb3ae6894fb2.
Steve Holme [Sat, 23 Feb 2013 23:14:12 +0000 (23:14 +0000)]
DOCS: Updated CURLOPT_URL section following recent POP3 and IMAP changes
Updated the POP3 sub-section to refer to message ID rather than mailbox.
Added an IMAP sub-section with example URLs depicting the specification
of mailbox, uid and section.
Steve Holme [Sat, 23 Feb 2013 21:43:59 +0000 (21:43 +0000)]
pop3: Refactored the mailbox variable as it didn't reflect it's purpose
Updated the mailbox variable to correctly reflect it's purpose. The
name mailbox was a leftover from when IMAP and POP3 support was
initially added to curl.
Steve Holme [Sat, 23 Feb 2013 21:15:06 +0000 (21:15 +0000)]
FEATURES: Updated following recent IMAP changes
Jiri Hruska [Sat, 23 Feb 2013 21:05:19 +0000 (22:05 +0100)]
imap: Added the ability to FETCH a specific UID and SECTION
Updated the FETCH command to send the UID and SECTION parsed from the
URL. By default the BODY specifier doesn't include a section, BODY[] is
now sent whereas BODY[TEXT] was previously sent. In my opinion
retrieving just the message text is rarely useful when dealing with
emails, as the headers are required for example, so that functionality
is not retained. In can however be simulated by adding SECTION=TEXT to
the URL.
Also updated test801 and test1321 due to the BODY change.
Steve Holme [Sat, 23 Feb 2013 20:02:05 +0000 (20:02 +0000)]
email: Additional tidy up of comments following recent changes
Steve Holme [Sat, 23 Feb 2013 19:46:21 +0000 (19:46 +0000)]
smtp: Removed some FTP heritage leftovers
Removed user and passwd from the SMTP struct as these cannot be set on
a per-request basis and are leftover from legacy FTP code.
Changed some comments still using FTP terminology.
Steve Holme [Sat, 23 Feb 2013 19:39:22 +0000 (19:39 +0000)]
smtp: Moved the per-request variables to the per-request data structure
Moved the rcpt variable from the per-connection struct smtp_conn to the
new per-request struct and fixed references accordingly.
Steve Holme [Sat, 23 Feb 2013 19:31:59 +0000 (19:31 +0000)]
pop3: Introduced a custom SMTP structure for per-request data
Created a new SMTP structure and changed the type of the smtp proto
variable in connectdata from FTP* to SMTP*.
Steve Holme [Sat, 23 Feb 2013 18:57:18 +0000 (18:57 +0000)]
imap: Minor correction of comments for max line length
Daniel Stenberg [Sat, 23 Feb 2013 18:51:05 +0000 (19:51 +0100)]
strcasestr: remove check for this unused function
Daniel Stenberg [Sat, 23 Feb 2013 18:44:00 +0000 (19:44 +0100)]
pop3: fix compiler warning
error: declaration of 'pop3' shadows a previous local
Jiri Hruska [Sat, 23 Feb 2013 18:35:48 +0000 (19:35 +0100)]
imap: Added URL parsing of new variables
Updated the imap_parse_url_path() function to parse uidvalidity, uid and
section parameters based on RFC-5092.
Jiri Hruska [Sat, 23 Feb 2013 18:07:41 +0000 (19:07 +0100)]
imap: Introduced imap_is_bchar() function
Added imap_is_bchar() for testing if a given character is a valid bchar
or not.
Jiri Hruska [Sat, 23 Feb 2013 17:24:53 +0000 (18:24 +0100)]
imap: Introduced new per-request veriables
Added uidvalidity, uid and section variables to the per-request IMAP
structure in preparation for upcoming URL parsing.
Steve Holme [Sat, 23 Feb 2013 17:09:24 +0000 (17:09 +0000)]
pingpong: Renamed curl_ftptransfer to curl_pp_transfer
Steve Holme [Sat, 23 Feb 2013 16:27:17 +0000 (16:27 +0000)]
pop3: Removed some FTP heritage leftovers
Removed user and passwd from the POP3 struct as these cannot be set on
a per-request basis and are leftover from legacy FTP code.
Changed some comments still using FTP terminology.
Steve Holme [Sat, 23 Feb 2013 16:15:38 +0000 (16:15 +0000)]
pop3: Moved the per-request variables to the per-request data structure
Moved the mailbox and custom request variables from the per-connection
struct pop3_conn to the new per-request struct and fixed references
accordingly.
Steve Holme [Sat, 23 Feb 2013 16:06:54 +0000 (16:06 +0000)]
pop3: Introduced a custom POP3 structure for per-request data
Created a new POP3 structure and changed the type of the pop3 proto
variable in connectdata from FTP* to POP*.
Jiri Hruska [Tue, 12 Feb 2013 13:47:37 +0000 (14:47 +0100)]
imap: Fixed escaping of mailbox names
Used imap_atom() to escape mailbox names in imap_select().
Steve Holme [Sat, 23 Feb 2013 15:26:26 +0000 (15:26 +0000)]
pingpong: Moved curl_ftptransfer definition to pingpong.h
Moved the ftp transfer structure into pingpong.h so other protocols that
require it don't have to include ftp.h.
Steve Holme [Sat, 23 Feb 2013 12:31:12 +0000 (12:31 +0000)]
urldata.h: Fixed comment for opt_no_body variable
Corrected comment for opt_no_body variable to CURLOPT_NOBODY.
Steve Holme [Sat, 23 Feb 2013 11:34:52 +0000 (11:34 +0000)]
email: Minor tidy up following IMAP changes
Jiri Hruska [Sat, 23 Feb 2013 09:48:52 +0000 (10:48 +0100)]
imap: Removed more FTP leftovers
Changed some variables and comments still using FTP terminology.
Jiri Hruska [Sat, 23 Feb 2013 09:41:47 +0000 (10:41 +0100)]
imap: Removed some FTP heritage leftovers
Removed user and passwd from the IMAP struct as these cannot be set on
a per-request basis and are leftover from legacy FTP code.
Jiri Hruska [Sat, 23 Feb 2013 09:29:40 +0000 (10:29 +0100)]
imap: Introduced a custom IMAP structure for per-request data
Created a new IMAP structure and changed the type of the imap proto
variable in connectdata from FTP* to the new IMAP*.
Moved the mailbox variable from the per-connection struct imap_conn to
the new per-request struct and fixed references accordingly.
Steve Holme [Fri, 22 Feb 2013 23:31:13 +0000 (23:31 +0000)]
pop3: Updated do phrase clean-up comment
Following commit
65644b833532 for the IMAP module updated the clean-up
comment in POP3.
Steve Holme [Fri, 22 Feb 2013 23:29:33 +0000 (23:29 +0000)]
imap: Fixed memory leak when performing multiple selects
Moved the clean-up of the mailbox variable from imap_disconnect() to
imap_done() as this variable is allocated in the do phase, yet would
have only been freed only once if multiple selects where preformed
on a single connection.
Alexander Klauer [Fri, 22 Feb 2013 12:06:56 +0000 (13:06 +0100)]
Documentation: Typo in docs/CONTRIBUTE
Fixes a typo get → git in docs/CONTRIBUTE.
Alexander Klauer [Fri, 22 Feb 2013 12:06:55 +0000 (13:06 +0100)]
repository: ignore patch files generated by git
Ignores the patch files generated by the 'git format-patch' command.
Alexander Klauer [Fri, 22 Feb 2013 12:06:54 +0000 (13:06 +0100)]
libcurl documentation: clarifications and typos
* Elaborates on default values of some curl_easy_setopt() options.
* Reminds the user to cast variadic arguments to curl_easy_setopt() to
'void *' where curl internally interprets them as such.
* Clarifies the working of the CURLOPT_SEEKFUNCTION option for
curl_easy_setopt().
* Fixes typo 'forth' → 'fourth'.
* Elaborates on CURL_SOCKET_TIMEOUT.
* Adds some missing periods.
* Notes that the return value of curl_version() must not be passed to
free().
Alexander Klauer [Fri, 22 Feb 2013 12:06:53 +0000 (13:06 +0100)]
lib/url.c: Generic read/write data pointers
Always interprets the pointer passed with the CURLOPT_WRITEDATA or
CURLOPT_READDATA options of curl_easy_setopt() as a void pointer in
order to avoid problems in environments where FILE and void pointers
have non-trivial conversion.
Alexander Klauer [Fri, 22 Feb 2013 12:06:52 +0000 (13:06 +0100)]
libcurl documentation: updates HTML index
* Adds several links to documentation of library functions which were
missing.
* Marks documentation of deprecated library functions "(deprecated)".
* Removes spurious .html suffixes.
Daniel Stenberg [Fri, 22 Feb 2013 21:54:31 +0000 (22:54 +0100)]
ossl_seed: avoid recursive seeding!
Jiri Hruska [Fri, 15 Feb 2013 15:42:49 +0000 (16:42 +0100)]
Fixed checking the socket if there is data waiting in the cache
Use Curl_pp_moredata() in Curl_pp_multi_statemach() to check if there is
more data to be received, rather than the socket state, as a task could
hang waiting for more data from the socket itself.
Steve Holme [Fri, 22 Feb 2013 19:58:42 +0000 (19:58 +0000)]
imap.c: Fixed an incorrect variable reference
Fixed an incorrect variable reference which was introduced in commit
a1701eea289f as a result of a copy and paste from SMTP/POP3.
Jiri Hruska [Thu, 14 Feb 2013 18:36:43 +0000 (19:36 +0100)]
pingpong: Introduce Curl_pp_moredata()
A simple function to test whether the PP is not sending and there are
still more data in its receiver cache. This will be later utilized to:
1) Change Curl_pp_multi_statemach() and Curl_pp_easy_statemach() to
not test socket state and just call user's statemach_act() function
when there are more data to process, because otherwise the task would
just hang, waiting for more data from the socket.
2) Allow PP users to read multiple responses by looping as long as there
are more data available and current phase is not finished.
(Currently needed for correct processing of IMAP SELECT responses.)
Nick Zitzmann [Wed, 20 Feb 2013 02:15:32 +0000 (19:15 -0700)]
FEATURES: why yes, we do support metalink
I just noticed Metalink support wasn't listed as a feature of the tool.
Nick Zitzmann [Wed, 20 Feb 2013 02:03:39 +0000 (19:03 -0700)]
metalink: fix improbable crash parsing metalink filename
The this_url pointer wasn't being initialized, so if strdup() would return
null when copying the filename in a metalink file, then hilarity would
ensue during the cleanup phase. This change was brought to you by clang,
which noticed this and raised a warning.
Yang Tse [Tue, 19 Feb 2013 15:53:13 +0000 (16:53 +0100)]
smtp.c: fix enumerated type mixed with another type
Yang Tse [Tue, 19 Feb 2013 12:11:55 +0000 (13:11 +0100)]
polarssl threadlock cleanup
Nick Zitzmann [Mon, 18 Feb 2013 23:27:30 +0000 (16:27 -0700)]
docs: schannel and darwinssl documentation improvements
Schannel and darwinssl use the certificates built into the
OS to do vert verification instead of bundles. darwinssl
is thread-safe. Corrected typos in the NSS docs.
Daniel Stenberg [Mon, 18 Feb 2013 21:52:58 +0000 (22:52 +0100)]
resolver_error: remove wrong error message output
The attempt to use gai_strerror() or alternative function didn't work as
the 'sock_error' field didn't contain the proper error code. But since
this hasn't been reported and thus isn't really a big deal I decided to
just scrap the whole attempt to output the detailed resolver error and
instead remain with just stating that the resolving of the name failed.
Kim Vandry [Mon, 18 Feb 2013 20:36:34 +0000 (21:36 +0100)]
Curl_resolver_is_resolved: show proper host name on failed resolve
Daniel Stenberg [Mon, 18 Feb 2013 12:40:13 +0000 (13:40 +0100)]
Curl_resolver_is_resolved: fix compiler warning
conversion to 'int' from 'long int' may alter its value
Daniel Stenberg [Mon, 18 Feb 2013 11:56:03 +0000 (12:56 +0100)]
compiler warning fix
follow-up to commit
ed7174c6f66, rename 'wait' to 'block'
Daniel Stenberg [Sun, 17 Feb 2013 23:14:35 +0000 (00:14 +0100)]
compiler warning fix: declaration of 'wait' shadows a global declaration
It seems older gcc installations (at least) will cause warnings if we
name a variable 'wait'. Now changed to 'block' instead.
Reported by: Jiří Hruška
Bug: http://curl.haxx.se/mail/lib-2013-02/0247.html
Nick Zitzmann [Sun, 17 Feb 2013 21:30:38 +0000 (14:30 -0700)]
MacOSX-Framework: Make script work in Xcode 4.0 and later
Apple made a number of changes to Xcode 4. The SDKs were moved, the entire
Developer folder was moved, and PowerPC support was removed. The script
will now adapt to those changes and should be future-proofed against
additional changes in case Apple moves the Developer folder ever again.
Also, the minimum OS X version compiler option was removed, so that the
framework can be built against the latest SDK but still run in older cats.
Daniel Stenberg [Sat, 16 Feb 2013 13:40:54 +0000 (14:40 +0100)]
docs: refer to CURLOPT_ACCEPT_ENCODING instead of the old name
Steve Holme [Sat, 16 Feb 2013 23:37:50 +0000 (23:37 +0000)]
email: Tidied up result code variables
Tidied up result variables to be consistent in name, declaration order
and default values.
Nick Zitzmann [Sat, 16 Feb 2013 21:21:09 +0000 (14:21 -0700)]
ntlm_core: fix compiler warning when building with clang
Fixed a 64-to-32 compiler warning raised when building with
clang and the --with-darwinssl option.
Daniel Stenberg [Sat, 16 Feb 2013 13:26:28 +0000 (14:26 +0100)]
Guile-curl: a new libcurl binding
Daniel Stenberg [Sat, 16 Feb 2013 12:56:08 +0000 (13:56 +0100)]
polarsslthreadlock: #include the proper memory and debug includes
Pointed out by Steve Holme
Steve Holme [Sat, 16 Feb 2013 10:28:32 +0000 (10:28 +0000)]
email: Removed unnecessary forward declaration
Due to the reordering of functions in commit
586f5d361474 the forward
declaration to state_upgrade_tls() are no longer required.
Steve Holme [Sat, 16 Feb 2013 10:18:01 +0000 (10:18 +0000)]
pop3.c: Added reference to RFC-5034
Willem Sparreboom [Wed, 13 Feb 2013 10:26:16 +0000 (11:26 +0100)]
PolarSSL: Change to cURL coding style
Repaired all curl/lib/checksrc.pl warnings in the previous four patches
Willem Sparreboom [Mon, 28 Jan 2013 17:55:52 +0000 (18:55 +0100)]
PolarSSL: WIN32 threading support for entropy
Added WIN32 threading support for PolarSSL entropy if
--enable-threaded-resolver config flag is set and process.h can be found.
Willem Sparreboom [Mon, 28 Jan 2013 17:31:22 +0000 (18:31 +0100)]
PolarSSL: pthread support for entropy
Added pthread support for polarssl entropy if --enable-threaded-resolver
config flag is set and pthread.h can be found.
Willem Sparreboom [Mon, 28 Jan 2013 15:03:40 +0000 (16:03 +0100)]
PolarSSL: changes to entropy/ctr_drbg/HAVEGE_RANDOM
Add non-threaded entropy and ctr_drbg and removed HAVEGE_RANDOM define
Willem Sparreboom [Mon, 28 Jan 2013 14:46:07 +0000 (15:46 +0100)]
PolarSSL: added human readable error strings
Print out human readable error strings for PolarSSL related errors
Steve Holme [Fri, 15 Feb 2013 18:33:28 +0000 (18:33 +0000)]
pop3: Removed unnecessary state changes on failure
Steve Holme [Fri, 15 Feb 2013 18:33:10 +0000 (18:33 +0000)]
imap: Removed unnecessary state change on failure