Commit Graph

1076 Commits

Author SHA1 Message Date
ed41e07a8b We need to be ref'ing the folder if/when we add it to the hash. This may
2001-08-13  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (camel_store_get_folder): We need to be ref'ing
	the folder if/when we add it to the hash. This may fix bug #6089?
	(camel_store_get_folder): Nevermind, reverted the fix.
	(camel_store_get_folder): No, I wasn't on crack before after
	all...if we don't ref here, then we're open to a race condition
	later.

svn path=/trunk/; revision=11973
2001-08-13 22:44:57 +00:00
23aba87f9b Fix a leak.
2001-08-13  Peter Williams  <peterw@ximian.com>

	* providers/imap/camel-imap-store.c (delete_folder): Fix a leak.

	* providers/imap/camel-imap-utils.c (imap_namespace_concat): Bleah,
	handle when namespace = NULL (can happen upon initial open of mailbox.)

	* providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
	Don't crash when %F'ing with an empty folder name and NULL namespace.

svn path=/trunk/; revision=11971
2001-08-13 22:31:20 +00:00
f4132b5946 We need to be ref'ing the folder if/when we add it to the hash. This may
2001-08-13  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (camel_store_get_folder): We need to be ref'ing
	the folder if/when we add it to the hash. This may fix bug #6089?
	(camel_store_get_folder): Nevermind, reverted the fix.

svn path=/trunk/; revision=11969
2001-08-13 22:22:38 +00:00
106b05d139 We need to be ref'ing the folder if/when we add it to the hash. This may
2001-08-13  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (camel_store_get_folder): We need to be ref'ing
	the folder if/when we add it to the hash. This may fix bug #6089?

svn path=/trunk/; revision=11968
2001-08-13 22:17:00 +00:00
fc6e6a3041 s/summarising/summarizing/. (summary_rebuild): Likewise.
* providers/local/camel-spool-summary.c (summary_rebuild):
s/summarising/summarizing/.
(summary_rebuild): Likewise.

* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
s/summarise/summarize/.
(mbox_summary_sync_quick): Likewise.
(summary_rebuild): Likewise.
(mbox_summary_check): Likewise.

svn path=/trunk/; revision=11919
2001-08-11 20:51:04 +00:00
a16770842e Added an assert - at this point a backtrace would be more useful than a
2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-utils.c (imap_quote_string): Added an
	assert - at this point a backtrace would be more useful than a
	transaction log for debugging.

svn path=/trunk/; revision=11902
2001-08-10 22:07:46 +00:00
7dcd2540eb Return FALSE here, not NULL.
2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-command.c (imap_command_start): Return
	FALSE here, not NULL.

svn path=/trunk/; revision=11893
2001-08-10 18:35:46 +00:00
6b6972e26e Don't g_strdup() the uid into the trigger_event call.
2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (imap_rescan): Don't
	g_strdup() the uid into the trigger_event call.

svn path=/trunk/; revision=11891
2001-08-10 18:33:22 +00:00
7bad37e711 Set the total bytes expected to 0 if the response is empty too.
2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
	Set the total bytes expected to 0 if the response is empty too.
	(pop3_refresh_info): Return of there was an error generating pop3
	uids.

svn path=/trunk/; revision=11886
2001-08-10 18:16:47 +00:00
45f6b55148 Set the total bytes expected to 0 if the response is empty too.
2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
	Set the total bytes expected to 0 if the response is empty too.

svn path=/trunk/; revision=11885
2001-08-10 18:11:03 +00:00
8907111d47 regfree the pattern before continue'ing. This was showing up quite a bit
2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (header_raw_check_mailing_list): regfree the
	pattern before continue'ing. This was showing up quite a bit under
	purify.

svn path=/trunk/; revision=11867
2001-08-10 04:06:53 +00:00
a1dbf7e2b8 A quoted string cannot contain \n's so check for those as well.
2001-08-09  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-utils.c (imap_parse_string_generic): A
	quoted string cannot contain \n's so check for those as well.
	(imap_atom_specials): Update this to fix bug #6553.

svn path=/trunk/; revision=11845
2001-08-09 22:48:12 +00:00
f94b2023ad Remove trailing stuff from URLs before returning. (Done in an evil way,
2001-08-08  Jon Trowbridge  <trow@ximian.com>

	* camel-filter-search.c (get_source): Remove trailing stuff from
	URLs before returning.  (Done in an evil way, not in the good way
	suggested by fejj. :)) (Bug #4876)

svn path=/trunk/; revision=11808
2001-08-09 02:27:40 +00:00
dd1fd6f7f6 check for NULL name and addr (fixes a bug i was about to report)
2001-08-08  jacob berkman  <jacob@ximian.com>

	* camel-search-private.c (camel_search_header_match): check for
	NULL name and addr (fixes a bug i was about to report)

svn path=/trunk/; revision=11786
2001-08-08 14:34:33 +00:00
5dfe756f5f Properly determine match type to pass to header_match.
2001-08-08  Not Zed  <NotZed@Ximian.com>

        * camel-filter-search.c (check_header): Properly determine match
        type to pass to header_match.
        (address_matches_exactly): Removed, effectively added to
        camel_search_header_match.

        * camel-folder-search.c (check_header): Properly determine the
        match type to pass to header_match.

        * camel-search-private.c (camel_search_header_match): Add a new
        parameter 'type' which is the type of header we're matching
        against.  ASIS means utf8 format, ADDRESS means an internet
        address ('formatted'), ADDRESS_ENCODED means a raw address header,
        ENCODED means rfc 2047 encoded text.
        (header_match): Move original logic here, have search_header_match
        call it as appropriate for the 'type' of match.

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

        * camel-session.c (camel_session_class_init): Only init the vee
        provider struct once (if we're subclassed this will get called
        multiple times).

        * camel-object.c (obj_finalize): Removed a bit of a debug that
        crept in with jacob's poolv patch (?).

svn path=/trunk/; revision=11772
2001-08-08 09:37:40 +00:00
a039733f70 New function to do danw's address "is" comparison (as specified in bug
2001-08-07  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-filter-search.c (address_matches_exactly): New function to
	do danw's address "is" comparison (as specified in bug #5886.
	(check_header): Special-case address-type headers when we are
	doing an exact match to use the address_matches_exactly function.

svn path=/trunk/; revision=11738
2001-08-07 19:55:34 +00:00
83b2e9c05c Modify to take a headers_only argument which will then only fetch message
2001-08-06  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
	Modify to take a headers_only argument which will then only fetch
	message headers.
	(pop3_generate_uids): Pass in TRUE for headers_only.
	(pop3_get_message): Pass in FALSE for headers_only and move the
	camel_operation() stuff out of get_message_stream and in to here
	instead.
	(pop3_generate_uids): We also need to be using i+ 1 as the id
	since we are starting at 0.

svn path=/trunk/; revision=11722
2001-08-07 02:39:28 +00:00
7216ef8129 New internal function to get a message stream by message sequence id (so
2001-08-06  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
	New internal function to get a message stream by message sequence
	id (so that we can share code between pop3_get_message and
	pop3_generate_uids).
	(pop3_get_message): Use pop3_get_message_stream.
	(pop3_generate_uids): New function to generate UIDs based on the
	message - this fixes bug #1256.
	(pop3_refresh_info): If the server doesn't support UIDL, call
	pop3_generate_uids to get our list of UIDs.

	* providers/imap/camel-imap-store.c (get_folder_info_online):
	Don't strstr for noselect=yes, that's just plain broken.

svn path=/trunk/; revision=11721
2001-08-07 02:03:22 +00:00
ee486f95dc Don't strstr for noselect=yes, that's just plain broken.
2001-08-06  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-store.c (get_folder_info_online):
	Don't strstr for noselect=yes, that's just plain broken.

svn path=/trunk/; revision=11714
2001-08-06 22:17:18 +00:00
58e53223b1 Fix off-by-one error in cleaning up deleted messages at the end of the
* providers/imap/camel-imap-folder.c (imap_rescan): Fix off-by-one
	error in cleaning up deleted messages at the end of the folder.
	Fixes bug #5585 and maybe others.

svn path=/trunk/; revision=11712
2001-08-06 21:55:09 +00:00
4cbbf6af0b Do a refresh_info on the selected folder before looking at its unread
* providers/imap/camel-imap-store.c (get_folder_info_online): Do a
	refresh_info on the selected folder before looking at its unread
	count. Should fix bug #4944.

svn path=/trunk/; revision=11710
2001-08-06 21:19:13 +00:00
f789abbd42 Completely hide the namespace from everything external to the IMAP code,
2001-08-06  Peter Williams  <peterw@ximian.com>

	Completely hide the namespace from everything external to the IMAP
	code, which Dan W says is the way it should be.

	* providers/imap/camel-imap-command.c
	(imap_command_strdup_vprintf): Add a new %F argument, which is like
	%S but will add the namespace (for folder names).
	(camel_imap_command): Use %F here.

	* providers/imap/camel-imap-utils.c (imap_parse_list_response):
	Changed to strip out the namespec when returning *folder. In order
	to do this we need to be passed the CamelImapStore.
	(imap_concat): Move to here from camel-imap-store.c, un-static
	(imap_namespace_concat): New function, adds the namespace to the
	folder name, unless it's INBOX.

	* providers/imap/camel-imap-utils.h: Prototypes.

	* providers/imap/camel-imap-store.c (imap_connect_online): Extra
	arg to imap_parse_list_response.
	(imap_connect_offline): Here too.
	(get_folder_status): Use %F.
	(get_folder_online): Here too.
	(delete_folder): Here too.
	(create_folder): Here too, and arg to imap_parse_list_response.
	(parse_list_response_as_folder_info): Arg to i_p_l_r.
	(get_subscribed_folders_by_hand): Use %F.
	(get_folders_online): Here too.
	(get_folder_info_online): Instead of checking for NULL @name, check
	for name = NULL or "", and set to "" instead of namespace. Pass ""
	instead of namespace to camel_folder_info_build.
	(subscribe_folder): Use %F.
	(unsubscribe_folder): Here too.

	* providers/imap/camel-imap-folder.c (imap_get_full_name): This
	now just returns folder->full_name.
	(do_append): Use %F
	(do_copy): Here too.

svn path=/trunk/; revision=11705
2001-08-06 19:00:32 +00:00
b37678ea31 Always do --no-auto-key-retrieve.
2001-08-06  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-pgp-context.c (pgp_verify): Always do --no-auto-key-retrieve.

svn path=/trunk/; revision=11703
2001-08-06 17:28:28 +00:00
c6daf26ade Minor changes to the iconv code so that it does the check in the return
2001-08-03  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-pgp-context.c (pgp_verify): Minor changes to the iconv
	code so that it does the check in the return value of iconv() just
	like the code in camel-mime-utils.c in case this fixes Bo Rosen's
	gpg bugs (but I doubt this will change anything?).

svn path=/trunk/; revision=11622
2001-08-03 20:36:24 +00:00
733175aaec First check to make sure that service->url->authmech is non-NULL before
2001-08-03  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_connect): First
	check to make sure that service->url->authmech is non-NULL before
	passing it into strcmp to avoid a segfault.

svn path=/trunk/; revision=11618
2001-08-03 18:16:59 +00:00
7d143c9c44 Sigh, if gpg returns '1' it means that the key is bad but it did succeede
2001-08-03  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-pgp-context.c (pgp_decrypt): Sigh, if gpg returns '1' it
	means that the key is bad but it did succeede in decrypting the
	block so to make users happy (even though I find this a
	questionable action) we are going to ignore the error and show it
	to the user anyway. This fixes bug #6136.

svn path=/trunk/; revision=11617
2001-08-03 18:02:12 +00:00
99e55fbc6b special case popb4smtp auth before we try and connect, and do the magic
2001-08-03  Not Zed  <NotZed@Ximian.com>

        * providers/smtp/camel-smtp-transport.c (smtp_connect): special
        case popb4smtp auth before we try and connect, and do the magic
        here first.

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

        * providers/smtp/camel-smtp-transport.c (smtp_connect): Check for
        POPB4SMTP separate to the esmtp auth list.
        (smtp_auth): If creating the sasl object means it is
        already authenticated, then exit early.  Sort of 'clean hack' to
        help popb4smtp work.
        (smtp_auth): Unref the sasl object, clean up a memleak i think.

        * providers/smtp/camel-smtp-provider.c
        (camel_provider_module_init): Added POPB4SMTP auth type.

        * camel-sasl.c (camel_sasl_authtype): Added POPB4SMTP type.

        * camel-sasl-popb4smtp.c: New file for pop before smtp
        'authentication'.

        * Makefile.am (libcamel_la_SOURCES, HEADERS): Add
        camel-sasl-popb4smtp.[ch].

svn path=/trunk/; revision=11615
2001-08-03 15:33:57 +00:00
0ff44374fd If we fail to get the lock, make sure we close our locking fd, and reset
2001-08-01  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-mbox-folder.c (mbox_lock): If we fail to
        get the lock, make sure we close our locking fd, and reset it.
        Fixes the crash part of 5095.

svn path=/trunk/; revision=11538
2001-08-01 06:46:39 +00:00
6f22eb642b Slightly re-arranged filter/change notification logic. If we;re filtering,
2001-08-01  Not Zed  <NotZed@Ximian.com>

	* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
	Slightly re-arranged filter/change notification logic.  If we;re
	filtering, freeze the folder till we're finished to smooth the ui
	for new mail.

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

	* camel-folder.c (camel_folder_init): Chagned mutexes to
	e_mutexes, folder lock recursive.  This fixes the imap filtering
	bug, or at least some cases of it.
	(camel_folder_finalize): Free mutexes.

	* camel-private.h (CamelFolderPrivate): Changed mutexes to
	e_mutexes.

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

	* camel-folder.c (camel_folder_change_info_*): Change the
	return if fail's into asserts.
	(camel_folder_change_info_free): Don't let it accept a NULL
	argument.  This isn't g_lib so we dont have to.

svn path=/trunk/; revision=11537
2001-08-01 04:57:01 +00:00
a58cd1586c Fix the fix that fixes broken mailer behavior. We want to make sure that
2001-07-27  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (header_decode_param): Fix the fix that fixes
	broken mailer behavior. We want to make sure that the user's
	locale charset is non-NULL before we pass it off to
	iconv_open(). If it *is* NULL, we want to use iso-8859-1.

svn path=/trunk/; revision=11448
2001-07-27 16:41:55 +00:00
d5f77c20a8 Allow the url to be NULL just like the libc free convention.
2001-07-26  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-url.c (camel_url_free): Allow the url to be NULL just like
	the libc free convention.

svn path=/trunk/; revision=11437
2001-07-26 21:56:12 +00:00
8e10bc6959 Send an IMAP command, but don't wait for responses.
* providers/imap/camel-imap-command.c (camel_imap_command_start):
	Send an IMAP command, but don't wait for responses.
	(camel_imap_command_response): Read a single line of response from
	the server.
	(camel_imap_command, etc): Reimplement in terms of the new code.

	* providers/imap/camel-imap-folder.c (imap_rescan): Use
	camel_imap_command_start and camel_imap_command_response, and
	call camel_operation_progress after each line read from the
	server.
	(imap_update_summary): Likewise, although with more fudging on the
	precentages... Also, fix this so that if none of the new messages
	are cached, it only does a single FETCH, and if some of them are
	cached, it does two FETCHes (one to get the UIDs, FLAGS, and
	SIZEs, and another to get the bodies of all of the messages that
	aren't cached now that it knows the relevant UIDs). This should
	speed up startup a bunch (especially if you have high bandwidth
	but also high latency to the IMAP server).

svn path=/trunk/; revision=11430
2001-07-26 19:07:40 +00:00
f1e3f2f0e4 Add another Sender pattern.
* camel-mime-utils.c (mail_mlist_magic): Add another Sender
	pattern.

svn path=/trunk/; revision=11399
2001-07-25 15:23:43 +00:00
fc49986ee1 Change the break into a continue, we should process as many as we can
2001-07-24  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
        Change the break into a continue, we should process as many as we
        can find.

        * camel-folder.c (camel_folder_move_messages_to): If we have no
        uid's to copy, exit here before going any further.  Some code
        internally [imap] assumes there are uids to copy otherwise it can
        segfault.
        (camel_folder_copy_messages_to): Same.

svn path=/trunk/; revision=11392
2001-07-25 02:15:05 +00:00
443f0aba47 Handle broken mailers that send unencoded 8bit header params. And there
2001-07-24  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (header_decode_param): Handle broken mailers
	that send unencoded 8bit header params. And there was much
	rejoicing. Rah.

svn path=/trunk/; revision=11362
2001-07-24 22:23:40 +00:00
b49ab03540 New #define, and there was much rejoicing. Rah.
2001-07-24  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-url.h (CAMEL_URL_HIDE_ALL): New #define, and there was
	much rejoicing. Rah.

svn path=/trunk/; revision=11351
2001-07-24 19:55:46 +00:00
5ef14553c1 Added some warnings for bad cases.
2001-07-24  Not Zed  <NotZed@Ximian.com>

	* camel-operation.c (camel_operation_register, unregister): Added
	some warnings for bad cases.

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

	* camel-operation.c (camel_operation_register): Only insert a hash
	entry if we haven't already.
	(camel_operation_unregister): Only remove the has entry if the id
	is a real thread.

svn path=/trunk/; revision=11329
2001-07-24 00:56:11 +00:00
77e62d04c7 Slight fix for when source == destination (we don't want to do this action
2001-07-23  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-filter-driver.c (do_move): Slight fix for when source ==
	destination (we don't want to do this action because on-demand
	filtering would then delete the messages it supposedly "moved").

svn path=/trunk/; revision=11304
2001-07-23 16:59:17 +00:00
833bb47399 Added some operation progress reporting. Actual data transfer is 'tricky'
2001-07-23  Not Zed  <NotZed@Ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_auth, smtp_helo,
	send_to): Added some operation progress reporting.  Actual data
	transfer is 'tricky' because of the layers used.
	(smtp_auth): Instead of checking exception_is_set, use
	challenge==NULL to test if sasl_challenge_base64 failed.

	* providers/local/camel-mbox-summary.c (mbox_summary_sync): Remove
	peters changes below and put in a better fix.  These functions
	already return -1 on error, just use that, and not worry about
	building our own exception redundantly.

	* camel-service.c (camel_get_host_byname): Turn the progress into
	a transient event.

svn path=/trunk/; revision=11301
2001-07-23 02:35:21 +00:00
b34714d95b More usage fixes for CamelException. Check our own exception for
2001-07-20  Peter Williams  <peterw@ximian.com>

	* providers/local/camel-mbox-summary.c (mbox_summary_sync): More
	usage fixes for CamelException. Check our own exception for
	summary_update and xfer it out if an error occurred.

svn path=/trunk/; revision=11273
2001-07-20 21:01:30 +00:00
8a644defbf Pull up test fixes to get them building again
2001-07-20  JP Rosevear  <jpr@ximian.com>

	* Pull up test fixes to get them building again

svn path=/trunk/; revision=11270
2001-07-20 20:55:53 +00:00
f1738a4b78 renamed to camel_charset_to_iconv() to make it just a little more
2001-07-20  Not Zed  <NotZed@Ximian.com>

        * camel-charset-map.c (camel_charset_get_iconv_friendly_name):
        renamed to camel_charset_to_iconv() to make it just a little more

svn path=/trunk/; revision=11254
2001-07-20 04:59:46 +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
49e81a0bda Modified to treat the return value from camel_charset_locale_name() as a
2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-pgp-context.c (pgp_verify): Modified to treat the return
	value from camel_charset_locale_name() as a const char*.

	* camel-sasl-digest-md5.c (digest_response): Modified to treat the
	return value from camel_charset_locale_name() as a const char*.

	* camel-charset-map.c (camel_charset_locale_name): Modify to
	return const char* by returning the static locale_charset which is
	created inside of camel_charset_map_init().
	(camel_charset_map_init): Find the locale charset here and set the
	static variable.

svn path=/trunk/; revision=11245
2001-07-19 23:11:13 +00:00
85a02926e6 In camel:
2001-07-19  Peter Williams  <peterw@ximian.com>

	Policy change: NULL url's are no longer allowed in CamelFolderInfos. They used
	to signify that the folder was, in IMAP jargon, NoSelect; now the same effect
	is achieved by adding a "noselect=yes" parameter to the end of the URL. As far
	as I know, IMAP is the only affected provider.

	* providers/imap/camel-imap-store.c (delete_folder): New function. Implement
	folder deletion.
	(camel_imap_store_class_init): Set the delete_folder class function here.
	(get_folder_status): New function. Utility wrapper around the STATUS command.
	(create_folder): If the parent folder is NoSelect but is empty, delete it
	and recreate it as a a subfolder-containing folder. If it is NoSelect but
	contains messages, set an exception.
	(parse_list_response_as_folder_info): Always set the FolderInfo's URL, but
	add a NoSelect parameter if it isn't selectable.
	(get_folder_info_online): Change logic of removing the namespace to reflect
	URL change. Same for logic of checking unread counts.
	(get_folder_info_online): Use get_folder_status to simplify this.

	* camel-store.c (camel_folder_info_build): When creating
	dummy parents, copy the child's URL and set the NoSelect
	parameter.

In mail:

2001-07-19  Peter Williams  <peterw@ximian.com>

	Track the NoSelect changes in Camel.

	* mail-callbacks.c (create_folders): We don't need to check if
	the URL is NULL or not anymore.

	* component-factory.c (create_noselect_control): New
	function. Create a dummy control for folders that can't contain
	messages (ie \NoSelect)
	(create_view): If the URI says the folder is noselect, make a
	dummy control. FIXME: still should merge in the global UI
	elements.
	(xfer_folder): Don't allow the operation if the destination is
	NoSelect.
	(destination_folder_handle_motion): Ditto.
	(destination_folder_handle_drop): Ditto.

svn path=/trunk/; revision=11237
2001-07-19 21:35:43 +00:00
3f9e744cab No need for `acharset' anymore. (check_html_charset): Return a const char*
2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-part-utils.c
	(simple_data_wrapper_construct_from_parser): No need for
	`acharset' anymore.
	(check_html_charset): Return a const char* and also use
	camel_charset_get_iconv_friendly_name() internally.

svn path=/trunk/; revision=11236
2001-07-19 21:08:14 +00:00
8a56749aa6 Remove my iso8859-1 -> iso-8859-1 hack and use
2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (rfc2047_decode_word): Remove my iso8859-1 ->
	iso-8859-1 hack and use camel_charset_get_iconv_friendly_name()
	instead.
	(rfc2184_decode): Use camel_charset_get_iconv_friendly_name()

	* camel.c (camel_init): Call camel_charset_map_init().

	* camel-charset-map.c (camel_charset_map_init): New function to
	initialize the charset-equivalent lookup table. To be called by
	camel_init().
	(camel_charset_get_iconv_friendly_name): New function to try and
	convert a charset into something that iconv is more likely to
	accept.

svn path=/trunk/; revision=11235
2001-07-19 21:00:27 +00:00
a7155df7c1 Revert 7/11/2001 patch for IMAP INBOX filtering at NotZed's request.
2001-07-19  Peter Williams  <peterw@ximian.com>

       * Revert 7/11/2001 patch for IMAP INBOX filtering at NotZed's
       request.

svn path=/trunk/; revision=11226
2001-07-19 15:38:51 +00:00
e8aa23866a Clean up some exception misusage.
2001-07-17  Peter Williams  <peterw@ximian.com>

	Clean up some exception misusage.

	* providers/imap/camel-imap-command.c (camel_imap_command): Use
	our own internal exception for sending the string and transfer it
	to @ex if anything goes wrong.
	(imap_read_response): Use our own internal exception for reading
	the untagged responses and blah blah blah.

	* camel-session.c (get_service): Use our own internal exception
	when constructing the service and transfer it to @ex if anything
	goes wrong.

	* camel-remote-store.c (remote_recv_line): Instead of having
	gboolean exception, use our own internal exception and copy
	it to @ex if anything goes wrong.

	* camel-store.c (store_sync): Create an internal exception
	because sync_folder() checks it for validity. Transfer it to
	@ex when done.

	* camel-exception.c (camel_exception_get_description): If @ex is
	NULL, complain - passing NULL exceptions to Camel is okay, but
	there should be no circumstances under which they're then
	examined.
	(camel_exception_get_id): Same here,
	(camel_exception_xfer): NULL-protect and warn if transferring from
	a NULL exception.

svn path=/trunk/; revision=11177
2001-07-17 21:22:20 +00:00
14f7d6039f Use CAMEL_VTRASH_NAME.
2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (init_trash): Use CAMEL_VTRASH_NAME.

	* camel-vtrash-folder.h: #define CAMEL_VTRASH_NAME

svn path=/trunk/; revision=11158
2001-07-17 16:08:47 +00:00