| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_command_continuation): Now takes a command-length
argument so we can 1) avoid duping the command string yet again,
yay. 2) we now don't have to worry about embedded nul-chars
screwing us over (we still need to avoid allowing them into the
string but at least now it won't mess us up).
* providers/imap/camel-imap-folder.c (do_append): Instead of
appending a nul char to the end of the byte array and then passing
that off as if it were a string to
camel_imap_command_continuation, instead pass the byte-array
length since that function now takes a length argument. Yay. Also
encode any 8bit parts to avoid the possibility of sending embedded
nul chars to the imap server.
* providers/imap/camel-imap-store.c (try_auth): Updated to pass a
command-length argument to camel_imap_command_continuation().
svn path=/trunk/; revision=14637
|
|
|
|
| |
svn path=/trunk/; revision=14212
|
|
|
|
|
|
| |
(instead of version 2 or any later version).
svn path=/trunk/; revision=14190
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-command.c (camel_imap_command_start):
Send an IMAP command, but don't wait for responses.
(camel_imap_command_response): Read a single line of response from
the server.
(camel_imap_command, etc): Reimplement in terms of the new code.
* providers/imap/camel-imap-folder.c (imap_rescan): Use
camel_imap_command_start and camel_imap_command_response, and
call camel_operation_progress after each line read from the
server.
(imap_update_summary): Likewise, although with more fudging on the
precentages... Also, fix this so that if none of the new messages
are cached, it only does a single FETCH, and if some of them are
cached, it does two FETCHes (one to get the UIDs, FLAGS, and
SIZEs, and another to get the bodies of all of the messages that
aren't cached now that it knows the relevant UIDs). This should
speed up startup a bunch (especially if you have high bandwidth
but also high latency to the IMAP server).
svn path=/trunk/; revision=11430
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-command.c (camel_imap_command): Redo
command locking. Since command_lock is recursive, we can just get
a lock here, and release it either on error, or when the caller
frees the response data. (This simplifies a lot of stuff, and
fixes some problems with camel_imap_folder_changed being called
without the command_lock locked because of the 2001-03-22 change.)
(camel_imap_response_free):
(camel_imap_response_free_without_processing):
(camel_imap_response_extract):
(camel_imap_response_extract_continuation): These all take a
CamelImapStore now as well, to deal with locking.
* providers/imap/camel-imap-private.h: Add
CAMEL_IMAP_STORE_ASSERT_LOCKED, which defaults to a noop, but can
be made to call e_mutex_assert_locked.
* providers/imap/camel-imap-folder.c, camel-imap-search.c,
camel-imap-store.c: Simplify using new locking stuff. Add a few
CAMEL_IMAP_STORE_ASSERT_LOCKED checks.
svn path=/trunk/; revision=9639
|
|
|
|
| |
svn path=/trunk/; revision=9024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-command.c (imap_read_response): Don't
look at untagged responses other than "* BYE"...
(camel_imap_response_free): ...do it here instead...
(camel_imap_response_free_without_processing): ...but not here.
* providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
Remove the "EXISTS" line from the response so
camel_imap_response_free won't try to process it.
(camel_imap_folder_selected): If we get an EXISTS response mixed
in with the FETCH responses, record the new EXISTS value.
Use camel_imap_response_free_without_processing so that an EXISTS
response won't cause a loop.
(imap_rescan): Use camel_imap_response_free_without_processing.
(imap_update_summary): Use
camel_imap_response_free_without_processing. If an EXISTS response
shows up, call imap_update_summary again to get the new messages.
(imap_protocol_get_summary_specifier): Use BODY.PEEK[0], not
RFC822.HEADER for prev IMAP4rev1, since the FETCH parser won't
deal with RFC822.HEADER responses.
* providers/imap/camel-imap-store.c (get_folder_info): Fix an
uninitialized variable
svn path=/trunk/; revision=8905
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-types.h: New header to prevent
recursive #include problems
* providers/imap/*.h: Replace some #includes with #include
"camel-imap-types.h", remove typedefs that were moved to
camel-imap-types.h
* providers/imap/*.c: Add #includes to make up for #includes
removed from .h files
* providers/imap/Makefile.am (libcamelimapinclude_HEADERS): Add
camel-imap-types.h
svn path=/trunk/; revision=7367
|
|
* providers/imap/camel-imap-command.c: New file containing
camel_imap_command and friends. Major camel_imap_command rewrite
to remove duplicated code, make the parsing of literals be
more safe/correct, deal with RECENT/EXPUNGE responses more
consistently, and make it possible to implement the AUTHENTICATE
command.
* providers/imap/camel-imap-utils.c (imap_parse_nstring): New
function, to parse an IMAP "nstring".
* providers/imap/camel-imap-store.c: Move command stuff to
camel-imap-command.c. Update for camel_imap_command changes.
* providers/imap/camel-imap-folder.c: Update for
camel_imap_command changes.
(imap_append_message): CRLF filter the message before sending it.
* providers/imap/Makefile.am: Add camel-imap-command.[ch], remove
camel-imap-stream.[ch] for now.
svn path=/trunk/; revision=5693
|