Commit Graph

2187 Commits

Author SHA1 Message Date
ccbfa5da03 applied plain_signature_fix.patch
svn path=/trunk/; revision=18841
2002-11-19 18:42:41 +00:00
3a49f0dd08 Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)
* tests/*/Makefile.am: Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)

svn path=/trunk/; revision=18839
2002-11-19 17:21:44 +00:00
7ac3df4983 If the namespace is at/below INBOX, check for the INBOX explicitly (since
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
2002-11-18 13:23:32 +00:00
c2793329a9 Rewritten. Much much much cleaner implementation now, though uses
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
2002-11-11 15:14:49 +00:00
e1ef0a9ced Use g_strerror when setting an exception string (we need it to be in
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
2002-11-11 06:40:28 +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
ef7e69f0f3 constify the content_type.
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
2002-11-08 06:59:12 +00:00
3c508b93d7 don't #include <gtk/gtk.h>
svn path=/trunk/; revision=18639
2002-11-07 21:49:25 +00:00
796a15280d Added.
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
2002-11-07 21:34:17 +00:00
182aac9271 removed gnome-defs.h, it does not exist.
2002-11-07  Rodrigo Moya <rodrigo@ximian.com>

	* camel-object.h: removed gnome-defs.h, it does not exist.

svn path=/trunk/; revision=18633
2002-11-07 16:34:33 +00:00
c8b587d9c5 Created temporary link list, we need to link with something for gettext.
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
2002-11-05 09:05:24 +00:00
9536369bca Removed. Glib2 has this function.
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
2002-11-02 00:59:16 +00:00
4eaf9e5699 Use g_path_get_basename instead of g_strdup (g_basename (filename)).
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
2002-11-02 00:45:29 +00:00
60c8e14af4 Use g_path_get_dirname since g_dirname has been deprecated.
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
2002-11-02 00:42:07 +00:00
8ae8cb3525 Set the virtual method pointers to the import/export methods.
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
2002-11-01 00:45:05 +00:00
cfe440f26d oops, commit this too
svn path=/trunk/; revision=18474
2002-10-31 21:57:43 +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
8ef877a11e Don't prematurely set gpg->complete to TRUE. Let gpg_ctx_op_step () set it
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
2002-10-28 01:43:08 +00:00
d91b5bb034 ** For bug #31647 and bug #31456.
2002-10-24  Not Zed  <NotZed@Ximian.com>

        ** For bug #31647 and bug #31456.

        * camel-store-summary.c (store_info_string): for STORE_INFO_NAME,
        skip the leading /.

        * providers/imap/camel-imap-store.c
        (parse_list_response_as_folder_info): Remove jeff's last patch,
        and use the store summary to create the name and path of the
        folderinfo so it manages namespace issues.
        (get_folder_info_online): Just pass @top directly to
        build_folder_info always, since namespace is mapped to 1 tree
        level.
        (imap_build_folder_info): Remove jeff's last patch, dont strip
        leading /'s, they shouldn't exist.
        (imap_connect_online): Remove adding the INBOX here, we add it
        later.
        (get_subscribed_folders): Make sure INBOX is always in the list.
        some imap servers dont seem to let you subscribe to it(?), so
        always have it act as subscribed.

        * camel-store.c (camel_folder_info_build): back out the last 2
        patches from Jeff (for #31456) to get the original behaviour.
        (camel_folder_info_build): When creating a fake
        parent, dont strip the namespace from the full_name.  malloc keys
        in hash since we dont have them anymore.
        (free_name): Helper to free names.

        * providers/imap/camel-imap-store-summary.c
        (camel_imap_store_summary_namespace_new): Canonicalise the
        namespace (strip trailing dir_sep), and change the path to remove
        any /'s.
        (camel_imap_store_summary_namespace_find_path):
        (camel_imap_store_summary_namespace_find_full): new, find
        namespace by path/full name.
        (camel_imap_store_summary_full_from_path): Changed to a simple
        wrapper around path_to_full, after checking namespace.
        (camel_imap_store_summary_add_from_full): map the namespace if
        present.
        (camel_imap_store_summary_path_to_full): If namespace exists,
        unmap it.

svn path=/trunk/; revision=18424
2002-10-24 14:01:53 +00:00
08af37f568 Canonicalise the source_uri to not have a path. Fixes bug #32268.
2002-10-18  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-filter-driver.c (camel_filter_driver_filter_folder):
	Canonicalise the source_uri to not have a path. Fixes bug #32268.

2002-10-17  Jeffrey Stedfast  <fejj@ximian.com>

	Possible fix for bug #32270

	* providers/pop3/camel-pop3-store.c (try_sasl): If we get an I/O
	error, we should not be setting the CANT_AUTH exception but should
	instead be setting the SYSTEM exception. Also check for EINTR
	which signifies a USER_CANCEL exception.
	(pop3_try_authenticate): If the auth mechanism isn't supported,
	don't set the CANT_AUTH exception since then we will loop and try
	again with the same data which will just cause an infinite loop.
	(pop3_connect): Simplified a bit.

svn path=/trunk/; revision=18412
2002-10-22 18:17:06 +00:00
a28bbcd16f #include "camel-stream-fs.h" for writing out the certs to disk
svn path=/trunk/; revision=18395
2002-10-18 17:59:59 +00:00
1f92328c4b Do the filtering ourselves. This is so a problem like a missing uid (which
2002-10-03  Not Zed  <NotZed@Ximian.com>

        * camel-folder.c
        (filter_filter): Do the filtering ourselves.  This is so a problem
        like a missing uid (which can happen legitemitely) doesn't
        prematurely abort filtering.  Stop on all other errors.  See
        #31667.

svn path=/trunk/; revision=18392
2002-10-18 03:32:42 +00:00
50e16acfc8 If ~/.camel_certs doesn't exist, create it.
2002-10-17  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.c (camel_certdb_nss_cert_set): If
	~/.camel_certs doesn't exist, create it.

svn path=/trunk/; revision=18391
2002-10-18 03:03:13 +00:00
d4e1fb42e0 helper, build fingerprint. (camel_certdb_nss_cert_get): Helper for nss
2002-10-15  Not Zed  <NotZed@Ximian.com>

        * camel-tcp-stream-ssl.c (cert_fingerprint): helper, build
        fingerprint.
        (camel_certdb_nss_cert_get): Helper for nss certs.  Lookup cert.
        As well as fingerprint, the whole raw cert is checked for
        validity.
        (camel_certdb_nss_cert_add): Add an nss cert to a certdb, also
        saves the cert by fingerprint in ~/.camel_certs/.
        (ssl_bad_cert): Changed to use above functions to simplify logic.
        (ssl_bad_cert): Also added non-compiled code which mimics what
        mozilla does, but it doesn't work right :-/
        (camel_certdb_nss_cert_set): Save the raw cert associated with a
        cert.

        * camel-certdb.c (certdb_cert_free): Free the raw cert data if
        set.

2002-10-14  Not Zed  <NotZed@Ximian.com>

        * camel-file-utils.c (camel_file_util_encode_string): Encode a
        length of 0 as 1, not 0, to match the decode code.

svn path=/trunk/; revision=18385
2002-10-17 03:56:13 +00:00
0372b96a72 No longer takes a path argument. (camel_gpg_context_fianlise): No need to
2002-10-16  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-gpg-context.c (camel_gpg_context_new): No longer takes a
	path argument.
	(camel_gpg_context_fianlise): No need to free ctx->path.
	(gpg_ctx_new): No longer takes a path argument either.
	(gpg_ctx_free): No need to free ctx->path, it's no longer used.
	(gpg_ctx_op_start): Don't stat the path anymore and change the
	first arg to execvp to "gpg" so that we use the shell's
	environment to find gpg.
	(gpg_sign): Updated.
	(gpg_verify): Updated.
	(gpg_encrypt): Updated.
	(gpg_decrypt): Updated.
	(gpg_ctx_get_argv): Removed some debug printfs.

svn path=/trunk/; revision=18383
2002-10-17 03:01:36 +00:00
632e29aba5 If the hash id is NULL, return CAMEL_CIPHER_HASH_DEFAULT. Fixes bug
2002-10-15  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-gpg-context.c (gpg_id_to_hash): If the hash id is NULL,
	return CAMEL_CIPHER_HASH_DEFAULT. Fixes bug #32229.

svn path=/trunk/; revision=18371
2002-10-15 20:09:18 +00:00
aa99a5060a If the response from the IMAP server is "No", don't set the
2002-10-08  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-command.c (imap_read_response): If the
	response from the IMAP server is "No", don't set the
	SERVICE_UNAVAILABLE exception, this makes error reporting in the
	UI for deleting IMAP folders that cannot be deleted inaccurate
	(ie, it reports "Cannot delete in offline mode" which is not the
	problem).

svn path=/trunk/; revision=18356
2002-10-09 17:29:34 +00:00
3b8bf37f68 Fixes bug #31752
2002-10-07  Jeffrey Stedfast  <fejj@ximian.com>

	Fixes bug #31752

	* providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
	forget to send another EHLO command to the server once we toggle
	into STARTTLS mode.
	(smtp_helo): Reset any flags set using the EHLO response and also
	any authtypes.

svn path=/trunk/; revision=18334
2002-10-07 18:13:53 +00:00
bf304afc8a Fix all mailing list regex patterns to allow any number of spaces *or*
2002-10-06  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c: Fix all mailing list regex patterns to allow
	any number of spaces *or* tabs as pre-padding for the header
	values.

svn path=/trunk/; revision=18333
2002-10-07 18:10:24 +00:00
a0b931d89d Use the content-object's rawtext flag to decide if it needs to be filtered
2002-10-03  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-part.c (write_to_stream): Use the content-object's
	rawtext flag to decide if it needs to be filtered through the
	charset filter instead of using the mime part's rawtext flag since
	this will never be set. Partial fix for bug #31655.

svn path=/trunk/; revision=18323
2002-10-04 17:24:45 +00:00
a2db8a30c8 Dont get the filter driver inside the change_lock. Its not necessary, and
2002-10-03  Not Zed  <NotZed@Ximian.com>

        * camel-folder.c (folder_changed): Dont get the filter driver
        inside the change_lock.  Its not necessary, and can cause deadlock
        with the way the mailer gets the filter driver via g_mainloop.
        Should fix #31572.

svn path=/trunk/; revision=18321
2002-10-04 03:00:23 +00:00
f79eb8ef5a Map us-ascii to windows-1252 also.
2002-10-02  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-charset-map.c (camel_charset_iso_to_windows): Map us-ascii
	to windows-1252 also.

svn path=/trunk/; revision=18318
2002-10-03 16:53:20 +00:00
566e0fe148 Add missing ;.
svn path=/trunk/; revision=18315
2002-10-03 01:54:52 +00:00
5799cfdcea /home/notzed/gnome/head/evolution/camel
2002-10-02  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (get_matching): Set *set to
        NULL if we dont get any matches.
        (imap_sync_online): If we get no matches, skip any work, also
        reorder some code to make it easier to skip.  See #31031.

        * providers/imap/camel-imap-store.c
        (imap_check_folder_still_extant): Default to "TRUE", if the list
        command failed, it probably means a server problem, assume the
        worst.  This makes imap_refresh_info not clear the exception and
        crash.  Fixes crash of #31000.

2002-10-01  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (imap_refresh_info): Make
        sure we pass the exception to imap_folder_selected(), otherwise
        failures can be lost.  See bug #31000.

2002-10-01  Not Zed  <NotZed@Ximian.com>

        * camel-folder.c (thaw): Add an assertion that the frozen count>0.
        (freeze): Same for >= 0.

        * camel-vee-folder.c (camel_vee_folder_remove_folder): Use the
        unmatched freeze_count when thawing folders removed from
        unmatched, rather than the folder's freeze_count.  Might be
        related to #27391.

svn path=/trunk/; revision=18314
2002-10-03 00:15:23 +00:00
7bbdb47dd5 Use strtol when decoding the timezone (since it can be negative) and don't
2002-10-01  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (decode_internaldate): Use
	strtol when decoding the timezone (since it can be negative) and
	don't forget to increment inptr to the start of the time (ie,
	don't leave inptr pointing to the year when decoding the
	hour:min:sec).

svn path=/trunk/; revision=18283
2002-10-01 18:04:46 +00:00
6122b68bb1 Fixes bug #31456.
2002-09-30  Jeffrey Stedfast  <fejj@ximian.com>

	Fixes bug #31456.

	* providers/imap/camel-imap-store.c (imap_connect_online): Don't
	LSUB "" "*", instead get both an LSUB containing the subfolders of
	the namespace and an LSUB of INBOX (assuming namespace was
	non-empty). This fix really has nothing to do with bug #31456 but
	is what should have been done in the first place.
	(parse_list_response_as_folder_info): Simplify a tad and strip
	extra leading /'s from fi->path.
	(imap_build_folder_info): Strip extra leading /'s from fi->path.

	* camel-store.c (camel_folder_info_build): Don't strip the
	namespace from the fi->full_name when hashing or creating fake
	parent folder-infos. Fixes a bug I found while trying to reproduce
	bug #31456.
	(camel_folder_info_build_path): Strip off extra leading dir_sep
	chars from the path.

svn path=/trunk/; revision=18273
2002-09-30 22:57:42 +00:00
326d9cdc79 Don't strip the namespace from the fi->full_name when hasing or creating
2002-09-30  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (camel_folder_info_build): Don't strip the
	namespace from the fi->full_name when hasing or creating fake
	parent folders. Fixes a bug I found while trying to reproduce bug
	#31456.

svn path=/trunk/; revision=18270
2002-09-30 20:45:42 +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
7ed66fac42 New function to decode the INTERNALDATE response from an IMAP server so we
2002-09-27  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (decode_internaldate): New
	function to decode the INTERNALDATE response from an IMAP server
	so we don't have to use my broken-date-parser routines.

2002-09-27  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-store.c (connect_to_server):
	NULL-check the streams before unreffing them in the case of a
	failure during ssl negotiations.

	* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): Check
	SSL_ResetHandshake() for errors. Also force a handshake after
	we've reset the handshake state on the socket.

svn path=/trunk/; revision=18252
2002-09-27 20:20:08 +00:00
636a544373 Use the summary's last uid as the one to fetch from, ignoring the cache.
2002-09-27  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (imap_update_summary): Use
        the summary's last uid as the one to fetch from, ignoring the
        cache.  Use strotul instead of atoi as well.

        * providers/imap/camel-imap-store.c (get_folder_counts): If we
        have the folder open, and the unread count has changed, refresh
        it.  Should fix #30399 enough.  Also in non-check-all mode, if we
        have the folder open, use it anyway.

svn path=/trunk/; revision=18242
2002-09-27 05:34:05 +00:00
3cb66ed22a Treat spool as a local folder, so the ref checks work right.
2002-09-26  Not Zed  <NotZed@Ximian.com>

	* tests/folder/test2.c (main): Treat spool as a local folder, so
	the ref checks work right.

	* providers/local/camel-spool-store.c
	(get_folder): Use creat() instead of open() to create file.

svn path=/trunk/; revision=18231
2002-09-26 05:56:12 +00:00
a007d6d208 Implement FOLDER_CREATE flag. (scan_dir): Dont free name on exception, its
2002-09-26  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-spool-store.c (get_folder): Implement
        FOLDER_CREATE flag.
        (scan_dir): Dont free name on exception, its alloca'd.
        (scan_dir): If we start scanning from a file, just add that
        directly.
        (scan_dir): Allow empty files to also show up in folder list, as
        well as files starting with "From ".

        * providers/local/camel-spool-folder.c (camel_spool_folder_new):
        Check folder != NULL before writing to it.

        * providers/local/camel-local-store.c (create_folder): Handle a
        parent of NULL for creating top-level dirs.  Part of #31186.

svn path=/trunk/; revision=18230
2002-09-26 05:34:10 +00:00
e45b3e4828 Store the folder flags in the store summary. (get_one_folder_offline): Set
2002-09-26  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-store.c
        (parse_list_response_as_folder_info): Store the folder flags in
        the store summary.
        (get_one_folder_offline): Set the noselect url parameter if this
        is a noselect folder, from the stored summary flags.  #30877.

svn path=/trunk/; revision=18229
2002-09-26 02:39:16 +00:00
5cec46ca6a Handle EILSEQ by eating bytes in the input buffer until conversion is
2002-09-23  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-filter-charset.c (complete): Handle EILSEQ by eating
	bytes in the input buffer until conversion is successful. The old
	behaviour aborted when it got EILSEQ and just dumped the raw data.
	(filter): Same. Fixes bug #30873.

svn path=/trunk/; revision=18228
2002-09-25 23:33:45 +00:00
cf4ca10f51 Added a test suite for camel-mime-filter-charset and added a few test cases for it. input charset files should be in the form "charset-%s.%d.in" where %s is the charset name that the file is in and %d is just some number as in a sequence id. Mostly just so we can have multiple test files per charset
svn path=/trunk/; revision=18227
2002-09-25 23:25:05 +00:00
adfb8ab4d8 Changed the Mailing-List rule to get the complete domain (* in wrong
2002-09-24  Not Zed  <NotZed@Ximian.com>

	* camel-mime-utils.c (mail_list_magic[]): Changed the Mailing-List
	rule to get the complete domain (* in wrong spot).  #31087.

svn path=/trunk/; revision=18192
2002-09-24 05:48:14 +00:00
a65c7bb476 If we have no data written to a key, dont add it, or its partition header.
2002-09-24  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_compress_nosync): If we have no
        data written to a key, dont add it, or its partition header.

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

        * camel-block-file.c (sync_nolock): Mark root block dirty if we're
        going to sync it.
        (camel_key_file_finalise): de-count the active list if we close
        it.

        * camel-text-index.c (text_index_delete): Implement.
        (text_index_compress_nosync): Use index_delete when we're finished
        with the old one, so it is properly deactivated.

        * camel-index.c (camel_index_delete): Remove api call.  Mark index
        deleted in new state variable.
        (camel_index_*): Wrap all calls in check for deleted state.

svn path=/trunk/; revision=18189
2002-09-24 01:16:12 +00:00
eb2fce3e48 If the original message is deleted, reset the deleted flag when we're
2002-09-23  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder.c (transfer_message_to): If the original message is
	deleted, reset the deleted flag when we're done. Fixes bug #30876.

svn path=/trunk/; revision=18181
2002-09-23 20:48:50 +00:00
ebe98873ea Decode the INTERNALDATE if we've got one. (imap_update_summary): Instead
2002-09-23  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (add_message_from_data):
	Decode the INTERNALDATE if we've got one.
	(imap_update_summary): Instead of requesting a list of specific
	headers, request HEADER.FIELDS.NOT (RECEIVED) to reduce bandwidth
	usage even more.
	(parse_fetch_response): Change slightly to allow HEADER.FIELDS or
	HEADER.FIELDS.NOT so that we can make changes in
	imap_update_summary and not need to keep changing this function to
	match. Also parse an INTERNALDATE response.

svn path=/trunk/; revision=18178
2002-09-23 20:03:17 +00:00