aboutsummaryrefslogtreecommitdiffstats
path: root/camel
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a #include.Jeffrey Stedfast2003-10-162-1/+5
| | | | svn path=/trunk/; revision=22909
* Allow timezone offsets to be up to 14 hours ahead of UTC. Fixes bugJeffrey Stedfast2003-10-103-3/+10
| | | | | | | | | | | 2003-10-09 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_decode_date): Allow timezone offsets to be up to 14 hours ahead of UTC. Fixes bug #49357. * broken-date-parser.c (get_tzone): Same. svn path=/trunk/; revision=22838
* Removed an unused variable.Jeffrey Stedfast2003-10-092-1/+5
| | | | | | | | | 2003-10-08 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an unused variable. svn path=/trunk/; revision=22823
* fixed a comment spelling mistake and removede CAMEL_OBJECT() casting where ↵Jeffrey Stedfast2003-09-261-12/+13
| | | | | | it was not needed (ref and unref calls) svn path=/trunk/; revision=22700
* If the localhost lookup results in a numeric IPv6 host, use the formJeffrey Stedfast2003-09-252-1/+9
| | | | | | | | | | 2003-09-25 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_helo): If the localhost lookup results in a numeric IPv6 host, use the form "[IPv6:<addr>]" as specified in rfc2821. Fixes bug #46006. svn path=/trunk/; revision=22694
* If the CREATE flag is set and the parent .sbd directory does not exist,Jeffrey Stedfast2003-09-243-2/+19
| | | | | | | | | | 2003-09-23 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-mbox-store.c (get_folder): If the CREATE flag is set and the parent .sbd directory does not exist, create it. svn path=/trunk/; revision=22677
* Don't forget to flush the iconv conversion.Jeffrey Stedfast2003-09-242-1/+6
| | | | | | | | | 2003-09-23 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (append_8bit): Don't forget to flush the iconv conversion. svn path=/trunk/; revision=22671
* Don't try dot-files.Jeffrey Stedfast2003-09-243-0/+8
| | | | | | | | 2003-09-23 Jeffrey Stedfast <fejj@ximian.com> * tests/message/test4.c (main): Don't try dot-files. svn path=/trunk/; revision=22665
* ** See bug #41610Not Zed2003-09-232-1/+9
| | | | | | | | | | | 2003-09-22 Not Zed <NotZed@Ximian.com> ** See bug #41610 * providers/pop3/camel-pop3-folder.c (cmd_tocache): protect a divide by 0 for 0 length messages. svn path=/trunk/; revision=22654
* Added "offline_sync" option, which lets you synchronise all mail to localNot Zed2003-09-2311-204/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-22 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-provider.c: Added "offline_sync" option, which lets you synchronise all mail to local storage automagically. * camel-disco-folder.c (cdf_folder_changed): hook onto the folder changed single, for all new messages, check that they are online using another thread, if the offline_sync option has been enabled for this store. 2003-09-21 Not Zed <NotZed@Ximian.com> * camel-session.c (session_thread_destroy): call proper entry point for freeing the message. 2003-09-18 Not Zed <NotZed@Ximian.com> * camel-folder.c (filter_filter): register the filtering process for progress, and do progress of the filtering process. 2003-09-17 Not Zed <NotZed@Ximian.com> * camel.c (camel_init): init camel operation. * camel-operation.c (camel_operation_reset): removed, not used, not worth it. (camel_operation_mute): new method to stop all status updates permanently. (*): Changed to use thread specific data and a list rather than a hashtable. (cancel_thread): removed. (camel_operation_register): return the previously registered op. svn path=/trunk/; revision=22648
* Fix the code that creates a new ssl stream to pass the correct argumentsJeffrey Stedfast2003-09-225-6/+24
| | | | | | | | | | | | | | | | | | 2003-09-22 Jeffrey Stedfast <fejj@ximian.com> * providers/nntp/camel-nntp-store.c (connect_to_server): Fix the code that creates a new ssl stream to pass the correct arguments and the proper flags. * providers/imapp/camel-imapp-folder.c (imap_sync): Cast the CamelFolder to a CamelIMAPPFolder to hush some compiler warnings. * camel-mime-utils.h: Define a struct _CamelContentDisposition (allows the imapp code to compile) * providers/imapp/camel-imapp-driver.c: #include <string.h> svn path=/trunk/; revision=22635
* New function to replace the one from camel-mime-part.cJeffrey Stedfast2003-09-1917-103/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-18 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (camel_transfer_encoding_to_string): New function to replace the one from camel-mime-part.c (camel_transfer_encoding_from_string): Same. (camel_content_transfer_encoding_decode): Renamed from camel_header_content_encoding_decode(). * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed. (camel_mime_part_encoding_from_string): Removed. * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding namespace changes * camel-folder-summary.c: updated for CamelTransferEncoding namespace changes * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding namespace changes * camel-mime-message.c: updated for CamelTransferEncoding namespace changes * camel-mime-part-utils.c: updated for CamelTransferEncoding namespace changes * camel-multipart-signed.c: updated for CamelTransferEncoding namespace changes * camel-smime-context.c: updated for CamelTransferEncoding namespace changes * providers/imapp/camel-imapp-utils.c: updated for CamelTransferEncoding namespace changes * tests/lib/messages.c: updated for CamelTransferEncoding namespace changes * tests/message/test1.c: updated for CamelTransferEncoding namespace changes svn path=/trunk/; revision=22617
* namespaced the encoding/decoding routines.Jeffrey Stedfast2003-09-1910-52/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-18 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.[c,h]: namespaced the encoding/decoding routines. * camel-mime-filter-basic.c: updated for namespace changes to the encoding/decoding routines in camel-mime-utils.c * camel-multipart.c: updated for namespace changes to the encoding/decoding routines in camel-mime-utils.c * camel-sasl-digest-md5.c: updated for namespace changes to the encoding/decoding routines in camel-mime-utils.c * camel-sasl.c: updated for namespace changes to the encoding/decoding routines in camel-mime-utils.c * camel-vee-folder.c: updated for namespace changes to the encoding/decoding routines in camel-mime-utils.c * providers/imap/camel-imap-search.c: updated for namespace changes to the encoding/decoding routines in camel-mime-utils.c * providers/pop3/camel-pop3-folder.c: updated for namespace changes to the encoding/decoding routines in camel-mime-utils.c svn path=/trunk/; revision=22615
* s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g andJeffrey Stedfast2003-09-1945-911/+1076
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-26 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and s/_header_state/_camel_mime_parser_state/g * camel-filter-driver.c: Same. * camel-folder-summary.c: Here too. * camel-http-stream.c: And here. * camel-mime-message.c: ... * camel-mime-part-utils.c: ... * camel-mime-part.c: ... * camel-movemail.c: ... * camel-multipart-signed.c: ... * camel-multipart.c: ... * providers/local/camel-mbox-folder.c: ... * providers/local/camel-mbox-summary.c: ... * providers/local/camel-mh-summary.c: ... * providers/nntp/camel-nntp-summary.c: ... * providers/pop3/camel-pop3-folder.c: ... 2003-08-25 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.[c,h]: Namespaced. * camel-data-wrapper.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-digest-folder.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-filter-driver.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-filter-search.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-folder-search.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-folder-summary.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-http-stream.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-http-stream.h: updated for namespace changed made to camel-mime-utils.[c,h] * camel-internet-address.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-medium.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-message.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-parser.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-part-utils.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-part.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-movemail.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-multipart-encrypted.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-multipart-signed.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-multipart.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-search-private.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-types.h: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imap/camel-imap-folder.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imap/camel-imap-store-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imap/camel-imap-utils.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-local-summary.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-maildir-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-mbox-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-spool-summary.h: updated for namespace changed made to camel-mime-utils.[c,h] * providers/nntp/camel-nntp-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/nntp/camel-nntp-utils.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/pop3/camel-pop3-folder.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/sendmail/camel-sendmail-transport.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/smtp/camel-smtp-transport.c: updated for namespace changed made to camel-mime-utils.[c,h] svn path=/trunk/; revision=22613
* Implement a temp hack so trunk works until we merge in new-ui-branch.Jeffrey Stedfast2003-09-172-10/+19
| | | | | | | | | | 2003-09-16 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-mbox-folder.c (camel_mbox_folder_get_full_path): Implement a temp hack so trunk works until we merge in new-ui-branch. svn path=/trunk/; revision=22594
* Don't warning about how we haven't written anything to the stream, this isJeffrey Stedfast2003-09-172-4/+9
| | | | | | | | | | | 2003-09-16 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-filter.c (do_flush): Don't warning about how we haven't written anything to the stream, this is not an error. fflush() doesn't care if you try to fflush() a stream without writing to it, so we shouldn't care either. svn path=/trunk/; revision=22590
* removed dead code.Not Zed2003-09-167-239/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-15 Not Zed <NotZed@Ximian.com> * providers/imapp/camel-imapp-store.c (store_resp_list) (imap_login, try_sasl, imap_try_authenticate): removed dead code. * providers/imapp/camel-imapp-stream.c: return -1 if stream not set. * providers/imapp/camel-imapp-engine.c (iterate_completion): put done request on the done queue, so all requests are always somewhere. (camel_imapp_engine_command_free): just spit warnings of active messages being freed, but abort if the item isn't in any list. Also remove the node from its list before going on. (iterate_untagged, iterate_continuation, iterate_completion): staticifiy. * providers/imapp/camel-imapp-provider.c (camel_imapp_module_init): move camel_exception_setup call here. * providers/imapp/camel-imapp-driver.c (camel_imapp_driver_get_type): remove execption setup here, it isn't early enough. (camel_imapp_driver_list): handle exceptions. svn path=/trunk/; revision=22583
* Implements CamelLocalFolder::get_full_path() (publicly namespaced so thatJeffrey Stedfast2003-09-136-51/+696
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-12 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-mbox-folder.c (camel_mbox_folder_get_full_path): Implements CamelLocalFolder::get_full_path() (publicly namespaced so that CamelMboxStore can re-use them). (camel_mbox_folder_get_meta_path): Same. * providers/local/camel-mbox-store.c (get_folder): Changed the way the path is constructed, since we now handle subdirectories and stuff. (delete_folder): Try deleting the Folder.sbd directory. We also need to manage our own meta files since CamelLocalStore's impl constructs paths differently than what we need. (create_folder): Implemented. (rename_folder): Implemented. (scan_dir): Scan an mbox tree (get_folder_info): Implemented using scan_dir(). * providers/local/camel-local-store.c (delete_folder): Set fi->url to the correct value, meaning we need to prefix it with the protocol and the folder_name is not actually part of the path, it is a separate component to the url. * providers/local/camel-local-folder.c (camel_local_folder_construct): Use the new class virtual method to construct the full folder path and all the meta files. (local_get_full_path): Implemented default get_full_path method. (local_get_meta_path): Implemented default get_meta_path method. svn path=/trunk/; revision=22557
* added copyright comment blockJeffrey Stedfast2003-09-132-0/+48
| | | | svn path=/trunk/; revision=22556
* updated warning to mention the proper rfcJeffrey Stedfast2003-09-131-2/+2
| | | | svn path=/trunk/; revision=22555
* addDan Winship2003-09-111-0/+11
| | | | svn path=/trunk/; revision=22518
* Remove libcamel-static.laDan Winship2003-09-112-5/+4
| | | | | | * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la svn path=/trunk/; revision=22516
* call camel_folder_sync bypassing the folder lock. SeeNot Zed2003-09-092-2/+8
| | | | | | | | | | 2003-09-05 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-store.c (imap_noop): call camel_folder_sync bypassing the folder lock. See imap_store_refresh_folders too. svn path=/trunk/; revision=22487
* Add PREAUTH handling and pine/mutt/etpan/etc.-style 'ssh <mailhost> execDavid Woodhouse2003-09-053-2/+169
| | | | | | | | | 2003-09-04 David Woodhouse <dwmw2@infradead.org> * providers/camel-imap-store.[ch]: Add PREAUTH handling and pine/mutt/etpan/etc.-style 'ssh <mailhost> exec imapd' support. svn path=/trunk/; revision=22463
* New stream implementation for running commands. Compile the aboveDavid Woodhouse2003-09-044-0/+335
| | | | | | | | | | 2003-09-03 David Woodhouse <dwmw2@infradead.org> * camel-stream-process.[ch]: New stream implementation for running commands. * Makefile.am: Compile the above svn path=/trunk/; revision=22454
* ** See bug #47765.Not Zed2003-09-044-22/+37
| | | | | | | | | | | | | | | | | | | | | | 2003-08-20 Not Zed <NotZed@Ximian.com> ** See bug #47765. * camel-folder-search.h: Removed match1 member. * camel-folder-search.c (camel_folder_search_match_expression): use current directly rather than match1. This method isn't used anywhere anyway. (search_not): remove match1 stuff. (search_match_all): properly handle the match-all against 1 message as a scalar result, not an array result. 2003-09-03 Not Zed <NotZed@Ximian.com> * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL proxy_url - unset the proxy. svn path=/trunk/; revision=22452
* removed debug printfs.Not Zed2003-08-302-12/+5
| | | | | | | | | | | 2003-08-29 Not Zed <NotZed@Ximian.com> * camel-object.c (camel_object_state_write): (cobject_getv): (cobject_setv, cobject_state_read, cobject_state_read) (cobject_state_write): removed debug printfs. svn path=/trunk/; revision=22419
* Need to copy the local properties list before passing it out, since it'sNot Zed2003-08-302-1/+6
| | | | | | | | | 2003-08-29 Not Zed <NotZed@Ximian.com> * providers/local/camel-local-folder.c (local_getv): Need to copy the local properties list before passing it out, since it's freed. svn path=/trunk/; revision=22418
* implement PERSISTENT_PROPERTIES, for index mode.Not Zed2003-08-2810-22/+752
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-27 Not Zed <NotZed@Ximian.com> * providers/local/camel-local-folder.c (local_getv): implement PERSISTENT_PROPERTIES, for index mode. * camel-object.c (cobject_state_read): Also add property reading, and bump version to 1. (cobject_state_write): add persistent property writing. 2003-08-26 Not Zed <NotZed@Ximian.com> * camel-folder.c (folder_getv): chain up properly. * camel-file-utils.c (camel_file_util_savename): helper to create a .#filename filename. * providers/local/camel-local-folder.c (camel_local_folder_construct): init meta-data for local folders. (local_getv): chain up properly, if args are not processed, rather than don't if they aren't. 2003-08-23 Not Zed <NotZed@Ximian.com> * camel-object.c (cobject_class_init): added a new event, meta_changed. (camel_object_meta_set, camel_object_meta_get): meta-data api. (camel_object_free_hooks): Free meta-data if it is set on the object. * providers/local/camel-local-folder.c (camel_local_folder_get_type): setup a property list for local folders, just 'index_body' at present. svn path=/trunk/; revision=22388
* temporarily reverting my camel namespace patches until after we merge in ↵Jeffrey Stedfast2003-08-2745-1076/+911
| | | | | | some of the other branches svn path=/trunk/; revision=22373
* reverted some namespacing changes to internal functionsJeffrey Stedfast2003-08-271-17/+17
| | | | svn path=/trunk/; revision=22371
* s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g andJeffrey Stedfast2003-08-2717-161/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-26 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and s/_header_state/_camel_mime_parser_state/g * camel-filter-driver.c: Same. * camel-folder-summary.c: Here too. * camel-http-stream.c: And here. * camel-mime-message.c: ... * camel-mime-part-utils.c: ... * camel-mime-part.c: ... * camel-movemail.c: ... * camel-multipart-signed.c: ... * camel-multipart.c: ... * providers/local/camel-mbox-folder.c: ... * providers/local/camel-mbox-summary.c: ... * providers/local/camel-mh-summary.c: ... * providers/nntp/camel-nntp-summary.c: ... * providers/pop3/camel-pop3-folder.c: ... svn path=/trunk/; revision=22365
* Namespaced.Jeffrey Stedfast2003-08-2643-770/+903
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-25 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.[c,h]: Namespaced. * camel-data-wrapper.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-digest-folder.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-filter-driver.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-filter-search.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-folder-search.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-folder-summary.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-http-stream.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-http-stream.h: updated for namespace changed made to camel-mime-utils.[c,h] * camel-internet-address.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-medium.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-message.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-parser.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-part-utils.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-mime-part.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-movemail.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-multipart-encrypted.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-multipart-signed.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-multipart.c: updated for namespace changed made to camel-mime-utils.[c,h] * camel-search-private.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * camel-types.h: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imap/camel-imap-folder.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imap/camel-imap-store-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imap/camel-imap-utils.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-local-summary.[c,h]: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-maildir-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-mbox-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/local/camel-spool-summary.h: updated for namespace changed made to camel-mime-utils.[c,h] * providers/nntp/camel-nntp-summary.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/nntp/camel-nntp-utils.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/pop3/camel-pop3-folder.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/sendmail/camel-sendmail-transport.c: updated for namespace changed made to camel-mime-utils.[c,h] * providers/smtp/camel-smtp-transport.c: updated for namespace changed made to camel-mime-utils.[c,h] svn path=/trunk/; revision=22355
* Added some more error checking for reading/writing to the pipes. Fixes bugJeffrey Stedfast2003-08-252-4/+26
| | | | | | | | | | 2003-08-25 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (pipe_to_system): Added some more error checking for reading/writing to the pipes. Fixes bug #47880. ` svn path=/trunk/; revision=22352
* Don't poke wrapper->stream directly, useJeffrey Stedfast2003-08-223-16/+14
| | | | | | | | | | | | | | 2003-08-21 Jeffrey Stedfast <fejj@ximian.com> * camel-data-wrapper.c (decode_to_stream): Don't poke wrapper->stream directly, use camel_data_wrapper_write_to_stream() instead as this simplifies things and makes the imap data wrapper implementation Just Work (tm). * providers/imap/camel-imap-wrapper.c: changed prototype of write_to_stream() to return ssize_t. svn path=/trunk/; revision=22325
* Make sure to ref the stream. Fixes bug #47749.Jeffrey Stedfast2003-08-212-7/+14
| | | | | | | | | 2003-08-20 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make sure to ref the stream. Fixes bug #47749. svn path=/trunk/; revision=22315
* return 77 when gpg isn't available rather than 127Jeffrey Stedfast2003-08-191-3/+3
| | | | | | also fixed to import the keys from the correct location svn path=/trunk/; revision=22287
* Various fixes to make it work.Not Zed2003-08-1910-105/+162
| | | | | | | | | | | | | | | | | | | | | 2003-08-18 Not Zed <NotZed@Ximian.com> * camel-http-stream.c: Various fixes to make it work. * tests/smime/pgp-mime.c (main): added missing 'ret' variable. * providers/smtp/camel-smtp-transport.c (connect_to_server): * providers/imapp/camel-imapp-store.c (connect_to_server: * providers/imap/camel-imap-store.c (connect_to_server): * providers/pop3/camel-pop3-store.c (connect_to_server): * camel-http-stream.c (http_connect): change service->session for tcp_stream_ssl_new. * camel-tcp-stream-ssl.c: Changed service to session, and fix some refcounting of it. include camel-operation.h svn path=/trunk/; revision=22275
* ** See bug #47634.Not Zed2003-08-1610-18/+99
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-15 Not Zed <NotZed@Ximian.com> ** See bug #47634. * tests/lib/messages.c (test_message_compare): check write_to_stream returns. (message_dump_rec): helper to dump message structure. * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): dont set content encoding here. (camel_mime_part_construct_content_from_parser): set it here instead, on every part. basically same as setting the mime_type_field always. * camel-multipart-signed.c (camel_multipart_signed_class_init): * camel-mime-message.c (camel_mime_message_class_init): * camel-multipart.c (camel_multipart_class_init): override decode_to_stream to always do the same as write_to_stream, since we can never be encoded. svn path=/trunk/; revision=22252
* Don't attach any filters to decode base64/qp/etc.Jeffrey Stedfast2003-08-162-48/+10
| | | | | | | | | 2003-08-15 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Don't attach any filters to decode base64/qp/etc. svn path=/trunk/; revision=22247
* Save errno when flushing/unreffing the filter stream.Jeffrey Stedfast2003-08-142-3/+11
| | | | | | | | | 2003-08-14 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part.c (write_to_stream): Save errno when flushing/unreffing the filter stream. svn path=/trunk/; revision=22227
* If the content is base64/qp/uu/etc encoded but the part is 7bit/8bit/(orJeffrey Stedfast2003-08-142-0/+11
| | | | | | | | | | | | | 2003-08-13 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part.c (write_to_stream): If the content is base64/qp/uu/etc encoded but the part is 7bit/8bit/(or otherwise non-encoded), set reencode to TRUE so that we decode the original content stream. Fixes a bug noticed on evolution-patches@ximian.com where a patch had a Content-Transfer-Encoding of 7bit but was base64 encoded. svn path=/trunk/; revision=22217
* Fix the range check, we were stopping removal of 1 or 2 removals, for someNot Zed2003-08-143-3/+17
| | | | | | | | | | | | | | | | | | 2003-08-13 Not Zed <NotZed@Ximian.com> * camel-folder-summary.c (camel_folder_summary_remove_range): Fix the range check, we were stopping removal of 1 or 2 removals, for some odd and completely uncomprehensible reason. Perhaps debug left in? 2003-08-13 Not Zed <NotZed@Ximian.com> ** See bug #47517. * camel-vee-folder.c (vee_sync): Always rebuild folder on any sync, not just expunge ones. svn path=/trunk/; revision=22216
* force connect manually so basics work.Not Zed2003-08-125-13/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-11 Not Zed <NotZed@Ximian.com> * providers/imapp/camel-imapp-store.c (imap_get_folder_info): force connect manually so basics work. ** See bug #45505. * camel-service.c (camel_gethostbyname): duh, pthread_create returns the error code directly, not via errno. (camel_gethostbyaddr): Same, also properly handle the failure case. 2003-08-01 Not Zed <NotZed@Ximian.com> ** See bug #47208. * camel-filter-search.c (match_all): match-all with no arguments should always return TRUE. * camel-folder-search.c (camel_folder_search_execute_expression): print a warning when we get an invalid result type & fixed a leak for that case. svn path=/trunk/; revision=22179
* updated mime-tests READMEJeffrey Stedfast2003-08-121-0/+4
| | | | svn path=/trunk/; revision=22178
* New test suite for the mime parser (which is where the below 2 fixes wereJeffrey Stedfast2003-08-1222-566/+884
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/message/test4.c: New test suite for the mime parser (which is where the below 2 fixes were noticed). * camel-mime-parser.c (folder_boundary_check): Calculate 'len' by subtracting the boundary start from inend rather than 'atleast'. (folder_scan_content): Calculate 'inend' differently depending on the EOF state. 2003-08-08 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-tohtml.c (html_convert): Rather than checking *inptr == '\n', check inptr >= inend - this gets rid of an Invalid Read report from valgrind. * camel-mime-part.c (write_to_stream): Don't necessarily re-encode just because the encodings differ. Need to look into making it so that message/rfc822 and multipart parts ignore the Content-Transfer-Encoding header and just keep their 'encoding' bits set to DEFAULT. 2003-08-05 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (get_content): Updated. * camel-mime-message.c (camel_mime_message_init): Don't override the mime_type here. (process_header): Updated to use CamelDataWrapper's mime_type field. (find_best_encoding): Same. (best_encoding): Here too. * camel-digest-folder.c (camel_digest_folder_new): Updated for CamelMimePart::content_type change. * camel-mime-part.c (camel_mime_part_init): Override our parent class's default mime_type. (camel_mime_part_finalize): Don't need to unref the content_type anymore. (process_header): Updated to use CamelDataWrapper's mime_type field. (camel_mime_part_set_filename): Same. (camel_mime_part_get_filename): Same. (camel_mime_part_get_content_type): Same. (set_content_object): Here too. (write_to_stream): Updated. (construct_from_parser): Updated. * camel-mime-part.h: Remove the content_type field. 2003-07-31 Jeffrey Stedfast <fejj@ximian.com> * tests/lib/messages.c (test_message_compare_content): If the chunks differ, perform a hexdump on the data being compared so that we may analyse it easier. * camel-multipart-signed.c (write_to_stream): Return ssize_t. * camel-mime-utils.h: Added the CamelMimePartEncodingType enum here. * camel-mime-part.h: Removed the CamelMimePartEncodingType enum from here. * camel-mime-part.c (write_to_stream): Updated to return ssize_t. Also minor changes to only re-encode the content stream if the charset or encoding changed (this way we write it out in the original raw form if nothing changed). * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Drastically simplify. We no longer scan html content to try and find the charset, nor do we care about converting the content to UTF-8 and handling broken windows charsets. * camel-mime-message.c (find_best_encoding): Use decode_to_stream() here. Also updated to not assume the content charset is UTF-8 since it is very likely not the case anymore since data-wrappers no longer are converted to UTF-8 at parse time. * camel-folder-summary.c (summary_build_content_info_message): Use decode_to_stream instead here too. * camel-folder-search.c (match_words_1message): Use decode_to_stream instead of write_to_stream so we can search the contents. * camel-data-wrapper.c (camel_data_wrapper_init): Set the default encoding to DEFAULT. (write_to_stream): Updated to return ssize_t (camel_data_wrapper_decode_to_stream): New virtual function to decode a data wrapper to a stream (results in nearly identical behaviour to the old write_to_stream method). (decode_to_stream): Default implementation of above virtual method. Decodes base64/qp/etc streams. * camel-data-wrapper.h: Removed the rawtext bit and added an encoding member. svn path=/trunk/; revision=22171
* add optional imapp compileMichael Zucci2003-08-021-1/+6
| | | | svn path=/trunk/; revision=22062
* experimental, non-working imap implementationMichael Zucci2003-08-0222-0/+7458
| | | | svn path=/trunk/; revision=22061
* oops, s/gpgfoo/gpg/Jeffrey Stedfast2003-08-021-1/+1
| | | | svn path=/trunk/; revision=22058
* updatedJeffrey Stedfast2003-08-022-2/+13
| | | | svn path=/trunk/; revision=22057
* Same.Jeffrey Stedfast2003-08-025-22/+152
| | | | | | | | | | | 2003-08-01 Jeffrey Stedfast <fejj@ximian.com> * tests/smime/pgp-mime.c: Same. * tests/smime/pgp.c: Updated to build and to import some custom gpg keys for use with testing. svn path=/trunk/; revision=22055
* oops, this tooJeffrey Stedfast2003-07-311-1/+1
| | | | svn path=/trunk/; revision=22030
* Also updated.Jeffrey Stedfast2003-07-317-26/+39
| | | | | | | | | | | | | | | | 2003-07-30 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c (write_to_stream): Also updated. * camel-data-wrapper.c (write_to_stream): This should return ssize_t * camel-multipart-signed.c (write_to_stream): Updated. * camel-multipart.c (write_to_stream): Same. * camel-mime-part.c (write_to_stream): Here too. svn path=/trunk/; revision=22029
* Fix for #46168 'some additional locale aliases required for chineseSuresh Chandrasekharan2003-07-294-43/+70
| | | | | | | | | | | | | | | | | | | | 2003-07-11 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com> * camel-iconv.c: Fix for #46168 'some additional locale aliases required for chinese support'. 2003-07-25 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_decode_word): Revert NotZed's fix for bug #42170 - this causes even more problems than it solves. See bug #46331 for info. Basically, each address header would be converted to UTF-8 twice which means no raw 8bit address header would render correctly. (header_decode_mailbox): Perform a sanity check on the resultant addr->str to make sure that it is valid UTF-8, if not convert it to UTF-8. Fixes bug #42170. svn path=/trunk/; revision=22013
* Revert my previous changes to this function.Jeffrey Stedfast2003-07-248-146/+486
| | | | | | | | | | | | | | | | | | | 2003-07-23 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c (find_best_encoding): Revert my previous changes to this function. * camel-mime-utils.h: Revert previous changes. * camel-mime-part.h: Revert previous changes. * camel-mime-part-utils.c: Revert previous changes. * camel-data-wrapper.c (camel_data_wrapper_init): Revert previous changes. (write_to_stream): Revert previous changes. svn path=/trunk/; revision=21920
* #include camel-file-utils.h for camel_read()Dan Winship2003-07-235-3/+15
| | | | | | | | | | | | | | * camel-block-file.c: #include camel-file-utils.h for camel_read() * camel-uid-cache.c (camel_uid_cache_save): Remove unused variable and label. * camel-url.c: #include camel-string-utils.h for camel_strdown * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Cast an (unsigned char *) to (char *) to fix a warning svn path=/trunk/; revision=21902
* Updated to convert to/from the correct charset (since content is no longerJeffrey Stedfast2003-07-182-30/+33
| | | | | | | | | | | 2003-07-17 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c (find_best_encoding): Updated to convert to/from the correct charset (since content is no longer necessarily in UTF-8). (best_encoding): Free the charset string when we're done with it. svn path=/trunk/; revision=21863
* Increment the seekable stream position by the number of bytes read. Oops.Jeffrey Stedfast2003-07-182-1/+6
| | | | | | | | | | 2003-07-17 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-fs.c (stream_read): Increment the seekable stream position by the number of bytes read. Oops. (stream_write): Same here. svn path=/trunk/; revision=21862
* Increment the seekable stream position by the number of bytes read. Oops.Jeffrey Stedfast2003-07-182-1/+8
| | | | | | | | | 2003-07-17 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-fs.c (stream_read): Increment the seekable stream position by the number of bytes read. Oops. svn path=/trunk/; revision=21861
* ** See bug #42573Timo Sirainen2003-07-172-11/+21
| | | | | | | | | | | | 2003-07-17 Timo Sirainen <tss@iki.fi> ** See bug #42573 * providers/imap/camel-imap-folder.c (do_append): Only free the response after we have finished the literal request, otherwise we could try processing folder updates incorrectly. svn path=/trunk/; revision=21851
* Add the CamelMimePartEncodingType definition here.Jeffrey Stedfast2003-07-179-499/+198
| | | | | | | | | | | | | | | | | | | | | | | 2003-07-14 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.h: Add the CamelMimePartEncodingType definition here. * camel-mime-part.h: Remove the CamelMimePartEncodingType definition. * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Don't do any of the auto-detection we used to do here anymore. Just read the content into a memory buffer and record the encoding type. (camel_mime_part_construct_content_from_parser): Don't mangle the Content-Type struct here anymore. * camel-data-wrapper.c (camel_data_wrapper_init): Init encoding to DEFAULT. (write_to_stream): If the stream needs to be decoded, decode it. svn path=/trunk/; revision=21842
* If we read 0 bytes, then set eos to TRUE.Jeffrey Stedfast2003-07-162-3/+12
| | | | | | | | | 2003-07-15 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-fs.c (stream_read): If we read 0 bytes, then set eos to TRUE. svn path=/trunk/; revision=21820
* removed camel-pkcs7-context.[c,h] - no longer usefulJeffrey Stedfast2003-07-102-764/+0
| | | | svn path=/trunk/; revision=21785
* removed camel-smime-utils.[c,h] which are no longer usefulJeffrey Stedfast2003-07-104-178/+0
| | | | svn path=/trunk/; revision=21784
* removed #ifndef ENABLE_THREADSJeffrey Stedfast2003-07-102-26/+2
| | | | svn path=/trunk/; revision=21780
* removed #ifdef ENABLE_THREADSJeffrey Stedfast2003-07-101-16/+4
| | | | svn path=/trunk/; revision=21779
* Get rid of the #ifdef ENABLE_THREADS since we no longer plan toJeffrey Stedfast2003-07-107-117/+102
| | | | | | | | | | | | | | | | | 2003-07-09 Jeffrey Stedfast <fejj@ximian.com> Get rid of the #ifdef ENABLE_THREADS since we no longer plan to support/maintain this. * providers/nntp/camel-nntp-store.c: Here. * providers/nntp/camel-nntp-newsrc.c: And here. * providers/nntp/camel-nntp-folder.c: Same. * providers/local/camel-local-folder.c: And here. svn path=/trunk/; revision=21778
* Get rid of the #ifdef ENABLE_THREADS since we no longer plan toJeffrey Stedfast2003-07-1028-596/+353
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-09 Jeffrey Stedfast <fejj@ximian.com> * camel-block-file.c: Get rid of the #ifdef ENABLE_THREADS since we no longer plan to support/maintain this. * camel.c: Same. * camel-certdb.c: Here too. * camel-charset-map.c: And here. * camel-cipher-context.c: " * camel-data-wrapper.c: " * camel-digest-folder.c: " * camel-exception.c: " * camel-folder.c: " * camel-folder-summary.c: " * camel-lock-client.c: " * camel-mime-utils.c: " * camel-object.c: " * camel-operation.c: " * camel-partition-table.c: " * camel-sasl-popb4smtp.c: " * camel-service.c: " * camel-session.c: " * camel-store.c: " * camel-store-summary.c: " * camel-text-index.c: " * camel-transport.c: " * camel-vee-folder.c: " * camel-tcp-stream-openssl.c: Removed pthread.h, it isn't needed. svn path=/trunk/; revision=21777
* remove reference to camel-pgp-mime.hLarry Ewing2003-07-092-1/+5
| | | | | | | | 2003-07-09 Larry Ewing <lewing@ximian.com> * camel.h: remove reference to camel-pgp-mime.h svn path=/trunk/; revision=21770
* Removed.Jeffrey Stedfast2003-07-094-200/+2
| | | | | | | | 2003-07-08 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-mime.[c,h]: Removed. svn path=/trunk/; revision=21760
* Updated (new copy/paste from e-iconv).Jeffrey Stedfast2003-07-094-92/+189
| | | | | | | | | | | | | | | | | 2003-07-08 Jeffrey Stedfast <fejj@ximian.com> * camel-iconv.c: Updated (new copy/paste from e-iconv). * camel-block-file.c (camel_block_file_get_block): Use camel_read() rather than libc read. * camel-tcp-stream-raw.c (stream_read): Use camel_read(). (stream_write): Use camel_write(). * camel-stream-fs.c (stream_read): Use camel_read(). (stream_write): Use camel_write(). svn path=/trunk/; revision=21759
* Use camel_read(). (stream_write): Use camel_write().Jeffrey Stedfast2003-07-093-241/+18
| | | | | | | | | | | | 2003-07-08 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-raw.c (stream_read): Use camel_read(). (stream_write): Use camel_write(). * camel-stream-fs.c (stream_read): Use camel_read(). (stream_write): Use camel_write(). svn path=/trunk/; revision=21758
* Use camel_mkdir().Jeffrey Stedfast2003-07-0815-277/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-07 Jeffrey Stedfast <fejj@ximian.com> * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use camel_mkdir(). * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use camel_mkdir(). * camel-session.c (get_storage_path): Use camel_mkdir(). * camel-store.c (camel_mkdir_hier): Removed. * camel-data-cache.c (camel_data_cache_new): Updated to use camel_mkdir(). (data_cache_path): Same. * camel-file-utils.c (camel_mkdir): Renamed and documented. (camel_file_util_safe_filename): Documented. (camel_read): Moved here from camel-io.c (camel_write): Same. * camel-io.[c,h]: Removed. * camel-uid-cache.c (camel_uid_cache_new): Use the camel-file-utils.c version of mkdir. svn path=/trunk/; revision=21753
* removed debug printfsJeffrey Stedfast2003-07-081-18/+0
| | | | svn path=/trunk/; revision=21752
* Updated for string-utils namespace changes.Jeffrey Stedfast2003-07-0828-62/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-07 Jeffrey Stedfast <fejj@ximian.com> * camel-session.c (camel_session_init): Updated for string-utils namespace changes. * camel-provider.c: Updated for string-utils namespace changes. * camel-mime-part.c (init_header_name_table): Updated for string-utils namespace changes. * camel-mime-message.c (camel_mime_message_class_init): Updated for string-utils namespace changes. (camel_mime_message_init): Same. * camel-mime-filter-enriched.c (camel_mime_filter_enriched_class_init): Updated for string-utils namespace changes. * camel-folder-summary.c (camel_folder_summary_init): Updated for string-utils namespace changes. * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and also namespaced all functions. svn path=/trunk/; revision=21751
* Don't quote the charset value, the qop value, nor the response value.Jeffrey Stedfast2003-07-032-6/+12
| | | | | | | | | | 2003-07-01 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-digest-md5.c (digest_response): Don't quote the charset value, the qop value, nor the response value. Fixes bug #45712. svn path=/trunk/; revision=21730
* Use gmtime_r() instead of using gmtime() and memcpy() to try and beJeffrey Stedfast2003-07-032-3/+8
| | | | | | | | | 2003-07-01 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_format_date): Use gmtime_r() instead of using gmtime() and memcpy() to try and be "atomic". svn path=/trunk/; revision=21725
* free the summary hashDan Winship2003-07-022-0/+7
| | | | | | | * camel-folder-search.c (camel_folder_search_finalize): free the summary hash svn path=/trunk/; revision=21713
* Put day of week into outgoing email.David Woodhouse2003-07-022-1/+11
| | | | | | | | | 2003-06-24 David Woodhouse <dwmw2@infradead.org> * camel-mime-utils.c (header_format_date): Put day of week into outgoing email. svn path=/trunk/; revision=21710
* Added prototype for camel_folder_summary_remove_range().Jeffrey Stedfast2003-06-253-17/+38
| | | | | | | | | | | | | | | | 2003-06-25 Jeffrey Stedfast <fejj@ximian.com> * camel-folder-summary.h: Added prototype for camel_folder_summary_remove_range(). 2003-06-25 Not Zed <NotZed@Ximian.com> ** See bug #45386 * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make sure we have an exception that we test against. svn path=/trunk/; revision=21534
* ** See bug #43887Not Zed2003-06-253-0/+27
| | | | | | | | | | | 2003-06-20 Not Zed <NotZed@Ximian.com> ** See bug #43887 * camel-mime-filter-enriched.c (camel_enriched_to_html): simple wrapper to convert enriched to html in one go. svn path=/trunk/; revision=21529
* ** See bug #31745Not Zed2003-06-201-6/+9
| | | | | | | | | | | | 2003-06-16 Not Zed <NotZed@Ximian.com> ** See bug #31745 * providers/imap/camel-imap-store-summary.c (camel_imap_store_summary_namespace_new): Workaround a shell bug - if the namespace has '#' in it, then strip it. svn path=/trunk/; revision=21491
* if we got cancelled, the message is floating, so free it. (structNot Zed2003-06-202-61/+105
| | | | | | | | | | | | | | 2003-06-18 Not Zed <NotZed@Ximian.com> * camel-service.c (get_hostbyaddr, get_hostbyname): if we got cancelled, the message is floating, so free it. (struct _lookup_msg): Add a cancelled tag. (camel_gethostbyname, camel_gethostbyaddr): if we get a failure/cancel, cancel the lookup thread and detach, so we dont have to wait for it to return. cleanup changed to handle the case where we didn't get a reply message. svn path=/trunk/; revision=21489
* Made static (to match the prototype).Jeffrey Stedfast2003-06-192-2/+7
| | | | | | | | | 2003-06-13 Jeffrey Stedfast <fejj@ximian.com> * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static (to match the prototype). svn path=/trunk/; revision=21468
* don't leak the summary when reloading it. Fixes a very large leak.Larry Ewing2003-06-182-1/+11
| | | | | | | | | | 2003-06-13 Larry Ewing <lewing@ximian.com> * camel-folder-thread.c (camel_folder_thread_messages_apply): don't leak the summary when reloading it. Fixes a very large leak. svn path=/trunk/; revision=21465
* Calculate ranges to remove folder info's more efficiently. affectsNot Zed2003-06-183-8/+96
| | | | | | | | | | | | | | | 2003-06-17 Not Zed <NotZed@Ximian.com> * camel-vee-folder.c (vee_folder_remove_folder): Calculate ranges to remove folder info's more efficiently. affects shutdown performance on big vfolders signifinantly. (vee_folder_build_folder): do the same here, when rebuilding a folder's definition. * camel-folder-summary.c (camel_folder_summary_remove_index): new function to drop a range of index entries in one hit. svn path=/trunk/; revision=21462
* ** See bug #44322Not Zed2003-06-173-7/+23
| | | | | | | | | | | | | | | | | 2003-06-16 Not Zed <NotZed@Ximian.com> ** See bug #44322 * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf): If we are outputting a folder name, make sure we calculate buffer size based on the raw/utf7 version ** See bug #44121 * camel-multipart-signed.c (signed_get_part): If we can't parse the content, but we have a stream, just use that as the content. svn path=/trunk/; revision=21454
* Fix for bug #40788.Jeffrey Stedfast2003-06-145-21/+56
| | | | | | | | | | | | | | | | | | | | | | 2003-06-05 Jeffrey Stedfast <fejj@ximian.com> Fix for bug #40788. * providers/pop3/camel-pop3-engine.c (camel_pop3_engine_new): Now takes a flags argument. Currently there is only 1 flag which can be used to disable Pop3 server extensions. (get_capabilities): Don't check for Pop3 server extensions if the DISABLE_EXTENSIONS flag is set on the engine. (camel_pop3_engine_iterate): If we get a response that is neither +OK nor -ERR, default to treating it like a -ERR. * providers/pop3/camel-pop3-store.c (connect_to_server): Check for the disable_extensions param. * providers/pop3/camel-pop3-provider.c: Define a checkbox to disable all POP3 extension support. svn path=/trunk/; revision=21438
* Put the ChangeLog.pre-1-4 in the Makefiles.Ettore Perazzoli2003-06-131-0/+1
| | | | svn path=/trunk/; revision=21426
* Partial fix for bug #44457.Jeffrey Stedfast2003-06-123-2/+17
| | | | | | | | | | | | | | | | | 2003-06-11 Jeffrey Stedfast <fejj@ximian.com> Partial fix for bug #44457. * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Make sure to set rawtext to FALSE if we successfully convert the text to UTF-8. * camel-data-wrapper.c (camel_data_wrapper_init): Default the value of rawtext to TRUE instead of FALSE. This way if the mailer decides to try displaying a non-textual part as text, it knows that it needs to convert the content to UTF-8. svn path=/trunk/; revision=21420
* some days you just wish you had that subatomic 100 megaton kill-o-zap bomb.Jeffrey Stedfast2003-06-125-54/+155
| | | | | | | | | | | | | | | | | | | | | | | | 2003-06-04 Jeffrey Stedfast <fejj@ximian.com> * camel-uid-cache.c (camel_uid_cache_new): Create the directory with mode 0777 and the cache file itself with mode 0666. Let the user's umask filter the permissions. Instead of saving the fd on the Cache object, instead save the filename. Use camel_read() instead of expecting read() to just always work without getting an EINTR/etc. (maybe_write_uid): Don't do anything if cache->fd == -1, this means an error has occured in a previous callback. Replace the 2 calls to write() with camel_write() and check their return values. If either of them fails, set cache->fd to -1 (GHashTable doesn't give us a way to abort foreach'ing thru the table). (camel_uid_cache_save): Save to a temp file instead of overwriting the original. Do proper error checking, etc. Also added some smarts about whether to try and overwrite the old cache even if we haven't successfully saved all the uids in the cache. (camel_uid_cache_destroy): Free the cache->filename, no longer need to close (cache->fd). svn path=/trunk/; revision=21416
* use g_utf8_strdown properly.Larry Ewing2003-06-122-2/+6
| | | | | | | | 2003-06-11 Larry Ewing <lewing@ximian.com> * camel-text-index.c (text_index_normalise): use g_utf8_strdown properly. svn path=/trunk/; revision=21415
* Add the CAMEL_BESTENC_TEXT bit to enctype if the part is a text part.Jeffrey Stedfast2003-06-114-7/+26
| | | | | | | | | | | | | | 2003-06-09 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c (find_best_encoding): Add the CAMEL_BESTENC_TEXT bit to enctype if the part is a text part. * camel-mime-filter-bestenc.c (camel_mime_filter_bestenc_get_best_encoding): If we have any nul-bytes or if the content is non-text and contains any 8bit octets, we need to use base64. Fixes bug #44344. svn path=/trunk/; revision=21409
* Roll over ChangeLogs.Ettore Perazzoli2003-06-102-22083/+22083
| | | | svn path=/trunk/; revision=21387
* Turn off debugging.Jeffrey Stedfast2003-06-023-4/+12
| | | | | | | | | | | | 2003-06-01 Jeffrey Stedfast <fejj@ximian.com> * broken-date-parser.c (d): Turn off debugging. * providers/pop3/camel-pop3-engine.c (get_capabilities): Move the code that prepends the 'password' authtype to the auth list so that we don't add it again when regetting the capabilities. svn path=/trunk/; revision=21360
* Turned off a debugging printf.Jeffrey Stedfast2003-05-302-1/+6
| | | | | | | | | 2003-05-30 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (run_only_once): Turned off a debugging printf. svn path=/trunk/; revision=21351
* This should finish fixing all variations of bug #42854, which, funnilyJeffrey Stedfast2003-05-282-20/+44
| | | | | | | | | | | | | | | | | | | | 2003-05-27 Jeffrey Stedfast <fejj@ximian.com> This should finish fixing all variations of bug #42854, which, funnily enough specified "copying" as the scenario for reproducing this bug, but somehow I found/fixed it only for expunging for some reason? I can't even guess as to how this happened. Oh well, expunging needed fixing either way. * providers/imap/camel-imap-folder.c (imap_transfer_online): Sort the uids here too (just like I had fixed for expunge a week or so ago). (imap_transfer_resyncing): Sort them here too. (imap_search_by_uids): Sort here too, even though I don't think it is necessary. Can't hurt. (imap_expunge_uids_offline): Might as well sort here too. svn path=/trunk/; revision=21341
* Lets try this again. We don't actually want to free the key here, becauseJeffrey Stedfast2003-05-232-12/+8
| | | | | | | | | | | 2003-05-22 Jeffrey Stedfast <fejj@ximian.com> * camel-object.c (camel_object_bag_destroy): Lets try this again. We don't actually want to free the key here, because camel_object_bag_remove() does that for us. This should fix bug #43406 properly. svn path=/trunk/; revision=21327
* Create a second GPtrArray for the keys. We don't want to useJeffrey Stedfast2003-05-212-2/+18
| | | | | | | | | | 2003-05-20 Jeffrey Stedfast <fejj@ximian.com> * camel-object.c (camel_object_bag_destroy): Create a second GPtrArray for the keys. We don't want to use bag->free_key() on the object. Fixes bug #43406. svn path=/trunk/; revision=21300
* Only display a warning if errno != EINVAL (EINVAL means there was aJeffrey Stedfast2003-05-202-8/+21
| | | | | | | | | | | | | | | 2003-05-19 Jeffrey Stedfast <fejj@ximian.com> * camel-folder-summary.c (camel_folder_summary_load): Only display a warning if errno != EINVAL (EINVAL means there was a version mismatch, so we don't really need to warn here since we are supposed to be able to handle this situation). (perform_content_info_load): Turn off debugging message. (summary_assign_uid): Turn off uid-clash warning. (camel_folder_summary_decode_token): Turn off debug messages. (summary_header_load): Turn off version-mismatch warning. svn path=/trunk/; revision=21284
* fixed ChangeLogJeffrey Stedfast2003-05-201-82/+81
| | | | svn path=/trunk/; revision=21258
* Ensure cmdbuf is initialized to avoid compiler warning.Jeremy Katz2003-05-1724-68/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-16 Jeremy Katz <katzj@redhat.com> * providers/smtp/camel-smtp-transport.c (smtp_helo): Ensure cmdbuf is initialized to avoid compiler warning. * providers/local/camel-mbox-summary.c (summary_header_load): Cast folder_size to uint32 to fix warning. (camel_mbox_summary_sync_mbox): Update for new API. * providers/imap/camel-imap-utils.c (parse_params): imap_parse_nstring expects size_t, not int (imap_body_decode): Likewise. * camel-stream-filter.c (do_read): presize needs to be size_t instead of int. (do_write): Likewise. * camel-seekable-substream.c (stream_read): Return ssize_t instead of int to match prototypes. (stream_write): Likewise. * camel-mime-part.c (construct_from_parser): len needs to be size_t instead of int. * camel-mime-parser.c (folder_scan_step): datalength needs to be a size_t* instead of an int* to make dependent APIs safe. (camel_mime_parser_step): Likewise. (folder_scan_content): Likewise. * camel-mime-parser.h: Likewise. * camel-mime-message.c (camel_mime_message_class_init): Use glib macro for pointer/int conversions. (construct_from_parser): Update for new API. * camel-folder-summary.c (camel_folder_summary_info_new_from_parser): Update len to be size_t for new API. (summary_build_content_info): Likewise. * camel-http-stream.c (http_get_headers): Likewise. * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Likewise. * camel-multipart-signed.c (signed_construct_from_parser): Likewise. * camel-multipart.c (construct_from_parser): Likewise. * camel-folder-search.c (match_words_index): Use glib macros for pointer/int conversions. * camel-html-parser.c (tokenise_setup): Likewise. (convert_entity): Likewise. * camel-block-file.c (block_hash_func): Likewise. (camel_block_file_get_block): Likewise. (camel_block_file_get_block): Likewise. (camel_block_file_detach_block): Likewise. * camel-session.c (session_thread_msg_new): Likewise. (session_thread_msg_free): Likewise. (session_thread_wait): Likewise. * camel-text-index.c (text_index_compress_nosync): Likewise. (text_index_compress_nosync): Likewise. (camel_text_index_validate): Likewise. * camel-vee-folder.c (vee_folder_remove_folder): Likewise. (unmatched_check_uid): Likewise. (folder_added_uid): Likewise. (vee_folder_build_folder): Likewise. (folder_changed_add_uid): Likewise. (folder_changed_remove_uid): Likewise. * providers/imap/camel-imap-search.c (imap_body_contains): Likewise. * providers/pop3/camel-pop3-folder.c (cmd_list): Likewise. (cmd_uidl): Likewise. * camel-data-cache.c (data_cache_init): Cast to CamelCopyFunc. Fixes a warning. svn path=/trunk/; revision=21220
* Simplistic quick-fix for #42710. Add a charset argument. If the data is 8Not Zed2003-05-162-21/+47
| | | | | | | | | | | | 2003-05-15 Not Zed <NotZed@Ximian.com> * camel-mime-utils.c (header_decode_word): Simplistic quick-fix for #42710. Add a charset argument. If the data is 8 bit, try to decode into the passed in charset (i.e. the message header?), at worst, fall back to latin1, similarly to header_decode_text. Fixed all callers to pass in a charset if available, or NULL. svn path=/trunk/; revision=21202
* Only delete the index if it is non-NULL. Fixes bug #42763.Jeffrey Stedfast2003-05-162-2/+8
| | | | | | | | | 2003-05-13 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-local-folder.c (local_delete): Only delete the index if it is non-NULL. Fixes bug #42763. svn path=/trunk/; revision=21193
* ** See bug #42540Not Zed2003-05-152-3/+14
| | | | | | | | | | | | | 2003-05-14 Not Zed <NotZed@Ximian.com> ** See bug #42540 * camel-service.c (camel_gethostbyname): pre-initialise the error return to invalid, so if we cancel, we definetly get a bad result. Also, for a valid return against result, not herr. (camel_gethostbyaddr): Likewise. svn path=/trunk/; revision=21187
* Added a note to the comment block for this function noting that uids MUSTJeffrey Stedfast2003-05-154-20/+35
| | | | | | | | | | | | | | | | | | 2003-05-13 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c (imap_uid_array_to_set): Added a note to the comment block for this function noting that uids MUST be in sorted order. * providers/imap/camel-imap-folder.c (imap_expunge_uids_online): Sort the uids before splitting them into UID set chunks. The code that splits the uid array into sets expects the uids to be in sorted order. Fixes bug #42854. * providers/imap/camel-imap-command.c (imap_command_start): Re-enable camel_verbose_debug logging. svn path=/trunk/; revision=21173
* If host->h_name is NULL or an empty string, default back to using the IPJeffrey Stedfast2003-05-142-5/+12
| | | | | | | | | | 2003-05-12 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_helo): If host->h_name is NULL or an empty string, default back to using the IP address rather than the hostname in the EHLO command. svn path=/trunk/; revision=21159
* Disable debugging.Ettore Perazzoli2003-05-144-3/+11
| | | | | | | | | | * providers/imap/camel-imap-folder.c (d): Disable debugging. * providers/imap/camel-imap-command.c (d): Disable debugging. * providers/imap/camel-imap-search.c (d): Disable debugging. svn path=/trunk/; revision=21153
* Don't call g_utf8_validate on an empty message. Fixes a warning.Dan Winship2003-05-052-1/+7
| | | | | | | | * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Don't call g_utf8_validate on an empty message. Fixes a warning. svn path=/trunk/; revision=21099
* Workaround for POS mailers like the one in bug #42045.Jeffrey Stedfast2003-05-033-1/+19
| | | | | | | | | | | | | | 2003-05-01 Jeffrey Stedfast <fejj@ximian.com> Workaround for POS mailers like the one in bug #42045. * camel-mime-utils.c (header_decode_date): Make sure the numeric timezone is between -1200 and 1200, otherwise it is invalid. * broken-date-parser.c (get_tzone): Make sure the numeric timezone is between -1200 and 1200, otherwise it is invalid. svn path=/trunk/; revision=21048
* Remove camel-lock.c from here because it upsets automake 1.6 for someDan Winship2003-04-302-3/+8
| | | | | | | | * Makefile.am (camel_lock_helper_SOURCES): Remove camel-lock.c from here because it upsets automake 1.6 for some reason (camel_lock_helper_LDADD): Add camel-lock.o here svn path=/trunk/; revision=21033
* body_len needs to be a size_t instead of intJeremy Katz2003-04-302-1/+6
| | | | | | | | | 2003-04-29 Jeremy Katz <katzj@redhat.com> * providers/imap/camel-imap-folder.c (parse_fetch_response): body_len needs to be a size_t instead of int svn path=/trunk/; revision=21027
* Disable debugging printfs.Jeffrey Stedfast2003-04-252-3/+7
| | | | | | | | 2003-04-22 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c: Disable debugging printfs. svn path=/trunk/; revision=20957
* only free the host if it was set. removes a run-time warning.Not Zed2003-04-242-5/+8
| | | | | | | | | 2003-04-23 Not Zed <NotZed@Ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_helo): only free the host if it was set. removes a run-time warning. svn path=/trunk/; revision=20949
* fixed merge conflicts in ChangeLogJeffrey Stedfast2003-04-241-1/+0
| | | | svn path=/trunk/; revision=20937
* #if 0 out some code that parsed the namespaces since the results aren'tJeffrey Stedfast2003-04-242-1/+10
| | | | | | | | | | 2003-04-22 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (imap_connect_online): #if 0 out some code that parsed the namespaces since the results aren't used and they generate debugging output. svn path=/trunk/; revision=20936
* oops, the service owns the url after we construct it.Not Zed2003-04-232-2/+5
| | | | | | | | | 2003-04-23 Not Zed <NotZed@Ximian.com> * camel-session.c (get_service): oops, the service owns the url after we construct it. svn path=/trunk/; revision=20931
* ** Should fix #41629, #41448, et al.Not Zed2003-04-2312-50/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-22 Not Zed <NotZed@Ximian.com> ** Should fix #41629, #41448, et al. * tests/folder/test10.c: a new torture test for object bag creation/unreffing. * camel-url.c (camel_url_copy): new function to copy a url. * camel-object.c (camel_object_bag_new): add arguments for key copy and key free functions. Fixed all callers. (camel_object_bag_destroy): fix a memleak, free the bag key. (camel_object_bag_get, camel_object_bag_reserve) (camel_object_bag_abort, save_bag, save_object): Make the key a void type, rather than char *. (camel_object_bag_add): As above, and also copy the key. (camel_object_bag_remove_unlocked): free the key using bag->free_key. * camel-session.c (register_provider) (camel_session_destroy_provider, get_service): Changed to use an object bag instead of a hash table for the service 'cache'. (service_cache_remove): Removed, no longer required. svn path=/trunk/; revision=20930
* Don't set seen_eof1 here anymore once we get a trust metric.Jeffrey Stedfast2003-04-232-16/+32
| | | | | | | | | | | | | | | 2003-04-21 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c (gpg_ctx_parse_status): Don't set seen_eof1 here anymore once we get a trust metric. (gpg_ctx_new): Init seen_eof1 to TRUE here. (gpg_ctx_set_ostream): Change seen_eof1 to FALSE here this way we only ever have to set this if we are expecting output. (gpg_ctx_parse_status): Don't set seen_eof1 for importing either. (gpg_ctx_op_step): Only FD_SET() those fd's that we have not yet finished reading. svn path=/trunk/; revision=20922
* ** for #40989Not Zed2003-04-195-8/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-17 Not Zed <NotZed@Ximian.com> ** for #40989 * camel-text-index.c (text_index_delete): delete the block file/key file directly, not just its files. * providers/local/camel-local-folder.c (local_delete): implement, just delete the index file if it exists. camel-store-delete-folder will delete other data (maybe it all should be done here). * camel-block-file.c (camel_key_file_finalise): keep lock around decrementing key file use count. (camel_key_file_delete): new function to delete the key file (& close it off). (key_file_use): if we've been deleted, always fail. (camel_block_file_finalise): only close the file if its a valid fd. (block_file_use): if we've been deleted, always fail. (camel_block_file_delete): delete the block file & close. (struct _CamelBlockFilePrivate): fix the !ENABLE_THREADS case to still compile this. svn path=/trunk/; revision=20894
* Urls are unlikely to end with punctuation or closing braces, so strip anyJeffrey Stedfast2003-04-184-5/+30
| | | | | | | | | | | | | | | | | | | 2003-04-16 Jeffrey Stedfast <fejj@ximian.com> * camel-url-scanner.c (camel_url_web_end): Urls are unlikely to end with punctuation or closing braces, so strip any of those off the end of the url. Fixes bug #41461. * tests/mime-filter/data/html.1.out: Removed a trailing \n at the end of the file, this is incorrect (since out input file does not contain one). * camel-mime-filter-tohtml.c (html_convert): Only output a <br> if we found an eoln in the input. Along the same lines, don't write a '\n' to the output buffer unless we've encountered that eoln in the input. Fixes bug #41407. svn path=/trunk/; revision=20882
* Dont assume adding 1 to line length will go to the next line. e.g. for dosNot Zed2003-04-173-26/+46
| | | | | | | | | | | 2003-04-17 Not Zed <NotZed@Ximian.com> * camel-multipart-signed.c (parse_content): Dont assume adding 1 to line length will go to the next line. e.g. for dos lines that end in \r\n. Fix for #41163. (parse_boundary): util function to help above. svn path=/trunk/; revision=20874
* The gpg child process exiting does not necessarily mean that we've readyJeffrey Stedfast2003-04-172-6/+27
| | | | | | | | | | | | | | | | | | | | | | | 2003-04-15 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c (gpg_verify): The gpg child process exiting does not necessarily mean that we've ready everything that we can from its pipes, so don't use gpg_ctx_op_exited() as a loop-exit condition. If for some reason the gpg child process does exit (due to an error), gpg_ctx_op_step() will eventually fail (as soon as it has finished reading any data in the pipes) and cause the loop to be terminated anyway. This fixes truncation of the gpg --verify stderr output that Evolution displays as the "validity report" (for lack of a better description). (gpg_ctx_op_step): Removed some debugging printf's (gpg_ctx_get_diagnostics): Use a bitfield to decide if we've already flushed the diagnostics stream, much simpler (plus we have plenty of bits to spare so might as well use them). (gpg_ctx_new): Fixed another logic bug which determined whether or not we should convert the gpg output from the locale charset into UTF-8. svn path=/trunk/; revision=20865
* Turn off debugging if CAMEL_VERBOSE_DEBUG isn't set.Jeffrey Stedfast2003-04-112-1/+8
| | | | | | | | | 2003-04-10 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c: Turn off debugging if CAMEL_VERBOSE_DEBUG isn't set. svn path=/trunk/; revision=20803
* filter data test cases.Not Zed2003-04-109-17/+205
| | | | | | | | | | | | | | | 2003-04-10 Not Zed <NotZed@Ximian.com> * tests/mime-filter/data: filter data test cases. * tests/mime-filter/test-tohtml.c: New test for html filter. ** See bug #40969 * camel-mime-filter-tohtml.c (html_convert): Change the logic slightly, scan a whole line within the main loop. svn path=/trunk/; revision=20799
* Removed. I just realised that we ALWAYS want to get gpg's stderr in UTF-8,Jeffrey Stedfast2003-04-102-113/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-09 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c (gpg_ctx_get_utf8_diagnostics): Removed. I just realised that we ALWAYS want to get gpg's stderr in UTF-8, so the better solution (plus less code duplication) is to just have the diagnostics buffer be a CamelStreamMem with a charset filter. (gpg_ctx_new): Setup a filter stream to convert our gpg stderr diagnostics into UTF-8 if needed. (gpg_ctx_free): Unref the diagnostcis stream. (gpg_ctx_parse_status): Flush the diagnostics stream if we are going to use the data in an exception. (gpg_ctx_op_step): Use camel_stream_write() to append to the diagnostics stream rather than appending the buffer to a GByteArray like we used to do. (gpg_ctx_op_step): Flush the diagnostics stream here too. (gpg_verify): Use a const char *diagnostics string here, forcing a slight rearrangement of calls - use the const char *dignostics before we gpg_ctx_free, otherwise we'll be passing free'd memory off to the cipher_validity. (gpg_ctx_get_diagnostics): Do the work here to flush the diagnostics stream and nul-terminate the buffer. Also return const now, instead of strdupping. No need for that. (gpg_ctx_parse_status): Convert the user hint to UTF-8. svn path=/trunk/; revision=20798
* Changed my mind a bit on how I wanted this to work. Instead of aborting onJeffrey Stedfast2003-04-102-29/+45
| | | | | | | | | | | | 2003-04-09 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c (gpg_ctx_get_utf8_diagnostics): Changed my mind a bit on how I wanted this to work. Instead of aborting on an illegal sequence, do like we do with camel-mime-filter-charset and just skip over invalid sequences. Also, in the noop failure case, close the iconv_t so we don't leak it. svn path=/trunk/; revision=20796
* Save the content size in a temp variable until after we've successfullyJeffrey Stedfast2003-04-102-1/+19
| | | | | | | | | | | | | | | 2003-04-09 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c (imap_body_decode): Save the content size in a temp variable until after we've successfully parsed all of the body_type_1part expr. Also fixed a type-o in the body_type_mpart case that caused the parser to fail. (imap_parse_body): On failure to parse the body, as we iterate through the child nodes, set their children/parent/next nodes to NULL so that content_info_free() won't double-free any of the other nodes we have already free'd (or are about to free). svn path=/trunk/; revision=20795
* New function to get the UTF-8 version of the diagnostics (if the localeJeffrey Stedfast2003-04-102-3/+81
| | | | | | | | | | | | 2003-04-09 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c (gpg_ctx_get_utf8_diagnostics): New function to get the UTF-8 version of the diagnostics (if the locale isn't already UTF-8 safe). (gpg_verify): Use the utf-8 diagnostics here. Also fixed a memleak in the exception case. svn path=/trunk/; revision=20792
* NULL-protect the to/from charsets in the g_warning call.Jeffrey Stedfast2003-04-092-1/+9
| | | | | | | | | | 2003-04-09 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-charset.c (camel_mime_filter_charset_new_convert): NULL-protect the to/from charsets in the g_warning call. svn path=/trunk/; revision=20774
* Fixes for bug #40778. Probably others as well.Jeffrey Stedfast2003-04-092-122/+225
| | | | | | | | | | | | | | | | 2003-04-08 Jeffrey Stedfast <fejj@ximian.com> Fixes for bug #40778. Probably others as well. * providers/imap/camel-imap-utils.c (parse_params): Return 0 on success, or -1 on fail. The other small utility functions should probably do the same, but I was too lazy to fix them. Setting inptr to NULL is just lame. (imap_body_decode): New function to correctly parse a BODY response. (imap_parse_body): Rewritten to use the above function. svn path=/trunk/; revision=20773
* Make sure host->h_name is not an empty string too? Apparently for one userJeffrey Stedfast2003-04-092-1/+6
| | | | | | | | | | | 2003-04-08 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_helo): Make sure host->h_name is not an empty string too? Apparently for one user his resolved hostname is "". Go figure. Probably a broken system, but easy enough to work around. svn path=/trunk/; revision=20768
* If store->engine->line is NULL, use _("Unknown error") as the error stringJeffrey Stedfast2003-04-092-4/+12
| | | | | | | | | | 2003-04-08 Jeffrey Stedfast <fejj@ximian.com> * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): If store->engine->line is NULL, use _("Unknown error") as the error string instead. svn path=/trunk/; revision=20765
* use g_strerror, and use errno directly rather than ferrno().Not Zed2003-04-082-1/+8
| | | | | | | | | | 2003-04-08 Not Zed <NotZed@Ximian.com> * camel-folder-summary.c (camel_folder_summary_load): use g_strerror, and use errno directly rather than ferrno(). (summary_header_load): set errno when we get a version mismatch. svn path=/trunk/; revision=20739
* Disable debug printf'sJeffrey Stedfast2003-04-082-1/+5
| | | | | | | | 2003-04-07 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c: Disable debug printf's svn path=/trunk/; revision=20733
* If we are using the heimdal krb5 implementation, don't free outbuf ever.Jeffrey Stedfast2003-04-022-0/+16
| | | | | | | | | | 2003-03-28 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-gssapi.c (gssapi_challenge): If we are using the heimdal krb5 implementation, don't free outbuf ever. Seems to segfault if we do. svn path=/trunk/; revision=20624
* Use strncasecmp for matching the nofill and /nofill tags. Also fixed toJeffrey Stedfast2003-04-012-41/+243
| | | | | | | | | | 2003-03-31 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-enriched.c (enriched_to_html): Use strncasecmp for matching the nofill and /nofill tags. Also fixed to handle enriched tags that require <param> tags. svn path=/trunk/; revision=20603
* remove unused var.Not Zed2003-03-2816-37/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-28 Not Zed <NotZed@Ximian.com> * providers/local/camel-spool-store.c (get_folder): remove unused var. * providers/imap/camel-imap-utils.c (imap_parse_list_response): moved an unused var to the #if 0'd out block. * providers/imap/camel-imap-store.c (parse_list_response_as_folder_info): remove unused vars. * camel-index-control.c (main): deifne camel_init() before using it. * camel-vee-store.c (vee_get_folder): removed unused var. * camel-stream-mem.c (stream_write): warning -> fixme. * camel-stream-filter.c (_CamelStreamFilterPrivate): Add a ; to the end of the struct definition. * camel-store.c (camel_store_delete_folder): remove unused var. (camel_store_rename_folder): " (camel_store_unsubscribe_folder): " * camel-mime-part.c (write_to_stream): Changed warning into a TODO. (construct_from_parser): removed warning, the code was fixed. * camel-mime-message.c (construct_from_parser): Remove the warning, the code was fixed. * camel-mime-filter-enriched.c (camel_mime_filter_enriched_new): Remove unused var. * camel-medium.c (camel_medium_get_header): Removed warning, and changed docs to reflect it. * camel-gpg-context.c (gpg_ctx_parse_status): handle MODE_EXPORT as a noop (warning). * camel-folder.c (get_message_user_tag): changed a warning into a fixme (its not that important). (camel_folder_get_message_user_tag): " * camel-data-cache.c (data_cache_finalise): removed unused vars. (data_cache_expire): " svn path=/trunk/; revision=20556
* Get rid of debug printf's that are no longer needed. In the case ofJeffrey Stedfast2003-03-282-9/+8
| | | | | | | | | | | 2003-03-27 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-gssapi.c (gssapi_challenge): Get rid of debug printf's that are no longer needed. In the case of errors, don't release the outbuf gss_buffer_t since it shouldn't be set. Also g_free (str) when we are done with it. svn path=/trunk/; revision=20551
* When we remove a node from the list, make sure to g_list_free_1().Jeffrey Stedfast2003-03-282-1/+15
| | | | | | | | | | | | | | 2003-03-27 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_encode_phrase_merge_words): When we remove a node from the list, make sure to g_list_free_1(). (header_encode_phrase_merge_words): Don't use CAMEL_FOLD_PREENCODED as the upper-bound for merged-word length if the merged-word will not be an rfc2047 encoded word. Instead, use CAMEL_FOLD_SIZE-8 (which is the value we use in other places for determining upper-bound lengths). Solves bug #38659. svn path=/trunk/; revision=20549
* Like camel_url_encode, but works directly on an existing GString.Dan Winship2003-03-276-79/+117
| | | | | | | | | | | | | | | | | | * camel-url.c (append_url_encoded): Like camel_url_encode, but works directly on an existing GString. (camel_url_to_string, output_param): Use it. (camel_url_encode): Likewise. Remove "escape_unsafe" arg since the "unsafe" chars are the ones that should *always* be escaped, and the places we were passing FALSE were wrong. (camel_url_decode): replace with a new version * camel-file-utils.c (camel_file_util_safe_filename): Remove extra arg to camel_url_encode. * tests/misc/url.c (main): Add tests of basic URL parsing and unparsing svn path=/trunk/; revision=20545
* Do a more thorough check for html marked as text/plain. Check that theNot Zed2003-03-272-2/+11
| | | | | | | | | | | | 2003-03-28 Not Zed <NotZed@Ximian.com> * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Do a more thorough check for html marked as text/plain. Check that the text starts with <html or <!doctype. More complete fix for #16817. svn path=/trunk/; revision=20544
* Pass in the addresses of the second args to the delete/release functions.Jeffrey Stedfast2003-03-272-81/+81
| | | | | | | | | 2003-03-26 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-gssapi.c (camel_sasl_gssapi_finalize): Pass in the addresses of the second args to the delete/release functions. svn path=/trunk/; revision=20517
* Ignore whether or not the bag is currently reserved. We'll miss the newNot Zed2003-03-262-17/+8
| | | | | | | | | | 2003-03-27 Not Zed <NotZed@Ximian.com> * camel-object.c (camel_object_bag_list): Ignore whether or not the bag is currently reserved. We'll miss the new potential object, but only 1. Should address #40103. svn path=/trunk/; revision=20514
* Don't use setv when we don't need the stdarg interface.Jeffrey Stedfast2003-03-262-5/+13
| | | | | | | | | | 2003-03-25 Jeffrey Stedfast <fejj@ximian.com> * camel-service.c (camel_gethostbyaddr): Don't use setv when we don't need the stdarg interface. (camel_gethostbyname): Same. svn path=/trunk/; revision=20506
* This expression can never return an array. We must always return a stringJeffrey Stedfast2003-03-252-16/+16
| | | | | | | | | 2003-03-24 Jeffrey Stedfast <fejj@ximian.com> * camel-folder-search.c (search_user_tag): This expression can never return an array. We must always return a string value. svn path=/trunk/; revision=20487
* removed invisible 8bit charsJeffrey Stedfast2003-03-251-1/+1
| | | | svn path=/trunk/; revision=20485
* camel-imap-command.c (imap_read_untagged) Integer overflow fix. If server  Timo Sirainen 2003-03-252-2/+10
| | | | | | | | | | | 2003-03-24  Timo Sirainen  <tss@iki.fi> * camel-imap-command.c (imap_read_untagged) Integer overflow fix. If server sent a huge literal length, only a few bytes of memory was allocated to it, but server could write as much data there as it wanted. svn path=/trunk/; revision=20484
* Camel part of the fix for Lewing's bug #39204. Second half of the patchJeffrey Stedfast2003-03-222-8/+39
| | | | | | | | | | | | | | | | | | | | | | 2003-03-21 Jeffrey Stedfast <fejj@ximian.com> Camel part of the fix for Lewing's bug #39204. Second half of the patch should also fix it so that text/plain parts that are detected as being text/html are rendered as html (not that I agree with this mind you, but corporate customers want this "feature"). * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): If the part is text/html and doesn't have a charset and we are able to find a charset in the meta tags of the html content, set the charset param on the content-type. (camel_mime_part_construct_content_from_parser): After setting the content object on the mime part, re-set the content-type of the content object back to the one from the parser (as it may contain changes from the original - see changes made to the ct in simple_data_wrapper_construct_from_parser for details). svn path=/trunk/; revision=20463
* continue reading the cert file until we've read it all or get a non-EINTRJeffrey Stedfast2003-03-222-7/+25
| | | | | | | | | | 2003-03-21 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_get): continue reading the cert file until we've read it all or get a non-EINTR errno. svn path=/trunk/; revision=20457
* #include <com_err.h> instead of #include <et/com_err.h>Jeffrey Stedfast2003-03-212-1/+6
| | | | | | | | | 2003-03-21 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-gssapi.c: #include <com_err.h> instead of #include <et/com_err.h> svn path=/trunk/; revision=20453
* Plug in GSSAPI support.Jeffrey Stedfast2003-03-215-28/+69
| | | | | | | | | | | 2003-03-20 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl.c: Plug in GSSAPI support. * camel-sasl-gssapi.[c,h]: Various fixes to make it compile (fixed type-o's mostly). svn path=/trunk/; revision=20438
* Handle raw 8-bit From data "correctly". (The same way we handleDan Winship2003-03-2111-98/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw 8-bit Subject data.) * camel-mime-utils.c (header_decode_mailbox): Take a charset arg and pass it to header_decode_string. (header_decode_address): Take a charset arg and pass it to header_decode_mailbox. (header_mailbox_decode): Likewise. (header_address_decode): Take a charset arg and pass it to header_decode_address. * camel-folder-summary.c (summary_format_address): Take a charset arg and pass to header_address_decode. (message_info_new, camel_message_info_new_from_header): Pass charset to summary_format_address * camel-internet-address.c (internet_decode): Update for header_address_decode change. (Unfortunately we don't have a charset to pass here.) * camel-mime-message.c (camel_mime_message_build_mbox_from): Move this here from camel-mbox-summary since the same functionality is needed by evolution-mail too (and update for header_address_decode change) * providers/local/camel-mbox-summary.c (camel_mbox_summary_build_from): Moved to CamelMimeMessage svn path=/trunk/; revision=20430
* Removed unused variable left over from my previous fix.Jeffrey Stedfast2003-03-183-15/+20
| | | | | | | | | | | | | | | 2003-03-17 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part.c (process_header): Removed unused variable left over from my previous fix. * providers/smtp/camel-smtp-transport.c (smtp_send_to): Don't pass 'has_8bit_parts' to smtp_data() anymore. (smtp_data): No longer takes 'has_8bit_parts' argument. Ignore whether or not the message has 8bit parts when deciding what the required encoding type we need to enforce. Fixes bug #39744. svn path=/trunk/; revision=20312
* Use header_contentid_decode() as this new function should be safer thanJeffrey Stedfast2003-03-154-15/+82
| | | | | | | | | | | | | | | | | 2003-03-13 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part.c (process_header): Use header_contentid_decode() as this new function should be safer than the hack that we had before. * camel-mime-utils.c (header_contentid_decode): New function to try and parse a content-id string in such a way as to work around some of the known bugs in other MIME implementations. Try to be as "safe" as we can - ie. don't allow for more than 1 @ (since the mailer uses "@@@%d" as a fake content-id value for parts without content-ids) and don't allow for invalid content-type chars. svn path=/trunk/; revision=20295
* Don't add bogus uids to the uid array. Might fix bug #38868 (it's the onlyJeffrey Stedfast2003-03-142-8/+14
| | | | | | | | | | | 2003-03-13 Jeffrey Stedfast <fejj@ximian.com> * camel-folder.c (get_uids): Don't add bogus uids to the uid array. Might fix bug #38868 (it's the only way I can figure that camel_folder_get_message_info() could possibly return NULL for the Outbox folder). svn path=/trunk/; revision=20280
* removed, it was double-freeing the key. (save_object): Just save theNot Zed2003-03-122-11/+21
| | | | | | | | | | | | | | | 2003-03-12 Not Zed <NotZed@Ximian.com> * camel-object.c (remove_bag): removed, it was double-freeing the key. (save_object): Just save the object in an array. (camel_object_bag_destroy): first save the object bag's objects in a list, then remove them one at a time from the bag since we can't remove hash table entries while we're in a foreach (PITA glib shit). For #39486. (camel_object_bag_*): killed some warnings. svn path=/trunk/; revision=20258
* added a commentJeffrey Stedfast2003-03-111-0/+2
| | | | svn path=/trunk/; revision=20241
* Doh! If inptr == pos + 1, then return FALSE (before it was checking forJeffrey Stedfast2003-03-102-1/+7
| | | | | | | | | | 2003-03-09 Jeffrey Stedfast <fejj@ximian.com> * camel-url-scanner.c (camel_url_addrspec_end): Doh! If inptr == pos + 1, then return FALSE (before it was checking for inptr == pos, but it will never be pos). svn path=/trunk/; revision=20225
* handle a null return from search_by_expression, for bug #33786.Not Zed2003-03-072-9/+17
| | | | | | | | | 2003-03-07 Not Zed <NotZed@Ximian.com> * camel-vee-folder.c (vee_search_by_expression): handle a null return from search_by_expression, for bug #33786. svn path=/trunk/; revision=20215
* s/g_strncasecmp/strncasecmp/gJeffrey Stedfast2003-03-0710-282/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-06 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c (imap_next_word): s/g_strncasecmp/strncasecmp/g * camel-iconv.c: Updated to be an exact copy of e-iconv (except names changed). We don't use this yet, but we may in the future. * camel-url.c (camel_url_new_with_base): Here too. * camel-sasl-kerberos4.c (krb4_challenge): Use camel_strdown() here instead of g_strdown() since the latter has been deprecated. * providers/imap/camel-imap-utils.c (imap_parse_body): Use camel_strdown() since g_ascii_strdown() does not do what we thought. * providers/imap/camel-imap-store.c: s/strstrcase/camel_strstrcase/g * providers/imap/camel-imap-folder.c (do_append): s/strstrcase/camel_strstrcase/ (handle_copyuid): Same. * string-utils.c (camel_strdown): New function because the g_ascii_strdown interface sucks. (camel_strstrcase): Renamed from strstrcase. svn path=/trunk/; revision=20213
* Same as below.Jeffrey Stedfast2003-03-063-2/+9
| | | | | | | | | | | 2003-03-06 Jeffrey Stedfast <fejj@ximian.com> * camel-text-index.c (camel_utf8_next): Same as below. * camel-search-private.c (camel_utf8_getc): Updated since not all platforms/compiles support __inline__. svn path=/trunk/; revision=20192
* Get rid of the const return - it mismatches the prototype and we don'tJeffrey Stedfast2003-03-062-1/+7
| | | | | | | | | | 2003-03-06 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part.c (camel_mime_part_get_encoding): Get rid of the const return - it mismatches the prototype and we don't need it anyway. Fixes bug #39173. svn path=/trunk/; revision=20191
* Fixes for bug #39170Jeffrey Stedfast2003-03-064-4/+17
| | | | | | | | | | | | | | | | | 2003-03-06 Jeffrey Stedfast <fejj@ximian.com> Fixes for bug #39170 * camel-store-summary.c (camel_store_info_set_string): Remove return keyword. * camel-session.c (camel_session_thread_msg_free): Remove return keyword. (camel_session_thread_wait): Same. * camel-index.c (camel_index_cursor_reset): Remove return keyword. svn path=/trunk/; revision=20188
* Fixes for bug #39168Jeffrey Stedfast2003-03-0610-46/+43
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-06 Jeffrey Stedfast <fejj@ximian.com> Fixes for bug #39168 * providers/local/camel-spool-summary.c: Get rid of the empty private struct. * providers/local/camel-mbox-summary.c: Get rid of the empty private struct. * camel-vee-store.c: Get rid of the empty private struct. * camel-mime-filter-from.c: Get rid of the empty private struct. 2003-03-05 Jeffrey Stedfast <fejj@ximian.com> * providers/sendmail/camel-sendmail-transport.c (sendmail_send_to): Add a CRLF filter to the output stream to convert any CRLF sequences into plain old line-feeds to work around a bug in some local transport programs. svn path=/trunk/; revision=20187
* s/class/klass in one place so that the header is c++-safe.Jeffrey Stedfast2003-03-052-1/+6
| | | | | | | | | 2003-03-04 Jeffrey Stedfast <fejj@ximian.com> * camel-object.h: s/class/klass in one place so that the header is c++-safe. svn path=/trunk/; revision=20140
* Updated to use the new API from a fe commits ago for the NSS stream. ThisJeffrey Stedfast2003-03-047-4/+434
| | | | | | | | | | | | | | | | | | | | | | | | 2003-03-03 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.c (camel_tcp_stream_ssl_new): Updated to use the new API from a fe commits ago for the NSS stream. This is just to make it compile, but does not update the behaviour to act like the NSS stream. Note that people shouldn't be using OpenSSL anyway. (camel_tcp_stream_ssl_new_raw): Same. * camel-process.[c,h]: New source file containing convenience functions for process creation/termination mainly for use with Pipe filters but should be usable for anything we want. * camel-io.[c,h]: New source files implementing read/write system calls with proper error checking and cancellation (ie. StreamFs::read/write and CamelTcpStreamRaw::read/write). No sense duplicating the same code over and over. Now I can use this same code easily in other i/o code (such as Pipe filters and gpg code?). svn path=/trunk/; revision=20132
* Do similar folder != NULL checking as for delete_folder before passing aNot Zed2003-03-032-3/+10
| | | | | | | | | | 2003-03-03 Not Zed <NotZed@Ximian.com> * camel-store.c (camel_store_unsubscribe_folder): Do similar folder != NULL checking as for delete_folder before passing a NULL to object_bag_remove. svn path=/trunk/; revision=20121
* Same as IMAP and POP.Jeffrey Stedfast2003-03-017-17/+71
| | | | | | | | | | | | | | | | | | | | | | 2003-02-28 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (connect_to_server): Same as IMAP and POP. * providers/imap/camel-imap-store.c (connect_to_server): Same as the POP3 code. * providers/pop3/camel-pop3-store.c (connect_to_server): Pass in appropriate flags for camel_tcp_stream_ssl_new*() functions. * camel-tcp-stream-ssl.c (enable_ssl): Not all ssl/tls streams will want to allow each of SSLv2, SSLv3 and TLSv1 so use flags to decide which to enable/disable. (camel_tcp_stream_ssl_new): Now takes a flags argument to mask out which SSL/TLS versions the stream should be compatable with. (camel_tcp_stream_ssl_new_raw): Same. svn path=/trunk/; revision=20111
* Add a 'flushed' state variable to the private struct. (do_read): SetJeffrey Stedfast2003-02-283-5/+40
| | | | | | | | | | | | | | | | | | | | 2003-02-27 Jeffrey Stedfast <fejj@ximian.com> * camel-stream-filter.c: Add a 'flushed' state variable to the private struct. (do_read): Set p->flushed to TRUE after we call camel_mime_filter_complete() on all the filters. (do_reset): Set p->flushed to FALSE. (do_eos): Make sure the filters have been flushed before returning that the stream is at EOS. * camel-mime-filter-canon.c (complete): Don't add a eol - otherwise we will fail to verify some mutt signatures that do not have a blank line before the boundary line (and note that the last \n before the boundary really belongs to the boundary anyway) so #if 0 this code out for now. svn path=/trunk/; revision=20096
* Undo jeff's changes.Not Zed2003-02-273-5/+20
| | | | | | | | | | | 2003-02-27 Not Zed <NotZed@Ximian.com> * camel-multipart-signed.c: Undo jeff's changes. * providers/local/camel-spool-store.c (scan_dir): Fix a paste-o in the object_bag_get key. svn path=/trunk/; revision=20084
* Updated to use g_alloca instead of alloca so that we can skip all theJeffrey Stedfast2003-02-272-2/+6
| | | | | | | | | | 2003-02-26 Jeffrey Stedfast <fejj@ximian.com> * camel-multipart-signed.c: Updated to use g_alloca instead of alloca so that we can skip all the #ifdef checks and skip checking for alloca in configure.in and all that foo. svn path=/trunk/; revision=20081
* don't #include camel-iconv.hJeffrey Stedfast2003-02-271-1/+0
| | | | svn path=/trunk/; revision=20075
* Make sure the folder is non-NULL before trying to remove it from theJeffrey Stedfast2003-02-262-6/+13
| | | | | | | | | | 2003-02-26 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (camel_store_delete_folder): Make sure the folder is non-NULL before trying to remove it from the store's object-bag. svn path=/trunk/; revision=20067
* removed unused filter code that was wrong anywayJeffrey Stedfast2003-02-264-214/+0
| | | | svn path=/trunk/; revision=20058
* canonicalise the charset name (if it is an iso charset) so that ourJeffrey Stedfast2003-02-262-2/+70
| | | | | | | | | | | | | | | | | | 2003-02-25 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): canonicalise the charset name (if it is an iso charset) so that our strncasecmp to see if it is an iso-8859-# charset will be guarenteed to work on all systems. (canon_charset_name): New function to return the canonical iso charset name. (simple_data_wrapper_construct_from_parser): If the charset is NULL *or* the charset == "us-ascii" then check that it is 7bit clean to decide if it is rawtext (we did not check the case where charset was "us-ascii" before). svn path=/trunk/; revision=20057
* Same as the ones below.Jeffrey Stedfast2003-02-2615-254/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-25 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c: Same as the ones below. * camel-mime-part.c: Reverted back to pre-camel-iconv * camel-filter-search.c: Same as below. * camel-folder-summary.c: Reverted back to pre-camel-iconv * camel.c (camel_init): Reverted to pre-camel-iconv * camel-charset-map.c (camel_charset_locale_name): Removed (part of the revert). (camel_charset_canonical_name): Same. * camel-mime-filter-charset.c: Revert back to using e_iconv from GAL. * camel-mime-part-utils.c: Revert back to using e_iconv from GAL. * camel-mime-utils.c: Revert back to using e_iconv from GAL. * camel-sasl-digest-md5.c: Revert back to using e-iconv from GAL. svn path=/trunk/; revision=20056
* g_alloca (strlen (charset) + 1) so we don't overflow the buffer.Jeffrey Stedfast2003-02-252-1/+4
| | | | | | | | | 2003-02-24 Jeffrey Stedfast <fejj@ximian.com> * camel-charset-map.c (camel_charset_canonical_name): g_alloca (strlen (charset) + 1) so we don't overflow the buffer. svn path=/trunk/; revision=20047
* Don't write the passwd, fixes "bug" #38601.Jeffrey Stedfast2003-02-252-3/+9
| | | | | | | | | 2003-02-24 Jeffrey Stedfast <fejj@ximian.com> * providers/pop3/camel-pop3-stream.c (stream_write): Don't write the passwd, fixes "bug" #38601. svn path=/trunk/; revision=20045
* Make bucket->refcount 31 bits and bucket->used 1 bit instead of havingJeffrey Stedfast2003-02-252-4/+6
| | | | | | | | | 2003-02-24 Jeffrey Stedfast <fejj@ximian.com> * camel-iconv.c: Make bucket->refcount 31 bits and bucket->used 1 bit instead of having each use their own 32bit int. svn path=/trunk/; revision=20035
* Use g_iconv_close() here, missed this before. (camel_iconv): Might as wellJeffrey Stedfast2003-02-252-2/+9
| | | | | | | | | | | 2003-02-24 Jeffrey Stedfast <fejj@ximian.com> * camel-iconv.c (iconv_cache_bucket_expire): Use g_iconv_close() here, missed this before. (camel_iconv): Might as well call g_iconv here even though it just calls iconv directly. svn path=/trunk/; revision=20034
* New function...back from the depths of hell from whence it cameJeffrey Stedfast2003-02-255-7/+194
| | | | | | | | | | | | | | | | | | | | | 2003-02-21 Jeffrey Stedfast <fejj@ximian.com> * camel-iconv.c (camel_iconv_charset_name): New function...back from the depths of hell from whence it came originally. Turns out that g_iconv_open() is lame and can't handle all the stuff we used to handle in e_iconv_charset_name(). (camel_iconv_open): Use camel_iconv_charset_name() on the to/from charsets rather than camel_charset_canonical_name(). Now maybe g_iconv_open will work for charsets such as "ks_c_5601-1987". * providers/pop3/camel-pop3-store.c (pop3_connect): Reget the capabilities after a successful authentication. * providers/pop3/camel-pop3-engine.c (get_capabilities): If we are in the TRANSACTION state and CAPA did not list UIDL as a supported command, try checking for it the hard way. svn path=/trunk/; revision=20033
* fixed a type-o that causes a segfaultJeffrey Stedfast2003-02-242-2/+2
| | | | svn path=/trunk/; revision=20031
* Do it the same way we just made the sendmail code do it.Jeffrey Stedfast2003-02-243-60/+61
| | | | | | | | | | | | 2003-02-23 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_data): Do it the same way we just made the sendmail code do it. * providers/sendmail/camel-sendmail-transport.c (sendmail_send_to): My last change but in a better way. svn path=/trunk/; revision=20023
* s/g_slist_free1/g_slist_free_1Jeffrey Stedfast2003-02-232-3/+5
| | | | svn path=/trunk/; revision=20001
* Remove all Bcc headers before sending to the smtp server.Jeffrey Stedfast2003-02-233-14/+62
| | | | | | | | | | | | | 2003-02-22 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_data): Remove all Bcc headers before sending to the smtp server. * providers/sendmail/camel-sendmail-transport.c (sendmail_send_to): Remove all Bcc headers before sending to sendmail. svn path=/trunk/; revision=20000
* fixJeffrey Stedfast2003-02-211-1/+1
| | | | svn path=/trunk/; revision=19983
* fuck ICONV_CONST, we can add that foo later...if we care.Jeffrey Stedfast2003-02-211-1/+1
| | | | svn path=/trunk/; revision=19981
* would help to include our header, eh?Jeffrey Stedfast2003-02-211-0/+1
| | | | svn path=/trunk/; revision=19980
* Call camel_iconv_init(). (camel_shutdown): Call camel_iconv_shutdown().Jeffrey Stedfast2003-02-2116-119/+757
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-20 Jeffrey Stedfast <fejj@ximian.com> * camel.c (camel_init): Call camel_iconv_init(). (camel_shutdown): Call camel_iconv_shutdown(). * camel-sasl-digest-md5.c (digest_response): Updated to use camel-iconv and the new camel-charset-map functions. * camel-mime-utils.c: Updated to use camel-iconv and the new camel-charset-map functions. * camel-mime-part-utils.c (check_html_charset): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. (convert_buffer): Use camel-iconv. (simple_data_wrapper_construct_from_parser): Since camel_charset_iso_to_windows() returns the charset in it's canonical format, no need to re-canonicalise it. * camel-mime-part.c (process_header): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. * camel-mime-message.c (process_header): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. * camel-mime-filter-charset.c: Use camel-iconv. * camel-folder-summary.c (message_info_new): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. (content_info_new): Use camel_charset_locale_name(). (camel_message_info_new_from_header): Same as message_info_new(). * camel-search-private.c: Use g_alloca() instead of alloca(). * camel-filter-search.c (check_header): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. * camel-charset-map.c (camel_charset_locale_name): New function, replaces e_iconv_locale_charset(). (camel_charset_canonical_name): New function, similar to e_iconv_charset_name() but instead of returning the iconv-friendly name, it returns the canonical name. (g_iconv will do the iconv-friendly name conversions for us). svn path=/trunk/; revision=19977
* Redirect program's stdout and stderr to /dev/nullJeffrey Stedfast2003-02-213-12/+32
| | | | | | | | | | | | | | | | 2003-02-20 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-search.c (run_command): Redirect program's stdout and stderr to /dev/null * camel-filter-driver.c (pipe_to_system): Redirect the program's stderr to /dev/null (pipe_to_system): Write the pipe to a mem stream and use the mem stream in the parser. Also, when setting an exception get the errno from the parser so we can give more info about the error to the user. svn path=/trunk/; revision=19974
* Redirect the program's stderr to /dev/nullJeffrey Stedfast2003-02-212-2/+11
| | | | | | | | | 2003-02-20 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (pipe_to_system): Redirect the program's stderr to /dev/null svn path=/trunk/; revision=19973
* use argv[0] instead of argv[i], doh!Jeffrey Stedfast2003-02-201-1/+1
| | | | svn path=/trunk/; revision=19957
* Fixed a type-o in the ENABLE_IPv6 ifdef section.Jeffrey Stedfast2003-02-202-1/+6
| | | | | | | | | 2003-02-19 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (stream_connect): Fixed a type-o in the ENABLE_IPv6 ifdef section. svn path=/trunk/; revision=19954
* New filter action that pipes the message source to the user-program andJeffrey Stedfast2003-02-202-13/+21
| | | | | | | | | | | | | | | | | | | | | 2003-02-19 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (pipe_message): New filter action that pipes the message source to the user-program and reads back the modified message and replaces driver->priv->message with the new message object. (do_copy): Check p->modified to make sure the message hasn't been modified by the pipe-message action - if it has been modified, default to the slower camel_folder_append_message() way of copying. (do_move): Same. (pipe_to_system): Set p->modified to TRUE if the user-program gave us back a message stream and we were able to parse it. (camel_filter_driver_filter_message): If the message has been modified, always use camel_folder_append_message() when appending it to the default folder. svn path=/trunk/; revision=19951
* New filter action that pipes the message source to the user-program andJeffrey Stedfast2003-02-202-2/+154
| | | | | | | | | | | 2003-02-19 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (pipe_message): New filter action that pipes the message source to the user-program and reads back the modified message and replaces driver->priv->message with the new message object. svn path=/trunk/; revision=19950
* Added a (get-size ) function to fix bug #38073. (search_get_size):Jeffrey Stedfast2003-02-153-1/+32
| | | | | | | | | | 2003-02-14 Jeffrey Stedfast <fejj@ximian.com> * camel-folder-search.c: Added a (get-size ) function to fix bug #38073. (search_get_size): Implemented. svn path=/trunk/; revision=19915
* watch for <>'s tooJeffrey Stedfast2003-02-151-1/+2
| | | | svn path=/trunk/; revision=19914
* Mark chars with the high-bit set as CTRL chars. (camel_url_web_end): IfJeffrey Stedfast2003-02-152-11/+50
| | | | | | | | | | | | 2003-02-14 Jeffrey Stedfast <fejj@ximian.com> * camel-url-scanner.c (url_scanner_table_init): Mark chars with the high-bit set as CTRL chars. (camel_url_web_end): If the char before the start of the url is an open-brace, watch out for the matching close-brace. (camel_url_file_end): Same. svn path=/trunk/; revision=19913
* Same as the gpg and pkcs7 contexts.Jeffrey Stedfast2003-02-1510-37/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-14 Jeffrey Stedfast <fejj@ximian.com> * camel-smime-context.c (smime_get_password): Same as the gpg and pkcs7 contexts. * camel-sasl-popb4smtp.c (popb4smtp_challenge): Updated for camel_session_get_password(). * camel-pkcs7-context.c (get_password): Same as the gpg code. * camel-gpg-context.c (gpg_ctx_parse_status): Updated for camel_session_get_password(). * providers/smtp/camel-smtp-transport.c (smtp_connect): No need to set USER_CANCEL exception here as it is done by camel_session_get_password(). Also updated for the new get_password() API change. * providers/imap/camel-imap-store.c (imap_auth_loop): Updated for camel_session_get_password() changes. We don't need to play the "bad passwd" game here too, do we? Bah, probably should but I don't feel like it for now. Maybe when we rewrite the IMAP provider. * camel-session.c (camel_session_get_password): Now takes a 'reprompt' argument that will force user-input to be given even if we have the passwd cached. * providers/pop3/camel-pop3-store.c (pop3_connect): Instead of uncaching the passwd after we receive a -ERR from the POP server, set 'reprompt' to TRUE to force user-input for the next password prompt (ie, make sure the front-end knows not to just return the cached value). The front-end can then decide to fill-in the user-input field with the last passwd that the user supplied. (pop3_try_authenticate): Now takes a reprompt argument which we pass into camel_session_get_password(). svn path=/trunk/; revision=19912
* Define in terms of privincludedir. (camellibexecdir): Define in terms ofDan Winship2003-02-068-15/+25
| | | | | | | | | | | | | | | | | | * Makefile.am (libcamelincludedir): Define in terms of privincludedir. (camellibexecdir): Define in terms of privlibexecdir (libcamel_la_LDFLAGS): Remove -rpath. (automake will add that) * providers/imap/Makefile.am (libcamelimapincludedir): Define in terms of privincludedir. (INCLUDES): Remove -I$(includedir) * providers/local/Makefile.am: Likewise * providers/nntp/Makefile.am: Likewise * providers/pop3/Makefile.am: Likewise * providers/sendmail/Makefile.am: Likewise * providers/smtp/Makefile.am: Likewise svn path=/trunk/; revision=19775
* Init bag->owner to 0.Not Zed2003-02-052-63/+76
| | | | | | | | | | | | | | 2003-02-04 Not Zed <NotZed@Ximian.com> * camel-object.c (camel_object_bag_new): Init bag->owner to 0. 2003-01-31 Not Zed <NotZed@Ximian.com> * camel-object.c (camel_object_bag_*): Changed to use a posix semaphore instead of a condition variable + flag to reserve the object bag because e_mutex_cond is broken. svn path=/trunk/; revision=19754
* Use g_ascii_strdown() instead of g_strdown, since g_strdown is deprecated.Jeffrey Stedfast2003-02-058-41/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-04 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c (imap_parse_body): Use g_ascii_strdown() instead of g_strdown, since g_strdown is deprecated. (imap_parse_body): Same. * providers/imap/camel-imap-folder.c (decode_internaldate): Use strncasecmp() here too. (parse_fetch_response): And here. (camel_imap_folder_selected): Here too. * providers/imap/camel-imap-utils.c (imap_namespace_decode): Use strncasecmp() instead of g_strncasecmp() because the latter is deprecated. * providers/imap/camel-imap-store.c (imap_get_capability): Again here. (hash_folder_name): Here too. (compare_folder_name): And here. (get_folder_online): Again. (get_folder_offline): And again. * providers/imap/camel-imap-folder.c (camel_imap_folder_selected): Same as below again. * providers/imap/camel-imap-command.c (camel_imap_response_free): Same as below. * providers/smtp/camel-smtp-transport.c (smtp_data): Use strcasecmp() because g_strcasecmp() is deprecated. * camel-url.c (camel_url_new_with_base): Use g_ascii_strdown() instead of g_strdown, since g_strdown is deprecated. 2003-01-28 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-gssapi.c (gssapi_challenge): Pass in some default flags to gss_init_sec_context() (these default flags are defined as a MUST in rfc1964). svn path=/trunk/; revision=19748
* Pass in some default flags to gss_init_sec_context() (these default flagsJeffrey Stedfast2003-01-292-1/+9
| | | | | | | | | | 2003-01-28 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-gssapi.c (gssapi_challenge): Pass in some default flags to gss_init_sec_context() (these default flags are defined as a MUST in rfc1964). svn path=/trunk/; revision=19676
* $(libexec) -> $(libexecdir)Hans Petter Jansson2003-01-232-1/+5
| | | | | | | | 2003-01-22 Hans Petter Jansson <hpj@ximan.com> * Makefile.am: $(libexec) -> $(libexecdir) svn path=/trunk/; revision=19573
* Update to the new $(BASE_VERSION)-versioned path. Likewise. Likewise.Ettore Perazzoli2003-01-239-17/+41
| | | | | | | | | | | | | | | | | | | | | | | | | * providers/imap/Makefile.am (libcamelimapincludedir): Update to the new $(BASE_VERSION)-versioned path. * providers/smtp/Makefile.am (libcamelsmtpincludedir): Likewise. * providers/sendmail/Makefile.am (libcamelsendmailincludedir): Likewise. * providers/pop3/Makefile.am (libcamelpop3includedir): Likewise. * providers/nntp/Makefile.am (libcamelnntpincludedir): Likewise. * providers/local/Makefile.am (libcamellocalincludedir): Likewise. * camel-lock-client.c (camel_lock_helper_init): Use CAMEL_LIBEXECDIR instead of CAMEL_SBINDIR to find camel-lock-helper. * Makefile.am: Install camel-lock-helper and camel-index-control in $(libexec)/evolution/$(BASE_VERSION)/camel. Install libcamel.la in $privlibdir. (install-exec-hook): Update for the new location of camel-lock-helper. (libcamelincludedir): Version using $(BASE_VERSION). (INCLUDES): Define CAMEL_LIBEXECDIR. svn path=/trunk/; revision=19554
* Set the backbuflen to 0 so that calling us again won't re-flush the sameJeffrey Stedfast2003-01-222-2/+9
| | | | | | | | | 2003-01-21 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-canon.c (complete): Set the backbuflen to 0 so that calling us again won't re-flush the same data. svn path=/trunk/; revision=19538
* only grow the buffer when we are out of space.Larry Ewing2003-01-182-9/+16
| | | | | | | | | 2003-01-17 Larry Ewing <lewing@ximian.com> * camel-mime-filter-enriched.c (enriched_to_html): only grow the buffer when we are out of space. svn path=/trunk/; revision=19513
* If we have no content-type header, set it to text/plain explcitly, ratherNot Zed2003-01-142-0/+8
| | | | | | | | | | 2003-01-14 Not Zed <NotZed@Ximian.com> * camel-mime-parser.c (folder_scan_step): If we have no content-type header, set it to text/plain explcitly, rather than NULL, because some code doesn't handle NULL. svn path=/trunk/; revision=19438
* New source files implementing the GSSAPI SASL mechanism.Jeffrey Stedfast2003-01-144-1/+380
| | | | | | | | | 2003-01-14 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-gssapi.[c,h]: New source files implementing the GSSAPI SASL mechanism. svn path=/trunk/; revision=19437
* fix header include order.Not Zed2003-01-133-4/+16
| | | | | | | | | | | | | | 2003-01-13 Not Zed <NotZed@Ximian.com> * camel-mime-filter-tohtml.c: fix header include order. * camel-object.c (camel_object_bag_reserve): Add an assert to check we're not trying to reserve the bag more than once in a given thread. (camel_object_bag_list): If we have reserved the bag, dont try and cond wait. Fixes a deadlock. svn path=/trunk/; revision=19424
* Read the characters as utf8, rather than as 8 bit bytes. Remove theNot Zed2003-01-133-17/+87
| | | | | | | | | | | | | | 2003-01-13 Not Zed <NotZed@Ximian.com> * camel-mime-filter-tohtml.c (writeln): Read the characters as utf8, rather than as 8 bit bytes. Remove the PRESERVE_8BIT as it has no meaning. Also change the default logic slightly so that 8 bit or greater characters are properly converted to entities. * camel-utf8.c (camel_utf8_getc_limit): new function, gets a utf8 char, bounded by an end pointer. svn path=/trunk/; revision=19421
* add a "translation_domain" field. (NULL for all providers in the camelDan Winship2003-01-083-5/+21
| | | | | | | | | | * camel-provider.h (CamelProvider): add a "translation_domain" field. (NULL for all providers in the camel source tree itself). * camel-session.c (register_provider): Translate provider strings in the correct domain svn path=/trunk/; revision=19265
* init local exception before doing anything. fixes a crash.Not Zed2003-01-062-0/+6
| | | | | | | | | 2003-01-06 Not Zed <NotZed@Ximian.com> * camel-store.c (store_sync): init local exception before doing anything. fixes a crash. svn path=/trunk/; revision=19238
* spell-checkJeffrey Stedfast2003-01-051-5/+5
| | | | svn path=/trunk/; revision=19237
* Instead of checking recipients != NULL, check that camel_address_lengthJeffrey Stedfast2003-01-052-2/+9
| | | | | | | | | | | 2003-01-04 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_send_to): Instead of checking recipients != NULL, check that camel_address_length (recipients) != 0 since it is illegal for recipients to be NULL (camel_transport_send_to already checks this). svn path=/trunk/; revision=19235
* commit this tooJeffrey Stedfast2002-12-181-1/+2
| | | | svn path=/trunk/; revision=19155
* Replace calls to g_string_sprintfa() with g_string_append_printf() sinceJeffrey Stedfast2002-12-1820-117/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-17 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c: Replace calls to g_string_sprintfa() with g_string_append_printf() since the former seems to have been deprecated. * providers/imap/camel-imap-search.c: Same. * providers/imap/camel-imap-folder.c: Here too. * providers/local/camel-mbox-summary.c: And here. * providers/local/camel-local-summary.c: Replace g_string_sprintf() with g_string_printf(). * camel-data-cache.c (data_cache_expire): Replace g_string_sprintf() with g_string_printf(). * camel-url.c: Replace calls to g_string_sprintfa() with g_string_append_printf() since the former seems to have been deprecated. * camel-service.c: Same. * camel-mime-utils.c: Here too. svn path=/trunk/; revision=19154
* Replace calls to g_string_sprintfa() with g_string_append_printf() sinceJeffrey Stedfast2002-12-184-80/+92
| | | | | | | | | | | | | | 2002-12-17 Jeffrey Stedfast <fejj@ximian.com> * camel-url.c: Replace calls to g_string_sprintfa() with g_string_append_printf() since the former seems to have been deprecated. * camel-service.c: Same. * camel-mime-utils.c: Here too. svn path=/trunk/; revision=19153
* Detect text/html parts that were marked as text/plain and re-tag them asJeffrey Stedfast2002-12-172-14/+39
| | | | | | | | | | | | | 2002-12-16 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Detect text/html parts that were marked as text/plain and re-tag them as text/html parts. Note: currently just checks if the first non-lwsp char is a '<' - but we might need to be smarter about this? *sigh* Stupid Windows mailers. svn path=/trunk/; revision=19143
* New convenience function to replace calls to e_text_to_html() in theJeffrey Stedfast2002-12-173-0/+32
| | | | | | | | | | 2002-12-16 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-tohtml.c (camel_text_to_html): New convenience function to replace calls to e_text_to_html() in the mailer/composer etc. svn path=/trunk/; revision=19128
* #include some headers we had forgotten to add previously, also addedJeffrey Stedfast2002-12-166-1/+455
| | | | | | | | | | | | 2002-12-16 Jeffrey Stedfast <fejj@ximian.com> * camel.h: #include some headers we had forgotten to add previously, also added camel-mime-filter-enriched.h. * camel-mime-filter-enriched.[c,h]: New stream filter to convert text/enriched and text/richtext into HTML. svn path=/trunk/; revision=19124
* Don't apply the CANON_STRIP filter here, since we are verifying whateverJeffrey Stedfast2002-12-162-3/+11
| | | | | | | | | | | 2002-12-15 Jeffrey Stedfast <fejj@ximian.com> * camel-multipart-signed.c (camel_multipart_signed_verify): Don't apply the CANON_STRIP filter here, since we are verifying whatever raw data we received (all we want to do is convert o the canonical CRLF format). svn path=/trunk/; revision=19122
* Use camel-url-scanner instead of regex.Jeffrey Stedfast2002-12-113-90/+43
| | | | | | | | | 2002-12-10 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-tohtml.c (html_convert): Use camel-url-scanner instead of regex. svn path=/trunk/; revision=19087
* Fixed to not be fooled in the case where the address is followedJeffrey Stedfast2002-12-102-35/+60
| | | | | | | | | | | | | | 2002-12-09 Jeffrey Stedfast <fejj@ximian.com> * camel-url-scanner.c (camel_url_addrspec_end): Fixed to not be fooled in the case where the address is followed immediately by a period. (camel_url_web_end): Made more robust. (camel_url_scanner_scan): Oops. We need to set the match->pattern string pointer to the correct pattern before executing the start/end methods (as some of them rely on this info). svn path=/trunk/; revision=19077
* New code to scan for patterns (used only for url pattern matching atm, butJeffrey Stedfast2002-12-104-0/+477
| | | | | | | | | | 2002-12-09 Jeffrey Stedfast <fejj@ximian.com> * camel-url-scanner.c: New code to scan for patterns (used only for url pattern matching atm, but we may find other uses for this and thus rename it? I dunno). Uses ETrie. svn path=/trunk/; revision=19075
* Use a bag instead of a hashtable to track the cache streams.Not Zed2002-12-0913-449/+608
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-07 Not Zed <NotZed@Ximian.com> * camel-data-cache.c (data_cache_init): Use a bag instead of a hashtable to track the cache streams. (data_cache_finalise): Same. (free_busy): No longer needed. (data_cache_expire): use bag instead of hashtable. (stream_finalised): No longer required. (camel_data_cache_add): objectbagise (camel_data_cache_get): " (camel_data_cache_remove): " (data_cache_path): Set the now expired date before running expiry, so it plays better with multiple threads. Still a couple of harmless races. 2002-12-06 Not Zed <NotZed@Ximian.com> * providers/local/camel-spool-store.c (scan_dir): folders -> object bag. (get_folder_info_mbox): folders -> object bag. * providers/local/camel-mh-store.c (folder_info_new): folders -> object bag. * providers/local/camel-maildir-store.c (scan_dir): folders -> object bag. * providers/local/camel-local-store.c (rename_folder): folders -> object bag. * camel-private.h (CamelStorePrivate): Remove 'cache' lock, handled by the objectbag. * providers/imap/camel-imap-store.c (copy_folder): Removed. (imap_store_refresh_folders): folders -> object bag. (get_folder_counts): folders -> object bag. * camel-vee-store.c (vee_get_folder): changes for folders objectbag. (vee_get_folder_info): Change to use folders objectbag. Also, dont refresh the base folder if we're in FAST mode. (build_info): Removed, no longer needed. (vee_rename_folder): Fixed for folders objectbag. * camel-store.c (camel_store_init): init the folders objectbag. (camel_store_finalize): Destroy the folders object bag. (folder_matches): (folder_finalize): Removed, now handled implicitly by the objectbag. (camel_store_get_folder): object bag changes. (camel_store_delete_folder): " (get_subfolders): Removed, now handled without a callback. (camel_store_rename_folder): Changed to use object bag of folders. (trash_add_folder): Removed. (init_trash): use folders object bag. (copy_folder_cache): (sync_folder): Removed, no longer needed. Weird arsed code anyway. (store_sync): Use folder object bag instead of hashtable. (camel_store_unsubscribe_folder): " (camel_store_init): remove cache_lock init, no longer used. (camel_store_finalize): Same for cleanup. 2002-12-05 Not Zed <NotZed@Ximian.com> * camel-store.h (struct _CamelStore): change folders from a hashtable into a CamelObjectBag. * camel-object.c (camel_object_ref): Use type_lock instead of class lock for ref counting. (camel_object_unref): Use type_lock instead of class lock for unref. (camel_object_unref): If the object is 'bagged', then also look hooks, and remove it from any bags. (camel_object_bag_new): (camel_object_bag_destroy): (camel_object_bag_add): (camel_object_bag_get): (camel_object_bag_remove_unlocked): (camel_object_bag_list): (camel_object_bag_abort): (camel_object_bag_remove): New functions to implement a utility object which can manage a 'bag' of weakly ref'd children in an atomic & threadsafe way. svn path=/trunk/; revision=19056
* Properly handle the case where the namespace is "". Fixes bug #34975Jeffrey Stedfast2002-12-053-5/+14
| | | | | | | | | | 2002-12-04 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store-summary.c (camel_imap_store_summary_add_from_full): Properly handle the case where the namespace is "". Fixes bug #34975 svn path=/trunk/; revision=19002
* Fixed to not get false positives when the token is shorter than the actualJeffrey Stedfast2002-12-042-12/+34
| | | | | | | | | | | | | 2002-12-03 Jeffrey Stedfast <fejj@ximian.com> * broken-date-parser.c (get_tzone): Fixed to not get false positives when the token is shorter than the actual timezone string (but matches the first little bit of it). (datetok): Modified to properly handle when the first char of a token is a special char (such as a '-') that is also used as a token delimiter. svn path=/trunk/; revision=18996
* Use the new camel_operation_cancel_prfd() function to get the cancellationJeffrey Stedfast2002-11-234-20/+201
| | | | | | | | | | | | | | | | | 2002-11-21 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (stream_read): Use the new camel_operation_cancel_prfd() function to get the cancellation fd so we can poll on it for cancellation stuff. (stream_write): Same. 2002-11-22 Not Zed <NotZed@Ximian.com> * camel-operation.c (camel_operation_cancel_prfd): Implement, gets a nspr pr filedesc to poll/wait on (struct _CamelOperation): include a pr filedesc. svn path=/trunk/; revision=18894
* If we have a namespace of "", then always match any path.Not Zed2002-11-222-4/+14
| | | | | | | | | | | | 2002-11-21 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-store-summary.c (camel_imap_store_summary_namespace_find_path): If we have a namespace of "", then always match any path. (camel_imap_store_summary_namespace_find_full): Same, for full names. Should address #33309 & friends. svn path=/trunk/; revision=18884
* applied plain_signature_fix.patchRadek Doulik2002-11-203-1/+7
| | | | svn path=/trunk/; revision=18841
* Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)Rodney Dawes2002-11-207-12/+4
| | | | | | * tests/*/Makefile.am: Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS) svn path=/trunk/; revision=18839
* If the namespace is at/below INBOX, check for the INBOX explicitly (sinceJeffrey Stedfast2002-11-182-20/+73
| | | | | | | | | | | | 2002-11-15 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (imap_connect_online): If the namespace is at/below INBOX, check for the INBOX explicitly (since it obviously won't show up in a LSUB INBOX.*). If either INBOX is not returned in the response or if the folder flags contain \NoSelect, subscribe to INBOX and then try LSUB again. svn path=/trunk/; revision=18824
* Rewritten. Much much much cleaner implementation now, though usesJeffrey Stedfast2002-11-113-332/+263
| | | | | | | | | | 2002-11-11 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-tohtml.c (html_convert): Rewritten. Much much much cleaner implementation now, though uses malloc/free more often than I'd like. svn path=/trunk/; revision=18691
* Use g_strerror when setting an exception string (we need it to be inJeffrey Stedfast2002-11-116-12/+36
| | | | | | | | | | | | | | | | | | | 2002-11-11 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (get_message_simple): Use g_strerror when setting an exception string (we need it to be in UTF-8). * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Use g_strerror when setting an exception string (we need it to be in UTF-8). * providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Use g_strerror when setting an exception string (we need it to be in UTF-8). (pop3_get_message): Same. svn path=/trunk/; revision=18690
* Use g_strerror when setting an exception string (we need it to be inJeffrey Stedfast2002-11-1132-255/+404
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-11 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-spool-summary.c (spool_summary_sync_full): Use g_strerror when setting an exception string (we need it to be in UTF-8). (spool_summary_check): Here too. * providers/local/camel-spool-store.c (construct): Use g_strerror when setting an exception string (we need it to be in UTF-8). (get_folder): Same. (scan_dir): Here too. * providers/local/camel-spool-folder.c (spool_lock): Use g_strerror when setting an exception string (we need it to be in UTF-8). * providers/local/camel-mh-summary.c (mh_summary_check): Use g_strerror when setting an exception string (we need it to be in UTF-8). * providers/local/camel-mh-store.c (delete_folder): Use g_strerror when setting an exception string (we need it to be in UTF-8). * providers/local/camel-mbox-summary.c (summary_update): Use g_strerror when setting an exception string (we need it to be in UTF-8). (mbox_summary_sync_full): Here too. (mbox_summary_sync_quick): Same. (mbox_summary_sync): Also here. (camel_mbox_summary_sync_mbox): Again here. * providers/local/camel-mbox-folder.c (mbox_lock): Use g_strerror when setting an exception string (we need it to be in UTF-8). (mbox_append_message): Same. (mbox_get_message): Here too. * providers/local/camel-maildir-summary.c (maildir_summary_load): Use g_strerror when setting an exception string (we need it to be in UTF-8). (maildir_summary_check): Same. * providers/local/camel-maildir-store.c (get_folder): Use g_strerror when setting an exception string (we need it to be in UTF-8). (delete_folder): Same. (delete_folder): Here too. * providers/local/camel-local-summary.c (local_summary_sync): Use g_strerror when setting an exception string (we need it to be in UTF-8). * providers/local/camel-local-store.c (get_folder): Use g_strerror when setting an exception string (we need it to be in UTF-8). (create_folder): Same. (xrename): Here too. (rename_folder): And here. (delete_folder): Also here. * camel-provider.c (camel_provider_init): For debugging printfs, we want to use normal strerror (we want locale charset, not UTF-8). * camel-movemail.c (camel_movemail): Use g_strerror when setting an exception string (we need it to be in UTF-8). (movemail_external): Same. (camel_movemail_copy_file): Here too. (camel_movemail_solaris): Also here. * camel-mime-utils.c (rfc2047_decode_word): For debugging printfs, we want to use normal strerror (we want locale charset, not UTF-8). (header_encode_param): Same. * camel-mime-part-utils.c (convert_buffer): For debugging printfs, we want to use normal strerror (we want locale charset, not UTF-8). * camel-lock-client.c (camel_lock_helper_init): Use g_strerror when setting an exception string (we need it to be in UTF-8). * camel-data-cache.c (camel_data_cache_remove): Use g_strerror when setting an exception string (we need it to be in UTF-8). * camel-tcp-stream-raw.c (flaky_tcp_write): For debugging printfs, we want to use normal strerror (we want locale charset, not UTF-8). (flaky_tcp_read): Same. * camel-gpg-context.c (gpg_ctx_op_step): For debugging printfs, we want to use normal strerror (we want locale charset, not UTF-8). * camel-service.c (camel_gethostbyname): Use g_strerror when setting an exception string (we need it to be in UTF-8). * camel-lock.c (camel_lock_dot): Use g_strerror when setting an exception string (we need it to be in UTF-8). (camel_lock_fcntl): Same. svn path=/trunk/; revision=18689
* constify the content_type.Not Zed2002-11-083-2/+7
| | | | | | | | | 2002-11-07 Not Zed <NotZed@Ximian.com> * camel-mime-part.c (camel_mime_part_set_content_type): constify the content_type. svn path=/trunk/; revision=18660
* don't #include <gtk/gtk.h>Jeffrey Stedfast2002-11-082-3/+1
| | | | svn path=/trunk/; revision=18639
* Added.Jeffrey Stedfast2002-11-085-5/+74
| | | | | | | | | | | | 2002-11-07 Jeffrey Stedfast <fejj@ximian.com> * camel-i18n.h: Added. * camel-object.h: #include camel-i18n.h instead of gnome-i18n.h * camel-lock.c: Same. svn path=/trunk/; revision=18638
* removed gnome-defs.h, it does not exist.Rodrigo Moya2002-11-082-1/+4
| | | | | | | | 2002-11-07 Rodrigo Moya <rodrigo@ximian.com> * camel-object.h: removed gnome-defs.h, it does not exist. svn path=/trunk/; revision=18633
* Created temporary link list, we need to link with something for gettext.Not Zed2002-11-0510-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Not Zed <NotZed@Ximian.com> * Makefile.am (camel_lock_helper_LDADD): Created temporary link list, we need to link with something for gettext. * camel.h: Remove gstring-util.h and hash-table-utils.h. * camel-text-index.c: (text_index_normalise): Changed for g_utf8_strdown api change. * camel-search-private.c: * camel-mime-utils.c: * camel-mime-part-utils.c: * camel-html-parser.c: * camel-charset-map.c: Include glib/gunicode.h from glib instead of gal. * camel-filter-driver.c: Remove include of gtk/gtk.h, should never have been there. svn path=/trunk/; revision=18542
* Removed. Glib2 has this function.Jeffrey Stedfast2002-11-022-12/+3
| | | | | | | | | 2002-11-01 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (g_string_append_len): Removed. Glib2 has this function. svn path=/trunk/; revision=18499
* Use g_path_get_basename instead of g_strdup (g_basename (filename)).Jeffrey Stedfast2002-11-022-1/+4
| | | | | | | | | 2002-11-01 Jeffrey Stedfast <fejj@ximian.com> * providers/local/camel-local-store.c (delete_folder): Use g_path_get_basename instead of g_strdup (g_basename (filename)). svn path=/trunk/; revision=18498
* Use g_path_get_dirname since g_dirname has been deprecated.Jeffrey Stedfast2002-11-022-1/+6
| | | | | | | | | 2002-11-01 Jeffrey Stedfast <fejj@ximian.com> * camel-uid-cache.c (camel_uid_cache_new): Use g_path_get_dirname since g_dirname has been deprecated. svn path=/trunk/; revision=18497
* Set the virtual method pointers to the import/export methods.Jeffrey Stedfast2002-11-015-36/+277
| | | | | | | | | | | | | | | | | | | | | | 2002-10-31 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c (camel_gpg_context_class_init): Set the virtual method pointers to the import/export methods. (camel_gpg_context_init): Set the key_protocol string. (gpg_hash_to_id): Handle 2 more hash types. (gpg_id_to_hash): Same. (gpg_ctx_op_step): Slight fixes to support import/export. (gpg_ctx_parse_status): Fix to hack around the fact that importing keys doesn't write to stdout. (gpg_import_keys): Implemented. (gpg_export_keys): Implemented. * camel-cipher-context.c (camel_cipher_context_class_init): Hook up default virtual methods for import/export. (camel_cipher_import_keys): Implemented. (camel_cipher_export_keys): Implemented. svn path=/trunk/; revision=18475
* oops, commit this tooJeffrey Stedfast2002-11-011-0/+1
| | | | svn path=/trunk/; revision=18474
* Removed hash-table-utils.[c,h] from the build.Jeffrey Stedfast2002-11-0115-119/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-31 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Removed hash-table-utils.[c,h] from the build. * hash-table-utils.[c,h]: Removed. * string-util.c: Imported g_strcase[hash,equal] into here so we can remove hash-table-utils.[c,h]. * camel-medium.c: Removed #include "hash-table-utils.h" * camel-mime-message.c: Same here. * camel-mime-part.c: And here. * camel-session.c: Here too. * providers/imap/camel-imap-store-summary.c: #include string-utils.h instead of hash-table-utils.h * camel-charset-map.c: Same. * camel-folder-summary.c: Here too. * camel-provider.c: Again here. * camel-store-summary.c: And again... svn path=/trunk/; revision=18473
* Remove a ton of useless snot.Jeffrey Stedfast2002-11-0113-550/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-31 Jeffrey Stedfast <fejj@ximian.com> Remove a ton of useless snot. * Makefile.am: Remove gstring-util.[c,h] from the build. * gstring-util.[c,h]: Removed. * string-utils.c (string_equal_for_glist): Removed. (string_split): Removed. (string_trim): Removed. (string_prefix): Removed. (string_unquote): Removed. (strip): Removed. * hash-table-utils.c (g_hash_table_generic_free): Removed. g_str[n]casecmp functions are deprecated in glib2. * string-utils.c (strstrcase): Use strncasecmp instead of g_strncasecmp. * hash-table-utils.c (g_strcase_equal): Use strcasecmp instead of g_strcasecmp. * camel-smime-utils.c (camel_smime_is_smime_v3_signed): Same. (camel_smime_is_smime_v3_encrypted): Here too. * camel-sasl-digest-md5.c (decode_data_type): And here. (parse_server_challenge): Again here. * camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): Same. (camel_pgp_mime_is_rfc2015_encrypted): Same * camel-mime-part-utils.c (check_html_charset): Here too. * camel-folder-summary.c (camel_system_flag): Same. svn path=/trunk/; revision=18472
* Don't prematurely set gpg->complete to TRUE. Let gpg_ctx_op_step () set itJeffrey Stedfast2002-10-282-9/+10
| | | | | | | | | | 2002-10-25 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.c (gpg_ctx_parse_status): Don't prematurely set gpg->complete to TRUE. Let gpg_ctx_op_step () set it to TRUE when gpg closes the status-fd instead. svn path=/trunk/; revision=18448