aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers
Commit message (Collapse)AuthorAgeFilesLines
...
* Use the CamelInternetAddress parser. (smtp_get_email_addr_from_text):Jeffrey Stedfast2000-10-031-53/+16
| | | | | | | | | | 2000-10-02 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (_send_to): Use the CamelInternetAddress parser. (smtp_get_email_addr_from_text): deprecated. svn path=/trunk/; revision=5672
* Remove default_ports.Dan Winship2000-10-0312-11/+9
| | | | | | | | | | | | | | * camel-provider.h: Remove default_ports. * camel-remote-store.c (remote_connect): Get default_port from CamelRemoteStore rather than CamelProvider. * providers/{imap,nntp,pop3}/camel-*-store.c: Initialize CamelRemoteStore::default_port * providers/*/camel-*-provider.c: Remove default_ports. svn path=/trunk/; revision=5669
* Remove camel_folder_{get,free}_subfolder_info, as we want to be able toDan Winship2000-10-0313-236/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-folder.[ch]: Remove camel_folder_{get,free}_subfolder_info, as we want to be able to scan the whole subfolder tree without having to open any folders, so this needs to be in CamelStore. Remove can_hold_folders and can_hold_messages flags; things that don't hold messages are no longer considered CamelFolders. * camel-folder-summary.[ch]: Remove CamelFolderInfo stuff. * camel-store.[ch]: Add camel_store_{get,free}_folder_info, as well as camel_store_free_folder_info_full and ..._nop for default implementations, and camel_folder_info_free and camel_folder_info_build as convenience functions. Turn CamelFolderInfo into a tree structure and also add an "url" member. * providers/*/camel-*-folder.c: Remove subfolder_info and can_hold stuff. * providers/*/camel-*-store.c: Add folder_info stuff. * providers/imap/camel-imap-folder.c (imap_summary_free): Free the summary elements with camel_message_info_free, not camel_folder_info_free. Oops. * providers/imap/camel-imap-utils.c: const poison svn path=/trunk/; revision=5663
* More updating... still not usable, or even compilableDan Winship2000-10-034-46/+266
| | | | svn path=/trunk/; revision=5661
* another mem leak fixJeffrey Stedfast2000-09-291-0/+5
| | | | svn path=/trunk/; revision=5633
* Fixed some memory leaks. (camel_smtp_transport_init): InitializeJeffrey Stedfast2000-09-292-59/+44
| | | | | | | | | | | | | | | | | | | 2000-09-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c: Fixed some memory leaks. (camel_smtp_transport_init): Initialize supports_8bit to FALSE. (smtp_helo): If server supports 8bit, set supports_8bit to TRUE. * camel-transport.h (struct _CamelTransport): Added variable gboolean supports_8bit (we'll need this eventually? - see bugzilla bug #53) * providers/smtp/camel-smtp-transport.c (smtp_get_email_addr_from_text): Ugh, no wonder people were getting illegal seek warnings *sigh*. I guess I can only blame myself for this one though :-( svn path=/trunk/; revision=5631
* Don't send the recipient data through smtp_get_email_addr_from_text - thisJeffrey Stedfast2000-09-291-15/+14
| | | | | | | | | | | | | 2000-09-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (_send_to): Don't send the recipient data through smtp_get_email_addr_from_text - this is a complete waste. In fact, we don't want to have to use that function ever. * camel-internet-address.c, camel-address.c: Added some gtk-doc comments. svn path=/trunk/; revision=5629
* When getting a literal string response, don't include the \r\n after theJeffrey Stedfast2000-09-293-1/+10
| | | | | | | | | | | | 2000-09-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message): When getting a literal string response, don't include the \r\n after the closing } (as in: "... {798}\r\n...") * providers/imap/camel-imap-stream.c (stream_read): Same. svn path=/trunk/; revision=5621
* New function to fold headers.Not Zed2000-09-282-181/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-28 Not Zed <NotZed@HelixCode.com> * camel-mime-utils.c (header_fold): New function to fold headers. 2000-09-27 Not Zed <NotZed@HelixCode.com> * camel-mime-parser.c (folder_scan_header): If we had an empty header, then it must be end of the headers too. (folder_scan_init): No we dont need to init the outbuf with a nul terminator. * camel-folder-summary.c (camel_folder_summary_set_uid): New function to reset the uid to a higher value. * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync): "something failed (yo!)" what sort of crap is this? Fixed all the indenting again, what wanker keeps running stuff through indent? (message_info_new): Check the uid we loaded off the disk, if it existed already, assign a new one. If it didn't then make sure the nextuid is higher. * camel-charset-map.c: New file, used to build a large unicode decoding mapping table, and use it to determine what is the lowest charset a given word can be encoded with. Uses tables from libunicode's source. * camel-internet-address.c (internet_encode): Use header_phrase_encode to properly encode the fullname, as required. refixed indenting. Who keeps doing that? (camel_internet_address_find_address): Changed fatal return/warnings into assertions. * camel-mime-utils.c (header_raw_append_parse): Check : explicitly (removed from is_fieldname() macro). (camel_mime_special_table): Changed to short, so we can represent more bit types. (quoted_encode): Take a mask of the safe chars for this encoding. (header_address_decode): Removed a #warning that makes no sense anymore. (header_decode_date): Fixed the 'broken date' parser code, if it ever decoded it it just threw away the result. (header_encode_string): Use better charset matching for encoding strings as well. 2000-08-31 Not Zed <NotZed@HelixCode.com> * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Save the index if we do a sync. (camel_mh_summary_check): Save the index here too. Probably. svn path=/trunk/; revision=5615
* Return untagged data in a GPtrArray rather than a string, since it savesDan Winship2000-09-284-142/+191
| | | | | | | | | | | | | | | | | | | | | | | | | * providers/imap/camel-imap-store.c (camel_imap_command_extended): Return untagged data in a GPtrArray rather than a string, since it saves processing time and is much easier to deal with for several commands. Update for camel_imap_folder_changed change. (camel_imap_fetch_command): Update for camel_imap_folder_changed change. (imap_connect, imap_folder_exists): Update for camel_imap_command_extended change. * providers/imap/camel-imap-folder.c (imap_get_message_count_internal, imap_get_subfolder_info_internal, imap_search_by_expression): Update for camel_imap_command_extended change. (imap_get_summary_internal, imap_get_message_info_internal): Use camel_imap_fetch_command here now to get around the camel_imap_command_extended change. (camel_imap_folder_changed): turn expunged into a GArray of ints rather than a GPtrArray of strings representing ints. svn path=/trunk/; revision=5608
* Quote the folder name as it may contain spaces.Jeffrey Stedfast2000-09-271-22/+21
| | | | | | | | | | | | | | | | | | | | 2000-09-26 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_count_internal): Quote the folder name as it may contain spaces. (imap_get_subfolder_info_internal): Same. * providers/imap/camel-imap-utils.c (imap_parse_list_response): Do proper unquoting for folder names. (func_get_current_date): Implemented. * providers/imap/camel-imap-store.c (imap_folder_exists): Quote the folder name as it may have spaces. (imap_create): Same. (check_current_folder): Same. svn path=/trunk/; revision=5592
* Again...wrap the folder names in quotesJeffrey Stedfast2000-09-233-8/+9
| | | | | | | | | | | | | | | | | | | | 2000-09-22 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_count_internal): Again...wrap the folder names in quotes * providers/imap/camel-imap-store.c (imap_folder_exists): Wrap the mailbox name in the LIST command in quotes just in case the folder has spaces in the name. (imap_create): Again, wrap folder name in quotes. (check_current_folder): Same... * providers/imap/camel-imap-utils.c (imap_parse_list_response): Update to unquote mailbox if it's quoted (allows us to get folders with spaces in the name). svn path=/trunk/; revision=5556
* The root folder's name is "", not the namespace. (camel_imap_folder_new):Dan Winship2000-09-233-11/+7
| | | | | | | | | | | | | * providers/imap/camel-imap-folder.c (imap_get_subfolder_info_internal): The root folder's name is "", not the namespace. (camel_imap_folder_new): constify folder_name. * providers/imap/camel-imap-store.c (get_folder): Create the folder with folder_name, not folder_path. (camel_imap_command_preliminary): Don't free cmdid here. svn path=/trunk/; revision=5552
* New function to convert Camel flags to an IMAP flag_list.Dan Winship2000-09-224-223/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | * providers/imap/camel-imap-utils.c (imap_create_flag_list): New function to convert Camel flags to an IMAP flag_list. (imap_parse_flag_list): Contrariwise. * providers/imap/camel-imap-store.c (camel_imap_command_*): Make the @ret arg actually optional, as (mostly) documented. (various): Don't pass "&result" to camel_imap_command_* if we're just going to immediately free it. Don't record status if we're not going to look at it. * providers/imap/camel-imap-folder.c: Likewise. (imap_summary_free): Use camel_folder_info_free. (imap_sync): Use imap_create_flag_list. Clear CAMEL_MESSAGE_FOLDER_FLAGGED after syncing so we don't keep re-syncing. (imap_append_message): Use imap_create_flag_list. Don't leak the memstream if the append fails. (imap_move_message_to): Use camel_folder_delete_message rather than doing it by hand. (imap_get_summary_internal, imap_get_message_info_internal): Use imap_parse_flag_list and header_raw_clear. (camel_imap_folder_changed): Use camel_message_info_free. svn path=/trunk/; revision=5544
* INBOX is case-insensitive. (get_root_folder_name): Make the root folder ""Dan Winship2000-09-223-263/+110
| | | | | | | | | | | | | | | | | | | | | | | | * providers/imap/camel-imap-store.c (get_folder_name): INBOX is case-insensitive. (get_root_folder_name): Make the root folder "" rather than "/". (get_folder): Update for root folder name change. (camel_imap_store_get_toplevel_dir): Removed. (Unused, unneeded.) (camel_imap_store_folder_path): New function to turn a Camel folder name into the corresponding namespaced IMAP path. (imap_folder_exists): Make this take a store and a path rather than a folder. (imap_create): Likewise (get_folder): Update for camel_imap_store_folder_path and other changes. (check_current_folder): Likewise. * providers/imap/camel-imap-folder.c: Change a bunch of CamelStore variables to CamelImapStore (and add a few more) to prevent excess gratuitous casting. Use camel_imap_store_folder_path where appropriate. (camel_imap_folder_new): Update for root folder name change. svn path=/trunk/; revision=5541
* Use the linewrap filter to achieve full RFC0821 compliance.Jeffrey Stedfast2000-09-201-128/+133
| | | | | | | | | | | 2000-09-19 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (smtp_data): Use the linewrap filter to achieve full RFC0821 compliance. * camel-mime-filter-linewrap.[c,h]: New mime-filter to word-wrap. svn path=/trunk/; revision=5510
* Fix the case where INBOX isn't returned in the folder listing.Dan Winship2000-09-201-1/+6
| | | | | | | | * providers/imap/camel-imap-folder.c (imap_get_subfolder_info_internal): Fix the case where INBOX isn't returned in the folder listing. svn path=/trunk/; revision=5505
* Removed (camel_folder_init, camel_folder_construct): New object initDan Winship2000-09-2018-322/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-folder.c: (init): Removed (camel_folder_init, camel_folder_construct): New object init function and public object constructor to replace the old init method in a more Gtk-like fashion. (get_parent_folder, camel_folder_get_parent_folder): Removed. No CamelFolder subclass was ever setting the parent_folder member, no code has ever needed to look at it, and fixing it would actually be pretty hard. (get_subfolder_info, camel_folder_get_subfolder_info): Renamed from ..._names. Deals in CamelFolderInfo now. (free_subfolder_info, camel_folder_free_subfolder_info): Likewise. (get_subfolder, camel_folder_get_subfolder): Removed. CamelFolderInfo contains the subfolder's full name, so this is unnecessary now, and removing it lets us get rid of the CamelFolder separator member, which is needed for the default implementation of this function, but not otherwise needed for most providers. Also, lots of code style fixes. * providers/*: Update CamelFolder subclasses for changes, although none of them fill in the message counts in the CamelFolderInfo yet. svn path=/trunk/; revision=5503
* Added check for gnome-app-lib. Removed directories that have been moved toChristopher James Lahey2000-09-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added check for gnome-app-lib. Removed directories that have been moved to gal. From addressbook/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am, contact-editor/Makefile.am, ename/Makefile.am, gui/component/Makefile.am, gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h, contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor.c, contact-editor/e-contact-save-as.c, ename/e-address-western.c, ename/test-ename-western-gtk.c, gui/component/addressbook-factory.c, gui/component/addressbook.c, gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, gui/component/select-names/e-select-names-bonobo.c, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/search/e-addressbook-search-dialog.c, gui/widgets/e-addressbook-model.h, gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c, gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, printing/e-contact-print.c: Fixed the #include lines to deal properly with gal. From calendar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view-event-item.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c, gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines to deal properly with gal. * gui/check-filled.xpm: New file since we can't include it from e-table anymore. From camel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-search.h, camel-remote-store.c, providers/imap/camel-imap-folder.c, providers/imap/camel-imap-store.c: Fixed the #include lines to deal properly with gal. From composer/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c, e-msg-composer-attachment.c, e-msg-composer-hdrs.c, e-msg-composer.c: Fixed the #include lines to deal properly with gal. From e-util/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed all the files moved to gal. * e-dialog-widgets.c: Fixed the #include lines to deal properly with gal. * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality that was moved to gal. * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c, e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h, e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c, e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h, e-xml-utils.c, e-xml-utils.h: Moved to gal. From filter/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * filter-editor.c, filter-filter.c, filter-folder.c, filter-input.c, filter-message-search.c, filter-option.c, filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c: Fixed the #include lines to deal properly with gal. From mail/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * component-factory.c, folder-browser-factory.c, folder-browser.c, mail-callbacks.c, mail-config-gui.c, mail-display.c, mail-display.h, main.c, message-list.c, message-list.h: Fixed the #include lines to deal properly with gal. From po/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * POTFILES.in: Removed files that have been moved to gal. From shell/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. From widgets/meeting-time-sel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-meeting-time-sel-list-item.c, e-meeting-time-sel.c, e-meeting-time-sel.h: Fixed the #include lines to deal properly with gal. If you've read this far, you deserve a prize. The first email in my mailbox with the subject "What a commit message!" (and your physical mailing address somewhere in the message) will receive a free Helix Code T-shirt mailed to anywhere within the continental United States. I cannot be held responsible for problems with email systems anywhere. This is supposed to be for fun, so please don't make a fuss if something goes wrong and your mail doesn't reach me. Find my email elsewhere in this message, and if it's been more than a few days, you're probably too late. From widgets/misc/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c: Fixed the #include lines to deal properly with gal. * e-scroll-frame.c, e-scroll-frame.h: Moved to gal. From widgets/shortcut-bar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c, e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines to deal properly with gal. From widgets/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed directories that have been moved to gal. * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c, e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h, e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal. * e-reflow/.cvsignore, e-reflow/Makefile.am, e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h, e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal. * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE, e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO, e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm, e-table/check-empty.xpm, e-table/check-filled.xpm, e-table/clip.png, e-table/e-cell-checkbox.c, e-table/e-cell-checkbox.h, e-table/e-cell-string.c, e-table/e-cell-text.c, e-table/e-cell-text.h, e-table/e-cell-toggle.c, e-table/e-cell-toggle.h, e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c, e-table/e-cell.h, e-table/e-table-click-to-add.c, e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h, e-table/e-table-col.c, e-table/e-table-col.h, e-table/e-table-column-model.h, e-table/e-table-column.c, e-table/e-table-config.c, e-table/e-table-config.glade, e-table/e-table-config.glade.h, e-table/e-table-config.h, e-table/e-table-defines.h, e-table/e-table-example-1.c, e-table/e-table-example-2.c, e-table/e-table-field-chooser-dialog.c, e-table/e-table-field-chooser-dialog.h, e-table/e-table-field-chooser-item.c, e-table/e-table-field-chooser-item.h, e-table/e-table-field-chooser.c, e-table/e-table-field-chooser.glade, e-table/e-table-field-chooser.glade.h, e-table/e-table-field-chooser.h, e-table/e-table-group-container.c, e-table/e-table-group-container.h, e-table/e-table-group-leaf.c, e-table/e-table-group-leaf.h, e-table/e-table-group.c, e-table/e-table-group.glade, e-table/e-table-group.glade.h, e-table/e-table-group.h, e-table/e-table-header-item.c, e-table/e-table-header-item.h, e-table/e-table-header.c, e-table/e-table-header.h, e-table/e-table-item.c, e-table/e-table-item.h, e-table/e-table-model.c, e-table/e-table-model.h, e-table/e-table-one.c, e-table/e-table-one.h, e-table/e-table-scrolled.c, e-table/e-table-scrolled.h, e-table/e-table-selection-model.c, e-table/e-table-selection-model.h, e-table/e-table-simple.c, e-table/e-table-simple.h, e-table/e-table-size-test.c, e-table/e-table-sort-info.c, e-table/e-table-sort-info.h, e-table/e-table-sorted-variable.c, e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c, e-table/e-table-sorted.h, e-table/e-table-sorter.c, e-table/e-table-sorter.h, e-table/e-table-subset-variable.c, e-table/e-table-subset-variable.h, e-table/e-table-subset.c, e-table/e-table-subset.h, e-table/e-table-text-model.c, e-table/e-table-text-model.h, e-table/e-table-tooltip.h, e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h, e-table/e-tree-example-1.c, e-table/e-tree-example-2.c, e-table/e-tree-model.c, e-table/e-tree-model.h, e-table/e-tree-simple.c, e-table/e-tree-simple.h, e-table/image1.png, e-table/image2.png, e-table/image3.png, e-table/remove-col.xpm, e-table/sample.table, e-table/table-test.c, e-table/table-test.h, e-table/test-check.c, e-table/test-cols.c, e-table/test-table.c: Moved to gal. * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c, e-text/e-entry.c, e-text/e-entry.h, e-text/e-text-event-processor-emacs-like.c, e-text/e-text-event-processor-emacs-like.h, e-text/e-text-event-processor-types.h, e-text/e-text-event-processor.c, e-text/e-text-event-processor.h, e-text/e-text-model.c, e-text/e-text-model.h, e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to gal. i.e., ... changed evolution to work with gal. svn path=/trunk/; revision=5490
* Don't use dir_sep as top-level directory, use "/".Jeffrey Stedfast2000-09-152-8/+5
| | | | | | | | | | | | 2000-09-14 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (get_folder): Don't use dir_sep as top-level directory, use "/". * providers/imap/camel-imap-folder.c (imap_expunge): Get rid of unused variable. svn path=/trunk/; revision=5437
* Don't look at the response of the command. camel_imap_command_extended()Dan Winship2000-09-151-80/+2
| | | | | | | | | * providers/imap/camel-imap-folder.c (imap_expunge): Don't look at the response of the command. camel_imap_command_extended() processes EXPUNGE responses itself, so if we do it here too we remove twice as many summary items as we should. svn path=/trunk/; revision=5432
* Rewrote to take a third argument (gboolean *selectable) so that we canJeffrey Stedfast2000-09-142-21/+95
| | | | | | | | | | | | | | | | | | | | | | | 2000-09-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_folder_exists): Rewrote to take a third argument (gboolean *selectable) so that we can find out if the folder is selectable or not as we look to see if it exists. Also, don't use EXAMINE because that will not work on non-selectable folders, so use LIST instead. (get_folder): Check to see if the folder exists even vefore calling imap_create as this will save time. If the folder does exist, find out if it's selectable. Moved the call to refresh_info here. * providers/imap/camel-imap-folder.c (imap_get_uids): Check for a NULL summary. (camel_imap_folder_new): Don't call refresh_info here - call it in get_folder() because we don't know if this folder even exists on the server yet! And even if it does, we don't know if it can hold messages or not yet. svn path=/trunk/; revision=5412
* fixes to make this beast distcheckPeter Teichman2000-09-131-0/+1
| | | | svn path=/trunk/; revision=5377
* Fixed a warning.Christopher James Lahey2000-09-092-0/+2
| | | | | | | | | 2000-09-08 Christopher James Lahey <clahey@helixcode.com> * providers/nntp/camel-nntp-auth.c, providers/nntp/camel-nntp-auth.h: Fixed a warning. svn path=/trunk/; revision=5265
* *** empty log message ***Dan Winship2000-09-081-0/+7
| | | | svn path=/trunk/; revision=5233
* Make KPOP work again.Dan Winship2000-09-081-1/+2
| | | | | | | * providers/pop3/camel-pop3-store.c (connect_to_server): Make KPOP work again. svn path=/trunk/; revision=5232
* care about response code. (get_HEAD_headers): same.Chris Toshok2000-09-069-97/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-05 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-utils.c (get_OVER_headers): care about response code. (get_HEAD_headers): same. (camel_nntp_get_headers): same. * providers/nntp/camel-nntp-store.h: get rid of CAMEL_NNTP_OK/ERR/FAIL. * providers/nntp/camel-nntp-store.c (camel_nntp_store_get_extensions): take CamelException arg and pass along to camel_nntp_command. (camel_nntp_store_get_overview_fmt): same. (nntp_store_connect): convert to using constants in camel-nntp-resp-codes.h (nntp_store_get_folder): make use of camel_nntp_folder_new. (camel_nntp_command_send_recv): new function to deal with auth challenge. (camel_nntp_command): split out most of this function into camel_nntp_command_send_recv. also, return the actual response code instead of CAMEL_NNTP_OK/ERR/FAIL. * providers/nntp/camel-nntp-resp-codes.h: new file. * providers/nntp/camel-nntp-folder.h: prototype for camel_nntp_folder_new. * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): new convenience function. (nntp_folder_get_message): care more about the actual response code. * providers/nntp/Makefile.am (libcamelnntp_la_SOURCES): add camel-nntp-auth.c. (libcamelnntpinclude_HEADERS): add camel-nntp-auth.h. * providers/nntp/camel-nntp-auth.h: new file. * providers/nntp/camel-nntp-auth.c: new file. svn path=/trunk/; revision=5212
* Update for CamelObject and some other changesDan Winship2000-09-065-90/+69
| | | | svn path=/trunk/; revision=5210
* Cache provider, for caching a remote store locally. This is not done yet.Dan Winship2000-09-069-0/+1471
| | | | svn path=/trunk/; revision=5206
* Cleanup of lots of exception handling ; bugfixesPeter Williams2000-09-067-241/+168
| | | | svn path=/trunk/; revision=5202
* Removed some unused functions.Christopher James Lahey2000-09-021-45/+0
| | | | | | | | | 2000-09-01 Christopher James Lahey <clahey@helixcode.com> * providers/imap/camel-imap-utils.c: Removed some unused functions. svn path=/trunk/; revision=5169
* remove get_folder_name. (nntp_store_get_folder_name): remove.Chris Toshok2000-09-011-8/+0
| | | | | | | | | | 2000-08-31 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-store.c (camel_nntp_store_class_init): remove get_folder_name. (nntp_store_get_folder_name): remove. svn path=/trunk/; revision=5158
* use camel_remote_store_recv_line.Chris Toshok2000-09-015-219/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-31 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-utils.c (get_OVER_headers): use camel_remote_store_recv_line. * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message): use camel_remote_store_recv_line to build message. also, free our buffer so we don't leak like mad. * providers/nntp/camel-nntp-store.c: (camel_nntp_store_get_additional_data) remove. (camel_nntp_store_get_extensions): use camel_remote_store_recv_line. (camel_nntp_store_get_overview_fmt): same. also, don't rely on _get_additional_data anymore since it's easier to parse without. (camel_nntp_command): use camel_remote_store_send_string and camel_remote_store_recv_line. * providers/nntp/camel-nntp-store.h: CamelRemoteStore is the parent class now. remove istream/ostream since CamelRemoteStore takes care of that for us. also remove the prototype for camel_nntp_store_get_additional_data. * providers/nntp/camel-nntp-newsrc.c (camel_nntp_newsrc_write): make sure to clear dirty bit. (camel_nntp_newsrc_read_for_server): don't worry about continually trying to open the file - if it fails we just return an unpopulated .newsrc file. svn path=/trunk/; revision=5153
* make this a bit more robust. try to create an empty .newsrc file for theChris Toshok2000-09-014-37/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-31 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-newsrc.c (camel_nntp_newsrc_read_for_server): make this a bit more robust. try to create an empty .newsrc file for the server if we can't open it for reading. also, don't allocate everything until we've opened the file. * providers/nntp/camel-nntp-utils.c (get_OVER_headers): make use of our overview field indices. (camel_nntp_get_headers): only call get_OVER_headers if the extension is present. warn if it's not - since get_HEAD_headers needs work before it works. * providers/nntp/camel-nntp-store.c (camel_nntp_store_get_extensions): new function - query the server for it's extensions. (camel_nntp_store_get_overview_fmt): new function - query the server for the overview format and build our table of the indices we care about. support the "full" suffix on fields. (nntp_store_connect): call camel_nntp_store_get_extensions and camel_nntp_store_get_overview_fmt. * providers/nntp/camel-nntp-store.h: add codes for extensions found on news.mozilla.org. only one that we care about is OVER. also, add CamelNNTPOverField and an enum of the overview fields that we care about. svn path=/trunk/; revision=5152
* Reimplemented. It should now work correctly for most possible VFolderJeffrey Stedfast2000-09-011-175/+327
| | | | | | | | | | 2000-08-31 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-utils.c (imap_translate_sexp): Reimplemented. It should now work correctly for most possible VFolder rules. svn path=/trunk/; revision=5151
* Don't save any exceptions caused by camel_imap_folder_changedJeffrey Stedfast2000-08-312-10/+40
| | | | | | | | | | | | | | | 2000-08-31 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_extended): Don't save any exceptions caused by camel_imap_folder_changed (camel_imap_fetch_command): Same. * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): Using a new way of calculating the first recent message that seems more accurate. Also added code to make sure we don't accidently add a duplicate summary. svn path=/trunk/; revision=5135
* Rewrote to ignore strings that look like server responses until it is sureJeffrey Stedfast2000-08-312-12/+63
| | | | | | | | | | 2000-08-30 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_fetch_command): Rewrote to ignore strings that look like server responses until it is sure that it has finished reading the literal string response. svn path=/trunk/; revision=5124
* Don't wrap printed strings in quotes, makes things messyJeffrey Stedfast2000-08-314-133/+433
| | | | | | | | | | | | | | | | | | | | | | 2000-08-30 Jeffrey Stedfast <fejj@helixcode.com> * camel-remote-store.c (remote_send_string): Don't wrap printed strings in quotes, makes things messy * providers/imap/camel-imap-folder.c (imap_get_message): Updated to use the camel_imap_fetch_command * providers/imap/camel-imap-stream.c (stream_read): Updated to use camel_imap_fetch_command * providers/imap/camel-imap-store.c (camel_imap_command_extended): No longer handles FETCH requests so no longer needs to be concerned with checking to make sure that server responses are valid (they have to be). (camel_imap_fetch_command): New convenience function that handles all FETCH requests svn path=/trunk/; revision=5122
* Make CamelServices connect only when told to (old behavior). Make ↵Peter Williams2000-08-311-17/+20
| | | | | | CamelRemoteStore do its stuff in service::connect, not ::post_connect. svn path=/trunk/; revision=5116
* General cleanup / moving stuff around to make things easier to follow.Jeffrey Stedfast2000-08-311-41/+56
| | | | | | | | | 2000-08-30 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c: General cleanup / moving stuff around to make things easier to follow. svn path=/trunk/; revision=5115
* Prevent exceptions from being overwrittenJeffrey Stedfast2000-08-303-123/+145
| | | | | | | | | | | | 2000-08-30 Jeffrey Stedfast <fejj@helixcode.com> * camel-remote-store.c: Prevent exceptions from being overwritten * providers/imap/camel-imap-folder.c (imap_expunge): Beautified (imap_get_subfolder_names_internal): Removed old code as the replacement code has now been tested and proven to work svn path=/trunk/; revision=5107
* Removed old code that will never be needed againJeffrey Stedfast2000-08-302-212/+90
| | | | | | | | | | | | | | 2000-08-29 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-utils.c: Removed old code that will never be needed again * providers/imap/camel-imap-store.c: Removed old code for try_connect - will never need this code (slurp_response): Update to make sure we aren't falsely detecting EXPUNGE flags svn path=/trunk/; revision=5106
* CamelRemoteStore: a new generic store for stores that connect to servers. ↵Peter Williams2000-08-3010-867/+492
| | | | | | Prepare for the ability to cancel operations (much better exception handling). Clean up IMAP like nobody's business svn path=/trunk/; revision=5103
* Updated to check for EXPUNGE notificationsJeffrey Stedfast2000-08-304-21/+72
| | | | | | | | | | | | | | | | | | | | 2000-08-29 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_extended): Updated to check for EXPUNGE notifications * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): Updated to account for messages which have been expunged (now takes a new arg, a GPtrArray of message id's that have been expunged) (imap_expunge): Updated (we may want to just use the code in folder_changed now instead of doing our own summary expunging...but that can be fixed later) (imap_append_message): Updated. (imap_copy_message_to): Updated. (imap_move_message_to): Updated. svn path=/trunk/; revision=5098
* Fixed the hack around quoted string responses - should now handle themJeffrey Stedfast2000-08-292-165/+158
| | | | | | | | | | | | | 2000-08-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message): Fixed the hack around quoted string responses - should now handle them according to the specifications in the RFC * providers/imap/camel-imap-stream.c (stream_read): Updated to match the code currently used in camel-imap-folder.c svn path=/trunk/; revision=5092
* Free()ing memory allocated through alloca() is Not A Good Thing.Ettore Perazzoli2000-08-281-1/+0
| | | | svn path=/trunk/; revision=5078
* Add support for specifying on which port to connect to a server; fix a ↵Peter Williams2000-08-268-0/+9
| | | | | | potential infinite loop in unicode. svn path=/trunk/; revision=5041
* If the url path is "/" and the folder path is "/", just LIST "" "*" (thisJeffrey Stedfast2000-08-261-2/+2
| | | | | | | | | | | | 2000-08-25 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_subfolder_names_internal): If the url path is "/" and the folder path is "/", just LIST "" "*" (this should fix some cyrus imapd problems). Also, INBOX is case insensitive so use g_strcasecmp svn path=/trunk/; revision=5038
* If the url path is "/" and the folder path is "/", just LIST "" "*" (thisJeffrey Stedfast2000-08-261-7/+31
| | | | | | | | | | | 2000-08-25 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_subfolder_names_internal): If the url path is "/" and the folder path is "/", just LIST "" "*" (this should fix some cyrus imapd problems) svn path=/trunk/; revision=5036
* Remove this duplicate file to fix buildJP Rosevear2000-08-251-0/+2
| | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * src/libical/icalvcal.h: Remove this duplicate file to fix build svn path=/trunk/; revision=5030
* And here too.Not Zed2000-08-242-0/+6
| | | | | | | | | | | 2000-08-17 Not Zed <NotZed@HelixCode.com> * providers/mh/camel-mh-folder.c (mh_finalize): And here too. * providers/mbox/camel-mbox-folder.c (mbox_finalize): Close index on exit. svn path=/trunk/; revision=4996
* use BODY.PEEK, not BODY, so we don't set the message \Seen.Dan Winship2000-08-231-1/+1
| | | | | | | | * providers/imap/camel-imap-folder.c (imap_protocol_get_summary_specifier): use BODY.PEEK, not BODY, so we don't set the message \Seen. svn path=/trunk/; revision=4970
* Fixed a small warning.Christopher James Lahey2000-08-231-3/+3
| | | | | | | | 2000-08-22 Christopher James Lahey <clahey@helixcode.com> * providers/pop3/camel-pop3-store.c: Fixed a small warning. svn path=/trunk/; revision=4969
* Automatically connect services when given a valid URL (should hopefully ↵Peter Williams2000-08-234-45/+100
| | | | | | disconnect, too); remove the old movemail folder correctly. svn path=/trunk/; revision=4965
* Make sure newsrc is not null (nntp_folder_get_subfolder_names): dittoJP Rosevear2000-08-222-6/+18
| | | | | | | | | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * providers/nntp/camel-nntp-folder.c (nntp_folder_get_subfolder_names): Make sure newsrc is not null (nntp_folder_get_subfolder_names): ditto * providers/nntp/camel-nntp-newsrc.c (camel_nntp_newsrc_get_subscribed_group_names): Programming check for newsrc == NULL (camel_nntp_newsrc_get_all_group_names): ditto (camel_nntp_newsrc_write_to_file): ditto (camel_nntp_newsrc_write): ditto svn path=/trunk/; revision=4908
* Make sure respbuffer is not null before manipulating it. If it is null,JP Rosevear2000-08-221-3/+10
| | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * providers/nntp/camel-nntp-store.c (camel_nntp_command): Make sure respbuffer is not null before manipulating it. If it is null, return CAMEL_NNTP_FAIL and a decent error message. svn path=/trunk/; revision=4906
* Whole buncha leak fixes thanks to PurifyMatthew Loper2000-08-172-3/+5
| | | | svn path=/trunk/; revision=4862
* Add support for copying messagesPeter Williams2000-08-161-1/+1
| | | | svn path=/trunk/; revision=4845
* Add camel-nntp-utils.hDan Winship2000-08-141-1/+2
| | | | | | | * providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): Add camel-nntp-utils.h svn path=/trunk/; revision=4811
* do a strcasecmp rather than just a strcmp when checking if a folder isDan Winship2000-08-141-1/+1
| | | | | | | | | * providers/imap/camel-imap-folder.c (imap_get_subfolder_names_internal): do a strcasecmp rather than just a strcmp when checking if a folder is "INBOX", since it is a case-insensitive name. svn path=/trunk/; revision=4801
* (imap_get_subfolder_names_internal): Add "INBOX" to the list asDan Winship2000-08-131-1/+1
| | | | | | g_malloc'ed memory, not a static string. svn path=/trunk/; revision=4792
* Don't assume the FETCH results will come back in the order they wereDan Winship2000-08-131-2/+2
| | | | | | | | * providers/imap/camel-imap-folder.c (imap_get_summary_internal): Don't assume the FETCH results will come back in the order they were requested. svn path=/trunk/; revision=4791
* Now takes a char * parameter rather than a streamJeffrey Stedfast2000-08-133-8/+115
| | | | | | | | | | | | | | | 2000-08-12 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_continuation): Now takes a char * parameter rather than a stream (camel_imap_command_continuation_with_stream): Same function as above but takes a stream parameter instead * providers/imap/camel-imap-folder.c (imap_append_message): Use camel_imap_command_continuation_with_stream svn path=/trunk/; revision=4786
* New function to do one round of attempted authentication. (pop3_connect):Dan Winship2000-08-131-105/+101
| | | | | | | | | * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): New function to do one round of attempted authentication. (pop3_connect): Move a bunch of code out into pop3_try_authenticate and fix some bugs in the edge cases. svn path=/trunk/; revision=4785
* No longer calls try_connect() to get authtypesJeffrey Stedfast2000-08-131-2/+4
| | | | | | | | | 2000-08-12 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (query_auth_types): No longer calls try_connect() to get authtypes svn path=/trunk/; revision=4782
* Changed param order a bit and fixed some logicJeffrey Stedfast2000-08-123-28/+53
| | | | | | | | | | | | | 2000-08-11 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_continuation): Changed param order a bit and fixed some logic * providers/imap/camel-imap-folder.c (imap_append_message): Use the new multi-transactional convenience functions svn path=/trunk/; revision=4766
* New convenience function for multi-transactional commands (openingJeffrey Stedfast2000-08-123-33/+209
| | | | | | | | | | | | 2000-08-11 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_preliminary): New convenience function for multi-transactional commands (opening request) (camel_imap_command_continuation): New convenience function for multi-transactional commands (followup data) svn path=/trunk/; revision=4762
* Fixed a warning.Christopher James Lahey2000-08-121-2/+2
| | | | | | | | 2000-08-11 Christopher James Lahey <clahey@helixcode.com> * providers/mh/camel-mh-folder.c: Fixed a warning. svn path=/trunk/; revision=4759
* remove get_name and get_full_name assignments, since the camel-folder.cChris Toshok2000-08-121-16/+0
| | | | | | | | | | | 2000-08-11 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_class_init): remove get_name and get_full_name assignments, since the camel-folder.c implementation does what we need. svn path=/trunk/; revision=4755
* use g_get_home_dir, since evolution_dir isn't available in the providers.Chris Toshok2000-08-121-3/+2
| | | | | | | | | | 2000-08-11 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-store.c (camel_nntp_store_get_toplevel_dir): use g_get_home_dir, since evolution_dir isn't available in the providers. svn path=/trunk/; revision=4754
* Implement. (mh_get_message_user_tag): Implement.Not Zed2000-08-112-0/+60
| | | | | | | | | | | | | | | | | 2000-08-11 Not Zed <NotZed@HelixCode.com> * providers/mh/camel-mh-folder.c (mh_set_message_user_tag): Implement. (mh_get_message_user_tag): Implement. * providers/mbox/camel-mbox-folder.c (mbox_get_message_user_tag): (mbox_set_message_user_tag): Implement. * camel-folder.c (camel_folder_set_message_user_tag): Routine to set message tags. (camel_folder_get_message_user_tag): And accessor. svn path=/trunk/; revision=4729
* Fixed some warnings.Christopher James Lahey2000-08-114-5/+10
| | | | | | | | | | | | | | | | 2000-08-10 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-summary.c, camel-medium.c, camel-mime-filter-charset.c, camel-mime-filter.c, camel-mime-filter.h, camel-mime-message.c, camel-mime-parser.c, camel-mime-part-utils.c, camel-mime-part.c, camel-mime-utils.c, camel-movemail.c, camel-multipart.c, camel-object.c, camel-stream-mem.c, providers/mbox/camel-mbox-folder.c, providers/mbox/camel-mbox-summary.c, providers/mh/camel-mh-folder.c, providers/smtp/camel-smtp-transport.c: Fixed some warnings. svn path=/trunk/; revision=4719
* t Zed <NotZed@HelixCode.com>Michael Zucci2000-08-111-28/+17
| | | | | | | | | | t Zed <NotZed@HelixCode.com> * providers/vee/camel-vee-folder.c (vee_folder_build_folder): Free the search properly. (vee_folder_build): And here too. svn path=/trunk/; revision=4718
* Removed unecessary change and fixed indenting.Michael Zucci2000-08-111-231/+214
| | | | svn path=/trunk/; revision=4716
* If we go over the max number of messages, don't keep requesting newJeffrey Stedfast2000-08-111-13/+17
| | | | | | | | | | 2000-08-10 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): If we go over the max number of messages, don't keep requesting new message summaries, just break. svn path=/trunk/; revision=4705
* Merge with camel-async.Peter Williams2000-08-1137-1014/+901
| | | | svn path=/trunk/; revision=4687
* A better way to compress leading whitespace. The code is probably invalidNot Zed2000-08-118-567/+643
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-11 Not Zed <NotZed@HelixCode.com> * camel-mime-parser.c (folder_scan_header): A better way to compress leading whitespace. The code is probably invalid anyway, I dont think it will work across buffer boundaries. * providers/mbox/camel-mbox-folder.c (mbox_append_message): And write out proper format From lines here too. * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_build_from): New function to build a more compatible mbox "From " line. (camel_mbox_summary_sync): Write From lines in the proper format. 2000-08-10 Not Zed <NotZed@HelixCode.com> * providers/mh/camel-mh-store.c (get_folder): Remove warnin g. * providers/mbox/camel-mbox-store.c (xrename): Kill some warnings with constification. * providers/imap/camel-imap-folder.c (imap_append_message): Fixed for append api change. Eek this routine seriously wastes memory. * providers/mh/camel-mh-folder.c (mh_search_free): Impelemnt. (mh_append_message): Fix for api change, and include user flags and tags in new message. * providers/vee/camel-vee-folder.c (vee_search_by_expression): Fix for search api change. * camel-folder.c (camel_folder_search_free): New function for freeing search results. (search_free): Changed my mind, implement a default that actually does something. Free as to the old interface. (camel_folder_append_message): Changed to accept a camelmessageinfo rather than flags, which just doesn't have enough info in it. (copy_message_to): Change for append_message api change. (move_message_to): Likewise. * providers/mbox/camel-mbox-folder.c (mbox_search_free): Implement. (mbox_append_message): Fix for api change, and also copy user flags/tags across to new summary. * camel-folder-search.c (search_user_tag): A search expression that returns the current use flag by name. (camel_folder_search_free_result): New function to free the result of a search. * camel-folder-summary.c: Bump summary version. (message_info_new): (message_info_load): (message_info_save): (camel_message_info_dup_to): (camel_message_info_free): Added support for arbitrary tag/value pairs (CamelTag's). (camel_tag_get): (camel_tag_set): (camel_tag_list_size): (camel_tag_list_free): Operations for working with CamelTags. svn path=/trunk/; revision=4683
* Fix the NNTP provider's Makefile.am so that it does not use installedEttore Perazzoli2000-08-092-5/+8
| | | | | | | Camel headers before the source ones. Also, get rid of an unused variable. svn path=/trunk/; revision=4631
* New code to keep an on-disk cache of what UIDs have been seen in a folder.Dan Winship2000-08-095-5/+5
| | | | | | | | | | | | | | | | | | * camel-uid-cache.c: New code to keep an on-disk cache of what UIDs have been seen in a folder. * camel-provider.h: Add new flags CAMEL_PROVIDER_IS_SOURCE (mail can arrive in it by non-Camel means) and CAMEL_PROVIDER_IS_STORAGE (you can work with mail directly without needing to copy it local). * providers/*/camel-*-provider.c: Add flags as needed: imap and mbox are SOURCE and STORAGE. mh and nntp are just STORAGE, pop3 is just SOURCE. * camel-mime-message.c (process_header): Add another subject g_strstrip that fejj's earlier commit missed. svn path=/trunk/; revision=4616
* Only retry another uid if we had a name clash, otherwise fail.Not Zed2000-08-084-9/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-07 Not Zed <NotZed@HelixCode.com> * providers/mh/camel-mh-folder.c (mh_append_message): Only retry another uid if we had a name clash, otherwise fail. 2000-08-04 Not Zed <NotZed@HelixCode.com> * camel-url.c (camel_url_set_protocol): (camel_url_set_host): (camel_url_set_path): (camel_url_set_port): Url editing functions. 2000-08-02 Not Zed <NotZed@HelixCode.com> * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Expunge from the end, so the index isn't messed up when you remove a message. * providers/mh/camel-mh-folder.c (mh_append_message): Fix a bug where it would never open an output file/uid. * providers/mbox/camel-mbox-store.c (rename_folder): Implementation for mbox as well. * camel-store.c (camel_store_rename_folder): New method to rename folders. (rename_folder): Default implementation. * providers/mh/camel-mh-store.c (delete_folder): Implement this. (rename_folder): Implement a rename operation. svn path=/trunk/; revision=4590
* If we are trying to get a subfolder listing of the root folder, alwaysJeffrey Stedfast2000-08-082-10/+23
| | | | | | | | | | | | | | 2000-08-07 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_subfolder_names_internal): If we are trying to get a subfolder listing of the root folder, always make sure INBOX is there... * providers/imap/camel-imap-utils.c (imap_parse_list_response): Check for NIL as a directory separator. svn path=/trunk/; revision=4582
* Strip all \n's from the expressionJeffrey Stedfast2000-08-081-4/+7
| | | | | | | | | | | | 2000-08-07 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-utils.c (imap_translate_sexp): Strip all \n's from the expression * string-utils.c (strip): New convenience function to strip occurences of a single char from a string svn path=/trunk/; revision=4576
* If we fail to get a dir_sep, then supply the default of "/". (get_folder):Jeffrey Stedfast2000-08-051-28/+31
| | | | | | | | | | 2000-08-04 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_connect): If we fail to get a dir_sep, then supply the default of "/". (get_folder): Undo changes by Peter svn path=/trunk/; revision=4537
* Coredump fix when IMAP get_folder with NULL dir_sepPeter Williams2000-08-051-1/+1
| | | | svn path=/trunk/; revision=4535
* Indexes into the flags array are message_number minus 1, not justDan Winship2000-08-051-2/+2
| | | | | | | | * providers/pop3/camel-pop3-folder.c (pop3_set_message_flags): (pop3_sync): Indexes into the flags array are message_number minus 1, not just message_number. svn path=/trunk/; revision=4533
* add a debugging macro for doing protocol tracing.Dan Winship2000-08-041-2/+24
| | | | | | | * providers/pop3/camel-pop3-store.c: add a debugging macro for doing protocol tracing. svn path=/trunk/; revision=4526
* Only call imap_get_summary_internal if the folder can hold messagesJeffrey Stedfast2000-08-042-7/+10
| | | | | | | | | | | | 2000-08-03 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Only call imap_get_summary_internal if the folder can hold messages * providers/nntp/camel-nntp-provider.c (camel_provider_module_init): Initialize the service_cache for the news/nntp providers svn path=/trunk/; revision=4519
* Initialize the service_cache for the news/nntp providersJeffrey Stedfast2000-08-041-6/+10
| | | | | | | | | 2000-08-03 Jeffrey Stedfast <fejj@helixcode.com> * providers/nntp/camel-nntp-provider.c (camel_provider_module_init): Initialize the service_cache for the news/nntp providers svn path=/trunk/; revision=4514
* srcdir != builddir fixPeter Williams2000-08-031-0/+1
| | | | svn path=/trunk/; revision=4506
* Kill this. It doesn't have any code to do anything the new mh providerDan Winship2000-08-0314-2068/+2
| | | | | | | | | | | * providers/MH: Kill this. It doesn't have any code to do anything the new mh provider doesn't do better. * providers/Makefile.am: Remove reference to MH subdir, and promote nntp to fully-supported status, since it does compile and all. svn path=/trunk/; revision=4496
* When forced to use the IP, place it in square brackets.Jeffrey Stedfast2000-08-021-7/+12
| | | | | | | | | 2000-08-01 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (smtp_helo): When forced to use the IP, place it in square brackets. svn path=/trunk/; revision=4462
* New and improved sexp parser. An honest try at using e-sexp is wrapped inJeffrey Stedfast2000-08-022-222/+314
| | | | | | | | | | | | | | 2000-08-01 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-utils.c (imap_translate_sexp): New and improved sexp parser. An honest try at using e-sexp is wrapped in a #ifdef at the bottom of the file but is currently not used * providers/imap/camel-imap-folder.c (imap_search_by_expression): We want to do a UID SEARCH so we get UIDs back instead of sequence numbers svn path=/trunk/; revision=4461
* cvsignore filePeter Williams2000-08-011-0/+7
| | | | svn path=/trunk/; revision=4446
* Initial cut at mh provider. Well, it already does everythingNot Zed2000-08-0110-1/+1219
| | | | | | | | | | | | mbox does. 2000-08-01 Not Zed <NotZed@HelixCode.com> * providers/mh: New mh provider implementation. * providers/Makefile.am (SUBDIRS): Added mh provider. svn path=/trunk/; revision=4444
* Some IMAP servers don't wrap the UID in ()'s so don't depend on thatJeffrey Stedfast2000-08-012-208/+253
| | | | | | | | | | 2000-07-31 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_info_internal): Some IMAP servers don't wrap the UID in ()'s so don't depend on that (imap_get_summary_internal): Same svn path=/trunk/; revision=4443
* Oops, forgot to free node->function - not good.Jeffrey Stedfast2000-08-011-0/+1
| | | | | | | | | 2000-07-31 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-utils.c (free_sexp_node): Oops, forgot to free node->function - not good. svn path=/trunk/; revision=4438
* Buffer overrun fix in g_strfreev -- two more that I forgotPeter Williams2000-08-011-0/+2
| | | | svn path=/trunk/; revision=4432
* Buffer overrun fix in g_strfreevPeter Williams2000-08-011-0/+1
| | | | svn path=/trunk/; revision=4431
* New convenience function to translate a Camel sexp into the equivalentJeffrey Stedfast2000-08-014-46/+328
| | | | | | | | | | | | | | | | 2000-07-31 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-utils.c (imap_translate_sexp): New convenience function to translate a Camel sexp into the equivalent IMAP sexp. * providers/imap/camel-imap-store.c: More places now use imap_next_word * providers/imap/camel-imap-folder.c (imap_search_by_expression): Implemented initial version (this may or may not work quite right) svn path=/trunk/; revision=4428
* Make sure the third word/token (whatever) is "EXPUNGE" and not somethingJeffrey Stedfast2000-07-291-24/+35
| | | | | | | | | | | | | 2000-07-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_expunge): Make sure the third word/token (whatever) is "EXPUNGE" and not something else like "EXISTS" or "RECENT". When removing the message from the summary also make sure to free that data to avoid leakage. Also make sure to subtract 1 from the 'id' since IMAP starts at 1 and our summary starts at 0 :-) svn path=/trunk/; revision=4411
* fixed a few logic errorsJeffrey Stedfast2000-07-292-8/+8
| | | | svn path=/trunk/; revision=4410
* Cleaned up a bit, now uses imap_next_word() (camel_imap_command_extended):Jeffrey Stedfast2000-07-292-35/+85
| | | | | | | | | | | | | | | | | | | 2000-07-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_status): Cleaned up a bit, now uses imap_next_word() (camel_imap_command_extended): Now uses imap_next_word(). When checking for RECENT, allow the first digit of the recent-count be between 0 and 9 inclusive instead of exclusive. * providers/imap/camel-imap-folder.c (imap_expunge): Optimized. No longer will it need to reload the summary as it now instead removes the appropriate message summaries from the cache. (camel_imap_folder_changed): If recent == 0 then return. If recent < 0 then just emit the folder_changed signal, don't reload summaries. svn path=/trunk/; revision=4409
* Get message count when STATUS is not available. (imap_init):Jeffrey Stedfast2000-07-293-55/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_count_internal): Get message count when STATUS is not available. (imap_init): folder->has_search_capability is required for IMAP so should always be set to TRUE (is currently being set to FALSE as I've not yet implemented SEARCH support). (camel_imap_folder_changed): Seem to have fixed my optimization hack 2000-07-28 Jon K Hellan <hellan@acm.org> * providers/imap/camel-imap-store.h (CamelImapServerLevel): New enum. (CamelImapStore): Added server_level and has_status_capability members. * providers/imap/camel-imap-store.c (imap_connect): Detect IMAP4REV1, IMAP4 and STATUS in capability response. * providers/imap/camel-imap-folder.c (imap_get_message_count_internal): Use STATUS only if server supports it. TODO: Get message count when STATUS not supported. (imap_get_message, imap_get_summary_internal, imap_get_message_info_internal): Handle IMAP4 as well. (imap_protocol_get_summary_specifier): New function: Make a data item specifier for the header lines we need, appropriate to the server level. svn path=/trunk/; revision=4406
* Fixed my routine to only fetch new headers, my IDs were off by 1 on theJeffrey Stedfast2000-07-281-1/+1
| | | | | | | | | | | | 2000-07-27 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): Fixed my routine to only fetch new headers, my IDs were off by 1 on the high end, so when it would fetch the last newly arrived message it would fail and end up fetching all of the summaries because of the corruption. svn path=/trunk/; revision=4404
* Added camel-imap-utils.[c,h]Jeffrey Stedfast2000-07-285-106/+172
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-27 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/Makefile.am: Added camel-imap-utils.[c,h] * providers/imap/camel-imap-utils.[c,h]: Utilities for parsing server responses for use in both camel-imap-store.c and camel-imap-folder.c * providers/imap/camel-imap-folder.c (imap_get_summary_internal): Free all the pointers in the headers array. (imap_get_subfolder_names_internal): Updated to use imap_parse_list_response (imap_parse_subfolder_list): Removed in favor of imap_parse_list_response * providers/imap/camel-imap-store.c (camel_imap_command_extended): Free all the pointers in the data array. (imap_connect): Updated to use imap_parse_list_response and fixed a leak (folder_is_selectable): Updated. svn path=/trunk/; revision=4400
* Now uses a hash table for looking up message info rather than a linearJeffrey Stedfast2000-07-282-18/+36
| | | | | | | | | 2000-07-27 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_info): Now uses a hash table for looking up message info rather than a linear search :) svn path=/trunk/; revision=4398
* Fix Makefile.am booboo.Peter Williams2000-07-289-18/+0
| | | | svn path=/trunk/; revision=4394
* Fixed a few compiler warningsJeffrey Stedfast2000-07-261-2/+2
| | | | | | | | 2000-07-26 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: Fixed a few compiler warnings svn path=/trunk/; revision=4345
* Fixed the real problem that Peter was running into.Jeffrey Stedfast2000-07-261-11/+11
| | | | | | | | | 2000-07-25 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_summary_free): Fixed the real problem that Peter was running into. svn path=/trunk/; revision=4321
* IMAP expunge crash prevention... still not right...Peter Williams2000-07-261-0/+1
| | | | svn path=/trunk/; revision=4316
* Optimized to try and get the new message headers without reloading theJeffrey Stedfast2000-07-253-87/+73
| | | | | | | | | | | | 2000-07-25 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): Optimized to try and get the new message headers without reloading the entire summary from scratch. (imap_get_summary_internal): Will now sync() before attempting to reload the summary so that flags are set in the reloaded summary as well. svn path=/trunk/; revision=4309
* Updated to give special attention to the root folder.Jeffrey Stedfast2000-07-253-24/+39
| | | | | | | | | | | | | | | 2000-07-24 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (get_folder): Updated to give special attention to the root folder. * providers/imap/camel-imap-folder.c (imap_get_subfolder_names_internal): Updated to handle the root folder (imap_get_message_count_internal): return 0 if folder can't hold messages (camel_imap_folder_new): Change so that root folder gets special attention and always gets can_hold_messages set to FALSE svn path=/trunk/; revision=4308
* Remove exceptions from a number of methods that work on what ought to beDan Winship2000-07-256-314/+229
| | | | | | | | | | | | | | | * camel-folder.c: Remove exceptions from a number of methods that work on what ought to be static data: get_parent_folder, get_parent_store, get_message_count, get_unread_message_count, get_permanent_flags, get_message_flags, set_message_flags, get_message_user_flag, set_message_user_flag, get_uids, get_summary, get_subfolder_names. Turn camel_folder_delete_message into a macro. (Mostly a pull-up from the camel-async branch.) * providers/{imap,mbox,nntp,pop3,vee}: Update for CamelFolder changes svn path=/trunk/; revision=4303
* Updated to port easily to the new Camel API (imap_init): Don't SELECTJeffrey Stedfast2000-07-251-36/+28
| | | | | | | | | | 2000-07-24 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_info): Updated to port easily to the new Camel API (imap_init): Don't SELECT INBOX, we don't need to do that svn path=/trunk/; revision=4302
* Initialize the summary and subfolder listing. (imap_summary_free): NowJeffrey Stedfast2000-07-254-103/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-24 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Initialize the summary and subfolder listing. (imap_summary_free): Now takes a GPtrArray arg rather than a CamelImapFolder as it increases it's usefullness for free()'ing temporary summaries. (imap_get_message_count_internal): A new convenience function for getting the actual message count on a server to be used by imap_get_summary_internal) (imap_get_message_count): Since the Camel API is on the move again, the future version of this function will not be able to make a call to the store, it must only access previously fetched data (thus the creation of the _internal function) (imap_get_subfolder_names_internal): Again, because the future version of imap_get_subfolder_names will not take an exception, we must rename this function which will be called by camel_imap_folder_new() (imap_get_subfolder_names): We now return the previously collected subfolder listing that the _internal function fetched previously (imap_get_summary_internal): Again, same idea as the previous _internal functions... (imap_get_summary): Again... now returns a previously aquired summary * providers/imap/camel-imap-store.c (imap_noop): This will hopefully prevent the imap store from disconnecting. (imap_connect): Modified to add a gtk timeout event that will call imap_noop() every 10 minutes (we may want to change this time value) (imap_disconnect): Modified to remove the NOOP timeout event from the store. (camel_imap_command_extended): Commented out the code that would try and detect if the store was disconnected and then reconnect if it was needed. svn path=/trunk/; revision=4298
* Remove camel_folder_get_message_uid, which was not used, and notDan Winship2000-07-241-10/+0
| | | | | | | | | | * camel-folder.[ch]: Remove camel_folder_get_message_uid, which was not used, and not implemented by any provider. * providers/nntp/camel-nntp-folder.c: Remove get_message_uid non-implementation. svn path=/trunk/; revision=4292
* Made it a little more forgiving. Also set current_folder to NULL as thereJeffrey Stedfast2000-07-243-54/+90
| | | | | | | | | | | | | 2000-07-23 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_disconnect): Made it a little more forgiving. Also set current_folder to NULL as there is no selected folder after a disconnect. (stream_is_alive): Detects whether or not a socket is "alive" (camel_imap_command_extended): Use stream_is_alive() to aid in the detection of a disconnected state. svn path=/trunk/; revision=4288
* Clear CamelExceptions when appropriate (eg when folder is marked asJeffrey Stedfast2000-07-232-40/+47
| | | | | | | | | | | | | | 2000-07-22 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (get_folder): Clear CamelExceptions when appropriate (eg when folder is marked as \NoSelect). Still needs some cleanup and perhaps Dan will have a better way of doing this as this seems like a messy way of handling this. * providers/imap/camel-imap-folder.c (imap_get_uids): Took out some debug statements as they are no longer needed. svn path=/trunk/; revision=4275
* Updated to not strip out subfolders that are marked as \NoSelect becauseJeffrey Stedfast2000-07-222-7/+49
| | | | | | | | | | | | | | | | 2000-07-21 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_subfolder_names): Updated to not strip out subfolders that are marked as \NoSelect because this will be correctly handled in store->get_folder from now on. * providers/imap/camel-imap-store.c (folder_is_selectable): New convenience function for use in get_folder(). (parse_list_response): Now takes a char **flags argument which is needed by folder_is_selectable(). (imap_connect): Updated to reflect changes to parse_list_response(). svn path=/trunk/; revision=4274
* Updated with some of the same fixes I've made to camel-imap-folder.c likeJeffrey Stedfast2000-07-221-3/+3
| | | | | | | | | | 2000-07-21 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-stream.c (stream_read): Updated with some of the same fixes I've made to camel-imap-folder.c like recalculating message part lengths. svn path=/trunk/; revision=4266
* Rewrote the code to check for "* %d RECENT". Still needs to be modified,Jeffrey Stedfast2000-07-221-7/+11
| | | | | | | | | | 2000-07-21 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_extended): Rewrote the code to check for "* %d RECENT". Still needs to be modified, but should no longer cause an infinite loop by detecting mis-detecting RECENT messages. svn path=/trunk/; revision=4265
* Oops. Fix UID parser to allow 0 and 9 to be in the range of valid UIDJeffrey Stedfast2000-07-201-2/+2
| | | | | | | | | | 2000-07-20 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): (imap_get_message_info): Oops. Fix UID parser to allow 0 and 9 to be in the range of valid UID chars. svn path=/trunk/; revision=4233
* General cleanup working towards getting Actions->Expunge workingJeffrey Stedfast2000-07-202-96/+51
| | | | | | | | | | | | | | 2000-07-19 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: General cleanup working towards getting Actions->Expunge working correctly. * providers/imap/camel-imap-store.c (cammel_imap_command_extended): Added code to look for "* %d RECENT" and to emit the folder_changed signal if there are any recent messages. Note: this is a hack and needs to be rewritten badly. svn path=/trunk/; revision=4226
* If the folder's message count is not the same as the number of summaries,Jeffrey Stedfast2000-07-201-9/+20
| | | | | | | | | | 2000-07-19 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): If the folder's message count is not the same as the number of summaries, free the old summary and create a new summary. svn path=/trunk/; revision=4223
* Added in imap_[g,s]et_message_user_flag() methods (imap_get_message_info):Jeffrey Stedfast2000-07-191-50/+109
| | | | | | | | | | | | | | | | | | | | | | | 2000-07-18 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_class_init): Added in imap_[g,s]et_message_user_flag() methods (imap_get_message_info): Rewrote to use the more efficient way of downloading summary information and also added a UID comparison so that if the UID requested doesn't match the UID received, it returns NULL. FIXME: When the mailer gets NULL when it requested message info, it seems that it displays a row for that message and when you try and select the blank row, it segfaults. * providers/imap/camel-imap-store.c (get_folder): Oops, this should not be checking against "/", it should be checking against dir_sep. * providers/imap/camel-imap-folder.c (imap_parse_subfolder_line): Updated to trim out the leading namespace. (imap_get_subfolder_names): Let the subfolder parser trim the namespace off the folder name. svn path=/trunk/; revision=4215
* Added in imap_[g,s]et_message_user_flag() methodsJeffrey Stedfast2000-07-192-28/+32
| | | | | | | | | | | | | | | | | 2000-07-18 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_class_init): Added in imap_[g,s]et_message_user_flag() methods * providers/imap/camel-imap-store.c (get_folder): Oops, this should not be checking against "/", it should be checking against dir_sep. * providers/imap/camel-imap-folder.c (imap_parse_subfolder_line): Updated to trim out the leading namespace. (imap_get_subfolder_names): Let the subfolder parser trim the namespace off the folder name. svn path=/trunk/; revision=4214
* Send a "LOGOUT" command.Jeffrey Stedfast2000-07-182-4/+17
| | | | | | | | | | | | | | | | | | 2000-07-17 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_disconnect): Send a "LOGOUT" command. * providers/imap/camel-imap-folder.c (imap_get_message): Hacks to get IMAP code to work with CommunigatePro and MS Exchange (and any other servers that send back a UID at the end of each FETCH inside of the main body of the message part). (imap_sync): Un-#if 0 the code that sets the flags on the IMAP server for messages that have changed. Oops, don't mask with DELETED to find out if the message has been answered ;-) (imap_expunge): sync before expunging. svn path=/trunk/; revision=4207
* Hacks to get IMAP code to work with CommunigatePro and MS Exchange (andJeffrey Stedfast2000-07-181-2/+2
| | | | | | | | | | | | | | 2000-07-17 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message): Hacks to get IMAP code to work with CommunigatePro and MS Exchange (and any other servers that send back a UID at the end of each FETCH inside of the main body of the message part). (imap_sync): Un-#if 0 the code that sets the flags on the IMAP server for messages that have changed. Oops, don't mask with DELETED to find out if the message has been answered ;-) svn path=/trunk/; revision=4202
* oops, s/status/s in imap_sync()Jeffrey Stedfast2000-07-181-2/+2
| | | | svn path=/trunk/; revision=4197
* Hacks to get IMAP code to work with CommunigatePro and MS Exchange (andJeffrey Stedfast2000-07-181-3/+1
| | | | | | | | | | | | | 2000-07-17 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message): Hacks to get IMAP code to work with CommunigatePro and MS Exchange (and any other servers that send back a UID at the end of each FETCH inside of the main body of the message part). (imap_sync): Un-#if 0 the code that sets the flags on the IMAP server for messages that have changed svn path=/trunk/; revision=4195
* Hacks to get IMAP code to work with CommunigatePro and MS Exchange (andJeffrey Stedfast2000-07-181-6/+6
| | | | | | | | | | | 2000-07-17 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message): Hacks to get IMAP code to work with CommunigatePro and MS Exchange (and any other servers that send back a UID at the end of each FETCH inside of the main body of the message part). svn path=/trunk/; revision=4194
* minor fixes that came up when building with gcc -ansi -pedanticJeffrey Stedfast2000-07-171-4/+4
| | | | svn path=/trunk/; revision=4184
* All SELECT calls now pass a NULL folder argument toJeffrey Stedfast2000-07-171-4/+4
| | | | | | | | | | | | | 2000-07-16 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: All SELECT calls now pass a NULL folder argument to camel_imap_command_extended() since it's not needed. Also s/camel_imap_command/camel_imap_command_extended as I will probably be doing away with camel_imap_command() or at least only using it for LOGIN and similar commands where the server won't notify us of any recent messages. svn path=/trunk/; revision=4183
* All SELECT calls now pass a NULL folder argument toJeffrey Stedfast2000-07-172-24/+43
| | | | | | | | | | | | | | | | | | | | | 2000-07-16 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c: All SELECT calls now pass a NULL folder argument to camel_imap_command_extended() since it's not needed. (imap_connect): Moved service_class->connect() to the point right after a connection is established with the server rather than waiting until the end of the function. (camel_imap_command): Updated the documentation comment (camel_imap_command_extended): Before sending a command, first check to make sure we are connected; if we aren't, then reconnect. Don't strncmp() command with "SELECT" as it's redundant. * providers/imap/camel-imap-folder.c: All SELECT calls now pass a NULL folder argument to camel_imap_command_extended() since it's not needed. svn path=/trunk/; revision=4182
* One last fix to get rid of hard-coded "/" directory separatorsJeffrey Stedfast2000-07-151-1/+4
| | | | | | | | | 2000-07-15 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_new): One last fix to get rid of hard-coded "/" directory separators svn path=/trunk/; revision=4175
* Oops, minor fix to make any dir_sep work.Jeffrey Stedfast2000-07-151-2/+2
| | | | svn path=/trunk/; revision=4171
* New convenience function to unquote a string if it's encapsulated by "'sJeffrey Stedfast2000-07-153-27/+113
| | | | | | | | | | | | | 2000-07-14 Jeffrey Stedfast <fejj@helixcode.com> * string-utils.c (string_unquote): New convenience function to unquote a string if it's encapsulated by "'s * providers/imap/camel-imap-folder.c: * providers/imap/camel-imap-store.c: Made the necessary changes to stop using hard coded directory separators. svn path=/trunk/; revision=4170
* If the summary is for a smaller mbox, and rebuilding from the last-knownDan Winship2000-07-141-8/+7
| | | | | | | | | | * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_load): If the summary is for a smaller mbox, and rebuilding from the last-known end position fails, try rebuilding from the beginning. Deals with the case where the user edits the mbox and makes it bigger, without adding new messages. svn path=/trunk/; revision=4163
* If a SELECT fails, set imap_store->current_folder to NULL so a SELECT isJeffrey Stedfast2000-07-142-48/+14
| | | | | | | | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: * providers/imap/camel-imap-store.c: If a SELECT fails, set imap_store->current_folder to NULL so a SELECT is forced before any message/folder operations are requested. Also, because some users don't use a namespace, make sure that if the url->path is "/" we don't use it when creating the folder_path. (camel_imap_command[_extended]): Since we allow the passing of a NULL folder which we can use to bypass a forced SELECT, no need to check for the individual commands that don't require a folder to be selected. svn path=/trunk/; revision=4161
* Updated to use CAMEL_IMAP_OK, CAMEL_IMAP_NO, CAMEL_IMAP_BAD, andJeffrey Stedfast2000-07-143-20/+19
| | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c: * providers/imap/camel-imap-store.c: Updated to use CAMEL_IMAP_OK, CAMEL_IMAP_NO, CAMEL_IMAP_BAD, and CAMEL_IMAP_FAIL rather than the ones copied from the POP3 provider. svn path=/trunk/; revision=4155
* Oops. If the number of messages in the folder is 0, don't fetch summariesJeffrey Stedfast2000-07-142-15/+25
| | | | | | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): Oops. If the number of messages in the folder is 0, don't fetch summaries 1 thru 0, just return an empty summary. (imap_copy_message_to): Fixed to use message UID and also send the source folder as an arg to camel_imap_command rather than NULL. (imap_move_message_to): Same. (imap_init): If SELECT is successful, we need to set the current folder to the one selected, this was causing problems with move/copy svn path=/trunk/; revision=4154
* Oops. If the number of messages in the folder is 0, don't fetch summariesJeffrey Stedfast2000-07-141-0/+6
| | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): Oops. If the number of messages in the folder is 0, don't fetch summaries 1 thru 0, just return an empty summary. svn path=/trunk/; revision=4150
* define a set of CAMEL_SERVICE_URL_ALLOW_* flags parallel to the _NEED_*Dan Winship2000-07-141-1/+3
| | | | | | | | | | | * camel-service.h: define a set of CAMEL_SERVICE_URL_ALLOW_* flags parallel to the _NEED_* flags, and make the _NEED_* flags imply the _ALLOW_* ones. * providers/imap/camel-imap-store.c (camel_imap_store_init): imap urls ALLOW_PATH svn path=/trunk/; revision=4147
* New and improved approach to fetching an entire folder summary that shouldJeffrey Stedfast2000-07-131-0/+2
| | | | | | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): New and improved approach to fetching an entire folder summary that should be much much faster than the old way as it gets the entire folder summary in 1 shot rather than requesting message by message. As with the last update, this version also only fetches the minimum number of header fields. (imap_get_summary): Oops, forgot to free the temp GPtrArray *headers svn path=/trunk/; revision=4142
* New and improved approach to fetching an entire folder summary that shouldJeffrey Stedfast2000-07-131-166/+110
| | | | | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): New and improved approach to fetching an entire folder summary that should be much much faster than the old way as it gets the entire folder summary in 1 shot rather than requesting message by message. As with the last update, this version also only fetches the minimum number of header fields. svn path=/trunk/; revision=4141
* Don't fetch the entire RFC822 header, just fetch the fields we want.Jeffrey Stedfast2000-07-131-3/+6
| | | | | | | | | | 2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): Don't fetch the entire RFC822 header, just fetch the fields we want. (imap_get_message_info): Same. svn path=/trunk/; revision=4140
* Oops, missed a source file.Jeffrey Stedfast2000-07-131-1/+3
| | | | | | Added #include <e-util/e-util.h> and renamed strstrcase to e_strstrcase in providers/imap/camel-imap-folder.c svn path=/trunk/; revision=4134
* Chris forgot to add #include <e-util/e-util.h> to the source filesJeffrey Stedfast2000-07-131-4/+5
| | | | | | | | | | | 2000-07-12 Jeffrey Stedfast <fejj@helixcode.com> Chris forgot to add #include <e-util/e-util.h> to the source files * providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's fix, we don't want to send a string to a %d. svn path=/trunk/; revision=4133
* Undid clahey's e_strstrcase because e_strstrcase DOES NOT EXIST inJeffrey Stedfast2000-07-131-6/+6
| | | | | | | | | | | | | 2000-07-12 Jeffrey Stedfast <fejj@helixcode.com> Undid clahey's e_strstrcase because e_strstrcase DOES NOT EXIST in e-utils/e-utils.c nor anywhere else in Evolution - besides, Camel should remain independant of Evolution. * providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's fix, we don't want to send a string to a %d. svn path=/trunk/; revision=4132
* From addressbook/ChangeLog:Christopher James Lahey2000-07-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * backend/pas/pas-backend-file.c: Do case insensitive compares. * addressbook/gui/component/addressbook.c: Make quick search search both name and company name. From camel/ChangeLog: 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, providers/imap/camel-imap-store.c: Changed from strstrcase to e_strstrcase. * string-utils.c, string-utils.h: Removed strstrcase (in favor of e_strstrcase in e-util/e-util.c.) From e-util/ChangeLog: 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * e-util.c, e-util.h: Added e_strstrcase function. svn path=/trunk/; revision=4127
* get the article num out of our uid and mark it read in the newsrc.Chris Toshok2000-07-132-40/+38
| | | | | | | | | | | | | | | | | | | | 2000-07-12 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-folder.c (nntp_folder_set_message_flags): get the article num out of our uid and mark it read in the newsrc. (nntp_folder_get_message): get the message id out of the uid to fetch the article. * providers/nntp/camel-nntp-utils.c (get_XOVER_headers): the uid is now <article-num>,<messageid> (get_HEAD_headers): same. * camel-mime-parser.c (folder_scan_step): go to HSCAN_MESSAGE state when ct->subtype is "news" as well as "rfc822". this makes attachments of type "message/news" display properly. svn path=/trunk/; revision=4121
* Useful default implementations for free_{uids,subfolder_names,summary}.Dan Winship2000-07-135-57/+11
| | | | | | | | | | | | | * camel-folder.c (camel_folder_free_deep, camel_folder_free_shallow, camel_folder_free_nop): Useful default implementations for free_{uids,subfolder_names,summary}. (free_subfolder_names, free_uids): Make these g_warning-ing default implementations. * providers/*/camel-*-folder.c: Use the new functions where appropriate, remove duplicated code. svn path=/trunk/; revision=4120
* Solaris fixes: make sure not to pass NULL to printf's %sMatthew Loper2000-07-131-2/+4
| | | | svn path=/trunk/; revision=4119
* Use mbox_set_message_flags () instead of setting the flags by hand. ThisJeffrey Stedfast2000-07-132-6/+6
| | | | | | | | | | | | | | | | | | | 2000-07-12 Jeffrey Stedfast <fejj@helixcode.com> * providers/mbox/camel-mbox-folder.c (mbox_delete_message): Use mbox_set_message_flags () instead of setting the flags by hand. This fixes the problem of the "message_changed" signal not being emitted at the correct time. * providers/imap/camel-imap-folder.c: "folder_changed" signals should pass a third argument (which is ignored). * camel-folder.c: Undo gtk signal emits done in set_flags and expunge. (move_message_to): (copy_message_to): Create info as a const CamelMessageInfo svn path=/trunk/; revision=4118
* don't add test-newsrc to the build since it needs libcamel (which isn'tChris Toshok2000-07-134-179/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-12 Chris Toshok <toshok@helixcode.com> * providers/nntp/Makefile.am: don't add test-newsrc to the build since it needs libcamel (which isn't built at the time test-newsrc needs linking.) * providers/nntp/camel-nntp-utils.c (get_HEAD_headers): fill in MessageInfo->message_id. (get_XOVER_headers): same. * providers/nntp/camel-nntp-folder.c (nntp_folder_init): move summary loading here. (nntp_folder_sync): summary/newsrc changes should be stored here. put a comment to that effect. (nntp_folder_set_message_flags): don't save the newsrc here. (nntp_folder_get_uids): use g_ptr_array_index instead of the cast/addition. (nntp_folder_get_summary): no need to check if we should generate the summary here. already done. (nntp_folder_get_message_info): implement. * providers/nntp/camel-nntp-store.c (camel_nntp_store_get_toplevel_dir): use evolution_dir instead of computing it ourselves. (nntp_store_disconnect): call camel_nntp_newsrc_write. (ensure_news_dir_exists): new function to create the news/<news server> subdir. (camel_nntp_store_class_init): hook up connect/disconnect and finalize. (nntp_store_connect): if ensure_news_dir_exists fails throw an exception. svn path=/trunk/; revision=4113
* Updated to emit the message_changed signal. (imap_delete_message): UpdatedJeffrey Stedfast2000-07-122-8/+42
| | | | | | | | | | | | | | | | 2000-07-12 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_set_message_flags): Updated to emit the message_changed signal. (imap_delete_message): Updated to use imap_set_message_flags (). (imap_move_message_to): Updated to use imap_set_message_flags () and to emit the folder_changed signal on the destination folder. (imap_copy_message_to): Updated to emit the folder_changed signal on the destination folder. (imap_append_message): Updated to emit the folder_changed signal on the destination folder. svn path=/trunk/; revision=4105
* fix %08x to %04xJeffrey Stedfast2000-07-121-1/+1
| | | | svn path=/trunk/; revision=4100
* Now takes a flags argument to specify the flags to be set on the messageJeffrey Stedfast2000-07-122-9/+19
| | | | | | | | | | | | | | | | | 2000-07-11 Jeffrey Stedfast <fejj@helixcode.com> * camel-folder.c (camel_folder_append_message): Now takes a flags argument to specify the flags to be set on the message since we might not necessarily want the flags to be wiped clean. (move_message_to): (copy_message_to): Updated to send a flags argument to append_message (); currently sends the original message's flags. * providers/mbox/camel-mbox-folder.c (mbox_append_message): * providers/imap/camel-imap-folder.c (imap_append_message): Updated. svn path=/trunk/; revision=4099
* This shouldn't return NULL, it should return g_ptr_array_new () so theJeffrey Stedfast2000-07-121-1/+1
| | | | | | | | | | 2000-07-11 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_search_by_expression): This shouldn't return NULL, it should return g_ptr_array_new () so the mailer gets what it expects. svn path=/trunk/; revision=4095
* Initialize a variable to make this not crash again. And fix a bug so itDan Winship2000-07-111-2/+2
| | | | | | | | * providers/vee/camel-vee-folder.c (vee_search_by_expression): Initialize a variable to make this not crash again. And fix a bug so it actually does something. svn path=/trunk/; revision=4056
* kill more debugging messagesDan Winship2000-07-112-22/+0
| | | | | | * providers/vee: kill more debugging messages svn path=/trunk/; revision=4051
* Implemented.Jeffrey Stedfast2000-07-103-0/+81
| | | | | | | | | | | | | | | | 2000-07-10 Jeffrey Stedfast <fejj@helixcode.com> * providers/mbox/camel-mbox-folder.c (mbox_get_unread_message_count): * providers/vee/camel-vee-folder.c (vee_get_unread_message_count): * providers/imap/camel-imap-folder.c (imap_get_unread_message_count): Implemented. * camel-folder.c (camel_folder_get_unread_message_count): New convenience function to allow the mailer to query the number of unread messages in a folder (for displaying message stats in a folder tree?). svn path=/trunk/; revision=4028
* New function to copy a header_references structure.Dan Winship2000-07-101-71/+44
| | | | | | | | | | | | | | | | | | | | * camel-mime-utils.c (header_references_dup): New function to copy a header_references structure. * camel-folder-summary.c (camel_message_info_dup_to): New function to (deep) copy the data from one CamelMessageInfo into another. (camel_message_info_free): And free the data. * providers/vee/camel-vee-folder.c (vee_sync): Implement. (empty). (vee_search_by_expression): belatedly update for camel_folder_search change. (vee_folder_build): belatedly update for camel_folder_search change. Use camel_message_info_dup_to and camel_message_info_free (in particular, so that we get message_id and references info so vfolders can be threaded). (vee_folder_build_folder): Ditto. svn path=/trunk/; revision=4024
* Update to reflect past changes in the Camel API. Use gtk macro castsJeffrey Stedfast2000-07-097-74/+83
| | | | | | | | | | | | | | | | | | | | | | | | 2000-07-08 Jeffrey Stedfast <fejj@helixcode.com> * providers/nntp/camel-nntp-folder.c: * providers/nntp/camel-nntp-utils.c: * providers/nntp/camel-nntp-store.c: Update to reflect past changes in the Camel API. Use gtk macro casts wherever possible and use glib's memory functions instead of standard c's (since they are not compatable) * providers/smtp/camel-smtp-transport.c: * providers/imap/camel-imap-store.c: Wrap debug print statements in a macro * providers/imap/camel-imap-stream.c (stream_read): Make sure that we get up to and including the last \n of the mime part. * providers/imap/camel-imap-folder.c (imap_get_message): Make sure that we get up to and including the last \n of the mime part. Wrap debug print statements in a macro. svn path=/trunk/; revision=3984
* Don't cache the exact server response, only cache the important data (akaJeffrey Stedfast2000-07-081-4/+30
| | | | | | | | | | 2000-07-07 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-stream.c (stream_read): Don't cache the exact server response, only cache the important data (aka the mime part). svn path=/trunk/; revision=3964
* Make this return a GPtrArray rather than a GList.Dan Winship2000-07-083-5/+5
| | | | | | | | | | | | | * camel-folder.c (camel_folder_search_by_expression): Make this return a GPtrArray rather than a GList. * camel-folder-search.c (camel_folder_search_execute_expression): * providers/imap/camel-imap-folder.c (imap_search_by_expression): * providers/mbox/camel-mbox-folder.c (mbox_search_by_expression): * providers/nntp/camel-nntp-folder.c (nntp_search_by_expression): Update to return a GPtrArray rather than a GList. svn path=/trunk/; revision=3958
* Fixed the parser to actually workJeffrey Stedfast2000-07-081-14/+12
| | | | | | | | | 2000-07-07 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (esmtp_get_authtypes): Fixed the parser to actually work svn path=/trunk/; revision=3950
* Parse for more header information to allow message threading in IMAP.Jeffrey Stedfast2000-07-071-27/+159
| | | | | | | | | | | | | 2000-07-06 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): Parse for more header information to allow message threading in IMAP. (imap_get_message_info): Same. * camel-folder-summary.c: Renamed summary_format_* to camel_summary_format_* and moved them into public scope. svn path=/trunk/; revision=3925
* Oops. Don't pass port # as a string in the error code (if it fails toJeffrey Stedfast2000-07-061-4/+5
| | | | | | | | | 2000-07-06 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (smtp_connect): Oops. Don't pass port # as a string in the error code (if it fails to connect). svn path=/trunk/; revision=3917
* Changed over to camel_imap_command_extended as that was the source of theJeffrey Stedfast2000-07-061-10/+8
| | | | | | | | | | 2000-07-06 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_append_message): Changed over to camel_imap_command_extended as that was the source of the problems - apparently appending replies with more than just 1 line. svn path=/trunk/; revision=3908
* remove some non-error case debugging messages.Dan Winship2000-07-062-19/+1
| | | | | | * remove some non-error case debugging messages. svn path=/trunk/; revision=3904
* Suppress debugging messages from the mbox provider.Ettore Perazzoli2000-07-061-1/+6
| | | | svn path=/trunk/; revision=3902
* Fix the "clashing UIDs are not updated on disk" problem by syncingEttore Perazzoli2000-07-062-11/+5
| | | | | | | | | | back to disk even if the saved UID does not match the in-memory UID and added some debugging messages. Also, make sure the UID we use for Ibex stuff is the new one when changing UIDs to solve a clashing problem. svn path=/trunk/; revision=3892
* Fix a bug in error-setting code. (pop3_connect): Don't re-prompt forDan Winship2000-07-031-22/+38
| | | | | | | | | | | | * providers/pop3/camel-pop3-store.c (camel_pop3_command): Fix a bug in error-setting code. (pop3_connect): Don't re-prompt for password in the KPOP case. (pop3_get_response): New function, split out from camel_pop3_command. (connect_to_server): Use pop3_get_response to parse the greeting message, and error out appropriately if it's -ERR. svn path=/trunk/; revision=3869
* New functions to freeze and thaw a folder (to prevent message/folderDan Winship2000-07-031-13/+5
| | | | | | | | | | | | | | | | * camel-folder.c (camel_folder_freeze, camel_folder_thaw): New functions to freeze and thaw a folder (to prevent message/folder changed signals in the middle of a long series of operations). (camel_folder_class_init): Change signals to GTK_RUN_FIRST. (message_changed, folder_changed): Add default implementations that stop the emission and record info for later if the folder is frozen. * providers/mbox/camel-mbox-folder.c (mbox_sync): leftover fixes from the close->sync change: don't destroy the ibex, summary, and search when syncing. svn path=/trunk/; revision=3863
* New method, to return an end-user-friendly name corresponding to aDan Winship2000-07-026-1/+80
| | | | | | | | | | | | | | | * camel-service.c (camel_service_get_name): New method, to return an end-user-friendly name corresponding to a service. (eg, "POP service for danw on trna.helixcode.com"). * providers/imap/camel-imap-store.c, providers/mbox/camel-mbox-store.c, providers/nntp/camel-nntp-store.c, providers/pop3/camel-pop3-store.c, providers/sendmail/camel-sendmail-transport.c, providers/smtp/camel-smtp-transport.c: Implement. svn path=/trunk/; revision=3851
* remove unneeded libcamelimap_la_LDADD.Dan Winship2000-07-021-3/+0
| | | | | | | * providers/imap/Makefile.am: remove unneeded libcamelimap_la_LDADD. svn path=/trunk/; revision=3850
* fix the CAPA-parsing code to not get into an infinite loop.Dan Winship2000-07-021-2/+4
| | | | | | | * providers/pop3/camel-pop3-store.c (connect_to_server): fix the CAPA-parsing code to not get into an infinite loop. svn path=/trunk/; revision=3849
* Fixed the bug that would sometimes leave part of the server responseJeffrey Stedfast2000-07-021-7/+16
| | | | | | | | | | 2000-07-01 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message): Fixed the bug that would sometimes leave part of the server response tacked on to the end of the message. svn path=/trunk/; revision=3847
* Renamed _by_uid methods. Since we no longer have get-by-number methods, noJeffrey Stedfast2000-07-014-64/+59
| | | | | | | | | | | | | | | | | | | 2000-07-01 Jeffrey Stedfast <fejj@helixcode.com> * camel-folder.c: Renamed _by_uid methods. Since we no longer have get-by-number methods, no need to have the _by_uid extensions. (get_message_by_uid): Renamed to get_message (delete_message_by_uid): Renamed to delete_message (summary_get_by_uid): Renamed to get_message_info * providers/mbox/camel-mbox-folder.c: * providers/pop3/camel-pop3-folder.c: * providers/imap/camel-imap-folder.c: * providers/vee/camel-vee-folder.c: Updated to reflect camel-folder changes. svn path=/trunk/; revision=3843
* New function, to copy a message from one folder to another. The defaultJeffrey Stedfast2000-07-011-14/+37
| | | | | | | | | | | | | | | | | | | | | | 2000-06-30 Jeffrey Stedfast <fejj@helixcode.com> * camel-folder.c (camel_folder_copy_message_to): New function, to copy a message from one folder to another. The default implementation just uses append_message, but providers can implement more efficient versions for use when both folders are on the same store. * broken-date-parser.[c,h]: Utilities for parsing broken date strings. * providers/imap/camel-imap-folder.c (imap_move_message_to): (imap_copy_message_to): Implemented. * camel-mime-utils.c (header_decode_date): Wrote some code to try and un-mangle broken date formats and then parse that new string instead. svn path=/trunk/; revision=3841
* Utilities for parsing broken date strings.Jeffrey Stedfast2000-07-011-0/+3
| | | | | | | | | | | 2000-06-30 Jeffrey Stedfast <fejj@helixcode.com> * broken-date-parser.[c,h]: Utilities for parsing broken date strings. * providers/imap/camel-imap-folder.c: fixed some mem leaks svn path=/trunk/; revision=3840
* providers/imap/camel-imap-folder.c: added move_message_to()Jeffrey Stedfast2000-07-011-0/+41
| | | | svn path=/trunk/; revision=3839
* imap_expunge should now give more meaningful errorsJeffrey Stedfast2000-06-301-2/+2
| | | | svn path=/trunk/; revision=3798
* Changed to keep prompting user for a valid password until it eitherJeffrey Stedfast2000-06-293-122/+174
| | | | | | | | | | | | | | | | | 2000-06-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_connect): Changed to keep prompting user for a valid password until it either authenticates or until Canceled by the user. (camel_imap_command_extended): Improved speed (replaced the g_strjoinv call with a faster implementation) * providers/pop3/camel-pop3-store.c (camel_pop3_command_get_additional_data): Fixed. (pop3_connect): Changed to keep prompting the user for a password until it either works or until Canceled by the user. svn path=/trunk/; revision=3783
* General cleanup (camel_mbox_summary_sync): Fixed a memory leak and addedJeffrey Stedfast2000-06-294-327/+388
| | | | | | | | | | | | | | | | | | | 2000-06-28 Jeffrey Stedfast <fejj@helixcode.com> * providers/mbox/camel-mbox-summary.c: General cleanup (camel_mbox_summary_sync): Fixed a memory leak and added CamelException handling. * providers/mbox/camel-mbox-store.c (delete_folder): Fixed a memory leak * providers/mbox/camel-mbox-folder.c (mbox_append_message): Default 'off_t seek' to -1 so as to make sure it's initialized before it's used in the case of a bad stat() call. (mbox_sync): Updated (mbox_expunge): Updated svn path=/trunk/; revision=3774
* Move the CAPABILITY command here so we don't have to keep checking eachJeffrey Stedfast2000-06-284-59/+52
| | | | | | | | | | | | | | | | | 2000-06-27 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_connect): Move the CAPABILITY command here so we don't have to keep checking each time we open a folder. (camel_imap_command_extended): If we are doing an EXAMINE, don't bother doing a SELECT first. * providers/imap/camel-imap-folder.c (imap_init): Update so folder->has_search_capability depends on the parent IMAP store (since this is really dependant on the IMAP implementation and not the folder) svn path=/trunk/; revision=3767
* Don't close the filter stream when done with it (this causes the sourceChristopher James Lahey2000-06-281-1/+1
| | | | | | | | | | 2000-06-27 Christopher James Lahey <clahey@helixcode.com> * providers/smtp/camel-smtp-transport.c: Don't close the filter stream when done with it (this causes the source stream to close); Instead, just flush it when done. svn path=/trunk/; revision=3763
* Calculate height including if clip_height is set to -1.Christopher James Lahey2000-06-271-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Calculate height including if clip_height is set to -1. From addressbook/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * contact-editor/e-contact-editor-categories.c, addressbook/gui/component/e-cardlist-model.c: Added value_to_string handlers. * demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and "y" arguments. * addressbook/gui/component/addressbook.c: Activated Click To Add and set the click to add message. * addressbook/gui/component/e-addressbook-model.c: Added value_to_string and append_row handlers. * addressbook/gui/component/e-select-names.c: Added a column. From calendar/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * gui/calendar-model.c: Added an #ifdefed value_to_string handler assignment. From camel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * providers/mbox/camel-mbox-summary.c: Added debugging information. From composer/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-msg-composer-select-file.h for make distcheck. From e-util/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h. * e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like a vbox using the reflow system. From mail/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Added a value_to_string handler. From shell/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * glade/Makefile.am: Added EXTRA_DIST for make distcheck. From widgets/e-table/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-click-to-add.c, e-table-click-to-add.h, e-table-one.c, and e-table-one.h. * e-table-click-to-add.c, e-table-click-to-add.h: A new canvas item that represents a single row that sometimes exists. It's for adding new rows to your table. * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Added value_to_string handlers. * e-table-group-container.c: Use value_to_string to make grouping not crash for non string columns. Made some changes to work properly in an ECanvasVbox. * e-table-group-leaf.c, e-table-item.c: Made some changes to work properly in an ECanvasVbox. * e-table-model.c, e-table-model.h: Added append_row and value_to_string methods. * e-table-one.c, e-table-one.h: Given a source ETableModel, this provides a single row model that uses the initialize_value, duplicate_value, free_value, and value_is_empty methods of the original source to implement set_value and value_at (and proxies most of the other methods.) This is used for ETableClickToAdd. * e-table-simple.c, e-table-simple.h: Added append_row and value_to_string handlers. append_row uses a GtkArg instead of a parameter to e_table_simple_new. * e-table-subset.c: Added append_row and value_to_string handlers. * e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd and an ETableItem instead of an ETableItem directly. Only show the ETableClickToAdd if the top level of the xml SPEC has the attribute click-to-add set to some non-zero integer. (click-to-add="1"). Add a "click_to_add_message" argument. * e-tree-model.c: Add a commented out value_to_string handler. From widgets/meeting-time-sel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added the include path to top_srcdir. svn path=/trunk/; revision=3744
* providers/imap/camel-imap-[store,folder].c: Improved folder parsingJeffrey Stedfast2000-06-242-7/+10
| | | | svn path=/trunk/; revision=3712
* Oops. Now appends the namespace to the folder before querying for theJeffrey Stedfast2000-06-232-52/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-22 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_message_count): Oops. Now appends the namespace to the folder before querying for the number of messages. * providers/imap/camel-imap-store.c (imap_folder_exists): New convenience function for use by imap_create(). (get_folder): If folder is specified as "/", we really want "INBOX". * providers/sendmail/camel-sendmail-provider.c: * providers/vee/camel-vee-provider.c: * providers/smtp/camel-smtp-provider.c: * providers/mbox/camel-mbox-provider.c: * providers/pop3/camel-pop3-provider.c: * providers/imap/camel-imap-provider.c: Updated * camel-session.c: Moved service_cache hash table into the providers. (service_cache_remove): Updated. (camel_session_get_service): Updated. * camel-url.c (camel_url_hash): Took out the hashing of url->passwd. We don't want this anymore. * providers/imap/camel-imap-folder.c (imap_init): Took out references to 'namespace' (camel_imap_folder_init): Same * providers/imap/camel-imap-folder.h: No more namespace. We are instead going to use url->path as the namespace. svn path=/trunk/; revision=3705
* ignore test-newsrcChris Toshok2000-06-2310-472/+840
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-22 Chris Toshok <toshok@helixcode.com> * providers/nntp/.cvsignore: ignore test-newsrc * providers/nntp/camel-nntp-store.c, providers/nntp/camel-nntp-store.h, providers/nntp/camel-nntp-folder.c, providers/nntp/camel-nntp-folder.h, providers/nntp/camel-nntp-utils.c: Bring the nntp provider up to a state where it builds and is usable with the current camel. there are still warts (semi-broken .newsrc file handling, and a lack of a subscribe ui -- in fact no way to add a new server, really), but it'll display news messages. * providers/nntp/Makefile.am (libcamelnntp_la_SOURCES): add camel-nntp-newsrc.c (libcamelnntpinclude_HEADERS): add camel-nntp-newsrc.h also, add test-newsrc stuff. * providers/nntp/test-newsrc.c: new file that tests the newsrc stuff by parsing and regurgitating a .newsrc file for a particular server. * providers/nntp/camel-nntp-newsrc.c, providers/nntp/camel-nntp-newsrc.h: new files, initial support for .newsrc files. svn path=/trunk/; revision=3702
* UpdatedJeffrey Stedfast2000-06-2310-58/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-22 Jeffrey Stedfast <fejj@helixcode.com> * providers/sendmail/camel-sendmail-provider.c: * providers/vee/camel-vee-provider.c: * providers/smtp/camel-smtp-provider.c: * providers/mbox/camel-mbox-provider.c: * providers/pop3/camel-pop3-provider.c: * providers/imap/camel-imap-provider.c: Updated * camel-session.c: Moved service_cache hash table into the providers. (service_cache_remove): Updated. (camel_session_get_service): Updated. * camel-url.c (camel_url_hash): Took out the hashing of url->passwd. We don't want this anymore. * providers/imap/camel-imap-folder.c (imap_init): Took out references to 'namespace' (camel_imap_folder_init): Same * providers/imap/camel-imap-folder.h: No more namespace. We are instead going to use url->path as the namespace. svn path=/trunk/; revision=3700
* Modified to use the "namespace" (url->path) if it exists.Jeffrey Stedfast2000-06-223-33/+38
| | | | | | | | | | | | | 2000-06-21 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (imap_create): Modified to use the "namespace" (url->path) if it exists. * providers/imap/camel-imap-folder.c (imap_delete_message_by_uid): Now just sets the deleted flag on the summary rather than speaking directly to the IMAP server. This is both faster and cleaner. svn path=/trunk/; revision=3688
* Fix dumb bug.Dan Winship2000-06-221-1/+1
| | | | | | | * providers/pop3/camel-pop3-store.c (query_auth_types): Fix dumb bug. svn path=/trunk/; revision=3682
* IMAP is working! (sorta)Jeffrey Stedfast2000-06-221-6/+117
| | | | | | you can now read your INBOX svn path=/trunk/; revision=3680
* When determining a mailboxe's folder_file_path et aluse its basename to ↵Peter Williams2000-06-221-4/+6
| | | | | | prevent the triple-slash filenames (~/ev/inbox///movemail.ibex) svn path=/trunk/; revision=3679
* flush the filter stream before unreffing it, so it willDan Winship2000-06-211-13/+15
| | | | | | | | | | | | | | | | | | | | | | * camel-mime-part.c (write_to_stream): flush the filter stream before unreffing it, so it will camel_mime_filter_complete. * camel-stream-filter.c (camel_stream_filter_class_init): Fix a braino so camel_stream_flush works here. * camel-stream-mem.c (stream_seek): Fix a bug that resulted in large attachments being silently dropped. * providers/pop3/camel-pop3-store.c (camel_pop3_command_get_additional_data): Don't use g_strjoinv here, since it is O(n^2) on the length of the output string, and we can do O(n). * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): add a CRLF decoder after the QP/B64 decoder if it's text. svn path=/trunk/; revision=3658
* now parses flags gotten from the IMAP server correctlyJeffrey Stedfast2000-06-211-12/+12
| | | | svn path=/trunk/; revision=3654
* Implemented. (imap_sync): Added code to set flags on messages that haveJeffrey Stedfast2000-06-211-3/+62
| | | | | | | | | | | | 2000-06-20 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_set_message_flags): Implemented. (imap_sync): Added code to set flags on messages that have had their flags changed (however I #if'd it out until we are more confidant in the IMAP code :) svn path=/trunk/; revision=3652
* Only fetch the summary if the folder summary doesn't already exist. WhenJeffrey Stedfast2000-06-211-20/+31
| | | | | | | | | | | | | | | | | | | | | 2000-06-20 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_get_summary): Only fetch the summary if the folder summary doesn't already exist. When the summary *does* exist, start fetching from 1, not 0. (imap_free_summary): Don't do anything here. (imap_finalize): Free the summary here instead of in imap_free_summary(). * camel-url.c (check_equal): No need to check s1 if s2 is NULL (camel_url_equal): Don't check the passwd component of the url. and in mail/component-factory.c (create_imap_storage): removal of debug statements mail/folder-browser.c (folder_browser_load_folder): improved imap service parser svn path=/trunk/; revision=3649
* Now returns the last line of data that the server sends back as well. ThisJeffrey Stedfast2000-06-212-6/+31
| | | | | | | | | | | | | | | | | | | 2000-06-20 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-store.c (camel_imap_command_extended): Now returns the last line of data that the server sends back as well. This is needed for commands like SELECT (like Peter pointed out). (camel_imap_command): No longer checks for SELECT (no need) * providers/imap/camel-imap-folder.c: Added namespace stuff which we will need later on... (imap_parse_subfolder_line): Convenience function for use in get_subfolder_names() (imap_get_subfolder_names): Updated. Also changed it to use LIST instead of LSUB (temporary change). svn path=/trunk/; revision=3646
* basically got IMAP into the tree viewJeffrey Stedfast2000-06-203-28/+94
| | | | svn path=/trunk/; revision=3643
* Set summary equal to NULL. (imap_get_summary): Store the summary in theJeffrey Stedfast2000-06-202-13/+36
| | | | | | | | | | | | | | | | | 2000-06-19 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_init): Set summary equal to NULL. (imap_get_summary): Store the summary in the ImapFolder (imap_summary_get_by_uid): If we have a summary cache in the ImapFolder, first check to see if that message info is in the cached summary first, if not fetch it directly from the IMAP server and append it to the summary cache. (imap_get_message_flags): Don't free the message info that we get back from summary_get_by_uid as we don't want to be corrupting our cached summary. svn path=/trunk/; revision=3636
* Read the full server reply when we SELECT mailboxes.Peter Williams2000-06-201-3/+5
| | | | svn path=/trunk/; revision=3635
* Now gets the message flags as it should. (imap_get_summary): Same asJeffrey Stedfast2000-06-192-18/+122
| | | | | | | | | | | | | | | | 2000-06-18 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_summary_get_by_uid): Now gets the message flags as it should. (imap_get_summary): Same as imap_summary_get_by_uid (imap_get_permanent_flags): Return the permanent flags stored on the folder. (imap_get_message_flags): Return message flags associated with given uid. Note: we may want to somehow cache summary info so that we don't have to keep querying the IMAP provider in imap_summary_get_by_uid(). svn path=/trunk/; revision=3626
* We were leaking memory - but not anymore! (imap_get_summary): We now getJeffrey Stedfast2000-06-181-3/+104
| | | | | | | | | | | 2000-06-17 Jeffrey Stedfast <fejj@helixcode.com> * providers/imap/camel-imap-folder.c (imap_free_summary): We were leaking memory - but not anymore! (imap_get_summary): We now get the UIDs and the beginnings of the code to get the message flags as well. svn path=/trunk/; revision=3625
* camel/providers/imap/camel-imap-folder.c: CAPABILITY now works like it shouldJeffrey Stedfast2000-06-182-21/+27
| | | | | | | po/POTFILES.in: removed reference to camel/providers/imap/imap.c - this was just a temporary file to use as a reference for IMAP code svn path=/trunk/; revision=3623
* Add some debugging printfs when rebulding summary to help figure out whyDan Winship2000-06-181-2/+8
| | | | | | | | * providers/mbox/camel-mbox-summary.c: Add some debugging printfs when rebulding summary to help figure out why people's summaries are always being rebuilt. svn path=/trunk/; revision=3614
* removed imap.c/h from providers/imapJeffrey Stedfast2000-06-183-971/+88
| | | | | | began implementing search functionality svn path=/trunk/; revision=3613
* 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-173-129/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-167-170/+59
| | | | | | | | | | | | | | | | | | * 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
* fix a bug. (don't expunge deleted messages if called with expunge ==Dan Winship2000-06-161-1/+1
| | | | | | | * providers/mbox/camel-mbox-summary.c: fix a bug. (don't expunge deleted messages if called with expunge == FALSE) svn path=/trunk/; revision=3580
* Check server for various interesting extensions.Dan Winship2000-06-164-38/+190
| | | | | | | | | | | * providers/pop3/camel-pop3-store.c (connect_to_server): Check server for various interesting extensions. * providers/pop3/camel-pop3-folder.c (get_uids): If the server supports UIDL, use real UIDs rather than fake ones. (etc): Map uids back to numbers appropriately svn path=/trunk/; revision=3578
* Fix to previous change: make sure the "seek" variable ends up with theDan Winship2000-06-162-7/+14
| | | | | | | | | | | * providers/mbox/camel-mbox-folder.c (mbox_append_message): Fix to previous change: make sure the "seek" variable ends up with the value it should. * providers/mbox/camel-mbox-summary.c (summary_rebuild): Update summary mtime as well as size. svn path=/trunk/; revision=3577
* if the mbox doesn't end with a '\n', write one before appending the newDan Winship2000-06-141-4/+12
| | | | | | | | * providers/mbox/camel-mbox-folder.c (mbox_append_message): if the mbox doesn't end with a '\n', write one before appending the new message. svn path=/trunk/; revision=3562
* Took out the filter code ( we already filter inJeffrey Stedfast2000-06-141-12/+2
| | | | | | | * providers/pop3/camel-pop3-folder.c (get_message_by_uid): Took out the filter code ( we already filter in camel_pop3_command_get_additional_data) svn path=/trunk/; revision=3560
* Updated: a separator is now a char* rather than a single char because IMAPJeffrey Stedfast2000-06-147-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Renamed from camel_mbox_summary_expunge. Takes a gboolean saying whetherDan Winship2000-06-143-25/+32
| | | | | | | | | | | | | | | | | | | * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync): Renamed from camel_mbox_summary_expunge. Takes a gboolean saying whether to expunge or just sync the mbox file. Change some g_errors to g_warning so we don't abort. Make the quick X-Evolution updating code lseek around correctly. Update the mbox mtime in the summary file even in the quick case. * providers/mbox/camel-mbox-summary.h: make CAMEL_MESSAGE_FOLDER_NOXEV not conflict with CAMEL_MESSAGE_FOLDER_FLAGGED defined in camel-mime-message.h * providers/mbox/camel-mbox-folder.c (mbox_close): call camel_mbox_summary_sync to save flag state if not expunging. (mbox_expunge): Update for camel_mbox_summary_expunge rename. svn path=/trunk/; revision=3558
* IMAP will now allow you to login, and on some IMAP providers it will ↵Jeffrey Stedfast2000-06-145-117/+103
| | | | | | | | | | 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
* pop provider now uses the crlf filterJeffrey Stedfast2000-06-131-3/+15
| | | | svn path=/trunk/; revision=3538
* Deprecated.Jeffrey Stedfast2000-06-132-12/+28
| | | | | | | | | | | | | | | | | | | 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-138-8/+8
| | | | | | | | * 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
* Add another argument, "mode", which can be CAMEL_AUTHENTICATOR_ASK orDan Winship2000-06-101-10/+16
| | | | | | | | | | | | * camel-session.c (camel_session_query_authenticator): Add another argument, "mode", which can be CAMEL_AUTHENTICATOR_ASK or CAMEL_AUTHENTICATOR_TELL, so callers can get the app to un-cache bad info. * providers/pop3/camel-pop3-store.c (pop3_connect): uncache the password if it doesn't work. svn path=/trunk/; revision=3496
* 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-102-5/+30
| | | | | | | | | | 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
* Remove exists, create, delete. A CamelFolder now always references anDan Winship2000-06-076-354/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-folder.c: Remove exists, create, delete. A CamelFolder now always references an existing folder. Remove delete_messages too since it wasn't being used. Add a "create" flag to get_subfolder saying whether or not to create the subfolder if it doesn't yet exist. * camel-store.c (camel_store_get_folder): Add a "create" flag to say whether or not to create the folder if it doesn't yet exist. (camel_store_delete_folder): New method, moved from CamelFolder. (cache_folder, uncache_folder): Fix up a bit. (get_folder_name): Explain what this is for. * providers/mbox/camel-mbox-folder.c: * providers/mbox/camel-mbox-store.c: Update. Remove support for hierarchical folders to simplify this for now, since we're not using it, and it's not completely clear how they should work in an ELocalStorage world. Needs to be revisited. * providers/pop3/camel-pop3-folder.c (delete_messages): Remove. * providers/pop3/camel-pop3-store.c (get_folder): Update. * providers/vee/camel-vee-folder.c (exists): Remove. * providers/vee/camel-vee-store.c (vee_get_folder): Update. svn path=/trunk/; revision=3453
* worked on getting providers/imap/* to build cleanly, fixed a number of ↵Jeffrey Stedfast2000-06-077-200/+256
| | | | | | | | 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
* moved some debug print statements to better locationsJeffrey Stedfast2000-06-031-20/+21
| | | | svn path=/trunk/; revision=3395
* Fun with purify.Dan Winship2000-06-023-0/+6
| | | | | | | | | | | | | | | | | | * providers/pop3/camel-pop3-store.c (pop3_connect): free msg on success as well as failure. (camel_pop3_command_get_additional_data): free buf after reading the last line ("."). * providers/pop3/camel-pop3-folder.c (get_message_by_uid): free body data after creating the memstream from it (which will copy the data). * providers/mbox/camel-mbox-folder.c (mbox_finalize): free summary and index paths. * camel-data-wrapper.c (finalize): unref the stream, if it exists. svn path=/trunk/; revision=3381
* Init filter_from to NULL, for exception case. (mbox_get_message_by_uid):Not Zed2000-05-312-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-30 Not Zed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-folder.c (mbox_append_message): Init filter_from to NULL, for exception case. (mbox_get_message_by_uid): Cast off_t to long int for diagnostics. * camel-url.c (camel_url_hash): Hash funciton for using camel url's as hash keys. (camel_url_equal): equal function for same. * camel-session.c (camel_session_finalise): Free cached services. (camel_session_init): Init service cache. (service_cache_remove): destroy callback to remove a service from the cache. * camel-store.c (get_folder_internal): Remove the extra ref of the folder. That seems the right behaviour ...? (camel_store_get_type): Doh, actually call store init, so the cache works. (cache_folder): strdup the folder name! no wonder it never found it again. svn path=/trunk/; revision=3298
* Implemented a few more imap functions in providers/imap/camel-imap-folder.cJeffrey Stedfast2000-05-313-49/+189
| | | | svn path=/trunk/; revision=3286
* diff -r1.206 ChangeLogMichael Zucci2000-05-302-3/+2
| | | | | | | | | | | | | | | | 2a3,9 > * camel-store.c (camel_store_init): Move it to here. If this > level is going to maintain it, it should set it up. Lets see what > caching folders breaks :( > > * providers/pop3/camel-pop3-store.c (camel_pop3_store_init): Dont > init folder cache here. > 7a15,16 > (camel_mbox_summary_expunge): Remove some debug, and dont offset > frompos? svn path=/trunk/; revision=3274
* Make sure we copy messages which are still intact to the new folder.Not Zed2000-05-303-4/+20
| | | | | | | | | | | | 2000-05-29 Not Zed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_expunge): Make sure we copy messages which are still intact to the new folder. (camel_mbox_summary_expunge): Update the frompos as well when moving the content. svn path=/trunk/; revision=3272
* > (message_changed): Track changes to the source message in theMichael Zucci2000-05-301-4/+63
| | | | | | | | | > summary. > (folder_changed): Track folder changes, re-query the folder that > changed, and cascade the changed event as well. > (camel_vee_folder_finalise): Free subfolder and subfolder summary. svn path=/trunk/; revision=3271
* Check the searched folder is open before trying to search it.Not Zed2000-05-301-0/+12
| | | | | | | | | 2000-05-29 Not Zed <NotZed@HelixCode.com> * providers/vee/camel-vee-folder.c (vee_folder_build): Check the searched folder is open before trying to search it. svn path=/trunk/; revision=3268
* Add a domain field to CamelProvider, to say what kind of data it provides.Dan Winship2000-05-297-3/+18
| | | | | | | | | | | | | | | | | | | * 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
* (connect_to_server): Remove port number from error message sinceDan Winship2000-05-291-4/+2
| | | | | | | it's not terribly useful and we were getting it from the wrong place anyway. svn path=/trunk/; revision=3252
* Split apart password and APOP auth, since some servers seem to do both,Dan Winship2000-05-292-123/+148
| | | | | | | | | | | | | | | | | * providers/pop3/camel-pop3-store.c: Split apart password and APOP auth, since some servers seem to do both, but don't really. (connect_to_server): Renamed from try_connect. Now actually does the connection up to the point of checking the greeting for APOP support. (query_auth_types): Return APOP, if appropriate. Call pop3_disconnect after connect_to_server since we don't really want to be connected. (pop3_connect): Use connect_to_server rather than duplicating code. Fix a one-byte buffer overrun in the APOP code. (pop3_disconnect): Make this able to clean up after a partial connect. svn path=/trunk/; revision=3250
* 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
* Removed camel-simple-data-wrapper again. Less code to maintain == betterNotZed2000-05-261-0/+70
| | | | | | | | | | | | | | 2000-05-25 NotZed <NotZed@HelixCode.com> * Makefile.am (libcamel_la_SOURCES): Removed camel-simple-data-wrapper again. Less code to maintain == better code. * camel-data-wrapper.c (construct_from_stream): Fixes for bug where text attachments dont work. Made data-wrapper concrete for the second time. svn path=/trunk/; revision=3207
* Took out code that had been there to reconnect to the server if it was notJeffrey Stedfast2000-05-265-5/+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