Commit Graph

120 Commits

Author SHA1 Message Date
defcee226b Only display a warning if errno != EINVAL (EINVAL means there was a
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
2003-05-20 15:59:55 +00:00
c8de5a0059 Ensure cmdbuf is initialized to avoid compiler warning.
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
2003-05-16 18:47:59 +00:00
aa49e8de71 use g_strerror, and use errno directly rather than ferrno().
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
2003-04-08 00:55:02 +00:00
becf944b42 Handle raw 8-bit From data "correctly". (The same way we handle
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
2003-03-20 16:43:29 +00:00
74205e83d1 Same as the ones below.
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
2003-02-25 19:43:22 +00:00
7149b27132 fix
svn path=/trunk/; revision=19983
2003-02-20 21:53:50 +00:00
abada7e2cd Call camel_iconv_init(). (camel_shutdown): Call camel_iconv_shutdown().
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
2003-02-20 21:04:19 +00:00
3eabd14ace Use g_strerror when setting an exception string (we need it to be in
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
2002-11-11 06:24:56 +00:00
29748a7520 Removed hash-table-utils.[c,h] from the build.
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
2002-10-31 21:57:29 +00:00
f48db35928 Remove a ton of useless snot.
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
2002-10-31 21:41:26 +00:00
1dcff68ce6 Remove debug content_info_dump, could cause a crash, and not really needed
2002-09-30  Not Zed  <NotZed@Ximian.com>

	* providers/imap/camel-imap-folder.c (imap_get_message): Remove
	debug content_info_dump, could cause a crash, and not really
	needed anymore.

	* camel-folder-summary.c (camel_content_info_dump): Check ci->type
	!= NULL before dereferencing it.  Should fix crash #31331.

svn path=/trunk/; revision=18259
2002-09-30 05:06:51 +00:00
75e84ec74f Same as below. Also save errno before closing the file so our caller can
2002-09-10  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store-summary.c (camel_store_summary_load): Same as
	below. Also save errno before closing the file so our caller can
	figure out why we failed.
	(camel_store_summary_save): Same here, but also flush the output
	stream to disk.

	* camel-folder-summary.c (camel_folder_summary_load): s/fclose(in)
	== -1/fclose(in) != 0/ since fclose doesn't necessarily return -1
	on fail, all we really know is that it returns 0 on success and
	non-zero on fail.

	* camel-certdb.c (camel_certdb_save): fsync() the stream after we
	fflush it.

svn path=/trunk/; revision=18037
2002-09-10 21:39:56 +00:00
fbb7f7c202 Do proper error checking and return -1 on fail.
2002-09-10  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (perform_content_info_save): Do proper
	error checking and return -1 on fail.
	(camel_folder_summary_save): Check the return of
	perform_content_info_save and a few other output calls within the
	message_info_save loop. If any of them fail, save errno, close the
	file, and return -1. If we finish the loop without fail, fflush
	the stream and then fsync (fflush only flushes user-space buffers,
	you still need to fsync afterward to flush the data to disk). If
	either fail, treat it as an exception by saving errno, closing the
	stream, and returning -1. I suspect that this also fixes bug
	#30150 because the old code would fclose if fflush or fclose
	failed in the check after the loop (man fclose(3) states that any
	further calls using the stream (even another call to fclose) will
	have undefined behaviour no matter what the first fclose call
	returned).

	* providers/local/camel-local-summary.c
	(camel_local_summary_init): Don't malloc a private struct of 0
	size.

svn path=/trunk/; revision=18036
2002-09-10 21:10:49 +00:00
d987b48e12 revert jeff's patch below, and do it slightly differently, and stop the
2002-08-02  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c (message_info_load): revert jeff's patch
        below, and do it slightly differently, and stop the auto-reformatting
        bullshit.

2002-08-02  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-maildir-summary.c (message_info_new): If
        we get a duplicate, just re-use the old info.
        (remove_summary): Add any removed to a change list.
        (maildir_summary_check): If we find new ones in 'cur' track them
        in the change list.  Removed FIXME about it.  For #18348.

svn path=/trunk/; revision=17685
2002-08-02 05:13:38 +00:00
d919cede4f Do more error checking to prevent crashing if we fail to read a string for
2002-08-01  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (message_info_load): Do more error
	checking to prevent crashing if we fail to read a string for
	example.

svn path=/trunk/; revision=17672
2002-08-01 20:20:21 +00:00
9fcbc8f335 When writing the summary, use TRUNC flag, duh. Also, write to a temp file
2002-07-25  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c (camel_folder_summary_save): When writing
        the summary, use TRUNC flag, duh.  Also, write to a temp file
        first, and rename when closed successfully, and check ferror() and
        fclose() against 0 rather than -1.

        * providers/local/camel-mbox-summary.c (summary_update): Decrement
        i if we remove the summary item so we dont skip every 2nd one.

        * camel-mime-utils.c (header_decode_mailbox): Use
        rfc2047_decode_word explicitly incase we just found an encoded
        word.  Stops us re-decoding the string twice, which fixes memory
        corruption in #26330 when the HUGE string is used later.

2002-07-24  Not Zed  <NotZed@Ximian.com>

        * camel-partition-table.c (camel_key_table_next): Didn't unlock if
        we exited on an empty key list.

svn path=/trunk/; revision=17570
2002-07-24 15:13:43 +00:00
f909a99894 Only assign a uid if indexing is enabled. This stops us always assigning a
2002-07-13  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c
        (camel_folder_summary_info_new_from_message): Only assign a uid if
        indexing is enabled.  This stops us always assigning a uid in the
        imap folder and disco folder?

        * providers/imap/camel-imap-folder.c (imap_update_summary): Also
        check the uid is set at all, another bit of a fix for #15667.

2002-07-09  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (imap_update_summary): Check
        for existing messages of the same uid before doing anything.  If
        it exists, do nothing (perhaps it should merge?).  A dirty hack for
        #15667.

svn path=/trunk/; revision=17450
2002-07-15 02:11:16 +00:00
58e9041bff Include <sys/time.h> for struct timeval.
2002-06-26  Not Zed  <NotZed@Ximian.com>

	* camel-gpg-context.c: Include <sys/time.h> for struct timeval.

	* providers/local/camel-local-provider.c
	(camel_provider_module_init): Removed spoold provider.  The spool
	provider does it now.

2002-06-25  Not Zed  <NotZed@Ximian.com>

	* providers/local/camel-spool-folder.c (camel_spool_folder_new):
	Support a new xstatus option - folders update/honour the
	Status/X-Status headers in addition to X-Evolution.

	* providers/local/camel-local-summary.c
	(camel_local_summary_write_headers): If supplied with an
	additional status or xstatus arg, write a Status header and/or
	X-Status.  Also fix the case of properly terminating the headers
	if an xev line isn't supplied.

	* providers/local/Makefile.am (libcamellocalinclude_HEADERS,SOURCES):
	Removed spoold-store.[ch].

	* providers/local/camel-local-provider.c
	(camel_provider_module_init): For the spoold type, just use the
	spool store instead.

	* providers/local/camel-spool-store.h: Added a type field, so the
	1 store can implement different types without having to subclass.

	* providers/local/camel-spool-store.c
	(camel_spool_store_get_toplevel_dir): Removed, inherits from local
	store now.
	(construct): If we're pointing to a file, treat it as mbox mode,
	otherwise treat it as 'elm' mode.
	(get_folder): Only test for INBOX in mbox mode.
	(get_folder_info_elm):
	(get_folder_info_mbox): Two alternatives for getting folder info,
	depending on the type of folder we're looking at.
	(get_folder_info_mbox): Make the url include the protocol.
	(scan_dir): "

	* providers/local/camel-spoold-store.c
	(camel_spoold_store_get_toplevel_dir): Removed, inherits from
	local store now.

	* camel-folder.c (get_message_user_tag): Dont use a
	g_return_if_fail for info==NULL.  This is not an error.
	(set_message_user_tag): And same here.
	(set_message_user_flag): Sigh, and here.
	(get_message_user_flag): And here.
	(set_message_flags): and here ...
	(get_message_flags): Dum de dum, de done at last.

	* providers/local/camel-mbox-folder.c (mbox_get_message): Check
	for new messages whenever we retrieve one.  In the common
	no-update case, this is a single stat.
	(mbox_get_message): If we need to rescan, then force a full rescan
	to make sure it does the right thing.
	(mbox_get_message): Cleanup the exception handling a bit, if we do
	get an error, propagate any folder changes anyway as well.
	(mbox_set_message_user_flag): Argh more of these stupid g_returns
	taht shouldn't be.
	(mbox_set_message_user_tag): Here too.
	(mbox_set_message_flags): If the read flag is being changed, mark
	it as an xevchange (i.e. Status line change).

	* providers/local/camel-mbox-summary.c (summary_rebuild): Merged
	into summary_update.
	(summary_update): Changed to allow it to update existing lists of
	messages without clearing out the summary.
	(mbox_summary_check): Dont clear the summary, just re-scan.
	(message_info_new): Attempt to support the 'Status: RO' elm/pine
	thing.
	(camel_mbox_summary_encode_status):
	(camel_mbox_summary_decode_status): Util functions for
	creating/parsing the Status line.
	(camel_mbox_summary_sync_mbox): Write out the status line if we're
	going to try support it.
	(camel_mbox_summary_xstatus): Implement option to control
	read/write of (x-)status.
	(message_info_new): Do x-status stuff based on run-time option.
	(camel_mbox_summary_sync_mbox): "
	(mbox_summary_add): If x-status enabled, then always add
	status/x-status headers to message.

	* camel-folder-summary.c (summary_assign_uid): If the messageinfo
	is already in the summary, AND is the same messageinfo, dont do
	anything, return a value to indicate this.
	(camel_folder_summary_add): Do nothing if this info already in the
	summary, so we can perform updates.

2002-06-24  Not Zed  <NotZed@Ximian.com>

	* providers/local/camel-local-summary.c
	(camel_local_summary_check_force): New method to force the next
	summary check to be a full check, set if a mismatch occurs.

	* camel-folder-summary.c (camel_folder_summary_load): If we have
	no summary path set, dont do any i/o, rather than abort.
	(camel_folder_summary_save): "
	(camel_folder_summary_header_load): "

	* providers/local/camel-spool-store.h: Inherit from camel mbox
	store, even if we override almost everything.

	* providers/local/camel-local-folder.c
	(camel_local_folder_construct): If the base path points to a file,
	use that as the folder path as well.

	* providers/local/camel-spool-folder.h: Inherit from
	camel-mbox-folder.

	* providers/local/camel-spool-summary.c (spool_summary_sync_full):
	Use camel_mbox_summary_sync_mbox to do most of the work.

	* providers/local/camel-spool-summary.[ch]: Make spool-summary
	inherit from mbox summary rather than foldersummary.

	* providers/local/camel-mbox-summary.c (mbox_summary_sync): Make
	sync_full/quick virtual methods.
	(camel_mbox_summary_sync_mbox): The full sync method put into a
	simple function that sync's from fd to fd.
	(mbox_summary_sync_full): Use summary_sync_mbox to do the real
	work.
	(mbox_summary_check): Create removed events if the folder gets
	cleared.  Also, dont clear the summary before a rebuild, try to
	merge.

svn path=/trunk/; revision=17284
2002-06-26 01:07:05 +00:00
d762b97943 Fixes bug #24136.
2002-05-14  Jeffrey Stedfast  <fejj@ximian.com>

	Fixes bug #24136.

	* providers/imap/camel-imap-folder.c (content_info_get_part_spec):
	New function to take a CamelMessageContentInfo and generate a
	part-specification string.
	(get_content): Stop passing around part_spec strings and use
	content_info_get_part_spec instead.

	* camel-folder-summary.c (camel_content_info_dump): Made this into
	a public debugging function.

	* providers/imap/camel-imap-utils.c (imap_parse_body): Make sure
	to set the parent of any message/rfc822 subparts.

svn path=/trunk/; revision=16793
2002-05-14 23:37:58 +00:00
49e82f8b9f Simplified since we can now decode in-reply-to without getting extra
2002-04-04  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (message_info_new): Simplified since we
	can now decode in-reply-to without getting extra cruft. Get rid of
	the FIXME about having to check scan->id because of the
	possibility of it being NULL, this can no longer happen.

	* camel-mime-utils.c (header_references_inreplyto_decode): New
	function to decode in-reply-to headers. Only grabs the first thing
	that looks like a message-id and then returns.
	(header_references_decode): Loop calling
	header_references_decode_single (a new internal function).

svn path=/trunk/; revision=16361
2002-04-05 00:08:23 +00:00
be23d106da Handle a ton more nspr i/o errno's. (stream_connect): Act as if we are
2002-04-02  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.c (set_errno): Handle a ton more nspr i/o
	errno's.
	(stream_connect): Act as if we are doing a non-blocking
	connect. This is to try and work around bug #15120 where users get
	an EINPROGRESS error. Maybe importing a PRFileDesc into SSL mode
	automagically makes it non-blocking? I dunno.

2002-04-01  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (message_info_new): Updated the
	construction of the references to match JWZ's updated algorithm
	initialization (ie, append any In-Reply-To reference onto any
	References header and never take more than a single message-id
	from the In-Reply-To header since anything after the first will
	probably just be email addresses). Fixes bug #1336.

svn path=/trunk/; revision=16327
2002-04-02 23:04:11 +00:00
c6fc4e27a9 When we add a new name, up all of the cache limits, because we're probably
2002-03-25  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_add_name): When we add a new
        name, up all of the cache limits, because we're probably going to
        be adding more.
        (text_index_sync): Drop the cache limits back down again, we dont
        need them when looking words up.

        ** MERGE camel_index branch.

        * camel-text-index.[ch]: Added files i forgot to add (eep nearly
        lost all this work!)

        * camel-block-file.c (sync_nolock): Fix an infinite loop in syncing.

svn path=/trunk/; revision=16242
2002-03-25 12:11:44 +00:00
209b7548bc Use the date in the received header for the received_date.
2002-03-21  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (camel_message_info_new_from_header): Use
	the date in the received header for the received_date.

svn path=/trunk/; revision=16225
2002-03-22 00:19:58 +00:00
e19514f131 Now takes a url argument.
2002-03-12  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-digest-store.c (camel_digest_store_new): Now takes a url
	argument.

	* camel-digest-folder.c (digest_add_multipart): Fixed some memory
	corruption and also modified to use CAMEL_IS_MIME_MESSAGE() rather
	than comparing content-type strings.
	(digest_get_message): Fixed a logic blooper.

	* camel-folder-summary.c (camel_message_info_new_from_header): Set
	the date fields of the CamelMessageInfo as well. This may even fix
	some filter-related bugs where the user was trying to compare
	dates.

svn path=/trunk/; revision=16126
2002-03-12 20:36:08 +00:00
e1fa571225 Don't #include camel-mime-filter-save.h, we don't use it.
2002-02-27  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.h: Don't #include camel-mime-filter-save.h,
	we don't use it.

	* camel-file-utils.c: Fixed a few 'might be used uninitialized'
	warnings which were real problems.

	* camel-mime-part-utils.c
	(camel_mime_part_construct_content_from_parser): Save the raw mime
	stream for any/all signed parts.

	* camel-mime-part.c (camel_mime_part_init): Initialize our raw
	stream to NULL.
	(camel_mime_part_finalize): Unref our raw stream, if we have one.
	(write_to_stream): If we have a raw stream, write that out instead
	of re-encoding.

	* camel-mime-filter-save.[c,h]: Rewritten to save to a stream
	rather than a file.

svn path=/trunk/; revision=15867
2002-02-28 02:28:12 +00:00
eda028e5a5 Remove the CAMEL_MESSAGE_NEEDS_REPLY flag, we no longer will be using
2002-02-06  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.h: Remove the CAMEL_MESSAGE_NEEDS_REPLY
	flag, we no longer will be using this.

svn path=/trunk/; revision=15586
2002-02-07 00:42:30 +00:00
bd788027df If we don't want to corrupt the uuencoded data by overwriting it with
2002-01-16  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-filter-basic.c (filter): If we don't want to corrupt
	the uuencoded data by overwriting it with base64 decoded data
	afterward, we need to add a break statement!

	* camel-folder-summary.c (summary_build_content_info): Add code to
	add a uu filter.
	(camel_folder_summary_finalize): Unref the uuencode filter.

svn path=/trunk/; revision=15347
2002-01-16 23:38:32 +00:00
ffa73cbd5c Don't try setting a content-type parameter if either the name or value is
2001-12-12  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (content_info_load): Don't try setting a
	content-type parameter if either the name or value is NULL.

	* camel-mime-utils.c (header_set_param): NULL-protection.

svn path=/trunk/; revision=15248
2002-01-04 22:20:29 +00:00
b5e7713c8e Implements marking messages as "Need Reply".
Implements marking messages as "Need Reply".

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* mail-need-reply.xpm: Added a really, really ugly and
	awful icon to symbolize "message needs a reply".

	* Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm.

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* camel-folder-summary.c: Add "NeedsReply" to the flag_names array
	for CAMEL_MESSAGE_NEEDS_REPLY.

	* camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* vfoldertypes.xml: Add "Needs Reply" option to different status
	types.

	* filtertypes.xml: Add "Needs Reply" option to different status
	types.

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* message-list.c: #include "art/mail-need-reply.xpm".
	(ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon
	if the message needs reply.
	(message_list_create_extras): Adjust magic numbers to add new
	icon.
	(on_click): Changed to toggle between unread, read, and need reply
	when the status icon is clicked.

	* mail-callbacks.c (mark_as_needing_reply): Added.
	(mark_as_not_needing_reply): Added.  Add "set" value to struct
	post_send_data.
	(composer_sent_cb): Use both "flags" and "set" elements of
	post_send_data when setting message flags.
	(mail_reply): Clear "Needs Reply" flag when we actually reply to a
	message.

	* folder-browser.c: Changed flag values to be given by
	bit-shifting (1<<5) vs. base-ten (32).  Added
	CAN_MARK_DOESNT_NEED_REPLY flag.  Added "Mark as Needing Reply"
	and "Mark as Not Needing Reply" elements to context menu.
	(on_right_click): Hide "Mark as (Not) Needing Reply" context menu
	elements as appropriate.

svn path=/trunk/; revision=14946
2001-12-10 03:50:36 +00:00
4
aa0a82422b Use the uid rather than vuid for unmatched. Also add the uid to unmatched
2001-11-14    <NotZed@Ximian.com>

        * camel-vee-folder.c (folder_changed_remove_uid): Use the uid
        rather than vuid for unmatched.  Also add the uid to unmatched if
        it wasn't in the unmatched_uids table at all.
        (folder_changed_change): If checking for added, if the new ones
        dont match, then try to add them to unmatched.  Fixes #6893.

        * camel-folder-summary.c (camel_folder_summary_index): Change lock
        order, always summary_lock before ref_lock.
        (camel_folder_summary_array): "
        (camel_folder_summary_uid): "
        (camel_folder_summary_remove_uid): "  Fixes a deadlock.

svn path=/trunk/; revision=14831
2001-11-30 21:38:05 +00:00
4ca07463a0 More fixing of the license texts.
svn path=/trunk/; revision=14217
2001-10-27 18:21:05 +00:00
1
a5fa3f992d Removed charset/locale charset lookup and iconv_open/close functions,
2001-10-11    <NotZed@Ximian.com>

        * camel-charset-map.[ch]: Removed charset/locale charset lookup
        and iconv_open/close functions, moved to gal.  Fixed all callers.

svn path=/trunk/; revision=13602
2001-10-11 22:08:20 +00:00
9
d5e090651b Implement.
2001-10-09    <NotZed@Ximian.com>

        * providers/local/camel-spool-folder.c (spool_search_by_uids):
        Implement.

        * providers/imap/camel-imap-search.c (imap_body_contains): If
        searching a sub-set of the total message count, then use a UID
        range to search only specific messages.

        * camel-vee-folder.c (vee_folder_change_match): Removed.
        (folder_changed_add_uid): Helper func for changed code.
        (folder_changed_remove_uid): "
        (folder_changed_change_uid): "
        (folder_changed): Rewritten.  Supports proper auto-updating of
        changes, but not removals till a sync occurs.
        (vee_search_by_uids): Implement.
        (folder_changed): Changed to call an async threaded function to do
        the actual folder updating.

        * camel-folder-summary.c (camel_flag_list_copy): New func to copy
        a whole list of flags.
        (camel_tag_list_copy): New func to copy a whole list of flags.

        * providers/imap/camel-imap-folder.c (imap_search_by_uids):
        Implement.

        * providers/local/camel-local-folder.c (local_search_by_uids):
        Implement.

        * camel-folder.c (camel_folder_search_by_uids): New function,
        search a subset of uid's.
        (search_by_uids): Default impl, return error.

svn path=/trunk/; revision=13532
2001-10-09 22:26:01 +00:00
4
450e955e76 If the type is encoded, get the fallback charset from the message
2001-09-24    <NotZed@Ximian.com>

        * camel-filter-search.c (check_header): If the type is encoded,
        get the fallback charset from the message content-type.

        * camel-mime-part-utils.c (check_html_charset): Dont check for
        charset==null before calling charset_to_iconv.
        (simple_data_wrapper_construct_from_parser): "

        * camel-mime-message.c (process_header): Try use content-type
        charset param as the fallback charset.

        * camel-charset-map.c (camel_charset_to_iconv): Handle name ==
        NULL, return NULL.

        * camel-folder-summary.c (camel_folder_summary_format_address):
        (camel_folder_summary_format_string): Made private again, removed
        #warning about it.  Renamed to s/camel_folder//.
        (summary_format_string): Take default charset param.
        (camel_message_info_new_from_header, message_info_new): Decode
        content-type field to get the charset parameter to use as the
        default charset for decoding strings.

        * camel-search-private.c (camel_search_header_match): Pass NULL as
        the charset, the locale charset is always tried.
        (camel_search_header_match): Supply a default_charset parameter to
        be used with TYPE_ENCODED params.

        * camel-mime-utils.c
        (header_param): get rid of the g_strcasecmp crap.
        (header_set_param): Same here.
        (header_decode_param_list): And here.
        (header_decode_text): Totally rewritten.  30% of its size.  If the
        word is not rfc2047 encoded, always try default_charset if
        supplied, if that fails, try locale charset if it exists, if that
        fails then assume latin1/7 bit ascii.
        (append_8bit): Changed to return FALSE if we can't convert for
        whatever reason, and dont append anything.

        * camel-mime-part.h (struct _CamelMimePart): Move content_type and
        headers out of the 'private' section.

        * camel-mime-part.c (get_headers): Dont do any conversion on the
        header.
        (process_header): Get the content-type charset as the fallback
        charset for decode_string.
        (construct_from_parser): IF we have a content-type header, process
        it before doing anything else, so we have access to a fallback
        charset for invalid headers.

svn path=/trunk/; revision=13096
2001-09-24 19:31:07 +00:00
7d17dc2230 New function to just load the summary. Not much use yet, until unread
* camel-folder-summary.c (camel_folder_summary_header_load): New
	function to just load the summary.  Not much use yet, until unread
	counts are stored in the summary (which now looks like too much
	work!).

	* camel-mime-utils.c (header_decode_mailbox): Crappy fix for
	stupid mailers.  If we get 'name b. name <foo>' then treat it as
	'"name b. name" <foo>'.  See 8147.
	(header_decode_mailbox): Another fix for really broken mailers
	that have things that look like addresses followed by <address>
	bits.
	(rfc2047_encode_word): Escape ??= to avoid some bizarre warning
	about trigraphs.

	(scan_dir): If we dont have the folder open, then scan the 'new'
	and 'cur' folders for new and unread messages to count instead.

svn path=/trunk/; revision=13040
2001-09-21 03:05:03 +00:00
25ea76f3a7 Convert to the iconv-friendly charset names.
2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-filter-charset.c
	(camel_mime_filter_charset_new_convert): Convert to the
	iconv-friendly charset names.

	* providers/imap/camel-imap-store.c (create_folder): Fixed a
	compiler warning about returning without a value in a non-void
	function. Blah.

	* camel-mime-part.c (process_header): Pass the locale charset as
	the default_charset to header_decode_string().

	* camel-folder-summary.c (camel_folder_summary_format_string):
	Pass the locale charset as the default_charset to
	header_decode_string().
	(content_info_new): Same.

	* camel-mime-message.c (process_header): Pass the locale charset
	as the default_charset to header_decode_string().

	* camel-mime-utils.c (append_8bit): New helper function who's
	purpose is similar to append_latin1() but for 8bit text that we
	are assuming is not latin1.
	(header_decode_text): Now takes a default_charset parameter and
	calls append_8bit when appropriate.
	(header_decode_string): Also takes a default_charset parameter
	now.
	(header_decode_mailbox): Pass NULL as the default_charset to
	header_decode_string().

svn path=/trunk/; revision=11250
2001-07-20 00:08:50 +00:00
05e4067b62 Removed some code i wasn't supposed to commit.
2001-07-12  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c
        (camel_folder_summary_info_new_from_message): Removed some code i
        wasn't supposed to commit.

        * providers/local/camel-local-summary.c (local_summary_add): Only
        set info->size if it is not zero.
        (local_summary_add): If we dont get a size from the info passed
        in, calculate it using a null stream write.  Should do #4392.

svn path=/trunk/; revision=11025
2001-07-12 02:22:23 +00:00
96496c1392 Create the messageinfo itself, so we can properly set the size.
2001-07-11  Not Zed  <NotZed@Ximian.com>

        * camel-filter-driver.c (camel_filter_driver_filter_mbox): Create
        the messageinfo itself, so we can properly set the size.

        * camel-movemail.c (camel_movemail_solaris): Write out the from
        line between each message.

2001-07-10  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-summary.c (local_summary_add): Copy
        the size across from the source message info if supplied.

        * camel-stream-null.c: Added a 'written' member which keeps track
        of how much has been written to the stream.

        * camel-movemail.c (camel_movemail): If we have BROKEN_SPOOL
        defined, then use the solaris movemail to quote from lines that
        sendmail didn't.
        (camel_movemail_solaris): Compile this in if BROKEN_SPOOL defined.

svn path=/trunk/; revision=10989
2001-07-11 07:28:40 +00:00
fec83fec7d Added an assert to make sure that `mi' isn't NULL.
2001-07-05  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (camel_message_info_string): Added an
	assert to make sure that `mi' isn't NULL.
	(camel_message_info_set_string): Same.

	* providers/imap/camel-imap-command.c (camel_imap_response_free):
	Create and use a temporary CamelException for use with
	camel_imap_folder_changed.

svn path=/trunk/; revision=10834
2001-07-05 22:59:46 +00:00
228991b317 (camel_message_info_dup_to): Assign the to->strings from the
e_poolv_cpy() call, since it may allocaote a new poolv if the
 	lengths do not match.

svn path=/trunk/; revision=10790
2001-07-05 09:38:59 +00:00
bf20209bbb When indexing a new record, create a pseudo word 'ibexindexed' so we can
2001-07-05  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c
        (camel_folder_summary_info_new_from_message): When indexing a new
        record, create a pseudo word 'ibexindexed' so we can always tell
        that a message has already been idnexed, even if it contains no
        words of its own.  Things like maildir use this check to see if
        its already been processed, and it matters if it is incorrect in
        this case (not just wasted cycles).

        (camel_folder_summary_info_new_from_parser): And same here.

        * providers/local/camel-maildir-summary.c (maildir_summary_sync):
        Changed the logicfor epoolv code to be different, we dont need to
        update hash references or any tricky stuff.
        (maildir_summary_check): Samehere.

        * camel-folder-summary.h: Removed include of e-memory.h.

svn path=/trunk/; revision=10785
2001-07-05 03:13:52 +00:00
7a68209879 re-enable html indexing.
2001-07-02  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c (summary_build_content_info): re-enable
        html indexing.

        * camel-mime-filter-html.c: Completely re-implemented using a
        custom parser.

svn path=/trunk/; revision=10676
2001-07-02 13:32:55 +00:00
91cc026904 Update the copyrights, replacing Helix Code with Ximian and
helixcode.com with ximian.com all over the place.

svn path=/trunk/; revision=10440
2001-06-23 08:52:02 +00:00
e905364bee Only create a missing uid if we have indexing turned on.
2001-06-18  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c
        (camel_folder_summary_info_new_from_parser): Only create a missing
        uid if we have indexing turned on.

        * camel-lock-helper.c (setup_process): Function to setup
        process/sanity/security checks.  Change to the real uid as soon as
        we can.
        (lock_path): First try to lock as the real uid, if that fails, try
        the root uid.
        (unlock_id): Unlock as the uid we created the lock as.

        * Makefile.am (INCLUDES): Added -DCAMEL_SBINDIR for lock helper
        location.

        * providers/local/camel-spool-folder.c (spool_lock): Implemented,
        using lock helper locking.  Need to work out if the locking
        requires a root created lock?
        (spool_unlock): Likewise.

2001-06-15  Not Zed  <NotZed@Ximian.com>

        * camel-lock-helper.c: Setuid Lock helper process.  Creates and manages
        .locks, keeping them active, removing them, etc.  What real perms it
        needs is a little system dependent.

2001-06-14  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-maildir-store.c (get_folder_info): Implement.
        (scan_dir): Does the work of scanning for maildir directories.

2001-06-13  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-spool-store.c (get_folder_info):
        Implemented, just returns a hardcoded INBOX folder.
        (free_folder_info): implemented, free's the 1 possible level of
        folder info.

        * providers/local/camel-spool-folder.c
        (camel_spool_folder_construct): Set the real unread message
        count on the folder_created thing.

svn path=/trunk/; revision=10261
2001-06-18 14:36:44 +00:00
84e075645b New file, with the int, string, time_t, and off_t encode/decode routines
* camel-file-utils.c: New file, with the int, string, time_t, and
	off_t encode/decode routines from camel-folder-summary.c moved
	here and renamed, for the enjoyment of non-CamelFolderSummary
	subclasses.

	* Makefile.am (libcamel_la_SOURCES): Add camel-file-utils.c
	(libcamelinclude_HEADERS): and camel-file-utils.h

	* camel-folder-summary.c: Remove functions that were moved to
	camel-file-utils.c, update uses of them for the new names.
	(camel_folder_summary_{en,de}code_token are still here.)

	* providers/local/camel-mbox-summary.c: Use camel_file_util_*
	names

	* providers/imap/camel-imap-summary.c: Use camel_file_util_* names

	* providers/imap/camel-imap-store.c (imap_store_setup_online,
	imap_store_setup_offline): Use camel_file_util_* names, which
	makes much more sense since this isn't folder summary stuff.

svn path=/trunk/; revision=9590
2001-04-26 19:44:50 +00:00
7d9faeb00c Applied jacob's patches for e-poolv stuff.
2001-04-26  Not Zed  <NotZed@Ximian.com>

        * Applied jacob's patches for e-poolv stuff.

svn path=/trunk/; revision=9571
2001-04-26 01:09:05 +00:00
2ac5b884fe merge from evolution-0-10-branch to evolution-0-10-merge-0
2001-04-05  Not Zed  <NotZed@Ximian.com>

        * merge from evolution-0-10-branch to evolution-0-10-merge-0

svn path=/trunk/; revision=9194
2001-04-05 02:31:47 +00:00
f964f65b79 Unref the html filter when done. (summary_build_content_info): Disable
2001-03-27  Not Zed  <NotZed@Ximian.com>

        * camel-folder-summary.c (camel_folder_summary_finalize): Unref
        the html filter when done.
        (summary_build_content_info): Disable using the html parser to
        help index html mails until it gets sorted out.

svn path=/trunk/; revision=8975
2001-03-27 12:48:13 +00:00
1d80d46ed5 Added folder_created event here.
2001-03-27  Not Zed  <NotZed@Ximian.com>

        * camel-vee-store.c (vee_get_folder): Added folder_created event
        here.

        * camel-vee-folder.c (unmatched_finalise): Removed, moved into
        main finalise code.
        (message_changed): Just create a new change entry and promote it
        to a folder_changed thing.
        (vee_sync): Always rebuild folder on sync, even when not expunge.
        (folder_changed): If not autoupdating, make sure we remove any
        removed entries.
        (vee_folder_build_folder):
        (vee_folder_remove_folder): NOP if we're called on
        folder_unmatched.
        (vee_search_by_expression): Only search each folder once.  Should
        we also order the result in summary order?

2001-03-20  Not Zed  <NotZed@Ximian.com>

        * camel-store.c (init_trash): Fix calling for vee_folder_new().

        * camel-folder-summary.c (camel_folder_summary_remove_index):
        Optimise slightly, use ptr_array_remove_index rather than have to
        search for the index by using summary_remove.

        * camel-vee-folder.h: Removed local member from VeeFolder, since
        it was never used.

        * camel-vee-store.c (camel_vee_store_finalise): Setup finalise
        function.

        * camel-vee-folder.c (camel_vee_folder_set_expression): New
        function to set the query of an existing vfolder.
        (camel_vee_folder_construct): New function for
        convenience/subclasses.
        (camel_vee_folder_new): Removed exception parameter, no longer
        needed (since we dont search yet).
        (camel_vee_folder_new): Changed to use folder_construct, and no
        longer raise the folder created signal.
        (vee_folder_build_folder): Make it return error on exception, so
        we can work without exceptions.
        (vee_folder_remove_folder): Use remove index rather than
        remove_uid, this is ok since we have the summary locked for our
        own access.
        (camel_vee_folder_add_folder): Only add the folder to the
        unmatched private if it is not a private folder.
        (camel_vee_folder_remove_folder): Only remove the folder from
        unmatched if it is not private.
        (vee_expunge): Just call sync with expunge set.
        (vee_sync): If expunging, also refresh the search.
        (vee_folder_build_folder): We do our own locking now, removed from
        callers, also trigger changed events here too (within locks),
        fixed callers appropriately.
        (vee_folder_remove_folder): Do our own locking, and trigger
        changed events.
        (vee_folder_add_info): Renamed of vee_folder_add, we now take a
        hash of the folder name, rather than use the folders address.
        (hash_folder): Convert a folder name into an 8 character hash.
        (vee_get_message, vee_search_by_expression, vee_set_message_flags,
        vee_set_message_user_flag, vee_move_message_to): Changed the uid
        to be an 8 byte hash + original uid, with no ':' anymore.

svn path=/trunk/; revision=8957
2001-03-26 23:10:40 +00:00
0e9c0268a8 re-constify inbuf, to remove a warning.
2001-03-14  Not Zed  <NotZed@Ximian.com>

	* camel-mime-filter-charset.c (filter, complete): re-constify
	inbuf, to remove a warning.

	* camel-mime-parser.c (folder_scan_step): When we're out of data,
	run the filter_complete.  For some reason the logic that was there
	was never being run, always try it now, i think it was to work
	around a buggy filter, rather than fix it the right way.

	* camel-folder-summary.c (summary_build_content_info): If indexing
	html parts, use the html filter to convert it to some indexable
	format.
	(summary_build_content_info): Reset the filters before adding them
	back to the stream, if they get re-used in a given instance
	(likely).

	* Makefile.am (libcamelinclude_HEADERS): Added
	camel-mime-filter-html.[ch].
	(INCLUDES): Added xml clags

2001-03-05  Not Zed  <NotZed@Ximian.com>

	* camel-folder-search.c (camel_folder_search_class_init): Setup a
	new function, "uid" which matches uids.
	(search_uid): Implement the "match uid" command.

svn path=/trunk/; revision=8705
2001-03-14 07:06:54 +00:00