aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap4
Commit message (Collapse)AuthorAgeFilesLines
* 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