aboutsummaryrefslogtreecommitdiffstats
path: root/camel
Commit message (Collapse)AuthorAgeFilesLines
* Add code to kludge around any x-inline-pgp-hacks by prepending someJeffrey Stedfast2001-11-082-0/+27
| | | | | | | | | | 2001-11-07 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Add code to kludge around any x-inline-pgp-hacks by prepending some content headers to the decrypted data. svn path=/trunk/; revision=14620
* Initialize our private mutex. (camel_data_wrapper_finalize): Destroy ourJeffrey Stedfast2001-11-034-14/+56
| | | | | | | | | | | | | 2001-11-02 Jeffrey Stedfast <fejj@ximian.com> * camel-data-wrapper.c (camel_data_wrapper_init): Initialize our private mutex. (camel_data_wrapper_finalize): Destroy our private mutex. (write_to_stream): Lock around camel_stream_write_to_stream() so that we don't get 2 threads trying to read from our stream at the same time. svn path=/trunk/; revision=14573
* Move all searching operations outside of any locks except subfolder lock,12001-11-032-53/+86
| | | | | | | | | | 2001-11-01 <NotZed@Ximian.com> * camel-vee-folder.c (folder_changed_change): Move all searching operations outside of any locks except subfolder lock, same as build_folder. Fix for #14294. svn path=/trunk/; revision=14571
* Same as below.12001-11-019-9/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-31 <NotZed@Ximian.com> * providers/local/camel-spool-folder.c (spool_get_message): Same as below. * providers/local/camel-maildir-folder.c (maildir_get_message): Same as below. * providers/local/camel-mbox-folder.c (mbox_get_message): Set USER_CANCEL if failed due to EINTR. * camel-filter-driver.c (camel_filter_driver_filter_mbox): If construct from parser fails due to user cancel, set USER_CANCEL on exception. * camel-mime-part.c (construct_from_parser): Return error if the parser had an io error. * camel-mime-message.c (construct_from_parser): Check error on parser/return error. * camel-mime-parser.c (folder_scan_init): Init error number. (camel_mime_parser_errno): New function, return errno of any io failures. (folder_read): Set errno if a failure occured. (folder_seek): Same. (folder_scan_init_with_fd): Setup errno depeding on ok/failure. (folder_scan_init_with_stream): Same. svn path=/trunk/; revision=14559
* Dont setup cancel_fd. (camel_operation_cancel_fd): If cancel_fd not02001-10-312-8/+18
| | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * camel-operation.c (camel_operation_new): Dont setup cancel_fd. (camel_operation_cancel_fd): If cancel_fd not created, set it up. (camel_operation_cancel): Set cancel flag before sending message. (cancel_thread): Same. svn path=/trunk/; revision=14469
* Make sure we unref the mimeparse when we're done (successfully). This was02001-10-313-4/+14
| | | | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_mbox): Make sure we unref the mimeparse when we're done (successfully). This was leaking an fd every get-mail! :( * camel-lock-client.c (camel_lock_helper_init): Close all fd's above 2. svn path=/trunk/; revision=14468
* Remove the X-Evolution header before anyone else gets to see this private02001-10-302-0/+7
| | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * providers/local/camel-mbox-folder.c (mbox_get_message): Remove the X-Evolution header before anyone else gets to see this private thing. Shoudl fix 11676 since we were inheriting flags from X-Evolution headers we didn't want to. svn path=/trunk/; revision=14453
* If we can't retrieve the message, ignore it, it can't match.02001-10-304-10/+24
| | | | | | | | | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * camel-folder-search.c (match_message): If we can't retrieve the message, ignore it, it can't match. * providers/imap/camel-imap-search.c (camel_imap_search_class_init): Setup parent class pointer. (imap_body_contains): If offline, just use the parent body_contains method which will get the messages and search them manually. * providers/imap/camel-imap-folder.c (imap_search_by_expression, imap_search_by_uids): Remove offline check. svn path=/trunk/; revision=14442
* Fix this to match get_headers.Dan Winship2001-10-302-5/+4
| | | | | | * camel-mime-part.c (free_headers): Fix this to match get_headers. svn path=/trunk/; revision=14432
* Dont try to move ibex if we have none.02001-10-303-5/+11
| | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * providers/local/camel-local-store.c (rename_folder): Dont try to move ibex if we have none. svn path=/trunk/; revision=14429
* Fixed compilation errors.02001-10-302-2/+7
| | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * camel-tcp-stream-openssl.c (stream_write): Fixed compilation errors. svn path=/trunk/; revision=14420
* Removed unused variable.Jeffrey Stedfast2001-10-302-1/+5
| | | | | | | | | 2001-10-29 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (camel_mime_utils_init): Removed unused variable. svn path=/trunk/; revision=14419
* fixed a compile problem and saved errno before calling fcntl() in stream_readJeffrey Stedfast2001-10-301-3/+6
| | | | svn path=/trunk/; revision=14418
* w(x) out some warnings.02001-10-303-5/+14
| | | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * camel-mime-utils.c (header_decode_mailbox): w(x) out some warnings. * providers/local/camel-local-summary.c (camel_local_summary_load): Remove the warning about not loading summary file - its a valid case for new folders. svn path=/trunk/; revision=14411
* Removed. (stream_write): Keep looping (non-blocking case) if errno isJeffrey Stedfast2001-10-306-87/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-29 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.c (my_SSL_write): Removed. (stream_write): Keep looping (non-blocking case) if errno is EAGAIN, EINTR or EWOULDBLOCK. For NONBLOCKing I/O, sync up with CamelTcpStreamRaw. As with CamelTcpStreamRaw/SSL - make sure to write out everything before returning. (my_SSL_read): Removed. (stream_read): Just call ssl_error_to_errno() and check the errno values that we care about so we can keep the general look of all this stream code the same. Also when checking the return value of SSL_read, check for <0 instead of ==-1 since the man page for SSL_read doesn't say it will return -1 on fail, it just says <0. (stream_flush): Don't fsync() since syncing on a socket is a Bad Thing (tm). * camel-tcp-stream-ssl.c (stream_write): Make sure we write out everything just like in camel-tcp-stream-raw.c. * camel-stream-buffer.c (camel_stream_buffer_gets): If camel_stream_read() returns -1, don't necessarily return -1 to our caller since it's possible that we did actually "read" some data (ie, we copied some pre-buffered data into the out buffer). * camel-stream-buffer.h: Removed CAMEL_STREAM_BUFFER_NEWLINE since it never got used anywhere and it isn't supported anyway. svn path=/trunk/; revision=14409
* If we get an empty name, then mark that as NoSelect. Workaround fix for02001-10-302-2/+8
| | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * providers/imap/camel-imap-store.c (parse_list_response_as_folder_info): If we get an empty name, then mark that as NoSelect. Workaround fix for #13239. svn path=/trunk/; revision=14392
* Set an X-Evolution-Source header on the returned message so replies comeDan Winship2001-10-302-0/+15
| | | | | | | | * providers/imap/camel-imap-folder.c (get_message_simple, imap_get_message): Set an X-Evolution-Source header on the returned message so replies come from the right identity. svn path=/trunk/; revision=14388
* If we're not going to search on a changed uid, make sure we change out92001-10-302-1/+9
| | | | | | | | | | 2001-10-29 <NotZed@Ximian.com> * camel-vee-folder.c (folder_changed_change): If we're not going to search on a changed uid, make sure we change out copy still. Fixes #13916. svn path=/trunk/; revision=14386
* Don't emit a folder_subscribed signal if we are in the process of renamingJeffrey Stedfast2001-10-305-60/+119
| | | | | | | | | | | | | | | | | | 2001-10-29 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (subscribe_folder): Don't emit a folder_subscribed signal if we are in the process of renaming folders. (unsubscribe_folder): Same here but for the unsubscribe signal. (rename_folder): Unsubscribe from the folder being renamed and any subfolders it may have before actually renaming. Once the folder has been renamed, re-subscribe to it and it's subfolders with the new name. * camel-store.c (camel_folder_info_build): Sort the folder info's before constructing the tree. svn path=/trunk/; revision=14378
* Minor fix - should have been using a strNcmp when checking if it was anJeffrey Stedfast2001-10-302-1/+6
| | | | | | | | | | 2001-10-29 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_decode_param): Minor fix - should have been using a strNcmp when checking if it was an rfc2047 encoded word. svn path=/trunk/; revision=14360
* Notify the user that PGP 2.6.x is no longer supported and useJeffrey Stedfast2001-10-303-29/+69
| | | | | | | | | | | | | | 2001-10-29 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (pgp_sign): Notify the user that PGP 2.6.x is no longer supported and use camel_exception_set() instead of setv() where appropriate. (pgp_clearsign): Same. (pgp_verify): And again here. (pgp_encrypt): Here too. (pgp_decrypt): And finally here. svn path=/trunk/; revision=14349
* Don't free the hash table key if the folder wasn't found in the hashDan Winship2001-10-302-4/+11
| | | | | | | | | | * providers/imap/camel-imap-store.c (unsubscribe_folder): Don't free the hash table key if the folder wasn't found in the hash table. I'm not sure where the bug is/was that made it possible to add a folder to the tree after creating it failed, but now if that happens, it won't crash if you try to delete it again. (#11492) svn path=/trunk/; revision=14348
* if the service is being connected and thinks it's online, but the sessionDan Winship2001-10-302-0/+13
| | | | | | | | * camel-disco-store.c (camel_disco_store_status): if the service is being connected and thinks it's online, but the session is offline, then mark the service offline as well. Fixes 13683. svn path=/trunk/; revision=14347
* Turn off w() -> warnings.92001-10-299-11/+133
| | | | | | | | | | | | | | | | | | | 2001-10-29 <NotZed@Ximian.com> * camel-mime-utils.c: Turn off w() -> warnings. * providers/imap/camel-imap-store.c (rename_folder): Also rename the message cache. (rename_folder): Fix subscribed folders table with rename(s). * providers/imap/camel-imap-folder.c (imap_rename): Implement, rename the cache dir pointer. * providers/imap/camel-imap-message-cache.c (camel_imap_message_cache_set_path): New method to set the path used by a message cache. svn path=/trunk/; revision=14327
* Fix the 'is this a matching subfolder or subfolder'' logic to match92001-10-293-3/+29
| | | | | | | | | | | | | 2001-10-29 <NotZed@Ximian.com> * camel-vee-store.c (build_info): Fix the 'is this a matching subfolder or subfolder'' logic to match camel-store get_subfolders'. * camel-store.c (get_subfolders): Fix the 'is this a matching folder or subfolder' logic. svn path=/trunk/; revision=14324
* Changed to call ibex_move to rename it internally.82001-10-282-10/+49
| | | | | | | | | 2001-10-28 <NotZed@Ximian.com> * providers/local/camel-local-store.c (rename_folder): Changed to call ibex_move to rename it internally. svn path=/trunk/; revision=14294
* Use the right variable, not info.82001-10-282-1/+5
| | | | | | | | 2001-10-28 <NotZed@Ximian.com> * camel-store.c (camel_store_rename_folder): Use the right variable, not info. svn path=/trunk/; revision=14290
* Make sure we've actually read data before checking if p[-] is '\r' or not.Jeffrey Stedfast2001-10-283-7/+61
| | | | | | | | | 2001-10-28 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-buffer.c (camel_stream_buffer_read_line): Make sure we've actually read data before checking if p[-] is '\r' or not. svn path=/trunk/; revision=14288
* Same.Jeffrey Stedfast2001-10-283-12/+26
| | | | | | | | | | | | | | 2001-10-28 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-raw.c (stream_write): Same. * camel-stream-fs.c (stream_write): If errno isn't EAGAIN, just exit with -1 and instead of using continue (which doesn't go to the top of the do-while thus making our logic suck), just set w to 0. Still seems to be a bug in select() if it's telling us the socket is ready for data when it really isn't but oh well. svn path=/trunk/; revision=14286
* Use path not protocol as the path part of the uri of the folder_created82001-10-287-19/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-28 <NotZed@Ximian.com> * providers/local/camel-local-folder.c (camel_local_folder_construct): Use path not protocol as the path part of the uri of the folder_created event. * providers/local/camel-maildir-store.c (scan_dir): If FAST is set, dont try and scan for unread counts. * providers/local/camel-local-store.c (create_folder): Implement, just return the folderinfo of the folder matched, not all of it. * camel-store.c (camel_store_rename_folder): Rename the camelfolders before emitting the folderchanged event (otherwise vstore fails to pick up change. * camel-store.c (camel_store_init): Always use a default dir_sep of '/'. * camel-store.h (struct _CamelStore): Added a dir_sep to the base store so rename and whatnot can work, temporary fix for mixed dir separator in folder name api's. * providers/imap/camel-map-store.c: (imap_connect_online): Also set the store's dir_sep here. (imap_connect_offline): " svn path=/trunk/; revision=14275
* More fixing of the license texts.Ettore Perazzoli2001-10-2861-693/+671
| | | | svn path=/trunk/; revision=14217
* More fixing of the license texts.Ettore Perazzoli2001-10-2856-616/+616
| | | | svn path=/trunk/; revision=14216
* Fixing the license text.Ettore Perazzoli2001-10-28130-130/+0
| | | | svn path=/trunk/; revision=14212
* Finished implementation.72001-10-279-83/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-27 <NotZed@Ximian.com> * providers/imap/camel-imap-store.c (rename_folder): Finished implementation. * providers/local/camel-local-folder.c (local_rename): Implement local rename of folder objects. 2001-10-26 <NotZed@Ximian.com> * camel-vee-folder.c (camel_vee_folder_class_init): Hook into rename function. (vee_rename): Implement the veefolder rename function. (camel_vee_folder_class_init): (folder_changed_change): Kill a warning with a cast. * camel-vee-store.c (vee_rename_folder): Emit a folder_renamed event properly, also call parent to do some rename stuff. * camel-store.h: Added a CamelRenameInfo for the rename event. * camel-folder.c (camel_folder_rename): New function to rename a folder object. (camel_folder_class_init): Added a renamed event. (folder_rename): Default impl, set full_name, and set name assuming the dir separator is '/'. * camel-store.c (camel_store_class_init): Added folder_renamed event. (camel_store_rename_folder): Rename an active folder object if we have one, and update the folder table. (rename_folder): Make a default implementation that handles updating the folder tree. svn path=/trunk/; revision=14204
* Don't bother checking ex since we can rely on the response being NULL onJeffrey Stedfast2001-10-272-12/+67
| | | | | | | | | | 2001-10-26 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (delete_folder): Don't bother checking ex since we can rely on the response being NULL on error. (rename_folder): Implemented. svn path=/trunk/; revision=14201
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-27130-260/+260
| | | | | | (instead of version 2 or any later version). svn path=/trunk/; revision=14190
* Check to make sure that the dataset is non-NULL before using and/orJeffrey Stedfast2001-10-272-19/+29
| | | | | | | | | | 2001-10-26 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (imap_get_message): Check to make sure that the dataset is non-NULL before using and/or freeing. svn path=/trunk/; revision=14181
* Check for EWOULDBLOCK too? (stream_read): Same. (stream_flush): Return 0Jeffrey Stedfast2001-10-272-2/+5
| | | | | | | | | | | | | | | | | | | 2001-10-26 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-raw.c (stream_write): Check for EWOULDBLOCK too? (stream_read): Same. (stream_flush): Return 0 always, fsync() and tcp sockets don't play nice :-) * providers/imap/camel-imap-message-cache.c (camel_imap_message_cache_get): Lets try putting a camel_stream_reset() here. Logic being that the stream may have been read from since it was cached and thus our caller may try reading from it and get no data from it since it is already at the EOS. This may fix bug #12943. svn path=/trunk/; revision=14180
* Check for EWOULDBLOCK too? (stream_read): Same.Jeffrey Stedfast2001-10-272-5/+32
| | | | | | | | | | | | | | | | 2001-10-26 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-raw.c (stream_write): Check for EWOULDBLOCK too? (stream_read): Same. * providers/imap/camel-imap-message-cache.c (camel_imap_message_cache_get): Lets try putting a camel_stream_reset() here. Logic being that the stream may have been read from since it was cached and thus our caller may try reading from it and get no data from it since it is already at the EOS. This may fix bug #12943. svn path=/trunk/; revision=14179
* Lets try putting a camel_stream_reset() here. Logic being that the streamJeffrey Stedfast2001-10-272-0/+10
| | | | | | | | | | | | | 2001-10-26 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-message-cache.c (camel_imap_message_cache_get): Lets try putting a camel_stream_reset() here. Logic being that the stream may have been read from since it was cached and thus our caller may try reading from it and get no data from it since it is already at the EOS. This may fix bug #12943. svn path=/trunk/; revision=14165
* Remove the stupid warning that should never have been there in the first52001-10-269-36/+94
| | | | | | | | | | | | | | | | | | | | | 2001-10-25 <NotZed@Ximian.com> * camel-search-private.c (utf8_get): Remove the stupid warning that should never have been there in the first place. * camel-sasl-digest-md5.c (digest_response): s/iconv/e_iconv/ * camel-pgp-context.c (pgp_verify): " * camel-mime-utils.c (rfc2047_decode_word, rfc2047_decode_word, append_8bit, rfc2047_encode_word, rfc2184_decode, header_decode_param): " * camel-mime-part-utils.c (convert_buffer, convert_buffer): " * camel-mime-filter-charset.c (reset, complete, filter): " svn path=/trunk/; revision=14113
* Don't let fi->name be NULL.Dan Winship2001-10-252-0/+7
| | | | | | | * providers/imap/camel-imap-store.c (unsubscribe_folder): Don't let fi->name be NULL. svn path=/trunk/; revision=14079
* updated the SIMULATE_FLAKY_NETWORK codeJeffrey Stedfast2001-10-251-10/+12
| | | | svn path=/trunk/; revision=13995
* Same as in the TcpStreamRaw code. (stream_write): And again here...Jeffrey Stedfast2001-10-253-77/+139
| | | | | | | | | | | | | | 2001-10-24 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-fs.c (stream_read): Same as in the TcpStreamRaw code. (stream_write): And again here... * camel-tcp-stream-raw.c (stream_read): Handle the EAGAIN error case as well. (stream_write): Same here, this might fix the SMTP truncation thing? I hope? svn path=/trunk/; revision=13993
* Remove an extra * in one of the regexps that glibc apparently doesn't mindDan Winship2001-10-242-1/+6
| | | | | | | * camel-mime-utils.c (mail_list_magic): Remove an extra * in one of the regexps that glibc apparently doesn't mind but bsd does. svn path=/trunk/; revision=13942
* made d(x) x recompile again.32001-10-232-5/+9
| | | | | | | | 2001-10-23 <NotZed@Ximian.com> * providers/local/camel-mbox-summary.c: made d(x) x recompile again. svn path=/trunk/; revision=13932
* No, use Storing, as the other code does :p (spool_summary_check): Check22001-10-232-3/+9
| | | | | | | | | | 2001-10-22 <NotZed@Ximian.com> * providers/local/camel-spool-summary.c (summary_rebuild): No, use Storing, as the other code does :p (spool_summary_check): Check for consistency. svn path=/trunk/; revision=13904
* s/summarising/summarizing/. (spool_summary_check): s/summarise/summarize/.Jon Trowbridge2001-10-232-3/+9
| | | | | | | | | | 2001-10-22 Jon Trowbridge <trow@ximian.com> * providers/local/camel-spool-summary.c (summary_rebuild): s/summarising/summarizing/. (spool_summary_check): s/summarise/summarize/. svn path=/trunk/; revision=13902
* If we are kludging around a inline-pgp signed part, do some charsetJeffrey Stedfast2001-10-233-4/+30
| | | | | | | | | | 2001-10-22 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-mime.c (camel_pgp_mime_part_verify): If we are kludging around a inline-pgp signed part, do some charset conversion to protect any 8bit text. svn path=/trunk/; revision=13896
* Use search_type_mlist for mailing list searches.Michael Zucci2001-10-238-213/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-filter-search.c, camel-folder-search.c (check_header): Use search_type_mlist for mailing list searches. * camel.c (camel_init): call camel-mime-utils-init func. * camel-mime-utils.c: Changed mail mail_list_magic to include a domain part, also pre-compile all the patterns. They are all backward compatible except List-Id: which now uses the mail-address-like <list-name.host.name> part rather than the plain-text part (which might've been blank anyway). (camel_mime_utils_init): Initialisation function to setup any static data required by camel-mime-utils at run-time. We now setup the base64/charset class tables here, so it doesn't need to be done statically. (camel_mime_special_table, camel_mime_base64_rank): No longer statically initialise these. (main): Removed + the tests at the end of the file. (header_raw_check_mailing_list): Dont compile regex's here, already compiled in utils_init. Use the regex patterns to remove leading <'s from addresses. Also, if there is a domain part matched, add that after a '@' is added. camel-search-private.c: (camel_search_header_match): Added SEARCH_TYPE_MLIST for mlist search types. It ignores the domain part if either (but not both) of the values dont have it. svn path=/trunk/; revision=13894
* (camel_search_header_match): Oops, missing i=0.Michael Zucci2001-10-233-8/+24
| | | | svn path=/trunk/; revision=13891
* Match check against all addresses in a multiple address match. Should fix22001-10-232-6/+10
| | | | | | | | | | 2001-10-22 <NotZed@Ximian.com> * camel-search-private.c (camel_search_header_match): Match check against all addresses in a multiple address match. Should fix #13051. svn path=/trunk/; revision=13885
* Add a hack: if the multipart/signed part has a "x-inline-pgp-hack"Dan Winship2001-10-232-1/+15
| | | | | | | | | * camel-pgp-mime.c (camel_pgp_mime_part_verify): Add a hack: if the multipart/signed part has a "x-inline-pgp-hack" parameter in its Content-Type, don't pass the MIME headers as part of the data to be verified. svn path=/trunk/; revision=13881
* added $GNOME_INCLUDEDIR to INCLUDES, needed for latest libgnome, whichRodrigo Moya2001-10-232-0/+6
| | | | | | | | | 2001-10-22 Rodrigo Moya <rodrigo@ximian.com> * Makefile.am: added $GNOME_INCLUDEDIR to INCLUDES, needed for latest libgnome, which install headers in $(prefix)/gnome-1.0 svn path=/trunk/; revision=13878
* Only do the rawtext checks if the part is a text part, otherwise don'tJeffrey Stedfast2001-10-222-1/+6
| | | | | | | | | | | 2001-10-21 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Only do the rawtext checks if the part is a text part, otherwise don't bother wasting cpu cycles. svn path=/trunk/; revision=13861
* Updated comments to make the code a bit more clear.Jeffrey Stedfast2001-10-222-7/+14
| | | | | | | | | 2001-10-21 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (camel_folder_info_build): Updated comments to make the code a bit more clear. svn path=/trunk/; revision=13859
* Dont do the macro stuff - basically so you can actually debug calls.12001-10-224-2/+18
| | | | | | | | | | | | | | 2001-10-21 <NotZed@Ximian.com> * camel-store.c (CS_CLASS): Dont do the macro stuff - basically so you can actually debug calls. (camel_store_uri_cmp): New function to compare store objects. * camel-vee-folder.c (vee_folder_add_info): oops, dont free the vuid, since its alloca'd now. (folder_changed_change): Kill a compile warning. svn path=/trunk/; revision=13855
* oops, dont free the vuid, since its alloca'd now.12001-10-222-1/+5
| | | | | | | | | 2001-10-21 <NotZed@Ximian.com> * camel-vee-folder.c (vee_folder_add_info): oops, dont free the vuid, since its alloca'd now. svn path=/trunk/; revision=13851
* If no exception supplied, use a local one. (move_message_to): Set the seen02001-10-202-5/+15
| | | | | | | | | | 2001-10-20 <NotZed@Ximian.com> * camel-folder.c (move_messages_to): If no exception supplied, use a local one. (move_message_to): Set the seen flag also when we delete it. svn path=/trunk/; revision=13817
* If the destination folder is the vfolder source folder, thenJeffrey Stedfast2001-10-202-1/+7
| | | | | | | | | | 2001-10-19 Jeffrey Stedfast <fejj@ximian.com> * camel-vtrash-folder.c (vtrash_move_messages_to): If the destination folder is the vfolder source folder, then set_message_flags on it. svn path=/trunk/; revision=13814
* When registering provider, translate all strings.92001-10-202-0/+26
| | | | | | | | | 2001-10-19 <NotZed@Ximian.com> * camel-session.c (register_provider): When registering provider, translate all strings. svn path=/trunk/; revision=13809
* camel-vee-folder.c (folder_changed_change): Change logic, we always addMichael Zucci2001-10-202-15/+23
| | | | | | | | | | | camel-vee-folder.c (folder_changed_change): Change logic, we always add changed stuff if it now matches, but dont remove it unless its auto-remove, only propagate changes for it. (vee_set_message_flags): Call parent method after doing our work. (vee_set_message_user_flag): Same here. svn path=/trunk/; revision=13803
* Fixes a deadlock. camel-vee-folder.c: (folder_changed_change): Ok, so dontMichael Zucci2001-10-202-2/+4
| | | | | | | | | | Fixes a deadlock. camel-vee-folder.c: (folder_changed_change): Ok, so dont hold the subfolder lock for the whole duration of the changed event, although we probably should, requires a recursive mutex. svn path=/trunk/; revision=13802
* Typo, srlen aint right.Michael Zucci2001-10-191-1/+1
| | | | svn path=/trunk/; revision=13789
* camel-vee-folder.c: (folder_changed_change_uid): Use alloca for vuid, andMichael Zucci2001-10-192-35/+94
| | | | | | | | | | | | | | | camel-vee-folder.c: (folder_changed_change_uid): Use alloca for vuid, and not sprintf(".lengths") (vee_search_by_expression): Dont use sprintf for vuid. (vee_search_by_uids): " (vee_folder_add_info): " (folder_changed_remove_uid): " (folder_changed_change): " (folder_changed_change_uid): Also check folder_unmatched for changed uid's so we properly update/propagate unmatched changes. svn path=/trunk/; revision=13788
* Lock the right lock for unmatched subfolder list stuff. If the sub folder92001-10-193-16/+110
| | | | | | | | | | | | | | | | | | | | | | | 2001-10-19 <NotZed@Ximian.com> * camel-vee-folder.c (camel_vee_folder_remove_folder): Lock the right lock for unmatched subfolder list stuff. If the sub folder is deleted & part of unmatched, or the last ref to the sub folder is gone from unmatched, blow it away completely from unmatched, but only do it once. (vee_folder_remove_folder): Added arg to kill unmatched unconditionally. Also handle deleted folders, always remove stuff. (folder_changed_change): Lock subfolder lock for entirety of operation, and also check to see if the subfolder is still there before doing any fancy work (incase it got removed while we were waiting to execute). * camel-store.c (camel_store_unsubscribe_folder): If we are unsubscribing from a folder we have loaded, set the folder deleted, as with the delete_folder case. svn path=/trunk/; revision=13786
* If a charset isn't specified or claims to be utf-8, check the validity ofJeffrey Stedfast2001-10-192-2/+37
| | | | | | | | | | | | | 2001-10-18 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): If a charset isn't specified or claims to be utf-8, check the validity of the text and if it's invalid, set the rawtext bit to TRUE. If the charset is x-unknown or some other x- charset, always set the rawtext bit to TRUE. svn path=/trunk/; revision=13785
* Added CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko82001-10-196-0/+11
| | | | | | | | | | 2001-10-18 <NotZed@Ximian.com> * providers/(imap|local|pop3|sendmail|smtp)/Makefile.am: Added CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko Kaneti <yaneti@declera.com> svn path=/trunk/; revision=13783
* Make sure the cancel_fd isn't -1.Jeffrey Stedfast2001-10-192-1/+6
| | | | | | | | | 2001-10-18 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (crypto_exec_with_passwd): Make sure the cancel_fd isn't -1. svn path=/trunk/; revision=13781
* Flush the stream here, not sure it really matters but it might (hopefully)Jeffrey Stedfast2001-10-192-0/+5
| | | | | | | | | | 2001-10-18 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-message-cache.c (insert_finish): Flush the stream here, not sure it really matters but it might (hopefully) fix bug #12943. svn path=/trunk/; revision=13779
* Make user-cancellable.Jeffrey Stedfast2001-10-192-6/+37
| | | | | | | | | 2001-10-18 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (crypto_exec_with_passwd): Make user-cancellable. svn path=/trunk/; revision=13778
* String cleanup for bug #6640.Jeffrey Stedfast2001-10-192-2/+5
| | | | | | | | | 2001-10-18 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-local-provider.c: String cleanup for bug #6640. svn path=/trunk/; revision=13777
* Fix my Cyrus imapd workaround...instead of checking to see if info->flagsJeffrey Stedfast2001-10-192-5/+11
| | | | | | | | | | 2001-10-18 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (imap_sync_online): Fix my Cyrus imapd workaround...instead of checking to see if info->flags == FLAGGED, just check to see if it contains any IMAP flags. svn path=/trunk/; revision=13770
* Use '.' as the inbox name for filter new messages test.72001-10-182-1/+5
| | | | | | | | | | 2001-10-17 <NotZed@Ximian.com> * providers/local/camel-maildir-folder.c (camel_maildir_folder_new): Use '.' as the inbox name for filter new messages test. svn path=/trunk/; revision=13742
* New function to clone a folderinfo tree.72001-10-183-1/+41
| | | | | | | | | 2001-10-17 <NotZed@Ximian.com> * camel-store.c (camel_folder_info_clone): New function to clone a folderinfo tree. svn path=/trunk/; revision=13740
* Same as maildir and mbox append-message.Jeffrey Stedfast2001-10-183-6/+20
| | | | | | | | | | | | | | | | | | | | | | | 2001-10-17 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-mh-folder.c (mh_append_message): Same as maildir and mbox append-message. * providers/local/camel-maildir-folder.c (maildir_append_message): Same as mbox append. * camel-exception.c (camel_exception_set): Make sure the new description isn't the same as the old description pointer before freeing the old one. (camel_exception_setv): Don't free the old description until we set the new one this way we can reuse the old description in the new description. * providers/local/camel-mbox-folder.c (mbox_append_message): If errno == EINTR, then we got a user-cancel so set the exception appropriately so that we don't make the user shit his pants. svn path=/trunk/; revision=13739
* Make sure the new description isn't the same as the old descriptionJeffrey Stedfast2001-10-183-9/+27
| | | | | | | | | | | | | | | | | 2001-10-17 Jeffrey Stedfast <fejj@ximian.com> * camel-exception.c (camel_exception_set): Make sure the new description isn't the same as the old description pointer before freeing the old one. (camel_exception_setv): Don't free the old description until we set the new one this way we can reuse the old description in the new description. * providers/local/camel-mbox-folder.c (mbox_append_message): If errno == EINTR, then we got a user-cancel so set the exception appropriately so that we don't make the user shit his pants. svn path=/trunk/; revision=13737
* Add an optimization for when destination folder is the same as the sourceJeffrey Stedfast2001-10-182-0/+8
| | | | | | | | | 2001-10-17 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (do_copy): Add an optimization for when destination folder is the same as the source folder. svn path=/trunk/; revision=13735
* Patch from Danw, Use unread count of -1 to mark unflagged messages. Make72001-10-183-9/+23
| | | | | | | | | | | | | | | 2001-10-17 <NotZed@Ximian.com> * providers/imap/camel-imap-store.c (get_folder_info_online): (parse_list_response_as_folder_info): Patch from Danw, Use unread count of -1 to mark unflagged messages. Make sure any folder we dont lookup explicitly is marked as -1. Should fix #9947 and friends. * providers/local/camel-mbox-summary.c (mbox_summary_sync): Only touch the summary if the timestamp or size changed. svn path=/trunk/; revision=13731
* Set the DELETED flag on directly on the info if the source folder doesn'tJeffrey Stedfast2001-10-182-1/+7
| | | | | | | | | | 2001-10-17 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Set the DELETED flag on directly on the info if the source folder doesn't have summary capability. svn path=/trunk/; revision=13729
* As below.Not Zed2001-10-173-4/+19
| | | | | | | | | | | 2001-10-17 Not Zed <NotZed@Ximian.com> * camel-tcp-stream-raw.c (stream_write): As below. * camel-stream-fs.c (stream_write): If not checking cancellation, make sure we write out everything asked of us. svn path=/trunk/; revision=13717
* Rearange the order of the gpg options slightly otherwise it might try toJeffrey Stedfast2001-10-172-5/+8
| | | | | | | | | | 2001-10-16 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (pgp_verify): Rearange the order of the gpg options slightly otherwise it might try to use "--no-tty" as the filename to verify :-) svn path=/trunk/; revision=13714
* If CAMEL_DEBUG is defined, print some useful ref/unref info.Jeffrey Stedfast2001-10-176-5/+60
| | | | | | | | | | | | | | | | 2001-10-16 Jeffrey Stedfast <fejj@ximian.com> * camel-object.[c,h]: If CAMEL_DEBUG is defined, print some useful ref/unref info. * providers/imap/camel-imap-store.c (delete_folder): Fixed an assignment warning. * camel-uid-cache.c (camel_uid_cache_new): Make sure that the parent directory exists before trying to open the filename, if it doesn't, create it. svn path=/trunk/; revision=13707
* If no content, dont try and decode further and spit meaningless warnings.62001-10-172-0/+9
| | | | | | | | | 2001-10-16 <NotZed@Ximian.com> * camel-mime-utils.c (header_address_decode): If no content, dont try and decode further and spit meaningless warnings. svn path=/trunk/; revision=13702
* Only perform the operation on the folder if the folder has summaryJeffrey Stedfast2001-10-172-3/+11
| | | | | | | | | | | | 2001-10-16 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (do_flag): Only perform the operation on the folder if the folder has summary capability, else just poke the info directly. Fixes the "Filters don't work" bug. (do_score): Same. (do_colour): And here too. svn path=/trunk/; revision=13697
* Save the errno before calling fcntl so fcntl doesn't overwrite errno inJeffrey Stedfast2001-10-162-2/+13
| | | | | | | | | | | 2001-10-15 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-fs.c (stream_read): Save the errno before calling fcntl so fcntl doesn't overwrite errno in case of a previous error. (stream_write): Same. svn path=/trunk/; revision=13687
* Replace the Bcc headers in a single location and don't flush the dataJeffrey Stedfast2001-10-142-21/+22
| | | | | | | | | | 2001-10-13 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_data): Replace the Bcc headers in a single location and don't flush the data unless the write was successful. svn path=/trunk/; revision=13662
* oops, it should remove the bcc header, not the cc headerJeffrey Stedfast2001-10-131-8/+29
| | | | svn path=/trunk/; revision=13643
* Remove the stripheader filter from the build.Jeffrey Stedfast2001-10-135-245/+27
| | | | | | | | | | | | | | | | 2001-10-12 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Remove the stripheader filter from the build. * camel-mime-filter-stripheader.[c,h]: Removed. * providers/smtp/camel-smtp-transport.c (smtp_data): Check the return value of camel_stream_flush to make sure it flushed the data successfully before continuing. Don't use the stripheader filter, it was completely broken - instead remove the header and set it again after we send. svn path=/trunk/; revision=13641
* Unhook from all events before removing folder.22001-10-132-1/+23
| | | | | | | | | | | | | 2001-10-12 <NotZed@Ximian.com> * camel-vee-folder.c (camel_vee_folder_remove_folder): Unhook from all events before removing folder. (camel_vee_folder_add_folder): Hook onto delete event. (camel_vee_folder_finalise): Unhook from deleted event for suibfolder. (subfolder_deleted): When the folder is deleted, remove it from the vfolder automagically. svn path=/trunk/; revision=13639
* convert the uids list to a subset appropriate for each subfolder before12001-10-122-8/+25
| | | | | | | | | | 2001-10-11 <NotZed@Ximian.com> * camel-vee-folder.c (vee_search_by_uids): convert the uids list to a subset appropriate for each subfolder before trying to search on it. svn path=/trunk/; revision=13607
* Removed charset/locale charset lookup and iconv_open/close functions,12001-10-1215-361/+58
| | | | | | | | | 2001-10-11 <NotZed@Ximian.com> * camel-charset-map.[ch]: Removed charset/locale charset lookup and iconv_open/close functions, moved to gal. Fixed all callers. svn path=/trunk/; revision=13602
* Same.Jeffrey Stedfast2001-10-123-10/+23
| | | | | | | | | | | 2001-10-11 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (ssl_cert_is_saved): Same. * camel-tcp-stream-openssl.c (ssl_cert_is_saved): Instead of opening the file, stat it and make sure that it belongs to us. svn path=/trunk/; revision=13600
* Same hack as below.Jeffrey Stedfast2001-10-114-1/+111
| | | | | | | | | | | 2001-10-10 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.c (ssl_verify): Same hack as below. * camel-tcp-stream-ssl.c (ssl_bad_cert): Hack around the fact that adding a cert to nss's certdb seems to not work. svn path=/trunk/; revision=13575
* Only re-build the folder if we're expunging. Also only clear out the02001-10-112-5/+13
| | | | | | | | | | 2001-10-10 <NotZed@Ximian.com> * camel-vee-folder.c (vee_sync): Only re-build the folder if we're expunging. Also only clear out the changed folders list if we're expungung and everything worked. svn path=/trunk/; revision=13573
* slight wording changes, mainly LGPL=>GPLMichael Zucci2001-10-111-6/+7
| | | | svn path=/trunk/; revision=13572
* Added a hack for Solaris systems.Jeffrey Stedfast2001-10-112-3/+11
| | | | | | | | | 2001-10-10 Jeffrey Stedfast <fejj@ximian.com> * camel-charset-map.c (camel_charset_map_init): Added a hack for Solaris systems. svn path=/trunk/; revision=13569
* oops, we want get_unread_message_count, not get_message_count!02001-10-113-2/+15
| | | | | | | | | | | | | | 2001-10-10 <NotZed@Ximian.com> * providers/local/camel-maildir-store.c (scan_dir): oops, we want get_unread_message_count, not get_message_count! 2001-10-09 <NotZed@Ximian.com> * camel-service.c (camel_service_disconnect): Duplicate connect code that unregisters a cancel op if we created one. svn path=/trunk/; revision=13561
* updatedJeffrey Stedfast2001-10-111-6/+4
| | | | svn path=/trunk/; revision=13559
* Another go at getting the logic right again. Make transients only update92001-10-102-5/+21
| | | | | | | | | | | 2001-10-09 <NotZed@Ximian.com> * camel-operation.c (camel_operation_progress): Another go at getting the logic right again. Make transients only update after 5 seconds (CAMEL_OPERATION_TRANSIENT_DELAY) (camel_operation_end): Likewise. svn path=/trunk/; revision=13536
* Forgot a little bit of debug.Michael Zucci2001-10-101-1/+1
| | | | svn path=/trunk/; revision=13534
* Implement.92001-10-1011-160/+632
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-09 <NotZed@Ximian.com> * providers/local/camel-spool-folder.c (spool_search_by_uids): Implement. * providers/imap/camel-imap-search.c (imap_body_contains): If searching a sub-set of the total message count, then use a UID range to search only specific messages. * camel-vee-folder.c (vee_folder_change_match): Removed. (folder_changed_add_uid): Helper func for changed code. (folder_changed_remove_uid): " (folder_changed_change_uid): " (folder_changed): Rewritten. Supports proper auto-updating of changes, but not removals till a sync occurs. (vee_search_by_uids): Implement. (folder_changed): Changed to call an async threaded function to do the actual folder updating. * camel-folder-summary.c (camel_flag_list_copy): New func to copy a whole list of flags. (camel_tag_list_copy): New func to copy a whole list of flags. * providers/imap/camel-imap-folder.c (imap_search_by_uids): Implement. * providers/local/camel-local-folder.c (local_search_by_uids): Implement. * camel-folder.c (camel_folder_search_by_uids): New function, search a subset of uid's. (search_by_uids): Default impl, return error. svn path=/trunk/; revision=13532
* replace the ever-growing list of gbooleans with a single guint32 forDan Winship2001-10-0912-49/+64
| | | | | | | | | | | | | | | | | | | | | | * camel-folder.h (struct _CamelFolder): replace the ever-growing list of gbooleans with a single guint32 for flags. * camel-folder.c: Update folder flag setting/checking. * providers/pop3/camel-pop3-folder.c (camel_pop3_folder_init): * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): * providers/local/camel-spool-folder.c (spool_init, camel_spool_folder_new): * providers/local/camel-maildir-folder.c (camel_maildir_folder_new): * providers/local/camel-local-folder.c (local_init): * providers/imap/camel-imap-folder.c (camel_imap_folder_init, camel_imap_folder_new): * camel-vtrash-folder.c (camel_vtrash_folder_init): * camel-vee-folder.c (camel_vee_folder_init): * camel-digest-folder.c (camel_digest_folder_init): update folder flag setting. svn path=/trunk/; revision=13509
* Unlock the store before returning error. (noted by NotZed)Dan Winship2001-10-092-1/+8
| | | | | | | * providers/imap/camel-imap-store.c (get_folder_online): Unlock the store before returning error. (noted by NotZed) svn path=/trunk/; revision=13501
* Fix a slight error in logic. Just because the last word was an encodedJeffrey Stedfast2001-10-072-9/+24
| | | | | | | | | | | 2001-10-06 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_decode_text): Fix a slight error in logic. Just because the last word was an encoded word doesn't mean we ignore the lwsp padding, we only ignore it if the last word and *this* word are encoded. svn path=/trunk/; revision=13490
* Implemented uuencoding and decoding. (complete): Implemented uuencodingJeffrey Stedfast2001-10-065-3/+199
| | | | | | | | | | | | | | 2001-10-06 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-basic.c (filter): Implemented uuencoding and decoding. (complete): Implemented uuencoding and decoding. * camel-mime-utils.c (uuencode_close): New function to flush the uu encoder. (uuencode_step): New function to uuencode a block of data. svn path=/trunk/; revision=13476
* Use a folder_subscribed event rather than a folder_created one.52001-10-063-8/+41
| | | | | | | | | | | | | | | | | | 2001-10-05 <NotZed@Ximian.com> * providers/imap/camel-imap-store.c (subscribe_folder): Use a folder_subscribed event rather than a folder_created one. (unsubscribe_folder): Similarly for unsubscribed/deleted. (create_folder): Emit a folder_created event on the folders we added. Not sure hsould probably check which ones are new and which ones are just existing ones? (delete_folder): Emit a folder_deletd event when we've deleted the folder. Part of fix for #11831. * camel-store.c (camel_store_class_init): Added folder_subscribed/unsubscribed events. svn path=/trunk/; revision=13471
* Turn off warnings. (get_name): Same.Jeffrey Stedfast2001-10-066-55/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-05 Jeffrey Stedfast <fejj@ximian.com> * camel-service.c (camel_service_finalize): Turn off warnings. (get_name): Same. * camel-sasl.c (sasl_challenge): Turn off warnings. * camel-tcp-stream.c (tcp_connect): Turn off warnings. (tcp_getsockopt): Same. (tcp_setsockopt): Here too. (tcp_get_socket): And here. * camel-folder.c (folder_sync): Turn off warnings. (expunge): Same. (append_message): Here too. (get_message): And here. (search_by_expression): And again here. (folder_changed): Here too. * camel-store.c (get_folder): Set an exception and turn off debugging g_warnings. (create_folder): Same. (delete_folder): Here too. (rename_folder): And here. (get_trash): And here. (get_folder_info): Same. (free_folder_info): And again here. (camel_folder_info_build): Here too. (folder_subscribed): Same. (subscribe_folder): Here too. (unsubscribe_folder): And here. svn path=/trunk/; revision=13458
* Try harder to get broken names out of addresses. Unencoded ,'s in names52001-10-062-7/+46
| | | | | | | | | | | | | 2001-10-05 <NotZed@Ximian.com> * camel-mime-utils.c (header_decode_mailbox): Try harder to get broken names out of addresses. Unencoded ,'s in names will still break it, but well what can you do eh? (header_decode_mailbox): Always add .'s into address we've scanned past a '.', even if we can't decode the next part. Fix for some annoying bug #. svn path=/trunk/; revision=13453
* Change the order of execution slightly. We delete the folder first, then42001-10-063-14/+28
| | | | | | | | | | | | 2001-10-04 <NotZed@Ximian.com> * camel-store.c (camel_store_delete_folder): Change the order of execution slightly. We delete the folder first, then call the classes delete folder, then cleanup the hashtable afterwards. This is so deletes of vfolders work, since vee-store uses the folder hashtable to store all of is vfolders :-/ svn path=/trunk/; revision=13448
* tedfast <fejj@ximian.com>Jeffrey Stedfast2001-10-051-0/+5
| | | | | | | | | tedfast <fejj@ximian.com> * camel-service.c (camel_service_connect): Unregister the operation before unreffing it. svn path=/trunk/; revision=13413
* Unregister the operation before unreffing it.Jeffrey Stedfast2001-10-051-0/+4
| | | | | | | | | 2001-10-04 Jeffrey Stedfast <fejj@ximian.com> * camel-service.c (camel_service_connect): Unregister the operation before unreffing it. svn path=/trunk/; revision=13412
* Remove now unused 'recents' array/freeing func.32001-10-043-11/+17
| | | | | | | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * providers/imap/camel-imap-folder.c (camel_imap_folder_changed): Remove now unused 'recents' array/freeing func. * camel-object.c (camel_object_trigger_event): Oops, always run the prep function, even if we have no hooks listening. Causes incoming imap recents to get ignored bythe camel-folder filter inbox code. svn path=/trunk/; revision=13398
* Dont explicitly save metadata, its saved in summary_sync.32001-10-046-50/+43
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * providers/local/camel-local-folder.c (local_sync): Dont explicitly save metadata, its saved in summary_sync. * providers/local/camel-mh-summary.c: Call superclass. (mh_summary_check): Dont save ibex. * providers/local/camel-maildir-summary.c: Call superclass method. (maildir_summary_check): Dont save ibex explictly. * providers/local/camel-mbox-summary.c: Call super-class sync when done, saves summary/ibex, etc. (mbox_summary_check): Dont save ibex. (mbox_summary_sync): Call summary_check rather than trying to update from our known position. * providers/local/camel-local-summary.c (camel_local_summary_check): Dont save the summary or index here. (local_summary_sync): Save the summary/index here. svn path=/trunk/; revision=13397
* Added MATCH_NEWLINE flag, -> REG_NEWLINE.32001-10-045-7/+25
| | | | | | | | | | | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * camel-search-private.c (camel_search_build_match_regex): Added MATCH_NEWLINE flag, -> REG_NEWLINE. * camel-lock-helper.c: Include <string.h> to kill some warnings. * camel-filter-search.c (get_full_header): Put \n's between each line we generate. (header_full_regex): Dont drop the first argument to the command -> empty matches! (header_full_regex): Set match_newline for building regex. (body_regex): And here too. These all fix #9877. svn path=/trunk/; revision=13392
* Call camel_folder_delete() on the folder if it's "alive".Jeffrey Stedfast2001-10-044-23/+83
| | | | | | | | | | | | | | | | 2001-10-03 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (camel_store_delete_folder): Call camel_folder_delete() on the folder if it's "alive". * camel-folder.c (camel_folder_delete): Mark the folder as deleted, perform any folder specific cleanup and emit the deleted event. (camel_folder_sync): Only sync the folder if it hasn't been deleted. (camel_folder_expunge): Same. svn path=/trunk/; revision=13388
* Strange are the ways of alloca. Fixes 11543.Dan Winship2001-10-032-1/+9
| | | | | | | * providers/local/camel-local-provider.c (local_url_equal): Strange are the ways of alloca. Fixes 11543. svn path=/trunk/; revision=13375
* remove unused variableJeffrey Stedfast2001-10-031-1/+0
| | | | svn path=/trunk/; revision=13364
* Import the certificate if the user accepts it.Jeffrey Stedfast2001-10-032-20/+16
| | | | | | | | | 2001-10-02 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (ssl_bad_cert): Import the certificate if the user accepts it. svn path=/trunk/; revision=13363
* for hashing/comparing local url's, we ignore trailing /'s in paths (maybe22001-10-032-12/+99
| | | | | | | | | | | 2001-10-02 <NotZed@Ximian.com> * providers/local/camel-local-provider.c (local_url_hash, local_url_equal): for hashing/comparing local url's, we ignore trailing /'s in paths (maybe shuld handle multiple /'s too). (camel_provider_module_init): Use local_url_hash/equal for all functions. svn path=/trunk/; revision=13362
* Change to camel_charset_iconv_open/close.22001-10-038-22/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-02 <NotZed@Ximian.com> * camel-sasl-digest-md5.c (digest_response): Change to camel_charset_iconv_open/close. * camel-pgp-context.c (pgp_verify): Change to camel_charset_iconv_open/close. * camel-mime-part-utils.c (convert_buffer): Change to camel_charset_iconv_open(). * camel-mime-filter-charset.c (camel_mime_filter_charset_new_convert, finalise): Change to camel_charset_iconv_open, etc. * camel-mime-utils.c: Use the camel_charset_iconv_open/close() functions to open/close it. * camel-charset-map.c (camel_charset_iconv_open): New function, wrap iconv_open, so we can cache ic's. (camel_charset_iconv_close): Likewise for close. (camel_charset_map_init,shutdown): Init/free iconv cache. svn path=/trunk/; revision=13361
* Revert my x-unknown special-case hack - this may mask other problems.Jeffrey Stedfast2001-10-033-8/+24
| | | | | | | | | | | | | 2001-10-02 Jeffrey Stedfast <fejj@ximian.com> * camel-charset-map.c (camel_charset_to_iconv): Revert my x-unknown special-case hack - this may mask other problems. * camel-mime-utils.c (rfc2047_decode_word): If the iconv conversion fails, for whatever reason, retry using the user's locale charset. svn path=/trunk/; revision=13359
* Go back to using the store url's path, not the toplevel_dir thing.22001-10-033-4/+10
| | | | | | | | | | | | 2001-10-02 <NotZed@Ximian.com> * providers/local/camel-maildir-store.c (get_folder_info): Go back to using the store url's path, not the toplevel_dir thing. * camel-operation.c (camel_operation_progress): Fix the progress logic, so we dont update too often. svn path=/trunk/; revision=13354
* Change the lock to a recursive e-mutex. (camel_object_hook_event):22001-10-032-136/+89
| | | | | | | | | | | | | | | | | | | | | 2001-10-02 <NotZed@Ximian.com> * camel-object.c (camel_object_get_hooks): Change the lock to a recursive e-mutex. (camel_object_hook_event): Maintain list length of hook list. (camel_object_unhook_event): " (camel_object_unhook_event): If we are in an event, just mark the pair as removed, without removing it. (camel_object_trigger_event): Before running events, copy the list, and also ignore 'removed' events. After running events, if we're all out of events, then free up any pending-removed events. (camel_object_free_hooks): Add some new assertions on the state of the hook structure. Removed the #error if threads not defined. It _should_ actually work without threads. (camel_object_free_hooks): Free mutex when done. svn path=/trunk/; revision=13347
* Shoo! Shoo!Dan Winship2001-10-031-6/+0
| | | | svn path=/trunk/; revision=13310
* Remove any cached messages that belonged to the deleted folder.Jeffrey Stedfast2001-10-022-6/+63
| | | | | | | | | | | | | 2001-10-01 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (delete_folder): Remove any cached messages that belonged to the deleted folder. (subscribe_folder): Don't ever let the info->name be NULL and don't use the stupid concat kludge to generate the URL, just use a CamelURL to do it. This way we don't risk breaking stuff by having a url like imap://fejj@imap//folder svn path=/trunk/; revision=13288
* If the charset is x-unknown, return the locale_charset.Jeffrey Stedfast2001-10-022-1/+10
| | | | | | | | | 2001-10-01 Jeffrey Stedfast <fejj@ximian.com> * camel-charset-map.c (camel_charset_to_iconv): If the charset is x-unknown, return the locale_charset. svn path=/trunk/; revision=13281
* Fix up the provider flags to specify things more completely so we don'tDan Winship2001-10-024-9/+32
| | | | | | | | | | | | | | * camel-provider.h: Fix up the provider flags to specify things more completely so we don't have to hardcode provider names in the mailer. * providers/local/camel-local-provider.c: MH, mbox, and Maildir are LOCAL. MH and mbox are no longer STORAGE by the new definition. * camel-session.c (vee_provider): The vfolder store is a STORAGE. svn path=/trunk/; revision=13276
* Don't munge the URL; CamelSession's caching relies on it not changing.Dan Winship2001-10-027-42/+49
| | | | | | | | | | | | | | | | | | | | * providers/local/camel-local-store.c (construct): Don't munge the URL; CamelSession's caching relies on it not changing. Instead, add a toplevel_dir field to CamelLocalStore, and set that to the path, but always ending with /. (camel_local_store_finalize): Free toplevel_dir (camel_local_store_get_toplevel_dir): Return toplevel_dir rather than url->path. * providers/local/*: Lots of s/url->path/toplevel_dir/ * providers/local/camel-spool-store.c (construct): Likewise, don't try to strip a trailing / from url->path here, but I didn't make the corresponding toplevel_dir change, because there's no good reason someone should expect "/var/spool/mail/danw/" to work since that's not a directory. svn path=/trunk/; revision=13264
* if STAT returns 0, don't bother sending UIDL. Speeds things up slightlyDan Winship2001-10-012-0/+14
| | | | | | | | | * providers/pop3/camel-pop3-folder.c (pop3_refresh_info): if STAT returns 0, don't bother sending UIDL. Speeds things up slightly and also works around a bug in a particular random POP server. (ximian bug 11369). svn path=/trunk/; revision=13257
* Add --no-secmem-warning and --no-greeting to the gpg command-line options.Jeffrey Stedfast2001-09-302-0/+20
| | | | | | | | | | | | | 2001-09-29 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (pgp_sign): Add --no-secmem-warning and --no-greeting to the gpg command-line options. (pgp_clearsign): Same. (pgp_verify): Here too. (pgp_encrypt): And here. (pgp_decrypt): And finally here. svn path=/trunk/; revision=13251
* Same here.Jeffrey Stedfast2001-09-293-14/+34
| | | | | | | | | | | 2001-09-28 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-search.c (get_source): Same here. * camel-mime-message.c (camel_mime_message_set_source): Don't use the e_url_shroud hack, use CamelURL functions instead. svn path=/trunk/; revision=13240
* Init the nntp url hash and url_equal functions.Jeffrey Stedfast2001-09-299-7/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-28 Jeffrey Stedfast <fejj@ximian.com> * providers/nntp/camel-nntp-provider.c (camel_provider_module_init): Init the nntp url hash and url_equal functions. * providers/sendmail/camel-sendmail-provider.c (camel_provider_module_init): Init the sendmail url hash and url_equal functions. * providers/smtp/camel-smtp-provider.c (camel_provider_module_init): Init the smtp url hash and url_equal functions. * providers/pop3/camel-pop3-provider.c (camel_provider_module_init): Init the pop3 url hash and url_equal functions. * providers/imap/camel-imap-provider.c (camel_provider_module_init): Init the imap url hash and url_equal functions. * providers/local/camel-local-provider.c (camel_provider_module_init): Init the local url hash and url_equal functions. * camel-session.c (camel_session_class_init): Init the vfolder url hash and url_equal functions. * camel-provider.h: Added url_hash and url_equal function pointers to the structure. * camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a CamelFolder is not a CamelFolderClass. svn path=/trunk/; revision=13237
* Oops, a CamelFolder is not a CamelFolderClass.Jeffrey Stedfast2001-09-292-3/+11
| | | | | | | | | 2001-09-28 Jeffrey Stedfast <fejj@ximian.com> * camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a CamelFolder is not a CamelFolderClass. svn path=/trunk/; revision=13217
* Make this take an SSL * instead of a CamelTcpStreamSSL *, since it can getDan Winship2001-09-282-5/+12
| | | | | | | | | * camel-tcp-stream-openssl.c (ssl_error_to_errno): Make this take an SSL * instead of a CamelTcpStreamSSL *, since it can get called from open_ssl_connection, when the CamelTcpStreamSSL isn't set up right yet. Fixes a crash on connection failure. svn path=/trunk/; revision=13213
* Grab the store's command_lock before grabbing the folder's cache_lock toDan Winship2001-09-282-2/+29
| | | | | | | | | | | | | | | | * providers/imap/camel-imap-folder.c (camel_imap_folder_fetch_data): Grab the store's command_lock before grabbing the folder's cache_lock to prevent deadlock if another thread is processing an EXPUNGE response. * providers/imap/camel-imap-folder.c (imap_expunge_uids_resyncing): Fix a compiler warning that might point out a real bug... * providers/imap/camel-imap-folder.c (get_content): and one that doesn't svn path=/trunk/; revision=13209
* Minor style change to operation_registered.Michael Zucci2001-09-281-6/+4
| | | | svn path=/trunk/; revision=13206
* Dont re-register the connect_op if we got it by calling72001-09-282-4/+12
| | | | | | | | | | | | 2001-09-27 <NotZed@Ximian.com> * camel-service.c (camel_service_connect): Dont re-register the connect_op if we got it by calling 'operation_registered', which returns an already-registered one. (camel_service_disconnect): Likewise here. This removes all the re-registered warnings. svn path=/trunk/; revision=13205
* Fill the finalised data with nonsense, rather than 0's - more easily72001-09-283-28/+218
| | | | | | | | | | | | | | | | | 2001-09-27 <NotZed@Ximian.com> * camel-object.c (camel_object_unref): Fill the finalised data with nonsense, rather than 0's - more easily detect bad data. (camel_object_new): Clear instance data when we retrieve it off the list. * camel-object.h (_CamelObject): Added an event lock pointer for uh, locking event stuff. Also change the hooklist hashtable into a list. Changed all the code to handle it. Result: thread-safe events, event-hooks, and save memory too, and SHOULD FINALLY FIX THAT UNREAD COUNT PROBLEM. svn path=/trunk/; revision=13201
* CRLF decode the stream before parsing it into a MIME part. This fixes bugJeffrey Stedfast2001-09-283-3/+35
| | | | | | | | | | | 2001-09-27 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-mime.c (camel_pgp_mime_part_decrypt): CRLF decode the stream before parsing it into a MIME part. This fixes bug #10521. * camel-store.c: Remove the old folder from the vTrash folder. svn path=/trunk/; revision=13199
* Change "gboolean connected" to "CamelServiceConnectionStatus status",Dan Winship2001-09-278-29/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-service.c: Change "gboolean connected" to "CamelServiceConnectionStatus status", which can be disconnected, connecting, connected, or disconnecting. (camel_service_init, camel_service_finalize): create/destroy the connect_op_lock. Refer to service->status rather than service->connected. (camel_service_connect): When connecting, note the current operation (and create a new one if there's none registered) and mark the connection "connecting" until we succeed or fail. (camel_service_disconnect): Likewise in reverse. (camel_service_cancel_connect): New function to cancel a connection attempt. (cancel_connect): Default implementation: Call camel_operation_cancel on the connect_op. * camel-disco-store.c (disco_connect): Only call CamelRemoteStore's connect func if we're online. (disco_cancel_connect): Fall back to offline if a connection gets cancelled. (disco_get_folder_info): Kludge: call connect explicitly before deciding whether to do the online or offline version, so if the connect fails, we fall back correctly. * camel-session.c (camel_session_get_service_connected): s/svc->connected/svc->status/ * camel-remote-store.c (camel_remote_store_finalise): Change service->connected check to service->status check. (remote_connect): Don't set service->connected here: camel_service_connect() itself does that. * camel-operation.c (camel_operation_registered): Deal with the possibility that there's no registered op. svn path=/trunk/; revision=13191
* If we get a search error, just abort, dont try and fall back and copy to62001-09-272-22/+63
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-26 <NotZed@Ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): If we get a search error, just abort, dont try and fall back and copy to inbox. (camel_filter_driver_filter_message): Make sure we ALWAYS use exceptions for important things - like moving messages to inbox! (camel_filter_driver_filter_message): If we have the source folder, use camel_folder_set_message_flags rather then poking the info directly, which skips changed events. This means filtering immediate doesn't lose changed events. (do_flag): Same here. (do_colour): Same thing but using set_tag. (do_score): Same again. (camel_filter_driver_filter_folder): Use ~0 as the 'set' arg to set_flags, just saves typing. (open_folder): We cache folders that we couldn't open as well as those ones we could. Use magic token FOLDER_INVALID = (void *)~0 as the marker. (close_folder): Handle FOLDER_INVALID case properly. svn path=/trunk/; revision=13169
* New function to convenience Larry ;-) (check_content_id): Oops, returnJeffrey Stedfast2001-09-272-4/+7
| | | | | | | | | | | | | | | | 2001-09-26 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c (camel_mime_message_get_part_by_content_id): New function to convenience Larry ;-) (check_content_id): Oops, return !found instead of found. This callback has to return whether or not to keep searching, not whether or not it found what it's looking for. Do'h! * camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): block out some code if ENABLE_PEDANTIC_PGPMIME is not defined. svn path=/trunk/; revision=13168
* fixed merge conflictsJeffrey Stedfast2001-09-271-1/+0
| | | | svn path=/trunk/; revision=13166
* New function to convenience Larry ;-)Jeffrey Stedfast2001-09-274-4/+64
| | | | | | | | | | | | | 2001-09-26 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c (camel_mime_message_get_part_by_content_id): New function to convenience Larry ;-) * camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): block out some code if ENABLE_PEDANTIC_PGPMIME is not defined. svn path=/trunk/; revision=13165
* Emptied VeeStorePrivate, member wasn't used.62001-09-274-23/+38
| | | | | | | | | | | | | | | | | | | | | | 2001-09-26 <NotZed@Ximian.com> * camel-vee-store.c: Emptied VeeStorePrivate, member wasn't used. * camel-vee-folder.c (camel_vee_folder_set_expression): Lock changed list separately. (camel_vee_folder_remove_folder): " (camel_vee_folder_set_folders): Use changed_lock for changed list. (vee_refresh_info): Use changed_lock, also just grab the list, reset it in the lock, and do the work unlocked. (vee_sync): Use changed lock for changed list. (folder_changed): ". All this kills a deadlock with sync/expunge. * camel-private.h (CamelVeeFolderPrivate): Added a new lock for the folders-changed list. (CamelVeeStorePrivate): Removed, defined in camel-vee-store.c, thanks to a pedantic. svn path=/trunk/; revision=13163
* Fix Ettore's fix.Jeffrey Stedfast2001-09-272-6/+10
| | | | | | | | 2001-09-26 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Fix Ettore's fix. svn path=/trunk/; revision=13154
* No longer takes a remember argument. (pgp_sign): Only uncache theJeffrey Stedfast2001-09-263-24/+30
| | | | | | | | | | | | | | | 2001-09-25 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (camel_pgp_context_new): No longer takes a remember argument. (pgp_sign): Only uncache the passphrase on failure. (pgp_clearsign): Same. (pgp_encrypt): Here too. (pgp_decrypt): And here. (pass_free): New function to zero the passphrase before freeing it. svn path=/trunk/; revision=13138
* [Patch for Automake 1.5 compatibility pointed out by RichardEttore Perazzoli2001-09-263-13/+12
| | | | | | | | | | | | Boulton <richard@tartarus.org>, as per #9258.] * providers/nntp/Makefile.am: Remove some commented parts that make Automake 1.5 choke. * Makefile.am (camel-lock-helper): Add $(EXEEXT) for Automake 1.5 compatibility. svn path=/trunk/; revision=13137
* Only unref info if we got it.52001-09-262-4/+8
| | | | | | | | | 2001-09-25 <NotZed@Ximian.com> * camel-folder.c (get_unread_message_count): Only unref info if we got it. svn path=/trunk/; revision=13130
* Fix for !threads enabled not ccompiling. (camel_operation_ref): Assert52001-09-263-159/+166
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-25 <NotZed@Ximian.com> * camel-operation.c (camel_operation_unref): Fix for !threads enabled not ccompiling. (camel_operation_ref): Assert refcount > 0. (struct _CamelOperation): Removed the lock. On further investigation, I dont think this will always work, the registration operations assume that a lookup in the operation_active table will return a ref, that will remain valid until we ref it, which needn't be the case. So now i'm using a single global lock, since we'd need to do that for unref anyway, and every operation is fast & memory-bound. Changed all the code to handle this. (camel_operation_progress_count): Since the code is identical, just call progress() for now. (camel_operation_register): No longer refcount, use unref to check/clear the active table. (camel_operation_unregister): Same here. (camel_operation_unref): Check if operation is in active table, if so, warn, remove. svn path=/trunk/; revision=13125
* call SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sureDan Winship2001-09-262-4/+41
| | | | | | | | | | | | * camel-tcp-stream-openssl.c (my_SSL_read, my_SSL_write): call SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure there's a perfectly good reason that the API works this way. No, really. (stream_read, stream_write): use my_SSL_read and my_SSL_write. Fixes at least ximian 8593, and probably 6024 and maybe 10366, at least for OpenSSL. There may be a parallel NSS bug? svn path=/trunk/; revision=13121
* A "safe write" function that always writes out all data asked of it, till52001-09-262-31/+50
| | | | | | | | | | | | 2001-09-25 <NotZed@Ximian.com> * camel-stream-buffer.c (stream_write_all): A "safe write" function that always writes out all data asked of it, till finished. (stream_write): Rewritten. What was i on when i wrote that originally, how did it ever work with tcp streams ... svn path=/trunk/; revision=13115
* Set the exception to FOLDER_INVALID rather than making out it worked. A42001-09-252-0/+12
| | | | | | | | | | 2001-09-24 <NotZed@Ximian.com> * camel-folder.c (append_message): Set the exception to FOLDER_INVALID rather than making out it worked. A fix for #7025. (search_by_expression): Here too. svn path=/trunk/; revision=13106
* In the 'lose' case, free messages, not fetch_data twice!42001-09-252-1/+4
| | | | | | | | | 2001-09-24 <NotZed@Ximian.com> * providers/imap/camel-imap-folder.c (imap_update_summary): In the 'lose' case, free messages, not fetch_data twice! svn path=/trunk/; revision=13101
* If the type is encoded, get the fallback charset from the message42001-09-2512-140/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-24 <NotZed@Ximian.com> * camel-filter-search.c (check_header): If the type is encoded, get the fallback charset from the message content-type. * camel-mime-part-utils.c (check_html_charset): Dont check for charset==null before calling charset_to_iconv. (simple_data_wrapper_construct_from_parser): " * camel-mime-message.c (process_header): Try use content-type charset param as the fallback charset. * camel-charset-map.c (camel_charset_to_iconv): Handle name == NULL, return NULL. * camel-folder-summary.c (camel_folder_summary_format_address): (camel_folder_summary_format_string): Made private again, removed #warning about it. Renamed to s/camel_folder//. (summary_format_string): Take default charset param. (camel_message_info_new_from_header, message_info_new): Decode content-type field to get the charset parameter to use as the default charset for decoding strings. * camel-search-private.c (camel_search_header_match): Pass NULL as the charset, the locale charset is always tried. (camel_search_header_match): Supply a default_charset parameter to be used with TYPE_ENCODED params. * camel-mime-utils.c (header_param): get rid of the g_strcasecmp crap. (header_set_param): Same here. (header_decode_param_list): And here. (header_decode_text): Totally rewritten. 30% of its size. If the word is not rfc2047 encoded, always try default_charset if supplied, if that fails, try locale charset if it exists, if that fails then assume latin1/7 bit ascii. (append_8bit): Changed to return FALSE if we can't convert for whatever reason, and dont append anything. * camel-mime-part.h (struct _CamelMimePart): Move content_type and headers out of the 'private' section. * camel-mime-part.c (get_headers): Dont do any conversion on the header. (process_header): Get the content-type charset as the fallback charset for decode_string. (construct_from_parser): IF we have a content-type header, process it before doing anything else, so we have access to a fallback charset for invalid headers. svn path=/trunk/; revision=13096
* fixed compile warningJeffrey Stedfast2001-09-241-3/+2
| | | | svn path=/trunk/; revision=13090
* Don't even try to alert the user if the session isn't interactive.Jeffrey Stedfast2001-09-243-27/+43
| | | | | | | | | | | | | | | | | 2001-09-23 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.c (ssl_verify): Don't even try to alert the user if the session isn't interactive. (errlib_error_to_errno): Make the default errno EINTR so that we act just like CamelTcpStreamSSL. * camel-pgp-context.c (pgp_sign): When the password is not provided, set the exception to USER_CANCEL. (pgp_clearsign): Same. (pgp_encrypt): And here. (pgp_decrypt): Here too. svn path=/trunk/; revision=13088
* Set the exception if create_folder isn't implemented.12001-09-222-0/+8
| | | | | | | | | 2001-09-21 <NotZed@Ximian.com> * camel-store.c (create_folder): Set the exception if create_folder isn't implemented. svn path=/trunk/; revision=13056
* Go back to not using camel_folder_info_build() here because this seems toJeffrey Stedfast2001-09-222-4/+18
| | | | | | | | | | | 2001-09-21 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (create_folder): Go back to not using camel_folder_info_build() here because this seems to break folder creation (returning nodes from the root path when it shouldn't be?). svn path=/trunk/; revision=13054
* Force a refresh of vfolders before storing their count. This essentially12001-09-214-3/+101
| | | | | | | | | | | | | | | | | | | | | | | | 2001-09-21 <NotZed@Ximian.com> * camel-vee-store.c (vee_get_folder_info): Force a refresh of vfolders before storing their count. This essentially makes 'get_folderinfo' refresh all vfolders, so that get-mail works as expected. * camel-vee-folder.c (camel_vee_folder_finalise): Clear lists. (folder_changed): If we're not autoupdating the folder, then add this folder to the list of 'changed' folders for this vfolder. (camel_vee_folder_set_expression): Reset the folders_changed list. (camel_vee_folder_remove_folder): Remove the folder from the folders_changed list. (camel_vee_folder_set_folders): If we have a folder already, but its changed, use this opportunity to update it. (vee_sync): Remove any synced folders from the folders_changed list. (vee_refresh_info): Refresh folder, re-run queries on any changed folders. svn path=/trunk/; revision=13045
* New function to just load the summary. Not much use yet, until unreadMichael Zucci2001-09-215-1/+96
| | | | | | | | | | | | | | | | | | | | | * camel-folder-summary.c (camel_folder_summary_header_load): New function to just load the summary. Not much use yet, until unread counts are stored in the summary (which now looks like too much work!). * camel-mime-utils.c (header_decode_mailbox): Crappy fix for stupid mailers. If we get 'name b. name <foo>' then treat it as '"name b. name" <foo>'. See 8147. (header_decode_mailbox): Another fix for really broken mailers that have things that look like addresses followed by <address> bits. (rfc2047_encode_word): Escape ??= to avoid some bizarre warning about trigraphs. (scan_dir): If we dont have the folder open, then scan the 'new' and 'cur' folders for new and unread messages to count instead. svn path=/trunk/; revision=13040
* Setup unread count properly, and also setup the url properly.Michael Zucci2001-09-214-13/+36
| | | | | | | | | | | | * providers/local/camel-local-folder.c (camel_local_folder_construct): Setup unread count properly, and also setup the url properly. (scan_dir): Dont include empty host part in url for folder. (scan_dir): Lookup folder counts for any folders we currenty have open. svn path=/trunk/; revision=13035
* Build the path on the folderinfo.02001-09-2111-27/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * providers/local/camel-maildir-store.c (camel_folder_info_new): Build the path on the folderinfo. * providers/local/camel-spool-store.c (get_folder_info): If we have this folder open, then set unread from the folder itself. (get_folder_info): Change the INBOX path to not include the leading /. * providers/local/camel-spool-folder.c (camel_spool_folder_construct): Fix path. (camel_spool_folder_construct): Properly setup the url field when we say we've got a new folder created. * providers/imap/camel-imap-store.c (unsubscribe_folder): Build path on folderinfo. * camel-store.c (camel_folder_info_build_path): Prepend / to path. * camel-vee-folder.c (camel_vee_folder_construct): Use macro for unmatched folder name. (camel_vee_folder_new): " * camel-vee-store.c (vee_get_folder_info): Use macro for unmatched folder name. (vee_delete_folder): " (vee_rename_folder): " (vee_get_folder): Prepend / onto path. (vee_delete_folder): Setup path in folderinfo. (vee_get_folder_info): Fix path in folderinfo. * camel-vee-folder.h (CAMEL_UNMATCHED_NAME): New define for unmatched (internal) name. svn path=/trunk/; revision=13022
* And finally here.Jeffrey Stedfast2001-09-217-27/+108
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-20 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-spool-folder.c (camel_spool_folder_construct): And finally here. * providers/local/camel-local-folder.c (camel_local_folder_construct): And here. * camel-vee-store.c (vee_get_folder): ANd here too. (vee_get_folder_info): And here. * providers/imap/camel-imap-store.c (create_folder): Use camel_folder_info_build() and do better error checking. (subscribe_folder): Set the path on the folder info. * camel-store.c (camel_folder_info_build): Set the folder-info path if it hasn't already been set by the caller. (camel_folder_info_free): Free the path. * camel-store.h: Added a path member to the FolderInfo type. svn path=/trunk/; revision=13019
* Nuke debug warning.Dan Winship2001-09-212-2/+4
| | | | | | * camel-charset-map.c (camel_charset_to_iconv): Nuke debug warning. svn path=/trunk/; revision=13009
* Updated exception strings to be more clear.Jeffrey Stedfast2001-09-203-17/+23
| | | | | | | | | | | 2001-09-19 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c: Updated exception strings to be more clear. * camel-pgp-mime.c (pgp_mime_part_sign_restore_part): Stupid mistake, fixes bug #9975. svn path=/trunk/; revision=13001
* Oops, don't fail if `data' isn't a CamelService...cuz it's not supposed toJeffrey Stedfast2001-09-202-1/+7
| | | | | | | | | | 2001-09-19 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (ssl_bad_cert): Oops, don't fail if `data' isn't a CamelService...cuz it's not supposed to be! It's a CamelTcpStreamSSL object...doh! svn path=/trunk/; revision=12992
* General cleanup of camel debug printfs.92001-09-1918-40/+76
| | | | | | | | | | | | | | | | | 2001-09-19 <NotZed@Ximian.com> * General cleanup of camel debug printfs. * camel-lock.c (camel_lock_fcntl): Changed to return 'success' if the error indicates file locking isn't supported on this filesystem. Still return a warning just incase (if its the first time). Might fix a lot of reported bugs. * providers/local/camel-spool-store.c (get_folder_info): Dont include the empty // host part in the uri. This 'breaks' the service lookup. svn path=/trunk/; revision=12973
* s/List-Owner/List-PostJeffrey Stedfast2001-09-191-1/+1
| | | | svn path=/trunk/; revision=12962
* Match mailing-list header List-Owner.Jeffrey Stedfast2001-09-192-0/+5
| | | | | | | | 2001-09-18 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c: Match mailing-list header List-Owner. svn path=/trunk/; revision=12959
* If filter inbox is set on the store, and we're opening inbox '', then82001-09-1924-146/+544
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-18 <NotZed@Ximian.com> * providers/local/camel-maildir-folder.c (camel_maildir_folder_new): If filter inbox is set on the store, and we're opening inbox '', then enable filtering on new messages. * providers/local/camel-local-folder.c (camel_local_folder_construct): After loading the summary, check it, and only abort if that fails. Also maintain the changes count. * providers/local/camel-local-summary.c (camel_local_summary_load): Remove summary_check code from here. (camel_local_summary_check): Sync index/summary here, if we were successful. * providers/local/camel-spool-folder.c (camel_spool_folder_new): If we have filter-new-messages-on-inbox set and we just opened inbox, turn on filtering on this folder. (camel_spool_folder_construct): Keep track of changes for the folder, so that filter-new-messages works right (?) * providers/local/camel-spool-store.c (get_folder): Pass 'INBOX' as the folder name, not the path. * camel-folder-search.c (search_not): Modified patch from <peterw@ximian.com> since the summary is messageinfo's, not strings. ** Ok so the problem with the stuff below is that maildir/spool 'summary_load' throws away all events, including recents, joy eh? * providers/local/camel-maildir-summary.c (maildir_summary_check): Add new messages to the recent changeinfo. * providers/local/camel-spool-summary.c: Mark 'new' message as recent, for later processing if required (i.e. 'filter new messages'). * camel-store.c (construct): new function, cascade up construct method and check for 'filter' param, and set accordingly for any one that might want it. * providers/imap/camel-imap-store.c (construct): map the param_filter_inbox flag to the store->flags as CAMEL_STORE_FILTER_INBOX. * camel-store.h (CAMEL_STORE_FILTER_INBOX): new flag to tell it to filter inbox. * providers/imap/camel-imap-folder.h: Removed do_filtering flag from CamelImapFolder. * providers/imap/camel-imap-folder.c (imap_update_summary): Remove the 'recents' parameter, use the 'changes' parameter instead to convey this info. (camel_imap_folder_changed): Changed for update_summary api change. Now always just emit the changed event if we have any changes to report, filtering code removed, handled upstream. (filter_proc): (filter_free): Removed old filtering code. (camel_imap_folder_new): Set the filter_recent flag on the folder if we're the inbox and filtering of inbox is enabled. * camel-folder.c (folder_changed): If we have 'recent' messages, and are set to filter recents, then freeze the folder and launch a thread to do the processing (or similar if threading not enabled). (thaw): Make sure we emit the changed signal outside of owning the lock and if things have changed. Also, no longer bother downgrading folder_changed events to message_changed events. * camel-folder.h (struct _CamelFolder): Added filter_recent flag -> signifies all recent messages in folder should be filtered. * camel-session.c: (camel_session_thread_msg_new, camel_session_thread_msg_free, camel_session_thread_queue, camel_session_thread_wait): code to handle async operations as part of camel processing. (camel_session_finalise): free thread_lock, destroy thread, active hash, etc. (camel_session_init): init thread, active hash, etc. (camel_session_class_init): Init virtual functions. (session_thread_msg_new, session_thread_msg_free, session_thread_destroy, session_thread_received, session_thread_queue, session_thread_wait): default implementation of session threads stuff. 2001-09-17 <NotZed@Ximian.com> * camel-folder.c (camel_folder_change_info_recent_uid): New function to add a 'recent' uid to the change info. (camel_folder_change_info_clear): Clear recent list. (camel_folder_change_info_free): Free recent list. (camel_folder_change_info_new): Setup recent list. * camel-folder.h: Added a uid_recent item to the folder_changed event data. * providers/local/camel-maildir-store.c (scan_dir): Free new in the right block. * providers/local/camel-local-provider.c: Add local config entries to filter on new messages in spool and maildir provider. * camel-vee-folder.c (vee_folder_construct): Remove the assertion which stops ? in names from being allowed. svn path=/trunk/; revision=12956
* Virtualize this.Dan Winship2001-09-195-6/+56
| | | | | | | | | | | | | * camel-data-wrapper.c (camel_data_wrapper_is_offline): Virtualize this. * camel-medium.c (is_offline): A medium is offline if its content object is offline. * camel-multipart.c (is_offline): A multipart is offline if any of its subparts are offline. svn path=/trunk/; revision=12948
* Added korean charset conversion.Jeffrey Stedfast2001-09-192-0/+5
| | | | | | | | 2001-09-18 Jeffrey Stedfast <fejj@ximian.com> * camel-charset-map.c: Added korean charset conversion. svn path=/trunk/; revision=12946
* Don't process the ImapResponse data, we don't want to block forever onJeffrey Stedfast2001-09-182-3/+20
| | | | | | | | | | | | 2001-09-17 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (delete_folder): Don't process the ImapResponse data, we don't want to block forever on data we don't care about... (create_folder): Use get_folders_online() instead of get_folder_info_online(). svn path=/trunk/; revision=12932
* Don't process the ImapResponse data, we don't want to block forever onJeffrey Stedfast2001-09-182-8/+9
| | | | | | | | | | 2001-09-17 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (delete_folder): Don't process the ImapResponse data, we don't want to block forever on data we don't care about... svn path=/trunk/; revision=12918
* Reverted previous changes.Jeffrey Stedfast2001-09-183-35/+4
| | | | | | | | 2001-09-17 Jeffrey Stedfast <fejj@ximian.com> * camel-folder.c: Reverted previous changes. svn path=/trunk/; revision=12907
* Helpful install-exec-hook debugging outputJP Rosevear2001-09-182-0/+8
| | | | | | | | 2001-09-17 JP Rosevear <jpr@ximian.com> * Makefile.am: Helpful install-exec-hook debugging output svn path=/trunk/; revision=12901
* New function to get the URI of a folder. (get_uri): DefaultJeffrey Stedfast2001-09-173-1/+42
| | | | | | | | | | 2001-09-16 Jeffrey Stedfast <fejj@ximian.com> * camel-folder.c (camel_folder_get_uri): New function to get the URI of a folder. (get_uri): Default implementation. svn path=/trunk/; revision=12860
* New function, set the complete list of folders on a vfolder, all at once.42001-09-157-33/+326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-14 <NotZed@Ximian.com> * camel-vee-folder.c (camel_vee_folder_set_folders): New function, set the complete list of folders on a vfolder, all at once. (camel_vee_folder_set_expression): If we set the query to be the same thing, dont do anything. * camel-vee-store.c (camel_vee_store_init): Turn off vtrash for this store. * camel-store.c (camel_store_init): Enable vtrash by default via flags. (camel_store_get_trash): REturn NULL if the store doesn't support vtrash. (init_trash): Dont init if store doesn't support vtrash. * camel-store.h: Add a new flags CAMEL_STORE_VTRASH -> store supports vtrash. 2001-09-13 <NotZed@Ximian.com> * camel-vee-store.c (vee_get_folder_info): Implement. (build_info): Used to build a folder record from the folders hashtable. (vee_delete_folder): Implemented, remove folder from hashtable. (vee_rename_folder): Implemented, remove old folder from hashtable, add new one and rename its guts too. * camel-store.c (camel_store_rename_folder): Do nothing if we're not asked to actually change names. Also dont do the renamed cache check till after we've called the subclass. (camel_store_delete_folder): Call the subclass delete firs,t then make sure the cache is right. * camel-vee-folder.c (vee_folder_construct): Remove support for name?query syntax to setup vfolder. Abort if such syntax is used. (camel_vee_folder_new): Removed code that handles ? syntax, etc. (vee_folder_build_folder): Handle unset expression, treat it as an empty search. (camel_vee_folder_set_expression): Oops, actually set the expression. * camel-vtrash-folder.c (camel_vtrash_folder_new): Dont use name?query syntax to setup vfolder, but set the expression directly. Also fixes a small memleak. 2001-09-12 <NotZed@Ximian.com> * camel-store.c (camel_store_delete_folder): Fixed warnings with a cast. (camel_store_rename_folder): " svn path=/trunk/; revision=12854
* Use g_datalist_set_data_full so that the data will be free'd when we clearJeffrey Stedfast2001-09-153-4/+9
| | | | | | | | | 2001-09-14 Jeffrey Stedfast <fejj@ximian.com> * camel-url.c (camel_url_set_param): Use g_datalist_set_data_full so that the data will be free'd when we clear the list. svn path=/trunk/; revision=12838
* Don't claim failure when reading/writing the empty string.Dan Winship2001-09-152-2/+8
| | | | | | | | * camel-file-utils.c (camel_file_util_encode_string, camel_file_util_decode_string): Don't claim failure when reading/writing the empty string. svn path=/trunk/; revision=12829
* use install hook instead of install rule to guarantee we run afterJP Rosevear2001-09-152-27/+30
| | | | | | | | | | | | | 2001-09-14 JP Rosevear <jpr@ximian.com> * Makefile.am: use install hook instead of install rule to guarantee we run after installation 2001-09-14 JP Rosevear <jpr@ximian.com> * configure.in: remove unneeded conditionals svn path=/trunk/; revision=12825
* Don't reuse the exception if it has already been set.Jeffrey Stedfast2001-09-145-15/+49
| | | | | | | | | | | | | | 2001-09-13 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_folder): Don't reuse the exception if it has already been set. (camel_filter_driver_filter_message): Same here. Also use the new return value from camel_filter_search_match(). * camel-filter-search.c (camel_filter_search_match): Return an integer (matched, no-match, or error). svn path=/trunk/; revision=12819
* Do error-checking based on function return values rather than exceptionsJeffrey Stedfast2001-09-142-7/+12
| | | | | | | | | | | 2001-09-13 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-mbox-folder.c (mbox_append_message): Do error-checking based on function return values rather than exceptions as it's possible for them to be NULL. (mbox_get_message): Same. svn path=/trunk/; revision=12814
* Pass an exception to the cache. (imap_append_online): Same.Jeffrey Stedfast2001-09-144-33/+72
| | | | | | | | | | | | | | | | | | | | | | 2001-09-13 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (imap_append_offline): Pass an exception to the cache. (imap_append_online): Same. (imap_append_resyncing): Here too. (imap_copy_offline): And here. (handle_copyuid): Pass NULL as the exception here... (parse_fetch_response): And finally here. * providers/imap/camel-imap-message-cache.c (camel_imap_message_cache_insert): (insert_setup): (camel_imap_message_cache_insert_stream): (camel_imap_message_cache_insert_wrapper): (camel_imap_message_cache_copy): Take an exception argument and set it on error. svn path=/trunk/; revision=12813
* Convert the charset to the iconv-friendly name.Jeffrey Stedfast2001-09-143-3/+30
| | | | | | | | | | | | | | 2001-09-13 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Convert the charset to the iconv-friendly name. * camel-charset-map.c (camel_charset_to_iconv): Add code to convert windows-[cp]#### charsets to their iconv-friendly format of cp####. svn path=/trunk/; revision=12804
* Return -1 on failure.Jeffrey Stedfast2001-09-142-3/+8
| | | | | | | | | 2001-09-13 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (crypto_exec_with_passwd): Return -1 on failure. svn path=/trunk/; revision=12799
* free the source url in the nonfailure case.Larry Ewing2001-09-132-0/+6
| | | | | | | | | 2001-09-12 Larry Ewing <lewing@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_mbox): free the source url in the nonfailure case. svn path=/trunk/; revision=12782
* Change the 'not' virtual method from an immediate e-sexp function to a22001-09-133-3/+87
| | | | | | | | | | | | | | | | 2001-09-12 <NotZed@Ximian.com> * camel-folder-search.h: Change the 'not' virtual method from an immediate e-sexp function to a non-immediate one, which is what it should be. * camel-folder-search.c (search_not): Implement a 'not' function ourselves. If 'not' on a vector value, then not over all items in the summary. (builtings[]): Change the 'not' builtin to be a non-immediate function. svn path=/trunk/; revision=12781
* Unref the message info.Jeffrey Stedfast2001-09-132-1/+9
| | | | | | | | | 2001-09-12 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_mbox): Unref the message info. svn path=/trunk/; revision=12776
* Pass in a hashtalbe used for finding visited nodes. (inode_hash):02001-09-112-26/+80
| | | | | | | | | | | | | | | | | 2001-09-10 <NotZed@Ximian.com> * providers/local/camel-maildir-store.c (get_folder_info): Pass in a hashtalbe used for finding visited nodes. (inode_hash): (inode_equal): (inode_free): Helper functions for visited node checks, hashes on inode + device number. (scan_dir): Dont re-visited directories we've already visited, use inodes + device number. Also, if the folder doesn't contain cur/tmp/new, mark it as noselect, but continue to recurse folders, if asked. svn path=/trunk/; revision=12760
* Progress reporting while moving messages.02001-09-114-7/+56
| | | | | | | | | | | | | | | 2001-09-10 <NotZed@Ximian.com> * camel-folder.c (move_messages_to): Progress reporting while moving messages. * camel-store.c (camel_store_delete_folder): Make sure we remove the folder from our vtrash, if we have it in our opened set, and also remove it from our hashtable. (camel_store_rename_folder): Remove the old folder name from the folder cahce, if it is there. svn path=/trunk/; revision=12758
* Get rid of the g_warning, we no longer really need that.Jeffrey Stedfast2001-09-112-3/+10
| | | | | | | | | 2001-09-10 Jeffrey Stedfast <fejj@ximian.com> * camel-charset-map.c (camel_charset_to_iconv): Get rid of the g_warning, we no longer really need that. svn path=/trunk/; revision=12739
* Forgot to return the newly allocated msg.02001-09-102-0/+7
| | | | | | | | | 2001-09-10 <NotZed@Ximian.com> * providers/imap/camel-imap-store.c (camel_imap_msg_new): Forgot to return the newly allocated msg. svn path=/trunk/; revision=12729
* Likewise.Not Zed2001-09-084-12/+34
| | | | | | | | | | | | | | | 2001-09-08 Not Zed <NotZed@Ximian.com> * providers/local/camel-spool-summary.c (spool_summary_sync_full): Likewise. * providers/local/camel-mbox-summary.c (mbox_summary_sync_full): Fix the wording. * camel-tcp-stream-raw.c (stream_read): Save errno around fcntl call in cancellable read case. Also, loop while we get EINTR. This might fix some weird reconnect behaviour with pop. (stream_write): " svn path=/trunk/; revision=12700
* #if 0 out the code that was hopefully going to fix bug #5325 because theJeffrey Stedfast2001-09-082-1/+9
| | | | | | | | | | 2001-09-07 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (ssl_bad_cert): #if 0 out the code that was hopefully going to fix bug #5325 because the functions I used seem to have been deprecated. *sigh*. svn path=/trunk/; revision=12699
* Disconnect from the service here otherwise the locks will be destroyed andJeffrey Stedfast2001-09-082-4/+20
| | | | | | | | | | 2001-09-07 Jeffrey Stedfast <fejj@ximian.com> * camel-remote-store.c (camel_remote_store_finalise): Disconnect from the service here otherwise the locks will be destroyed and by the time CamelService finalizes we'll crash or hang. svn path=/trunk/; revision=12692
* Make sure to unref the mime filters when we finish with them.Jeffrey Stedfast2001-09-082-0/+7
| | | | | | | | | 2001-09-07 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_data): Make sure to unref the mime filters when we finish with them. svn path=/trunk/; revision=12689
* s/Synchronising/Synchronizing/. (mbox_summary_sync_quick): Likewise.Ettore Perazzoli2001-09-082-4/+11
| | | | | | | | | * providers/local/camel-mbox-summary.c (mbox_summary_sync_full): s/Synchronising/Synchronizing/. (mbox_summary_sync_quick): Likewise. (summary_rebuild): s/Summarising/Summarizing/. svn path=/trunk/; revision=12683
* constificationJeffrey Stedfast2001-09-083-5/+8
| | | | svn path=/trunk/; revision=12682
* Reuse the original boundary instead of generating our own.Jeffrey Stedfast2001-09-082-2/+11
| | | | | | | | | | 2001-09-07 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part-utils.c (camel_mime_part_construct_content_from_parser): Reuse the original boundary instead of generating our own. svn path=/trunk/; revision=12681
* Thread function to perform filtering. (filter_free): Free the filter62001-09-074-3/+142
| | | | | | | | | | | | | | | | | | | | | | | 2001-09-06 <NotZed@Ximian.com> * providers/imap/camel-imap-folder.c (filter_proc): Thread function to perform filtering. (filter_free): Free the filter object. (camel_imap_folder_changed): If we have threads enabled, then queue up a request to perform filtering. For bug #4422. * providers/imap/camel-imap-store.c (camel_imap_msg_new): Create a new 'imap msg'. (camel_imap_msg_queue): Queue an 'imap msg'. (async_received): Handle receiving of imap msg in async thread. (async_destroy): Handle destroying of imap msg. (camel_imap_store_finalize): Destroy thread when done. (camel_imap_store_init): Setup thread. * providers/imap/camel-imap-store.h: Added an ethread to the store, for async processing. svn path=/trunk/; revision=12666
* Use camel_stream_buffer_read_line() instead of duplicationing theJeffrey Stedfast2001-09-072-28/+18
| | | | | | | | | | | | | 2001-09-06 Jeffrey Stedfast <fejj@ximian.com> * camel-remote-store.c (remote_recv_line): Use camel_stream_buffer_read_line() instead of duplicationing the functionality. Also, the previous way was broken anyway. What if a line was the same length as our buffer? Then we'd go and read a second line and a third and so on until they weren't the same length, leaving \r's in the middle of the buffer. svn path=/trunk/; revision=12662
* Fix this to always set an exception if it returns POP3_FAIL, asDan Winship2001-09-073-6/+16
| | | | | | | | | | * providers/pop3/camel-pop3-store.c (pop3_get_response): Fix this to always set an exception if it returns POP3_FAIL, as documented. * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream): Revert. svn path=/trunk/; revision=12654
* Set an exception on POP3_FAIL as well.Jeffrey Stedfast2001-09-072-3/+10
| | | | | | | | | 2001-09-06 Jeffrey Stedfast <fejj@ximian.com> * providers/pop3/camel-pop3-folder.c (pop3_get_message_stream): Set an exception on POP3_FAIL as well. svn path=/trunk/; revision=12653
* #ifdef out the "delete after N days" option in pop3_conf_entries, since itDan Winship2001-09-072-0/+8
| | | | | | | | * providers/pop3/camel-pop3-provider.c: #ifdef out the "delete after N days" option in pop3_conf_entries, since it won't be done for 1.0. svn path=/trunk/; revision=12651
* Too late to sync the folders here... if this is gonna happen at all itJeffrey Stedfast2001-09-052-4/+4
| | | | | | | | | | 2001-09-04 Jeffrey Stedfast <fejj@ximian.com> * camel-remote-store.c (remote_disconnect): Too late to sync the folders here... if this is gonna happen at all it should be done in the provider. svn path=/trunk/; revision=12596
* Do a clean disconnect.Jeffrey Stedfast2001-09-053-3/+6
| | | | | | | | 2001-09-04 Jeffrey Stedfast <fejj@ximian.com> * camel-service.c (camel_service_finalize): Do a clean disconnect. svn path=/trunk/; revision=12593
* Return the default folder (ie. INBOX) rather than saying we don't supportJeffrey Stedfast2001-08-312-3/+5
| | | | | | | | | | 2001-08-30 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-spool-store.c (get_inbox): Return the default folder (ie. INBOX) rather than saying we don't support an inbox. svn path=/trunk/; revision=12535
* #include pk11func.h. (ssl_bad_cert): Use CERT_GetDefaultCertDB.Jeffrey Stedfast2001-08-312-1/+7
| | | | | | | | | 2001-08-30 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c: #include pk11func.h. (ssl_bad_cert): Use CERT_GetDefaultCertDB. svn path=/trunk/; revision=12530
* fix smime the same way...Jeffrey Stedfast2001-08-302-15/+34
| | | | svn path=/trunk/; revision=12520
* Special-case message/rfc822 mime parts - don't set an encoding on these,Jeffrey Stedfast2001-08-302-14/+39
| | | | | | | | | | | | | | | 2001-08-29 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Special-case message/rfc822 mime parts - don't set an encoding on these, instead traverse into their subparts and set the encodings for those. (pgp_mime_part_sign_restore_part): Reverse any operations done to message/rfc822 parts in the above prepare_part() function and also take a pointer to a GSList of encodings instead of just a GSList so we can properly keep track of which encoding we are on. svn path=/trunk/; revision=12519
* Add progress reporting to deleting messages. Dont change the calculationNot Zed2001-08-292-2/+15
| | | | | | | | | | 2001-08-29 Not Zed <NotZed@Ximian.com> * providers/pop3/camel-pop3-folder.c (pop3_sync): Add progress reporting to deleting messages. Dont change the calculation to a bloody float. Bug #6189. svn path=/trunk/; revision=12512
* Initialize buf and diag_buf to NULL, hopefully this fixes the crash if theJeffrey Stedfast2001-08-292-39/+14
| | | | | | | | | | | | | | 2001-08-28 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (crypto_exec_with_passwd): Initialize buf and diag_buf to NULL, hopefully this fixes the crash if the select() times out. (pgp_encrypt): Argh. What was I thinking? Don't use "-r recipient" as an argument, instead use "-r" and "recipient" as 2 separate arguments to pgp. This might fix the "gpg only encrypts to my private key" bug? svn path=/trunk/; revision=12510
* Initialize buf and diag_buf to NULL, hopefully this fixes the crash if theJeffrey Stedfast2001-08-292-11/+17
| | | | | | | | | | 2001-08-28 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (crypto_exec_with_passwd): Initialize buf and diag_buf to NULL, hopefully this fixes the crash if the select() times out. svn path=/trunk/; revision=12508
* Whoops. Double-free and FMR = bad.Peter Williams2001-08-292-2/+6
| | | | | | | | | 2001-08-28 Peter Williams <peterw@ximian.com> * providers/imap/camel-imap-store.c (create_folder): Whoops. Double-free and FMR = bad. svn path=/trunk/; revision=12505
* Don't reveal the user's IMAP password if their server supportsPeter Williams2001-08-292-1/+9
| | | | | | | | | | 2001-08-28 Peter Williams <peterw@ximian.com> * camel-remote-store.c (remote_send_string): Don't reveal the user's IMAP password if their server supports LITERALPLUS. Also add some more dashes to make it line up nicely :-) svn path=/trunk/; revision=12503
* If the user accepts the certificate, add it to the database as a trustedJeffrey Stedfast2001-08-292-3/+32
| | | | | | | | | 2001-08-28 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (ssl_bad_cert): If the user accepts the certificate, add it to the database as a trusted CA. svn path=/trunk/; revision=12502
* Make the locking more fine-grained on destruction; specifically, don'tPeter Williams2001-08-292-0/+12
| | | | | | | | | | 2001-08-28 Peter Williams <peterw@ximian.com> * camel-object.c (camel_object_unref): Make the locking more fine-grained on destruction; specifically, don't hold the type lock while calling the finalize functions. svn path=/trunk/; revision=12501
* Changed the description/names of some of the local providers to try andJeffrey Stedfast2001-08-283-15/+21
| | | | | | | | | | | | | | | 2001-08-27 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-local-provider.c: Changed the description/names of some of the local providers to try and clarify the meanings. * providers/pop3/camel-pop3-provider.c: Simplify the POP description - we want short but sweet. * providers/imap/camel-imap-provider.c: s/IMAPv4/IMAP svn path=/trunk/; revision=12486
* s/IMAPv4/IMAPJeffrey Stedfast2001-08-283-3/+7
| | | | | | | | 2001-08-27 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-provider.c: s/IMAPv4/IMAP svn path=/trunk/; revision=12485
* re-read the iconv man page, and treat the return value properly. ItNot Zed2001-08-275-150/+135
| | | | | | | | | | | | | | | | | | | | | 2001-08-27 Not Zed <NotZed@Ximian.com> * camel-mime-part-utils.c (convert_buffer): re-read the iconv man page, and treat the return value properly. It returns the number of non-reversible conversions performed, not the number of output characters, sigh. (check_html_charset): Changed to just take a buffer of data, and not the mime parser. (simple_data_wrapper_construct_from_parser): Since we dont need the charset till we have all the data, search for the charset after we've read the data, if we have html data with no charset in the header. (simple_data_wrapper_construct_from_parser): Remove the seekable_source stuff. * Re-apply patches from before. svn path=/trunk/; revision=12481
* ["Summarising" and "Synchronising" are spelt with a "s" in ENGLISH]Not Zed2001-08-253-8/+19
| | | | | | | | | | | | | | | 2001-08-25 Not Zed <NotZed@Ximian.com> ["Summarising" and "Synchronising" are spelt with a "s" in ENGLISH] * providers/local/camel-mbox-summary.c (mbox_summary_sync_quick): s/Synchronizing/Synchronising/. * providers/local/camel-mbox-summary.c (summary_rebuild): s/Summarizing/Summarising/ svn path=/trunk/; revision=12470
* Use fseek instead of fseeko since we want to be portable and use ftellJeffrey Stedfast2001-08-252-8/+17
| | | | | | | | | | | 2001-08-24 Jeffrey Stedfast <fejj@ximian.com> * camel-disco-diary.c (camel_disco_diary_replay): Use fseek instead of fseeko since we want to be portable and use ftell rather than ftello for the same reason. (camel_disco_diary_empty): Same here. svn path=/trunk/; revision=12469
* Revert Not Zed's previous commits as they apparently can cause seriousPeter Williams2001-08-257-104/+97
| | | | | | | | | 2001-08-24 Peter Williams <peterw@ximian.com> * Revert Not Zed's previous commits as they apparently can cause serious data loss for POP3 users. svn path=/trunk/; revision=12461
* s/Synchronising/Synchronizing/.Ettore Perazzoli2001-08-252-3/+14
| | | | | | | | | | * providers/local/camel-mbox-summary.c (mbox_summary_sync_quick): s/Synchronising/Synchronizing/. * providers/local/camel-mbox-summary.c (summary_rebuild): s/Summarising/Summarizing/ svn path=/trunk/; revision=12444
* Limit the maximum output buffer size. iconv bugs? returns E2BIG forever onNot Zed2001-08-242-1/+6
| | | | | | | | | | 2001-08-24 Not Zed <NotZed@Ximian.com> * camel-mime-part-utils.c (convert_buffer): Limit the maximum output buffer size. iconv bugs? returns E2BIG forever on some (valid) data? svn path=/trunk/; revision=12432
* Likewise.Not Zed2001-08-247-95/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-24 Not Zed <NotZed@Ximian.com> * providers/local/camel-spool-summary.c (summary_rebuild): Likewise. * providers/local/camel-mbox-summary.c (summary_rebuild): Summarising is spelt with an s. 2001-08-23 Not Zed <NotZed@Ximian.com> * camel-mime-part.c (write_to_stream): If we have rawtext, then dont do any charset conversion, only encoding/crlf conversion. * camel-data-wrapper.h (struct _CamelDataWrapper): Added 'rawtext' member, says the character encoding is raw, not utf8. * providers/local/camel-spool-summary.c (spool_summary_sync_quick): Synchronising is spelt with an s, not a z. (spool_summary_sync_full): " * providers/local/camel-mbox-summary.c (mbox_summary_sync_full): No, synchronising is spelt with an s. (mbox_summary_sync_quick): " * camel-mime-part-utils.c (camel_mime_part_construct_content_from_parser): Remove the warnings which aren't going anywhere fast. (convert_buffer): Function to convert a bytearray of textual content from one charset to another. If the charset doesn't exist or fails, then do no conversion. (simple_data_wrapper_construct_from_parser): First, read in data, then try and convert it using the specified charset if supplied. If that fails, then dont do any conversion, and leave as raw. Also, if we have any x-* charsets, then dont do any processing. svn path=/trunk/; revision=12429
* Add a missing \n to the end of a printf.Peter Williams2001-08-243-2/+9
| | | | | | | | | | | 2001-08-23 Peter Williams <peterw@ximian.com> * providers/local/camel-mbox-summary.c (summary_rebuild): Add a missing \n to the end of a printf. * providers/local/camel-spool-summary.c (summary_rebuild): Same. svn path=/trunk/; revision=12421
* oops, don't need that extra statementJeffrey Stedfast2001-08-231-3/+0
| | | | svn path=/trunk/; revision=12386
* Oops. Fixed a mis-use of GPtrArray. If we set_size, then usingJeffrey Stedfast2001-08-232-2/+11
| | | | | | | | | | | 2001-08-22 Jeffrey Stedfast <fejj@ximian.com> * providers/pop3/camel-pop3-folder.c (pop3_generate_uids): Oops. Fixed a mis-use of GPtrArray. If we set_size, then using g_ptr_array_add will assume `size' elements have already been initialized and will start appending on to the end. svn path=/trunk/; revision=12385
* Turn on --batch and reenable gpg keyserver lookups. (pgp_decrypt): DisableJeffrey Stedfast2001-08-223-11/+20
| | | | | | | | | | 2001-08-21 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.c (pgp_verify): Turn on --batch and reenable gpg keyserver lookups. (pgp_decrypt): Disable keyserver lookups if we are disconnected. svn path=/trunk/; revision=12372
* Fix the duplicate message check so it doesn't mess up threading when aDan Winship2001-08-212-4/+13
| | | | | | | | | | | * camel-folder-thread.c (camel_folder_thread_messages_new_summary): Fix the duplicate message check so it doesn't mess up threading when a reply appears in the folder before the message it's a reply to. Fixes bug #3357. (camel_folder_thread_messages_new): Likewise, although I don't think this function is used any more. svn path=/trunk/; revision=12341
* build a static camel for the addressbook conduitJP Rosevear2001-08-202-0/+8
| | | | | | | | 2001-08-20 JP Rosevear <jpr@ximian.com> * Makefile.am: build a static camel for the addressbook conduit svn path=/trunk/; revision=12287
* s/Synchronising/Synchronizing/. (mbox_summary_sync_quick): Likewise.Ettore Perazzoli2001-08-203-4/+13
| | | | | | | | | | | * providers/local/camel-mbox-summary.c (mbox_summary_sync_full): s/Synchronising/Synchronizing/. (mbox_summary_sync_quick): Likewise. * providers/local/camel-spool-summary.c (spool_summary_sync_full): Likewise. (spool_summary_sync_quick): Likewise. svn path=/trunk/; revision=12269
* oops, commit the ChangeLogJeffrey Stedfast2001-08-201-0/+10
| | | | svn path=/trunk/; revision=12261
* Get the entire directory structure for the folder we just created, meaningJeffrey Stedfast2001-08-203-17/+98
| | | | | | | | | | | | | 2001-08-20 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (create_folder): Get the entire directory structure for the folder we just created, meaning if we created a folder named "test.mailbox" where test didn't previously exist, get the listing for "test" and "test.mailbox". * providers/imap/camel-imap-utils.c (imap_parse_folder_name): New function. svn path=/trunk/; revision=12258
* #include <sys/types.h> for mode_t on freebsd.Chris Toshok2001-08-202-0/+7
| | | | | | | | 2001-08-19 Chris Toshok <toshok@ximian.com> * camel-store.h: #include <sys/types.h> for mode_t on freebsd. svn path=/trunk/; revision=12228
* Make sure the generated UID is non-NULL before appending it to the arrayJeffrey Stedfast2001-08-203-6/+9
| | | | | | | | | | 2001-08-19 Jeffrey Stedfast <fejj@ximian.com> * providers/pop3/camel-pop3-folder.c (pop3_generate_uids): Make sure the generated UID is non-NULL before appending it to the array of UIDs. How would this even happen? I have no clue... svn path=/trunk/; revision=12225
* fixed a compile errorJeffrey Stedfast2001-08-201-50/+51
| | | | svn path=/trunk/; revision=12219
* Start scanning new messages at maxuid + 1 rather than uidval + 1? MaybeJeffrey Stedfast2001-08-182-35/+41
| | | | | | | | | | 2001-08-17 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (imap_update_summary): Start scanning new messages at maxuid + 1 rather than uidval + 1? Maybe I'm missing the logic, but anyways...this might fix bug #5348. svn path=/trunk/; revision=12170
* If we are online and message flags have changed in the current folder,Jeffrey Stedfast2001-08-175-33/+61
| | | | | | | | | | | | | | | | | | 2001-08-16 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (imap_keepalive): If we are online and message flags have changed in the current folder, sync the flags else do a NOOP. This fixes bug #4666. Also lock around the NOOP command. * providers/imap/camel-imap-folder.c (imap_sync_online): Don't ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like this (and maybe others too?) so what we'll do instead is to send "STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear all the flags (since this is in essence what we want to do anyway). svn path=/trunk/; revision=12136
* Don't ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't likeJeffrey Stedfast2001-08-172-9/+31
| | | | | | | | | | | | | 2001-08-16 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (imap_sync_online): Don't ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like this (and maybe others too?) so what we'll do instead is to send "STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear all the flags (since this is in essence what we want to do anyway). svn path=/trunk/; revision=12131
* Fix this again. Sigh. Problem of namespace = "" may not yet be completelyPeter Williams2001-08-172-1/+7
| | | | | | | | | | 2001-08-16 Peter Williams <peterw@ximian.com> * providers/imap/camel-imap-store.c (imap_connect_online): Fix this again. Sigh. Problem of namespace = "" may not yet be completely solved. svn path=/trunk/; revision=12095
* New function. Try to approximate the SSL error into errno.Peter Williams2001-08-162-1/+58
| | | | | | | | | | | | | | 2001-08-15 Peter Williams <peterw@ximian.com> * camel-tcp-stream-openssl.c (ssl_error_to_errno): New function. Try to approximate the SSL error into errno. (errlib_error_to_errno): New function, try to approximate OpenSSl's error library's error (ERR_*) into errno. (stream_read): Try to set errno using ssl_error_to_errno. (stream_write): Same. (open_ssl_connection): Same. svn path=/trunk/; revision=12065
* Oh crap, huge killer typo.Peter Williams2001-08-152-1/+6
| | | | | | | | | 2001-08-15 Peter Williams <peterw@ximian.com> * providers/imap/camel-imap-store.c (imap_connect_online): Oh crap, huge killer typo. svn path=/trunk/; revision=12048
* Canonicalize store->namespace to end in store->dir_sep, once both valuesPeter Williams2001-08-152-1/+18
| | | | | | | | | | | 2001-08-14 Peter Williams <peterw@ximian.com> * providers/imap/camel-imap-store.c (imap_connect_online): Canonicalize store->namespace to end in store->dir_sep, once both values are known. The %F-related code makes this assumption. Probably fixes a bug reported on the mailing list. svn path=/trunk/; revision=12040
* After talking to NotZed, it turns out I was wrong after all. (store_sync):Jeffrey Stedfast2001-08-152-3/+28
| | | | | | | | | | | | | 2001-08-13 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (camel_store_get_folder): After talking to NotZed, it turns out I was wrong after all. (store_sync): Create a copy of the folder-cache that owns a ref on each of the folders so that if one of the folders get's finalized inside store_sync(), we don't run into any locking issues. This is mostly meant to solve a problem in IMAP (#6089). svn path=/trunk/; revision=12032
* We need to be ref'ing the folder if/when we add it to the hash. This mayJeffrey Stedfast2001-08-143-14/+18
| | | | | | | | | | | | | 2001-08-13 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (camel_store_get_folder): We need to be ref'ing the folder if/when we add it to the hash. This may fix bug #6089? (camel_store_get_folder): Nevermind, reverted the fix. (camel_store_get_folder): No, I wasn't on crack before after all...if we don't ref here, then we're open to a race condition later. svn path=/trunk/; revision=11973