aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap4
Commit message (Collapse)AuthorAgeFilesLines
* Kill dead filesJP Rosevear2005-01-1124-9894/+0
| | | | svn path=/trunk/; revision=28342
* have our own so we don't need to link with glib.Not Zed2004-12-036-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-lock-helper.c (g_strerror): have our own so we don't need to link with glib. * providers/*/Makefile.am: Do not install ANY provider header files. No providers are subclassable. No providers are directly linkable. * camel.pc.in: create package config file. * tests/lib/folders.c (test_folder_message_ops): updated counts for delete also marking unread. * tests/lib/camel-test.c (camel_test_provider_init): new api for initialising test system 'in-build'. * camel-provider.c: remove the assertions, init if we need to,k use pthread_once stuff to serialise it. * tests/folder/test3.c (main): remove gtk stuff (???). * tests/*: Fix all the makefiles. Made make-check work 'in-build'. * tests/lib/folders.c (test_folder_counts): update for api changes. (test_message_info): similar. * providers/Makefile.am: removed groupwise from the build, this can't go in here anymore, not in its current state. * camel-net-utils.c (camel_gethostbyaddr_r) (camel_gethostbyname_r): the old e_gethost* calls from e-host-utils.c. 2004-11-15 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-utils.c (imap_path_to_physical): copied from e-path.c. (imap_path_find_folders): copied from e-path.c. * camel.h: remove the provider stuff from the header. * camel-provider.c: globalise provider_init variable, and asserton it in all functions that rely on it. * camel-service.c: removed getaddrinfo/etc. * camel-net-utils.[ch]: separate out camel_getaddrinfo etc. * Makefile.am: split camel into 2 libraries, libcamel and libcamel-store. * camel-multipart-signed.c (camel_multipart_signed_sign) (camel_multipart_signed_verify, prepare_sign): remove old deprecated api. * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt) (camel_multipart_encrypted_decrypt): remove old deprecated api. svn path=/trunk/; revision=28046
* In the fallback cases, clear the exception first.Jeffrey Stedfast2004-11-161-3/+6
| | | | | | | | | | | | | | | 2004-11-15 Jeffrey Stedfast <fejj@novell.com> * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper): In the fallback cases, clear the exception first. * providers/imap/camel-imap-store.c (connect_to_server_wrapper): In the fallback cases, clear the exception first. * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper): In the fallback cases, clear the exception first. svn path=/trunk/; revision=27928
* Use camel_tcp_stream_ssl_new_raw() for STARTTLS stream.Jeffrey Stedfast2004-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | 2004-11-15 Jeffrey Stedfast <fejj@novell.com> * providers/imap/camel-imap-store.c (connect_to_server): Use camel_tcp_stream_ssl_new_raw() for STARTTLS stream. * providers/imap4/camel-imap4-store.c (connect_to_server): Use camel_tcp_stream_ssl_new_raw() for STARTTLS stream. * providers/pop3/camel-pop3-store.c: Change default port numbers to be correct (they shouldn't all be the pop3s port). (connect_to_server): Moved the last tcp_stream unref to afetr the last fail-check so that we won't ever get a double-unref on something we only own one ref on. (connect_to_server): Unref the tcp_stream if we fail to create an engine object before returning fail. (connect_to_server): Use camel_tcp_stream_ssl_new_raw() for STARTTLS stream. svn path=/trunk/; revision=27927
* Fix bug #69408 by filling our input buffer if inptr == inend.Jeffrey Stedfast2004-11-161-1/+4
| | | | | | | | | 2004-11-15 Jeffrey Stedfast <fejj@novell.com> * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line): Fix bug #69408 by filling our input buffer if inptr == inend. svn path=/trunk/; revision=27924
* Handle numeric tokens for the COPYUID set values as well.Jeffrey Stedfast2004-11-141-8/+16
| | | | | | | | | | 2004-11-13 Jeffrey Stedfast <fejj@ximian.com> * providers/imap4/camel-imap4-engine.c (camel_imap4_engine_parse_resp_code): Handle numeric tokens for the COPYUID set values as well. svn path=/trunk/; revision=27912
* Folder now gets set on the CamelFolderSummary object rather than theJeffrey Stedfast2004-11-132-18/+12
| | | | | | | | | | | | | | | | | | 2004-11-12 Jeffrey Stedfast <fejj@novell.com> * providers/imap4/camel-imap4-summary.c (camel_imap4_summary_new): Folder now gets set on the CamelFolderSummary object rather than the CamelIMAP4Summary. (imap4_fetch_all_update): Base summary class now has a folder member, use that instead. (imap4_fetch_all_add): Same. (imap4_summary_fetch_all): Same. (imap4_summary_fetch_flags): Same. (camel_imap4_summary_set_uidvalidity): Same. (camel_imap4_summary_expunge): Same. (camel_imap4_summary_flush_updates): Same. svn path=/trunk/; revision=27908
* Init appended_uid value to NULLJeffrey Stedfast2004-11-131-0/+3
| | | | | | | | | 2004-11-12 Jeffrey Stedfast <fejj@novell.com> * providers/imap4/camel-imap4-folder.c (imap4_append_message): Init appended_uid value to NULL svn path=/trunk/; revision=27907
* Properly handle NILs for the namespace separator (somehow I missed this,Jeffrey Stedfast2004-11-131-3/+13
| | | | | | | | | | 2004-11-12 Jeffrey Stedfast <fejj@novell.com> * providers/imap4/camel-imap4-engine.c (engine_parse_namespace): Properly handle NILs for the namespace separator (somehow I missed this, silly me). svn path=/trunk/; revision=27906
* ** Merge in notzed-messageinfo-branch, fix some minor conflicts.Not Zed2004-11-125-71/+63
| | | | | | | | 2004-11-12 Not Zed <NotZed@Ximian.com> ** Merge in notzed-messageinfo-branch, fix some minor conflicts. svn path=/trunk/; revision=27898
* Free the passwd here if we need to retry to authenticate.Jeffrey Stedfast2004-11-121-1/+4
| | | | | | | | | 2004-11-11 Jeffrey Stedfast <fejj@novell.com> * providers/imap4/camel-imap4-store.c (imap4_reconnect): Free the passwd here if we need to retry to authenticate. svn path=/trunk/; revision=27895
* #define d()Jeffrey Stedfast2004-11-121-0/+2
| | | | svn path=/trunk/; revision=27892
* removed some debug printf'sJeffrey Stedfast2004-11-111-5/+5
| | | | svn path=/trunk/; revision=27889
* Use the expanded ALL macro as on closer inspection of the RFC, we're notJeffrey Stedfast2004-11-111-10/+4
| | | | | | | | | | | 2004-11-10 Jeffrey Stedfast <fejj@novell.com> * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all): Use the expanded ALL macro as on closer inspection of the RFC, we're not allowed to use macros in conjunction with other FETCH items (such as UID in our case). svn path=/trunk/; revision=27888
* include a headerJeffrey Stedfast2004-11-111-0/+1
| | | | svn path=/trunk/; revision=27887
* enabled \\Recent flagJeffrey Stedfast2004-11-113-9/+11
| | | | svn path=/trunk/; revision=27885
* Updated the properties to include all the same settings as the old imapJeffrey Stedfast2004-11-103-0/+113
| | | | | | | | | | | | 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
* Handle not getting the CRLF pair together. Also don't require that we haveJeffrey Stedfast2004-11-104-10/+18
| | | | | | | | | | | | | | | | | 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
* Added much in-line documentation. (engine_parse_capability): UseJeffrey Stedfast2004-11-052-9/+158
| | | | | | | | | | | 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
* Don't bother getting the folder delim if the name is "" since we don'tJeffrey Stedfast2004-11-032-17/+16
| | | | | | | | | | | | | | 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
* If namespaces is NULL, return the default folder delim ('/').Jeffrey Stedfast2004-11-031-0/+3
| | | | | | | | | | 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
* Update stream->inptr after fetching the literal chunk.Jeffrey Stedfast2004-11-031-0/+2
| | | | | | | | | | 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
* Do proper cleanup in case of error and also handle literals.Jeffrey Stedfast2004-11-031-6/+31
| | | | | | | | | 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
* Removed camel_service_connect() call which is no longer needed.Jeffrey Stedfast2004-11-031-7/+6
| | | | | | | | | | | | | 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
* Do the same SSL->TLS and TLS->CLEAR fallbacks that the 2.0 (and older)Jeffrey Stedfast2004-11-021-1/+4
| | | | | | | | | | | | | | | | 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
* Remove expunged messages from the cache.Jeffrey Stedfast2004-11-024-8/+58
| | | | | | | | | | | | | | | | | | | 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
* Cache the folder-info on the summary if successful. (imap4_delete_folder):Jeffrey Stedfast2004-11-023-7/+25
| | | | | | | | | | | | | | | | | 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
* Cleaned up a bit. (save_namespaces): Same.Jeffrey Stedfast2004-11-021-27/+31
| | | | | | | | | | 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
* Handle literal strings. (envelope_decode_date): Same. Fixes bug #68894.Jeffrey Stedfast2004-10-291-0/+25
| | | | | | | | | | 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
* Properly tokenise "\*" as a flag token. Fixes bug #68869.Jeffrey Stedfast2004-10-281-0/+4
| | | | | | | | | | 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
* New files implementing a folder-info cache for offline mode (and fasterJeffrey Stedfast2004-10-279-49/+664
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Don't allow users to create folders in offline mode. When in offline mode,Jeffrey Stedfast2004-10-212-8/+67
| | | | | | | | | | | | | | | | | | | | | | | 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
* Removed an already-fixed FIXME comment. (imap4_summary_fetch_flags): Same.Jeffrey Stedfast2004-10-214-108/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* updated commentJeffrey Stedfast2004-10-211-0/+1
| | | | svn path=/trunk/; revision=27650
* Removed an already-fixed FIXME comment. (imap4_summary_fetch_flags): Same.Jeffrey Stedfast2004-10-201-8/+0
| | | | | | | | | | 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
* Change the service string for the sasl mechanism to"imap" rather thanJeffrey Stedfast2004-10-191-1/+1
| | | | | | | | | | 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
* renamed delete_originals to move. clearer. cleaner. shorter. not as ugly.Jeffrey Stedfast2004-10-161-5/+5
| | | | svn path=/trunk/; revision=27601
* added gtk-doc commentsJeffrey Stedfast2004-10-161-1/+14
| | | | svn path=/trunk/; revision=27600
* kill cast as lvalue warning.Not Zed2004-10-136-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* include camel-i18n.hJP Rosevear2004-10-041-0/+1
| | | | | | | | 2004-10-04 JP Rosevear <jpr@novell.com> * providers/imap4/camel-imap4-provider.c: include camel-i18n.h svn path=/trunk/; revision=27458
* Instead of doing a host-lookup ourselves, get it passed in to us as anJeffrey Stedfast2004-09-281-94/+65
| | | | | | | | | | | | | | | | | | | | | | 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
* Use g_ptr_array_sized_new() rather than using set_size() after creating aJeffrey Stedfast2004-08-141-8/+8
| | | | | | | | | | | 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
* use g_string_append_len when appending a subset of a string rather than ↵Jeffrey Stedfast2004-08-131-7/+7
| | | | | | g_string_append, duh. svn path=/trunk/; revision=26890
* Call camel_operation_progress(). (imap4_summary_fetch_all): Setup info weJeffrey Stedfast2004-08-071-0/+21
| | | | | | | | | | | | 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
* Pass a reconnect func.Jeffrey Stedfast2004-08-043-3/+29
| | | | | | | | | | | | | 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
* This needs to prequeue the CAPABILITY command rather than queue itJeffrey Stedfast2004-07-312-4/+4
| | | | | | | | | | | | 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
* fixed sed-o's (s/IMAP44/IMAP4/g)Jeffrey Stedfast2004-07-312-10/+10
| | | | svn path=/trunk/; revision=26780
* blehJeffrey Stedfast2004-07-311-0/+1
| | | | svn path=/trunk/; revision=26779
* Changed to be the same prototype as engine_queue().Jeffrey Stedfast2004-07-283-35/+48
| | | | | | | | | | | | | | | | | | 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
* Don't instantiate an engine here. Instead, take an engine as an argumentJeffrey Stedfast2004-07-273-85/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Set the size of the ptrarray to prevent potentially realloc'ing severalJeffrey Stedfast2004-07-011-6/+10
| | | | | | | | | | 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
* Aded a new %formatter 'V' which takes a string vector (needed for SEARCH).Jeffrey Stedfast2004-06-308-166/+628
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* First LIST/LSUB the toplevel folder, and then LIST/LSUB the subfolders (itJeffrey Stedfast2004-06-241-6/+57
| | | | | | | | | | | | 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
* Same.Jeffrey Stedfast2004-06-242-6/+8
| | | | | | | | | | | 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
* Hide password, etc info in the fi->uri's. (imap4_create_folder): Don'tJeffrey Stedfast2004-06-241-20/+73
| | | | | | | | | | | | | | | | | | 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
* Hide password, etc info in the fi->uri's.Jeffrey Stedfast2004-06-242-2/+2
| | | | | | | | | | | | 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
* make 'colon' a const char *Jeffrey Stedfast2004-06-181-2/+2
| | | | svn path=/trunk/; revision=26406
* init tail->last to (guint32) -1, so that index = tail->last + 1 will startJeffrey Stedfast2004-06-181-2/+3
| | | | | | | | | | 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
* Make sure we have elements in the array, if not then we're done (return aJeffrey Stedfast2004-06-181-0/+6
| | | | | | | | | | 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
* Fixed to work properly. It was getting ranges wrong before sometimes whichJeffrey Stedfast2004-06-181-62/+144
| | | | | | | | | | 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
* Only force a re-update of all FLAGS if this folder wasn't in the SELECTEDJeffrey Stedfast2004-06-171-3/+17
| | | | | | | | | | 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
* Added a 'first' member to the imap_fetch_all_t struct so we can use thatJeffrey Stedfast2004-06-171-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added a 'first' member to the imap_fetch_all_t struct so we can use thatJeffrey Stedfast2004-06-171-37/+101
| | | | | | | | | | | | | | | | | | | | | | | 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
* Init have_unget to FALSE. Don't set unget to NULL, it's no longer aJeffrey Stedfast2004-06-152-13/+9
| | | | | | | | | | | | | | | 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
* Flush summary updates for the currently selected folder. (imap4_noop):Jeffrey Stedfast2004-06-131-2/+11
| | | | | | | | | | | 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
* Flush summary updates for the currently selected folder.Jeffrey Stedfast2004-06-122-1/+4
| | | | | | | | | 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
* Don't bother with exists_changed. We don't need it afterall.Jeffrey Stedfast2004-06-122-9/+4
| | | | | | | | | | | | | | | 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
* Force updating of the emsage flags (normally this only happens ifJeffrey Stedfast2004-06-121-0/+1
| | | | | | | | | | 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
* Handle getting FLAGS even though we didn't request it (server can send usJeffrey Stedfast2004-06-113-30/+75
| | | | | | | | | | | | | | | | | | | 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
* (camel_imap4_summary_flush_updates): Added some logic toJeffrey Stedfast2004-06-112-0/+8
| | | | | | | distinguish between EXISTS value changing because it changed and because messages got expunged. svn path=/trunk/; revision=26302
* Don't bother scanning summary info if EXISTS was 0.Jeffrey Stedfast2004-06-111-3/+29
| | | | | | | | | | | | | | | | | | | | | | 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
* Don't bother scanning summary info if EXISTS was 0.Jeffrey Stedfast2004-06-112-9/+51
| | | | | | | | | | | | | | | | | | | 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
* Don't always try and parse a RESP-CODE in the BYE case as the RESP-CODE isJeffrey Stedfast2004-06-111-1/+9
| | | | | | | | | | 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
* replace strcasecmp with g_ascii_strcasecmpJeffrey Stedfast2004-06-111-2/+2
| | | | svn path=/trunk/; revision=26296
* some code cleanupJeffrey Stedfast2004-06-112-4/+7
| | | | svn path=/trunk/; revision=26295
* If flags does not include FOLDER_INFO_FAST, get the total/unread countsJeffrey Stedfast2004-06-114-168/+249
| | | | | | | | | | | | | | | | | | | | 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
* Load the entire summary, not just the summary header. This way when theJeffrey Stedfast2004-06-082-2/+4
| | | | | | | | | | | | | | 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
* Implemented, mostly. Still need to update state on the renamed folderJeffrey Stedfast2004-06-073-1/+138
| | | | | | | | | | | | | | | | | | | | 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
* removed debug printfsJeffrey Stedfast2004-06-051-3/+0
| | | | svn path=/trunk/; revision=26222
* Initialise the folder->summary and force an update of the message infoJeffrey Stedfast2004-06-052-7/+22
| | | | | | | | | | | | | | | | | | | 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
* Duh. If the user doesn't care about SSL/TLS - use USE_SSL_NEVER, notJeffrey Stedfast2004-06-051-1/+1
| | | | | | | | | | 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
* Always just return 0, don't try to PR_Sync() - fsync on a socket causes anJeffrey Stedfast2004-06-053-8/+22
| | | | | | | | | | | | | | | | | | | | | | 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
* added a 'domain' argument, and rearragned arguments to be prettier andNot Zed2004-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* type-o fix for bug #58404Jeffrey Stedfast2004-05-131-1/+1
| | | | svn path=/trunk/; revision=25892
* New class for zipping/unzipping gzip streams.Jeffrey Stedfast2004-05-111-0/+5
| | | | | | | | | | | | 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
* Don't bother doing any work if perm_flags is 0.Jeffrey Stedfast2004-04-221-0/+3
| | | | | | | | | 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
* Fixed to not expect ]'s as part of the BODY atom token.Jeffrey Stedfast2004-04-201-1/+7
| | | | | | | | | 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
* Added mutex locking where appropriate.Jeffrey Stedfast2004-04-071-2/+24
| | | | | | | | | 2004-04-06 Jeffrey Stedfast <fejj@ximian.com> * providers/imap4/camel-imap4-folder.c: Added mutex locking where appropriate. svn path=/trunk/; revision=25348
* Added mutex locking where appropriate.Jeffrey Stedfast2004-04-071-11/+54
| | | | | | | | | 2004-04-06 Jeffrey Stedfast <fejj@ximian.com> * providers/imap4/camel-imap4-store.c: Added mutex locking where appropriate. svn path=/trunk/; revision=25346
* Defined.Jeffrey Stedfast2004-04-075-7/+12
| | | | | | | | | | | | | | | | 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
* Partially implemented. (imap4_get_folder): Implemented.Jeffrey Stedfast2004-03-312-19/+298
| | | | | | | | | | 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
* Implemented.Jeffrey Stedfast2004-03-3024-1996/+2098
| | | | | | | | | | | | | | | 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
* New source files implementing the CamelFolder class for the new IMAP4Jeffrey Stedfast2004-03-293-0/+836
| | | | | | | | | | 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
* added .cvsignoreJeffrey Stedfast2004-03-291-0/+7
| | | | svn path=/trunk/; revision=25214
* added camel-imap-store.[c,h] to the buildJeffrey Stedfast2004-03-292-20/+47
| | | | svn path=/trunk/; revision=25213
* added camel-imap-provider.cJeffrey Stedfast2004-03-293-1/+141
| | | | svn path=/trunk/; revision=25211
* build fixesJeffrey Stedfast2004-03-292-6/+7
| | | | svn path=/trunk/; revision=25210
* New source files implementing the CamelFolderSummary class for the newJeffrey Stedfast2004-03-293-0/+1200
| | | | | | | | | | 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
* No longer need to split ']' tokens from atom tokens due to a fixup in theJeffrey Stedfast2004-03-264-27/+892
| | | | | | | | | | | | | | | | | 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
* New convenience wrapper function. (engine_parse_status): Fixed to handleJeffrey Stedfast2004-03-253-9/+67
| | | | | | | | | | | | | | | | 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
* #include <stdlib.h> for strtoul()Jeffrey Stedfast2004-03-251-0/+1
| | | | svn path=/trunk/; revision=25178
* The beginnings of a new IMAP provider moduleJeffrey Stedfast2004-03-2512-0/+4071
svn path=/trunk/; revision=25176