| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
svn path=/trunk/; revision=27887
|
|
|
|
| |
svn path=/trunk/; revision=27885
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-09 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-provider.c: Updated the properties
to include all the same settings as the old imap code.
* providers/imap4/camel-imap4-folder.c (imap4_getv): Implemented.
(imap4_setv): Implemented.
svn path=/trunk/; revision=27880
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-09 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line):
Handle not getting the CRLF pair together. Also don't require that
we have at least 3 bytes in the read buffer as it is possible we
don't have that much (see bug #69160).
2004-11-08 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_subscribe_folder):
Note the folder-info just subscribed.
(imap4_unsubscribe_folder): Unnote the folder-info.
svn path=/trunk/; revision=27875
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-04 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-engine.c: Added much in-line
documentation.
(engine_parse_capability): Use g_ascii_str[n]casecmp().
(camel_imap4_engine_nstring): New convenience function.
svn path=/trunk/; revision=27843
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-02 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_folder_utf7_name):
Don't bother getting the folder delim if the name is "" since we
don't need it in that case.
* providers/imap4/camel-imap4-utils.c
(camel_imap4_get_path_delim): add an assert that s->namespaces is
non-NULL.
svn path=/trunk/; revision=27804
|
|
|
|
|
|
|
|
|
|
| |
2004-11-02 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-utils.c
(camel_imap4_get_path_delim): If namespaces is NULL, return the
default folder delim ('/').
svn path=/trunk/; revision=27803
|
|
|
|
|
|
|
|
|
|
| |
2004-11-02 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-stream.c
(camel_imap4_stream_literal): Update stream->inptr after fetching
the literal chunk.
svn path=/trunk/; revision=27800
|
|
|
|
|
|
|
|
|
| |
2004-11-02 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-summary.c (envelope_decode_address):
Do proper cleanup in case of error and also handle literals.
svn path=/trunk/; revision=27798
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-02 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
Removed camel_service_connect() call which is no longer needed.
(imap4_connect): If engine is already connected, shortcut to
simply returning success.
(imap4_disconnect): Check engine state rather than poking at
stream state.
svn path=/trunk/; revision=27797
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-01 Jeffrey Stedfast <fejj@novell.com>
* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Do the same SSL->TLS and TLS->CLEAR
fallbacks that the 2.0 (and older) code did.
* providers/pop3/camel-pop3-store.c (connect_to_server_wrapper): Same.
* providers/imap4/camel-imap4-store.c (connect_to_server_wrapper): Same.
* providers/imap/camel-imap-store.c (connect_to_server_wrapper): Same.
svn path=/trunk/; revision=27786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-01 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-summary.c
(camel_imap4_summary_expunge): Remove expunged messages from the
cache.
(camel_imap4_summary_set_uidvalidity): Clear the cache if the
UIDVALIDITY has changed.
* providers/imap4/camel-imap4-folder.c (imap4_get_message): If the
message exists in the cache, use that rather than fetching it from
the server and cache messages fetched from the server for later
use.
(camel_imap4_folder_finalize): Unref the cache if non-NULL.
(camel_imap4_folder_new): Create the CamelDataCache.
svn path=/trunk/; revision=27784
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-11-01 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_create_folder): Cache
the folder-info on the summary if successful.
(imap4_delete_folder): Un-cache the folder-info from the summary.
* providers/imap4/camel-imap4-store-summary.c (load_namespaces):
Cleaned up a bit.
(save_namespaces): Same.
(camel_imap4_store_summary_unnote_info): New function.
(camel_imap4_store_summary_get_folder_info): Fixed the logic a
bit.
svn path=/trunk/; revision=27782
|
|
|
|
|
|
|
|
|
|
| |
2004-11-01 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store-summary.c (load_namespaces):
Cleaned up a bit.
(save_namespaces): Same.
svn path=/trunk/; revision=27779
|
|
|
|
|
|
|
|
|
|
| |
2004-10-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-summary.c (envelope_decode_nstring):
Handle literal strings.
(envelope_decode_date): Same. Fixes bug #68894.
svn path=/trunk/; revision=27759
|
|
|
|
|
|
|
|
|
|
| |
2004-10-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-stream.c
(camel_imap4_stream_next_token): Properly tokenise "\*" as a flag
token. Fixes bug #68869.
svn path=/trunk/; revision=27758
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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=27650
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=27630
|
|
|
|
|
|
|
|
|
|
| |
2004-10-18 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_try_authenticate):
Change the service string for the sasl mechanism to"imap" rather
than "imap4".
svn path=/trunk/; revision=27609
|
|
|
|
| |
svn path=/trunk/; revision=27601
|
|
|
|
| |
svn path=/trunk/; revision=27600
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-10-04 JP Rosevear <jpr@novell.com>
* providers/imap4/camel-imap4-provider.c: include camel-i18n.h
svn path=/trunk/; revision=27458
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-09-22 Jeffrey Stedfast <fejj@novell.com>
* providers/imap/camel-imap-store.c (connect_to_server): Instead
of doing a host-lookup ourselves, get it passed in to us as an
argument. Also simplified a bit (try_starttls is no longer an
option).
(connect_to_server_wrapper): Simplified (we no longer have
fallback cases for SSL stuff). Also, perform host lookup here.
* providers/imap4/camel-imap4-store.c: Same changes as above.
* providers/pop3/camel-pop3-store.c: Same.
* providers/smtp/camel-smtp-transport.c: Same. Other changes
include making the code consistant with the other providers.
* providers/nntp/camel-nntp-store.c: Same as pop/imap.
svn path=/trunk/; revision=27398
|
|
|
|
|
|
|
|
|
|
|
| |
2004-08-13 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
Use g_ptr_array_sized_new() rather than using set_size() after
creating a GPtrArray so that array->len starts out at 0.
(imap4_summary_fetch_flags): Same.
svn path=/trunk/; revision=26923
|
|
|
|
|
|
| |
g_string_append, duh.
svn path=/trunk/; revision=26890
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-08-06 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-summary.c (untagged_fetch_all): Call
camel_operation_progress().
(imap4_summary_fetch_all): Setup info we need for progress
reporting.
(imap4_summary_fetch_flags): Same.
svn path=/trunk/; revision=26846
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-08-03 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_construct): Pass a
reconnect func.
* providers/imap4/camel-imap4-engine.c
(camel_imap4_engine_iterate): Reconnect if needed.
(camel_imap4_engine_new): Now takes a reconnect func.
svn path=/trunk/; revision=26813
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-07-30 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-engine.c
(camel_imap4_engine_capability): This needs to prequeue the
CAPABILITY command rather than queue it normally for the case of
reconnecting.
(camel_imap4_engine_namespace): Same.
svn path=/trunk/; revision=26781
|
|
|
|
| |
svn path=/trunk/; revision=26780
|
|
|
|
| |
svn path=/trunk/; revision=26779
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-07-27 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-engine.c
(camel_imap4_engine_prequeue): Changed to be the same prototype as
engine_queue().
(engine_prequeue_folder_select): Updated.
* providers/imap4/camel-imap4-store.c (connect_to_server): Use
engine_prequeue() for STARTTLS in case we are reconnecting and
already have a command queue.
(imap4_try_authenticate): Use prequeue() here too.
(imap4_reconnect): Moved all the connect logic in here.
(imap4_connect): just lock and call reconnect().
svn path=/trunk/; revision=26748
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-07-26 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (connect_to_server): Don't
instantiate an engine here. Instead, take an engine as an argument
(it has a service pointer) and connect using that. Also, if
connect fails, don't unref the engine.
(connect_to_server_wrapper): Now also takes an engine argument
rather than a service argument.
(imap4_try_authenticate): Now also takes an engine argument.
(imap4_connect): Pass the engine to connect/auth functions rather
than the store.
(imap4_query_auth_types): Updated.
(imap4_disconnect): Don't unref the engine here.
(camel_imap4_store_init): Create the engine here.
(imap4_get_folder_info): Can't check engine == NULL to know to
connect (that was a broken check anyway).
* providers/imap4/camel-imap4-engine.c (camel_imap4_engine_new):
Now simply takes a service argument rather than a session and url.
(camel_imap4_engine_next_token): Set the state to DISCONNECTED.
(camel_imap4_engine_eat_line): Same.
(camel_imap4_engine_line): Same.
(camel_imap4_engine_literal): Same.
svn path=/trunk/; revision=26740
|
|
|
|
|
|
|
|
|
|
| |
2004-06-30 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-search.c (imap4_body_contains): Set
the size of the ptrarray to prevent potentially realloc'ing
several times.
svn path=/trunk/; revision=26555
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-23 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
First LIST/LSUB the toplevel folder, and then LIST/LSUB the
subfolders (it needs to be 2 commands to work properly).
(imap4_delete_folder): CLOSE the folder we are about to DELETE if
it is currently SELECTED.
svn path=/trunk/; revision=26489
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-23 Jeffrey Stedfast <fejj@novell.com>
* providers/imap/camel-imap-provider.c (imap_url_equal): Same.
* providers/imap4/camel-imap4-provider.c (imap4_url_equal): Check
the protocol.
svn path=/trunk/; revision=26488
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-23 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
Hide password, etc info in the fi->uri's.
(imap4_create_folder): Don't bother to use
imap4_get_folder_info(), we can construct the fi ourselves.
(imap4_delete_folder): Emit the folder_deleted signal and
construct an fi ourselves.
(imap4_subscribe_folder): Same.
(imap4_unsubscribe_folder): Same.
* providers/imap4/camel-imap4-provider.c: Specify that the
fragment is the path.
svn path=/trunk/; revision=26483
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-23 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
Hide password, etc info in the fi->uri's.
* providers/imap4/camel-imap4-provider.c: Specify that the
fragment is the path.
svn path=/trunk/; revision=26482
|
|
|
|
| |
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-15 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
Make sure we have elements in the array, if not then we're done
(return a NULL fi).
svn path=/trunk/; revision=26394
|
|
|
|
|
|
|
|
|
|
| |
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-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-summary.c: Added a 'first' member to
the imap_fetch_all_t struct so we can use that as a base offset in
our GPtrArray, allowing us to limit resource consumption which
could otherwise get quite large. Also added a ChangeInfo member
that was needed for changes to untagged_fetch_all().
(imap4_fetch_all_add): Use fetch->first as a base offset and
change int i to guint32 i. Also updated to sue the fetch->changes.
(imap4_fetch_all_update): Same.
(untagged_fetch_all): Same - this is where it is really valuable,
since we can avoid adding elements to the GPtrArray that we won't
even use. Also needed to change code a big in case index <
fetch->first (which could happen if a server notified us of a
FLAGS change for a message we didn't request info about).
(imap4_fetch_all_free): Free the ChangeInfo.
(imap4_summary_fetch_all): Init fetch->changes and fetch->first.
(imap4_summary_fetch_flags): Same.
(camel_imap4_summary_flush_updates): Only request envelope info if
first <= summary->exists. Avoids needless queries.
(info_uid_sort): #if 0'd
(camel_imap4_summary_flush_updates): No need to sort the summary -
this should never have been needed. I can't remember why I did
this...
svn path=/trunk/; revision=26371
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-summary.c: Added a 'first' member to
the imap_fetch_all_t struct so we can use that as a base offset in
our GPtrArray, allowing us to limit resource consumption which
could otherwise get quite large. Also added a ChangeInfo member
that was needed for changes to untagged_fetch_all().
(imap4_fetch_all_add): Use fetch->first as a base offset and change
int i to guint32 i. Also updated to sue the fetch->changes.
(imap4_fetch_all_update): Same.
(untagged_fetch_all): Same - this is where it is really valuable,
since we can avoid adding elements to the GPtrArray that we won't
even use. Also needed to change code a big in case index <
fetch->first (which could happen if a server notified us of a
FLAGS change for a message we didn't request info about).
(imap4_fetch_all_free): Free the ChangeInfo.
(imap4_summary_fetch_all): Init fetch->changes and fetch->first.
(imap4_summary_fetch_flags): Same.
svn path=/trunk/; revision=26370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-stream.c (camel_imap4_stream_init):
Init have_unget to FALSE. Don't set unget to NULL, it's no longer
a pointer.
(camel_imap4_stream_finalize): No need to g_free() unget anymore.
(camel_imap4_stream_next_token): Check have_unget rather than
unget != NULL. Set have_unget to FALSE if we get an unget'd token.
(camel_imap4_stream_unget_token): Don't malloc space for an unget
token. The unget token is no longer a pointer.
svn path=/trunk/; revision=26346
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-12 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-store.c (imap4_noop): Flush summary
updates for the currently selected folder.
(imap4_noop): Sync the currently selected folder before sending
NOOP.
svn path=/trunk/; revision=26324
|
|
|
|
|
|
|
|
|
| |
2004-06-12 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-store.c (imap4_noop): Flush summary
updates for the currently selected folder.
svn path=/trunk/; revision=26323
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-12 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-summary.c
(camel_imap4_summary_set_exists): Don't bother with
exists_changed. We don't need it afterall.
(camel_imap4_summary_flush_updates): Instead of updating flags if
update_flags or exists_changed is set, only bother if update_flags
is set or if exists is smaller than the summary count (since
updating flags is also sueful for determining which messages have
been removed).
svn path=/trunk/; revision=26322
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
distinguish between EXISTS value changing because it changed and
because messages got expunged.
svn path=/trunk/; revision=26302
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(camel_imap4_summary_set_exists): Only set exists_changed if the
new and old exists values are different.
(imap4_fetch_all_add): Emit a folder_changed signal if any new
info's were added.
(imap4_fetch_all_update): Emit a folder_changed event if any uids
were removed or otherwise updated.
(camel_imap4_summary_expunge): Use seqid-1 to determine the actual
summary index.
svn path=/trunk/; revision=26301
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-engine.c
(camel_imap4_engine_handle_untagged_1): Don't always try and parse
a RESP-CODE in the BYE case as the RESP-CODE is optional.
svn path=/trunk/; revision=26297
|
|
|
|
| |
svn path=/trunk/; revision=26296
|
|
|
|
| |
svn path=/trunk/; revision=26295
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-10 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
If flags does not include FOLDER_INFO_FAST, get the total/unread
counts for the folder-info.
* providers/imap4/camel-imap4-engine.c (engine_parse_status):
Removed.
(camel_imap4_engine_handle_untagged_1): Don't handle untagged
STATUS responses anymore. Let the STATUS requestor handle them
instead.
* providers/imap4/camel-imap4-utils.c
(camel_imap4_untagged_status): New function to parse untagged
status events.
svn path=/trunk/; revision=26291
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/; revision=26222
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-06-04 Jeffrey Stedfast <fejj@novell.com>
* providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
Duh. If the user doesn't care about SSL/TLS - use USE_SSL_NEVER,
not USE_SSL_ALWAYS.
svn path=/trunk/; revision=26218
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-04 Jeffrey Stedfast <fejj@novell.com>
* camel-tcp-stream-ssl.c (stream_flush): Always just return 0,
don't try to PR_Sync() - fsync on a socket causes an error.
* providers/imap4/camel-imap4-command.c
(camel_imap4_command_step): Set exceptions when write/flush fail.
* providers/imap4/camel-imap4-engine.c
(camel_imap4_engine_take_stream): Set an exception in the case
where we get an unexpected greeting from the server.
* providers/imap4/camel-imap4-store.c (imap4_create_folder):
store->dir_sep no longer exists, so query the engine for the
directory separator for the parent_folder.
(imap4_build_folder_info): CamelFolderInfo no longer has a path
component.
svn path=/trunk/; revision=26217
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-05-21 Not Zed <NotZed@Ximian.com>
* camel-session.c (camel_session_get_password): added a 'domain'
argument, and rearragned arguments to be prettier and more
consistent. Fixed all callers.
(camel_session_forget_password): added a domain argument. Fixed
all callers.
** See #58376.
* camel-folder.c (set_message_flags): if system flags change, then
don't trigger a folder changed event.
* camel-folder-summary.h (CAMEL_MESSAGE_SYSTEM_MASK): added this
to indicate which flags are internal/apps not interested in.
* camel-folder.c (filter_free): rearrange and use some helpers.
(folder_changed): if we're frozen, dont go firing off threads to
do any processing on each change, wait until we're called
unfrozen. Slight code rearragnement.
(filter_filter): add progress to junk learn/unlearn, and separate
them.
svn path=/trunk/; revision=26029
|
|
|
|
| |
svn path=/trunk/; revision=25892
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-05-10 Jeffrey Stedfast <fejj@novell.com>
* camel-mime-filter-gzip.[c,h]: New class for zipping/unzipping
gzip streams.
* camel-mime-filter-yenc.[c,h]: New class for encoding/decoding
the crack known as YEncode.
svn path=/trunk/; revision=25847
|
|
|
|
|
|
|
|
|
| |
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>
* providers/imap4/camel-imap4-store.c: Added mutex locking where
appropriate.
svn path=/trunk/; revision=25346
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
Partially implemented.
(imap4_get_folder): Implemented.
svn path=/trunk/; revision=25254
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
2004-03-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap-folder.[c,h]: New source files
implementing the CamelFolder class for the new IMAP4
implementation.
svn path=/trunk/; revision=25215
|
|
|
|
| |
svn path=/trunk/; revision=25214
|
|
|
|
| |
svn path=/trunk/; revision=25213
|
|
|
|
| |
svn path=/trunk/; revision=25211
|
|
|
|
| |
svn path=/trunk/; revision=25210
|
|
|
|
|
|
|
|
|
|
| |
2004-03-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap-summary.[c,h]: New source files
implementing the CamelFolderSummary class for the new IMAP4
implementation.
svn path=/trunk/; revision=25209
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-03-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap-engine.c
(camel_imap_engine_parse_resp_code): No longer need to split ']'
tokens from atom tokens due to a fixup in the ABNF grammar in
rfc3501.
* providers/imap4/camel-imap-specials.c: Changed ATOM_SPECIALS to
include ']' (this is an addition in rfc3501).
* providers/imap4/camel-imap-store.[c,h]: New Store class for
IMAP. Implemnted a bunch of but still got a ways to go.
svn path=/trunk/; revision=25192
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-03-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap-engine.c (camel_imap_engine_literal):
New convenience wrapper function.
(engine_parse_status): Fixed to handle literal mailbox strings.
* providers/imap4/camel-imap-command.c (camel_imap_command_newv):
Changed how %L works - create the CamelIMAPLiteral for our caller
instead of expecting them to create it for us. We can autodetect
what type of object (stream vs data-wrapper) the literal is, so
it's trivial to do.
svn path=/trunk/; revision=25179
|
|
|
|
| |
svn path=/trunk/; revision=25178
|
|
svn path=/trunk/; revision=25176
|