aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap
Commit message (Collapse)AuthorAgeFilesLines
* Added code to expunge if called for (still need to finish coding this).Jeffrey Stedfast2000-06-175-972/+50
| | | | | | | | | | | | | | | | | | 2000-06-16 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_sync): Added code to expunge if called for (still need to finish coding this). (imap_get_uids): Implemented. (imap_get_summary): Found a way to get the date (imap_summary_get_by_uid): Same. (imap_free_summary): Implemented. * string-utils.c (strstrcase): Fixed a compile warning * providers/imap/camel-imap-summary.c: Removed - we don't need a CamelImapSummary structure. svn path=/trunk/; revision=3606
* Move flag handling from CamelMimeMessage to CamelFolder. ThisDan Winship2000-06-171-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | simplifies several flag-handling pieces of code in the mailer, and lets you change a message's flags without having to fetch the message body. It also means that fully-constructed CamelMimeMessages are now essentially constant, which will help simplify locking issues later since it means two threads interested in the same message can just work with separate copies of it. * camel-mime-message.h (struct _CamelMimeMessage): Removed flags and user_flags (moved to summary). Removed expunged and message_number which were unused. Removed message_uid and folder which are no longer needed in the new scheme. (struct CamelMimeMessageClass): Removed message_changed signal and get/set_message_number methods. * camel-mime-message.c: Updates for CamelMimeMessage changes. (camel_mime_message_get/set_flags, camel_mime_message_get/set_user_flag): Replaced with methods in CamelFolder. (camel_flag_get, camel_flag_set, camel_flag_list_size, camel_flag_list_free): Moved verbatim to camel-folder-summary.c * camel-folder.c (camel_folder_get/set_message_flags, camel_folder_get/set_message_user_flag): New methods (and corresponding useless default implementations) (camel_folder_class_init): add a message_changed signal * camel-folder-summary.c (camel_flag_get, camel_flag_set, camel_flag_list_size, camel_flag_list_free): Moved here from camel-mime-message.c * providers/mbox/camel-mbox-folder.c (message_changed): Removed. (mbox_get_message_flags, mbox_set_message_flags, mbox_get_message_user_flag, mbox_set_message_user_flag): Tweak summary bits as appropriate. (Functionality moved here from message_changed.) (mbox_get_message_by_uid): Update for CamelMimeMessage changes (less stuff to initialize). * providers/imap/camel-imap-folder.c (message_changed): Remove this. It was just copied from the mbox provider and doesn't deal with the real IMAP flag stuff anyway. (So there's currently no flag support in the IMAP provider.) (imap_get_message_by_uid): Update for CamelMimeMessage changes. * providers/vee/camel-vee-folder.c: (message_changed): Remove old one. Add a new one to listen for message_changed on each folder and re-emit message_changed signals that correspond to messages in the vfolder. (vee_get/set_message_flags, vee_get/set_message_user_flag): Proxy flag setting to the underlying real messages. (vee_append_message): Removed for now; there's no way to translate this into the new CamelMimeMessage/CamelFolder scheme, but (a) there's also no code which would ever call it and (b) we're probably going want a better interface than append_message for message drag and drop to work anyway. To be revisited. svn path=/trunk/; revision=3598
* Started to code the imap summary stuffJeffrey Stedfast2000-06-161-7/+83
| | | | svn path=/trunk/; revision=3585
* Kill. Folders are now always open, and handle "closing" sorts ofDan Winship2000-06-162-61/+17
| | | | | | | | | | | | | | | | | | * camel-folder.c: (camel_folder_open, camel_folder_is_open, camel_folder_get_mode): Kill. Folders are now always open, and handle "closing" sorts of operations at sync or finalize time. (camel_folder_sync): renamed from camel_folder_close. Syncs state to the store but doesn't necessarily close/disconnect. * providers/*/camel-*-folder.c: Merge "open" methods into "init" methods. Rename close to sync and update appropriately. * providers/imap/camel-imap-store.c: Remove camel_imap_store_open and camel_imap_store_close, which should not have been copied from the POP provider (where the exist to work around limitations of the POP protocol). svn path=/trunk/; revision=3581
* Updated: a separator is now a char* rather than a single char because IMAPJeffrey Stedfast2000-06-142-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-14 Jeffrey Stedfast <fejj@helixcode.com> * camel-folder.c (init): Updated: a separator is now a char* rather than a single char because IMAP can have a string for a directory separator. Also, since IMAP does not begin with a directory separator, there is a new argument (path_begins_with_sep) which decides if a directory should begin with a directory separator. * providers/imap/camel-imap-store.c (imap_create): Since, on connect, Camel tries to create INBOX (which already exists on every IMAP provider) we can return TRUE when the folder name is "INBOX". * providers/vee/camel-vee-folder.c (vee_init): Updated. * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Updated. * providers/mbox/camel-mbox-store.c (get_folder): Updated. * providers/mbox/camel-mbox-folder.c (mbox_init): Updated. * providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Updated. svn path=/trunk/; revision=3559
* IMAP will now allow you to login, and on some IMAP providers it will ↵Jeffrey Stedfast2000-06-144-116/+102
| | | | | | | | | | actually allow you to get mail - however there are some things that might need to be rewritten in Camel to allow all IMAP providers to work right now, it wants to open /INBOX which isn't always the same as INBOX Camel won't seem to allow me to just have it open "INBOX" if I specify '/' as the separator *sigh* svn path=/trunk/; revision=3557
* implemented a temp hack for the imap fetch by uid codeJeffrey Stedfast2000-06-131-12/+31
| | | | | | (works something like the POP code, should be fixed to work like we originally planned) svn path=/trunk/; revision=3540
* Deprecated.Jeffrey Stedfast2000-06-131-4/+20
| | | | | | | | | | | | | | | | | | | 2000-06-12 Jeffrey Stedfast <fejj@helixcode.com> * camel-mime-filter-smtp.c: Deprecated. * providers/smtp/camel-smtp-transport.c (smtp_data): Updated to use camel-mime-filter-crlf with my 'dot' extension in place of camel-mime-filter-smtp * camel-mime-part.c (write_to_stream): Updated to reflect changes made to camel-mime-filter-crlf.c * camel-mime-filter-crlf.c (filter): Modified to be able to encode/decode dots ("\n.\n"<->"\n..\n"). Also fixed the decoder so that it should no longer get caught in an infinite loop. svn path=/trunk/; revision=3536
* don't pass a second (incorrect) -rpath in addition to the (correct) oneDan Winship2000-06-131-1/+1
| | | | | | | | * providers/*/Makefile.am: don't pass a second (incorrect) -rpath in addition to the (correct) one automatically provided by automake. svn path=/trunk/; revision=3535
* Updated to reflect changes made in camel-imap-store.cJeffrey Stedfast2000-06-106-83/+69
| | | | | | | | | | | | | | | 2000-06-09 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-stream.c (stream_read): Updated to reflect changes made in camel-imap-store.c * providers/imap/camel-imap-store.c (imap_create): No longer checks to make sure a folder doesn't already exists (as this is no longer needed) (camel_imap_command): Now takes a CamelFolder argument so it can detect whether or not it needs to SELECT a folder or not (camel_imap_command_extended): Same. svn path=/trunk/; revision=3494
* Will now always send EHLO first, if that fails it will fall back on HELO.Jeffrey Stedfast2000-06-101-1/+15
| | | | | | | | | | 2000-06-09 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (smtp_connect): Will now always send EHLO first, if that fails it will fall back on HELO. (esmtp_get_authtypes): Should now correctly parse authtypes. svn path=/trunk/; revision=3490
* providers/imap/camel-imap-summary.c now buildsJeffrey Stedfast2000-06-082-17/+17
| | | | svn path=/trunk/; revision=3470
* Added rules to build camel-imap-streamJeffrey Stedfast2000-06-085-120/+86
| | | | | | | | | | | | | | | | | | | | | 2000-06-07 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/Makefile.am: Added rules to build camel-imap-stream * providers/imap/camel-imap-store.c (get_folder): Update. Moved imap_create here. * providers/imap/camel-imap-folder.c (delete_messages): Remove. (imap_create): Removed. (imap_delete): Removed. (imap_exists): Removed. * providers/imap/camel-imap-stream.h: Added typedef's for the stream * providers/imap/camel-imap-stream.c: Modified to build cleanly svn path=/trunk/; revision=3468
* moved camel-imap-stream.* to providers/imapJeffrey Stedfast2000-06-073-0/+1049
| | | | | | added providers/imap/camel-imap-summary.c svn path=/trunk/; revision=3456
* worked on getting providers/imap/* to build cleanly, fixed a number of ↵Jeffrey Stedfast2000-06-076-85/+141
| | | | | | | | stupid errors and things like that am commit'ing code since there are some volunteers that would like to work on imap svn path=/trunk/; revision=3440
* Implemented a few more imap functions in providers/imap/camel-imap-folder.cJeffrey Stedfast2000-05-312-47/+186
| | | | svn path=/trunk/; revision=3286
* Add a domain field to CamelProvider, to say what kind of data it provides.Dan Winship2000-05-291-3/+4
| | | | | | | | | | | | | | | | | | | * camel-provider.h: Add a domain field to CamelProvider, to say what kind of data it provides. * providers/imap/camel-imap-provider.c: * providers/mbox/camel-mbox-provider.c: * providers/pop3/camel-pop3-provider.c: * providers/sendmail/camel-sendmail-provider.c: * providers/smtp/camel-smtp-provider.c: Set domain to "mail". * providers/nntp/camel-nntp-provider.c: Set domain to "news". * providers/vee/camel-vee-provider.c: Set domain to "vfolder". (So it doesn't end up being listed as a potential mail source in the mail config wizard.) svn path=/trunk/; revision=3254
* Ripped out camel_imap_command_get_additional_data() from camel-imap-store ↵Jeffrey Stedfast2000-05-284-151/+256
| | | | | | and implemented a number of methods in camel-imap-folder svn path=/trunk/; revision=3233
* Added initial code to camel-imap-folder.cJeffrey Stedfast2000-05-261-0/+636
| | | | svn path=/trunk/; revision=3211
* Updated several imap source filesJeffrey Stedfast2000-05-262-18/+8
| | | | svn path=/trunk/; revision=3210
* Took out code that had been there to reconnect to the server if it was notJeffrey Stedfast2000-05-264-1/+1419
| | | | | | | | | | | | | 2000-05-25 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (_send_to): Took out code that had been there to reconnect to the server if it was not already connected - Mailer code was fixed so that this should not be needed. * providers/imap/camel-imap-store.[c,h]: Initial code. svn path=/trunk/; revision=3202
* Added more files to the imap provider to use as an outline - will likely ↵Jeffrey Stedfast2000-05-253-0/+232
| | | | | | | | need heavy editing later in development This is mostly meant as guidance to both me and any volunteers that start working on imap svn path=/trunk/; revision=3192
* Added debug fprintfs, tested with a few messages (smtp_data): Fixed to useEDT 2000 Jeffrey Stedfast2000-05-241-0/+7
| | | | | | | | | | | | | | | Tue May 23 17:49:21 EDT 2000 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c: Added debug fprintfs, tested with a few messages (smtp_data): Fixed to use data_wrapper_write_to_stream() * camel-mime-filter-smtp.c (filter): Modified to escape all lines beginning with a '.' and to place \r before each \n if one did not previously exist. Removed code to escape "From " as it was found to not be needed * providers/imap/.cvsignore: added file svn path=/trunk/; revision=3186
* stuffJeffrey Stedfast2000-05-233-0/+92
svn path=/trunk/; revision=3175