| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-10-26 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store-summary.[c,h]: New files
implementing a folder-info cache for offline mode (and faster
startup I guess).
* providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
Cache the folder-info for later use in offline mode.
* providers/imap4/camel-imap4-utils.c
(camel_imap4_get_path_delim): Instead of assigning top = "INBOX",
do strcpy (top, "INBOX") so that we can later modify the
string. Fixes bug #68814.
2004-10-25 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
Updated to use the public function in camel-imap4-utils.c
(camel_imap4_engine_finalize): Same.
* providers/imap4/camel-imap4-store.c (imap4_construct): Setup and
load the store summary.
(camel_imap4_store_finalize): Unref the store summary.
(imap4_get_folder): Implemented offline support.
(imap4_folder_utf7_name): Pass the summary to get_delim rather
than the engine.
(imap4_create_folder): Same.
(imap4_reconnect): Update the namespaces on the store summary.
(connect_to_server): Update the store summary capabilities.
* providers/imap4/camel-imap4-utils.c
(camel_imap4_get_path_delim): Now takes a store-summary rather
than an engine so that it will work in offline mode.
(camel_imap4_namespace_clear): Moved here from
camel-imap4-engine.c
(camel_imap4_namespace_list_copy): New convenience function.
(camel_imap4_namespace_list_free): New.
* providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
Check the return value of summary loading in offline mode (if it
fails, we can't get the folder).
svn path=/trunk/; revision=27730
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-10-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-store.c (imap4_get_folder): Don't
allow users to create folders in offline mode. When in offline
mode, use a different codepath to get a folder object.
(imap4_noop): Handle offline mode.
(imap4_unsubscribe_folder): Throw an exception if we are in
offline mode.
(imap4_subscribe_folder): Same.
(imap4_get_folder_info): Started to implement offline
support. Also, even if we are in online mode but the engine has
not yet been connected, we should follow the "offline" code path
and get the folder info's from the cache.
(imap4_rename_folder): Disallow in offline mode.
(imap4_delete_folder): Same.
(imap4_connect): Handle offline mode.
(imap4_disconnect): Handle offline mode and do proper locking.
(imap4_query_auth_types): Same.
svn path=/trunk/; revision=27660
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-10-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
Removed an already-fixed FIXME comment.
(imap4_summary_fetch_flags): Same.
* providers/imap4/camel-imap4-folder.c (imap4_get_path_delim):
Removed. Use camel_imap4_get_path_delim() instead.
(camel_imap4_folder_new): Updated.
(imap4_sync): If we aren't online, we're done. nothing to do.
(imap4_refresh_info): Same.
(imap4_append_message): Same but set an exception.
(imap4_transfer_messages_to): Same.
* providers/imap4/camel-imap4-utils.c
(camel_imap4_get_path_delim): Moved here from camel-imap4-store.c
* providers/imap4/camel-imap4-store.c (imap4_try_authenticate):
Change the service string for the sasl mechanism to"imap" rather
than "imap4".
(imap4_get_path_delim): Removed.
(imap4_create_folder): Updated.
(imap4_folder_utf7_name): Same.
svn path=/trunk/; revision=27651
|
|
|
|
| |
svn path=/trunk/; revision=27601
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-10-13 Not Zed <NotZed@Ximian.com>
* providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new)
(imap4_sync_changes, imap4_sync):
* providers/imap4/camel-imap4-summary.c (untagged_fetch_all): kill
cast as lvalue warning.
* camel-string-utils.h: add prototype for camel_toupper.
* providers/imap4/camel-imap4-utils.c:
* providers/imap4/camel-imap4-summary.c:
* providers/imap4/camel-imap4-folder.c:
* providers/imap4/camel-imap4-engine.c:
* providers/imap4/camel-imap4-command.c:
* providers/imap4/camel-imap4-store.c: include camel-i18n.h.
2004-10-12 Not Zed <NotZed@Ximian.com>
** See bug ???
* providers/nntp/camel-nntp-store.c (connect_to_server): if we
have a username, try to authenticate before doing anything else.
** See bug #67895.
* providers/nntp/camel-nntp-summary.c (add_range_xover)
(add_range_head): use raw_command_auth since we might need auth
here.
* providers/nntp/camel-nntp-store.c (camel_nntp_raw_command_auth):
new almost-raw command that also does auth.
(xover_setup, connect_to_server, camel_nntp_command): use
raw_command_auth since we might need auth here.
2004-10-12 Not Zed <NotZed@Ximian.com>
** See bug #67898 and probably others.
* providers/imapp/camel-imapp-store.c (connect_to_server):
* providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
* providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
* providers/imap/camel-imap-store.c (connect_to_server_wrapper):
* providers/nntp/camel-nntp-store.c (connect_to_server_wrapper):
* providers/smtp/camel-smtp-transport.c (connect_to_server_wrapper):
Fallback to hard-coded port number if the name lookup fails and no
port was supplied.
svn path=/trunk/; revision=27562
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-29 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-command.c
(camel_imap4_command_newv): Aded a new %formatter 'V' which takes
a string vector (needed for SEARCH).
* providers/imap4/camel-imap4-search.[c,h]: New source files
implementing search functionality.
* providers/imap4/camel-imap4-folder.c (imap4_sync_flag): Use the
new public version of imap4_get_uid_set().
(imap4_transfer_messages_to): Same.
(camel_imap4_folder_new): Create a search context.
(camel_imap4_folder_finalize): Unref the search context.
(camel_imap4_folder_class_init): Override the search methods.
(imap4_search_by_expression): New.
(imap4_search_by_uids): New.
(imap4_search_free): New.
* providers/imap4/camel-imap4-utils.c (camel_imap4_get_uid_set):
Moved here from camel-imap4-folder.c
svn path=/trunk/; revision=26551
|
|
|
|
| |
svn path=/trunk/; revision=26406
|
|
|
|
|
|
|
|
|
|
| |
2004-06-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c (uidset_init): init
tail->last to (guint32) -1, so that index = tail->last + 1 will
start at 0 :-)
svn path=/trunk/; revision=26405
|
|
|
|
|
|
|
|
|
|
| |
2004-06-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c (imap4_get_uid_set): Fixed
to work properly. It was getting ranges wrong before sometimes
which was making me lose mail! Ugh.
svn path=/trunk/; revision=26393
|
|
|
|
|
|
|
|
|
|
| |
2004-06-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c (imap4_refresh_info): Only
force a re-update of all FLAGS if this folder wasn't in the
SELECTED state. Otherwise, simply send a NOOP.
svn path=/trunk/; revision=26372
|
|
|
|
|
|
|
|
|
|
| |
2004-06-11 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-folder.c (imap4_refresh_info): Force
updating of the emsage flags (normally this only happens if
something has changed that warrants rescanning them).
svn path=/trunk/; revision=26317
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c (untagged_fetch): Handle
getting FLAGS even though we didn't request it (server can send us
FLAGS info if another client changed them recently, for
example). Also fixed to handle the fact that not every bit of info
has to be in a single untagged FETCH response - it may come in
several untagged responses.
* providers/imap4/camel-imap4-summary.c (envelope_decode_address):
Decode the email address name token.
(envelope_decode_nstring): rfc2047 decode strings if requested.
(decode_envelope): Request that the subject string be rfc2047
decoded.
svn path=/trunk/; revision=26310
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-summary.c
(camel_imap4_summary_flush_updates): Don't bother scanning summary
info if EXISTS was 0.
(camel_imap4_summary_set_uidvalidity): Emit the folder_changed
event after clearing the summary.
(camel_imap4_summary_expunge): Emit the folder_changed event after
removing the message from the summary.
* providers/imap4/camel-imap4-folder.c (imap4_sync): Flush updates
after an EXPUNGE and don't unset expunge if we didn't delete
anything (the logic was wrong anyway).
(imap4_refresh_info): Implemented.
svn path=/trunk/; revision=26300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-07 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
Load the entire summary, not just the summary header. This way
when the user opens the folder, we don't do a complete re-sync
with the server unnecessarily.
* providers/imap4/camel-imap4-summary.c (untagged_fetch_all): New
info's always have a uid of "", so don't checkagainst NULL.
svn path=/trunk/; revision=26239
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-store.c (imap4_rename_folder):
Implemented, mostly. Still need to update state on the renamed
folder object if instantiated and rename the on-disk cache
directory.
* providers/imap4/camel-imap4-folder.c
(camel_imap4_folder_finalize): Free the cachedir.
(camel_imap4_folder_new): Init the cachedir and load the saved
summary before updating it against the server summary.
* providers/imap4/camel-imap4-store.c
(camel_imap4_store_finalize): Free the storage_path.
(imap4_construct): Init the storage_path.
svn path=/trunk/; revision=26233
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-04 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
Initialise the folder->summary and force an update of the message
info cache by selecting the folder and flushing the updates to the
imap4 summary object.
* providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
Lock the connect_lock before we check if the engine is NULL and
after we connect (assuming we need to), initialise the engine
pointer again.
(imap4_get_folder_info): Doh. Need to escape the "'s in the LIST
command string.
(imap4_get_folder): Same.
svn path=/trunk/; revision=26221
|
|
|
|
|
|
|
|
|
| |
2004-04-21 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c (imap4_sync_changes): Don't
bother doing any work if perm_flags is 0.
svn path=/trunk/; revision=25572
|
|
|
|
|
|
|
|
|
| |
2004-04-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c (untagged_fetch): Fixed to
not expect ]'s as part of the BODY atom token.
svn path=/trunk/; revision=25520
|
|
|
|
|
|
|
|
|
| |
2004-04-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c: Added mutex locking where
appropriate.
svn path=/trunk/; revision=25348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-04-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.h (CAMEL_FOLDER_SUMMARY_TYPE): Defined.
* camel-object.h (CAMEL_OBJECT_TYPE): Fixed.
* providers/imap4/camel-imap4-folder.c
(camel_imap4_folder_utf7_name): Implemented.
* providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
Use camel_folder_info_build() to build the folder-info tree.
svn path=/trunk/; revision=25345
|
|
2004-03-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
Implemented.
* providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
If the namespace begins with "INBOX", canonicalise the INBOX
portion (ie, make it all caps).
* providers/imap4/camel-imap4-store.c (imap4_noop): Implemented.
svn path=/trunk/; revision=25237
|