aboutsummaryrefslogtreecommitdiffstats
path: root/mail/session.c
Commit message (Collapse)AuthorAgeFilesLines
* New function to force the removal of a given password.Jeffrey Stedfast2001-02-261-0/+11
| | | | | | | | | | | | | | | 2001-02-25 Jeffrey Stedfast <fejj@ximian.com> * session.c (mail_session_forget_password): New function to force the removal of a given password. * openpgp-utils.c (openpgp_decrypt): On failure, forget the passphrase. (openpgp_encrypt): Here too. (cleaned this up a bit too) (openpgp_clearsign): And here. (openpgp_sign): Again... svn path=/trunk/; revision=8390
* Fix for api changes to append_mail.Not Zed2001-02-211-38/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-21 Not Zed <NotZed@Ximian.com> * mail-callbacks.c (composer_postpone_cb): Fix for api changes to append_mail. * Makefile.am (evolution_mail_SOURCES): Removed mail-threads.[ch]. * mail-threads.[ch]: Removed. * subscribe-dialog.c (subscribe_do_get_store): Chagned to use new thread stuff. This is really getting boring. (subscribe_do_subscribe_folder): Changed to use new thread stuff. Last one at last, phew. * session.c (register_callback): Changed to use new thread stuff. YUCK. I dropped some functionality, now the timeout callback return is ignored, so basically it keeps running till finished. * mail-ops.c (mail_operation_run): Removed, no longer used/needed. (mail_do_append_mail): Changed to use new thread stuff. (mail_do_transfer_messages): ditto. * mail-local.c (local_storage_new_folder_cb): Use new thread stuff, also only run synchronous for this operation. (mail_local_reconfigure_folder): (reconfigure_clicked): Changed to use new mail thread stuff. * mail-config.c (mail_config_check_service): Changed to use new thread stuff. svn path=/trunk/; revision=8314
* Check for a NULL service->url as we obviously can't subscribe to foldersJeffrey Stedfast2001-01-271-5/+19
| | | | | | | | | | | | | 2001-01-26 Jeffrey Stedfast <fejj@ximian.com> * subscribe-dialog.c (populate_store_foreach): Check for a NULL service->url as we obviously can't subscribe to folders on a non-existant mail source :-) (subscribe_do_get_store): Check for a NULL url here too, not that we should need it anymore (due to the above fix) but it doesn't hurt. Also, should we wait on the thread? Probably doesn't matter. svn path=/trunk/; revision=7844
* strdup() the key.Jeffrey Stedfast2001-01-121-1/+1
| | | | | | | | 2001-01-12 Jeffrey Stedfast <fejj@ximian.com> * session.c (mail_session_set_password): strdup() the key. svn path=/trunk/; revision=7433
* New function to set the password for a given url.Jeffrey Stedfast2001-01-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> * session.c (mail_session_set_password): New function to set the password for a given url. * mail-config-druid.c (druid_finish): Don't save the password in the source url, instead insert it into the save-password hash. (mail_config_druid_get_source_url): Check to make sure the authmech isn't "", if it is then don't set the authmech. * mail-account-editor.c (apply_changes): Don't save the password in the source url, instead insert it into the save-password hash. Also check to make sure we don't set an empty string as the authmech for the source or transport. * mail-accounts.c (mail_default): After reloading the accounts, reselect the previously selected account. (mail_delete): Same. * mail-config-druid.c (druid_cancel): Fixed segfault bug. svn path=/trunk/; revision=7319
* 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