aboutsummaryrefslogtreecommitdiffstats
path: root/mail/session.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix for mail_get_message change, use queue thread.Not Zed2001-01-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-02 Not Zed <NotZed@HelixCode.com> * mail-callbacks.c (view_msg): Fix for mail_get_message change, use queue thread. * folder-browser.c (done_message_selected): Fix mail_Get_message calls, use new thread. (do_message_selected): " * mail-ops.c (mail_get_message): Add a thread argument so callers can specify which queue it executes on. * mail-mt.c (mail_msg_free): Fix a free order problem. (mail_msg_destroy): Call mail_msg_free to do the work. (mail_msgport_replied): " (mail_msgport_replied): Check/display errors if we get them. (mail_msgport_received): If we have a describe function, say what we're doing, also set busy/unbusy. (mail_msgport_replied): Clear busy when we get a reply. (mail_get_password): Unset busy. (mail_msg_received): Set busy as we go. (mail_msg_destroy): Unset busy when done. (mail_status): Blah blah, new status interface, the other wans't workable with the way the shell api works. 2000-12-29 Not Zed <NotZed@HelixCode.com> * folder-browser.c (do_message_selected): If we are reconfiguring, just keep polling till we are done (yeah kinda shitty, but easy). (folder_browser_set_uri): Clear reconfigure flag here. ick. (got_folder): And here too. (on_right_click): Remove locking. (hide_sender): and here too. (hide_subject): And here. (on_right_click): If we are in reconfigure, then the whole menu is disabled. * mail-mt.c (status_busy_timeout): Clear the status_busy_timeout_id. * mail-local.c (local_storage_new_folder_cb): Made getting folders completely synchronous. The shell expects it, and it was only synchronous before by a sideeffect. (do_reconfigure_folder): Remove locking stuff. (do_reconfigure_folder): Use our own much simpler copying routine than that stupid move_folder_contents thing. (update_progress): Use mail_status_message() instead. (do_reconfigure_folder): Set the reconfigure flag during reconfigure & set busy flag. (cleanup_reconfigure_folder): clear busy flag. * mail-tools.c (mail_tool_uri_to_folder): Remove the tool_lock stuff. (mail_tool_uri_to_folder_noex): Clear exception on exit. (mail_tool_move_folder_contents): Get rid of this really stupid function that is only used in one place. * component-factory.c (owner_set_cb): Use direct calls to get the folders, as this code must run synchronous. Remove the event wait stuff. * mail-callbacks.c (edit_msg): Call mail_get_messages, and create the composers ourself. (do_edit_messages): get_messages callback, create the composers and connect to signals we need. (view_msg): Dont call do_view_messages, just call mail_get_messge for each to get them in parallel. (do_view_message): view a single message. * mail-ops.c (mail_edit_messages): Just use mail_get_messages for this operation. Removed the other async operation stuff. Changed my mind, just removed entirely. (mail_do_view_messages): Removed. (mail_do_setup_folder): Removed. (mail_do_scan_subfolders): Make this run synchronously, as every caller expects it to (even if they didn't realise). 2000-12-28 Not Zed <NotZed@HelixCode.com> * mail-callbacks.c (send_queued_mail): Dont expunge the folder here, but in send_queue, otherwise it might execute out of order. (expunge_folder): Remove the talbe prechange stuff, and infact references to the message_list folder, as we have our own folder. Also, dont allow expunge if we're already expunging. (expunged_folder): Clkear the expunging flag if we're finished. * folder-browser-factory.c (control_deactivate): Likewise here. Hrm, i thought this function required a callback, silly me. * mail-tools.c (mail_tool_make_message_attachment): Remov e locking. * folder-browser.c (on_message_selected): Use a timeout handler so we dont select immediately. (folder_browser_set_uri): Changed to use mail_get_folder. (got_folder): New callback called when get_folder is finished. (folder_browser_destroy): Use new sync interface. * mail-ops.c (mail_get_message): New function to asynchrounously get a message. : #define out mail_tool_camel_lock stuff entirely. (mail_get_folder): New function to asynchrounously get a folder. (mail_do_load_folder): Removed, replaced by more generic function above. (mail_do_display_message): Removed, replaced by the more generic funciton get_message. (mail_get_messages): New function to get a list of messages asynchronously. (mail_sync_folder): New interface to sync a folder async. (mail_expunge_folder): New interface for expunging folder, with callback. (do_send_queue): Remove lock stuff, and expunge if (and only if) successful, also sync the sent folder while we're at it. * session.c (mail_session_request_dialog): Changed to use new mail_get_password call. * mail-mt.[ch]: New threading/interthread messaging framework. * main.c (main): Init the message/thread system. svn path=/trunk/; revision=7223
* Added a cast.Christopher James Lahey2000-12-131-1/+1
| | | | | | | | | | | | | | | | | 2000-12-12 Christopher James Lahey <clahey@helixcode.com> * component-factory.c (create_view): Added a cast. * mail-summary.c: Added #include "mail-summary.h". Commented out folder_free, summary_free, and view_destroy_cb since they're not used. (do_changed): Added a cast. (create_summary_view): Changed some types so that casting would be easier. * session.c (mail_session_remember_password): Added a cast. svn path=/trunk/; revision=6956
* New function to tell the code that it's ok (or not) to interact with theDan Winship2000-12-121-1/+12
| | | | | | | | | | | | | | | * session.c (mail_session_enable_interaction): New function to tell the code that it's ok (or not) to interact with the user when trying to authenticate to a service. Starts out turned off. (mail_session_request_dialog): If interaction is disabled, fail if the password isn't in the cache. * component-factory.c (owner_set_cb): Call mail_session_enable_interaction() after everything else. (This means that the IMAP password dialog will no longer pop up [under the splash screen] at startup.) svn path=/trunk/; revision=6924
* Writes out passwords (to .gnome_private) in our patented proprietary "BestDan Winship2000-12-021-4/+67
| | | | | | | | | | | | | | | | | | | | * session.c (mail_session_remember_password): Writes out passwords (to .gnome_private) in our patented proprietary "Best Awesome Super Encryption 64" ("BASE64") format which could not possibly ever be cracked by even the most cryptographically knowledgeable five-year-olds. (mail_session_init): Load remembered passwords at startup. (mail_session_forget_passwords): Erase them from disk as well as memory. * mail-config.c: Add "remember_password" field to MailConfigService. (mail_config_write_on_exit): Call mail_session_remember_password for services with "remember_password" set. * mail-config-gui.c: Add "remember password" checkbox to the dialogs, and make it appear and disappear as appropriate. svn path=/trunk/; revision=6760
* Added new header files.Jeffrey Stedfast2000-11-041-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: Added new header files. * component-factory.c (owner_set_cb): s/session_init/mail_session_init * session.c: Renamed public functions to mail_session_*. FIXME: Rename session.c to mail-session.c * folder-browser-factory.c: #include "mail-callbacks.h", #include "mail-session.h" and replace forget_passwords with mail_session_forget_passwords * mail.h: Move session prototypes to mail-session.h, Move mail-crypto prototypes to mail-crypto.h, Move mail-callback prototypes to mail-callbacks.h * mail-session.h: New header file containing public prototypes for session.c * mail-format.c: #include "mail-crypto.h" * mail-view.c: * folder-browser.c: #include "mail-callbacks.h" * mail-crypto.h: New header file containing public prototypes for mail-crypto.c * mail-callbacks.h: New header file containing public prototypes for mail-callbacks.c * message-list.c (message_list_get_layout): Set useful defaults. (message_list_setup_etable): Don't set the Outbox defaults on a folder just because it doesn't have a corresponding saved file. svn path=/trunk/; revision=6372
* s/BonoboUIHandler/BonoboUIComponent/Michael Meeks2000-10-211-1/+1
| | | | | | | | | | | | 2000-10-20 Michael Meeks <michael@helixcode.com> * mail.h: s/BonoboUIHandler/BonoboUIComponent/ * mail-callbacks.c (run_filter_ondemand): ditto. * session.c (forget_passwords): ditto. svn path=/trunk/; revision=6085
* Pass a storage dir to camel_session_new now.Dan Winship2000-09-081-2/+6
| | | | | | | | | | | | * session.c (session_init): Pass a storage dir to camel_session_new now. * main.c (main): Can't call session_init here now, because it requires evolution_dir to be set. * component-factory.c (owner_set_cb): call session_init here. svn path=/trunk/; revision=5240
* Goodbye, GDK_THREADS!Peter Williams2000-08-281-1/+1
| | | | svn path=/trunk/; revision=5074
* Fix GDK_THREADS_entering and leaving, hopefully once and for all. Genericify ↵Peter Williams2000-08-251-7/+2
| | | | | | the recursive-store-loading. Load stores when they're added to the config page. svn path=/trunk/; revision=5005
* Whole buncha leak fixes thanks to PurifyMatthew Loper2000-08-171-4/+4
| | | | svn path=/trunk/; revision=4862
* Don't deadlock on PGP key requestPeter Williams2000-08-161-1/+6
| | | | svn path=/trunk/; revision=4841
* Update this for CamelObject (try_inline_pgp): Deal with decrypting hereDan Winship2000-08-121-26/+15
| | | | | | | | | | | | | | | | | | | * mail-format.c (destroy_part): Update this for CamelObject (try_inline_pgp): Deal with decrypting here rather than trying to pawn the data off to handle_multipart_encrypted, since it most likely won't be correct (won't have the proper MIME headers inside the encrypted part). (handle_multipart_encrypted): Add code from Nathan Thompson-Amato to re-MIME-parse the decrypted data after decrypting. * mail-crypto.c (mail_crypto_openpgp_{de,en}crypt): Get the password here rather than having it passed in. Remove some dead code. * session.c (mail_request_dialog): Allow this to work in either a sync or an async context. svn path=/trunk/; revision=4751
* Fixed some warnings.Christopher James Lahey2000-08-111-1/+1
| | | | | | | | | 2000-08-10 Christopher James Lahey <clahey@helixcode.com> * folder-browser-factory.c, message-list.c, message-thread.c, session.c: Fixed some warnings. svn path=/trunk/; revision=4722
* Don't call e_setup_base_dir. It was wrong and it doesn't exist any more.Dan Winship2000-08-111-3/+0
| | | | | | | | | | | | | | | | | | | * session.c (session_init): Don't call e_setup_base_dir. It was wrong and it doesn't exist any more. * component-factory.c (owner_set_cb): Update for changed prototype, and record the evolution_homedir. Move call to mail_config_init here from session.c so it happens after evolution_dir is initialized. * mail.h: define "extern char *evolution_dir;" (formerly in e-util/e-setup.h) * component-factory.c, mail-callbacks.c, mail-config-gui.c, mail-config.c, mail-display.c, mail-format.c, mail-ops.c, mail-tools.c, session.c: Remove "e-util/e-setup.h" include. svn path=/trunk/; revision=4712
* Merge with camel-async.Peter Williams2000-08-111-4/+88
| | | | svn path=/trunk/; revision=4687
* New code to spawn off GPG/PGP to do stuff. Currently only deals withDan Winship2000-08-021-33/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-crypto.c: New code to spawn off GPG/PGP to do stuff. Currently only deals with decryption. From Nathan Thompson-Amato <ndt@jps.net>, with bunches of changes from me. * session.c (mail_request_dialog): Expose the password dialog to the rest of the app (for use by the GPG/PGP code). * mail-format.c (handle_text_plain): Handle special inline data types. (Currently uuencoding, BinHex, and PGP encryption.) This is not the best way to deal with it, but it works for now. (try_inline_pgp): Convert an inline PGP-encrypted message into a multipart/encrypted part. (try_inline_binhex): Convert an inline BinHex attachment into an application/mac-binhex40 part (which we currently don't deal with...) (try_uudecoding): Convert a uuencoded attachment to an application/octet-stream part. (handle_multipart_encrypted): Deal with RFC2015 MIME-encoded PGP encrypted messages. (From ndt.) * mail-display.c (mail_text_write, mail_error_write): New utility functions. * Makefile.am (evolution_mail_SOURCES): add mail-crypto.c svn path=/trunk/; revision=4466
* Fix boobooPeter Williams2000-06-271-0/+2
| | | | svn path=/trunk/; revision=3755
* Land most of the stuff to move fetch_mail, send_mail, expunge_folder, ↵Peter Williams2000-06-241-0/+21
| | | | | | init_imap, and init_news to async operation. svn path=/trunk/; revision=3711
* Update for CamelAuthCallback changes. (Uncache passwords when asked to.)Dan Winship2000-06-101-19/+35
| | | | | | | * session.c (evolution_auth_callback): Update for CamelAuthCallback changes. (Uncache passwords when asked to.) svn path=/trunk/; revision=3497
* Remember passwords between calls. (forget_passwords): Callback for "ForgetDan Winship2000-06-061-2/+36
| | | | | | | | | | | * session.c (evolution_auth_callback): Remember passwords between calls. (forget_passwords): Callback for "Forget Passwords" menu item. * folder-browser-factory.c (control_activate): (control_deactivate): Add "Forget Passwords" menu item. svn path=/trunk/; revision=3434
* Revert removal of e_setup_base_dir.Christopher James Lahey2000-06-021-0/+1
| | | | | | | | 2000-06-02 Christopher James Lahey <clahey@helixcode.com> * session.c: Revert removal of e_setup_base_dir. svn path=/trunk/; revision=3379
* Don't call e_setup_base_dir.Christopher James Lahey2000-06-021-1/+0
| | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * session.c: Don't call e_setup_base_dir. svn path=/trunk/; revision=3361
* Don't hardcode "inbox" here.Dan Winship2000-05-071-42/+2
| | | | | | | | | | | | | | | | | | | * folder-browser-factory.c (folder_browser_factory): Don't hardcode "inbox" here. * folder-browser.c (folder_browser_set_uri): Don't hardcode "inbox" here either. (folder_browser_load_folder): Create a new store according to the folder browser's URI, and load the mbox file from that store. Parts of this are temporary. * session.c, mail.h: There is no longer a global store, just a global session. * mail-config.c, mail-ops.c: Update for default_session -> session change. fetch_mail is currently broken. svn path=/trunk/; revision=2853
* consolidate mail-format.h, mail-identify.h, mail-ops.h, main.h andDan Winship2000-05-071-2/+1
| | | | | | | | * mail.h: consolidate mail-format.h, mail-identify.h, mail-ops.h, main.h and session.h into this new file. There's no reason to have a .h for every .c. svn path=/trunk/; revision=2830
* This is no longer necessary.Dan Winship2000-04-301-7/+0
| | | | | | | | | * session.c (session_providers_init): This is no longer necessary. * mail-ops.c (fetch_mail): Remove kludge to load remote provider, as camel can do it by itself now. svn path=/trunk/; revision=2692
* More changes than a man can remember.Bertrand Guiheneuf2000-03-061-4/+4
| | | | | | The UI works now. svn path=/trunk/; revision=2074
* Add "authenticator" to CamelSession and update things to use it.Dan Winship2000-02-221-1/+41
| | | | svn path=/trunk/; revision=1890
* update for CamelSession changesDan Winship2000-02-221-1/+4
| | | | svn path=/trunk/; revision=1889
* Add session.cArturo Espinosa2000-02-171-0/+67
svn path=/trunk/; revision=1800