Jeffrey Stedfast [Tue, 14 Jan 2003 05:48:08 +0000 (05:48 +0000)]
New source files implementing the GSSAPI SASL mechanism.
2003-01-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl-gssapi.[c,h]: New source files implementing the
GSSAPI SASL mechanism.
Not Zed [Mon, 13 Jan 2003 11:56:12 +0000 (11:56 +0000)]
fix header include order.
2003-01-13 Not Zed <NotZed@Ximian.com>
* camel-mime-filter-tohtml.c: fix header include order.
* camel-object.c (camel_object_bag_reserve): Add an assert to
check we're not trying to reserve the bag more than once in a
given thread.
(camel_object_bag_list): If we have reserved the bag, dont try and
cond wait. Fixes a deadlock.
Not Zed [Mon, 13 Jan 2003 05:46:35 +0000 (05:46 +0000)]
Read the characters as utf8, rather than as 8 bit bytes. Remove the
2003-01-13 Not Zed <NotZed@Ximian.com>
* camel-mime-filter-tohtml.c (writeln): Read the characters as
utf8, rather than as 8 bit bytes. Remove the PRESERVE_8BIT as it
has no meaning. Also change the default logic slightly so that 8
bit or greater characters are properly converted to entities.
* camel-utf8.c (camel_utf8_getc_limit): new function, gets a utf8
char, bounded by an end pointer.
Dan Winship [Tue, 7 Jan 2003 21:03:56 +0000 (21:03 +0000)]
add a "translation_domain" field. (NULL for all providers in the camel
* camel-provider.h (CamelProvider): add a "translation_domain"
field. (NULL for all providers in the camel source tree itself).
* camel-session.c (register_provider): Translate provider strings
in the correct domain
Dan Winship [Tue, 7 Jan 2003 15:04:07 +0000 (15:04 +0000)]
New.
* e-config-listener.c (e_config_listener_remove_value): New.
* e-passwords.c (e_passwords_get_password): Don't look at the
passwords hash until calling e_passwords_init().
Not Zed [Sun, 5 Jan 2003 23:48:10 +0000 (23:48 +0000)]
init local exception before doing anything. fixes a crash.
2003-01-06 Not Zed <NotZed@Ximian.com>
* camel-store.c (store_sync): init local exception before doing
anything. fixes a crash.
Jeffrey Stedfast [Sun, 5 Jan 2003 01:23:55 +0000 (01:23 +0000)]
spell-check
Jeffrey Stedfast [Sat, 4 Jan 2003 22:50:01 +0000 (22:50 +0000)]
Instead of checking recipients != NULL, check that camel_address_length
2003-01-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_send_to): Instead of
checking recipients != NULL, check that camel_address_length
(recipients) != 0 since it is illegal for recipients to be NULL
(camel_transport_send_to already checks this).
Jeffrey Stedfast [Tue, 17 Dec 2002 21:48:23 +0000 (21:48 +0000)]
commit this too
Jeffrey Stedfast [Tue, 17 Dec 2002 21:46:44 +0000 (21:46 +0000)]
Replace calls to g_string_sprintfa() with g_string_append_printf() since
2002-12-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c: Replace calls to
g_string_sprintfa() with g_string_append_printf() since the former
seems to have been deprecated.
* providers/imap/camel-imap-search.c: Same.
* providers/imap/camel-imap-folder.c: Here too.
* providers/local/camel-mbox-summary.c: And here.
* providers/local/camel-local-summary.c: Replace
g_string_sprintf() with g_string_printf().
* camel-data-cache.c (data_cache_expire): Replace
g_string_sprintf() with g_string_printf().
* camel-url.c: Replace calls to g_string_sprintfa() with
g_string_append_printf() since the former seems to have been
deprecated.
* camel-service.c: Same.
* camel-mime-utils.c: Here too.
Jeffrey Stedfast [Tue, 17 Dec 2002 21:01:00 +0000 (21:01 +0000)]
Replace calls to g_string_sprintfa() with g_string_append_printf() since
2002-12-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-url.c: Replace calls to g_string_sprintfa() with
g_string_append_printf() since the former seems to have been
deprecated.
* camel-service.c: Same.
* camel-mime-utils.c: Here too.
Jeffrey Stedfast [Mon, 16 Dec 2002 23:45:41 +0000 (23:45 +0000)]
Detect text/html parts that were marked as text/plain and re-tag them as
2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Detect text/html
parts that were marked as text/plain and re-tag them as text/html
parts. Note: currently just checks if the first non-lwsp char is a
'<' - but we might need to be smarter about this? *sigh* Stupid
Windows mailers.
Jeffrey Stedfast [Mon, 16 Dec 2002 19:36:35 +0000 (19:36 +0000)]
New convenience function to replace calls to e_text_to_html() in the
2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (camel_text_to_html): New convenience
function to replace calls to e_text_to_html() in the
mailer/composer etc.
Jeffrey Stedfast [Mon, 16 Dec 2002 15:05:06 +0000 (15:05 +0000)]
#include some headers we had forgotten to add previously, also added
2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
* camel.h: #include some headers we had forgotten to add
previously, also added camel-mime-filter-enriched.h.
* camel-mime-filter-enriched.[c,h]: New stream filter to convert
text/enriched and text/richtext into HTML.
Jeffrey Stedfast [Mon, 16 Dec 2002 00:52:25 +0000 (00:52 +0000)]
Don't apply the CANON_STRIP filter here, since we are verifying whatever
2002-12-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-signed.c (camel_multipart_signed_verify): Don't
apply the CANON_STRIP filter here, since we are verifying whatever
raw data we received (all we want to do is convert o the canonical
CRLF format).
Jeffrey Stedfast [Tue, 10 Dec 2002 17:40:34 +0000 (17:40 +0000)]
Use camel-url-scanner instead of regex.
2002-12-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (html_convert): Use camel-url-scanner
instead of regex.
Jeffrey Stedfast [Tue, 10 Dec 2002 03:44:17 +0000 (03:44 +0000)]
Fixed to not be fooled in the case where the address is followed
2002-12-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-url-scanner.c (camel_url_addrspec_end): Fixed to not be
fooled in the case where the address is followed immediately by a
period.
(camel_url_web_end): Made more robust.
(camel_url_scanner_scan): Oops. We need to set the match->pattern
string pointer to the correct pattern before executing the
start/end methods (as some of them rely on this info).
Jeffrey Stedfast [Mon, 9 Dec 2002 23:18:31 +0000 (23:18 +0000)]
New code to scan for patterns (used only for url pattern matching atm, but
2002-12-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-url-scanner.c: New code to scan for patterns (used only
for url pattern matching atm, but we may find other uses for this
and thus rename it? I dunno). Uses ETrie.
Chris Toshok [Mon, 9 Dec 2002 21:39:41 +0000 (21:39 +0000)]
track changes to api (e_passwords_init is gone, and several functions take
2002-12-09 Chris Toshok <toshok@ximian.com>
* e-passwords.h: track changes to api (e_passwords_init is gone,
and several functions take the component name as an arg.)
* e-passwords.c (e_passwords_init): make this static, and allow
multiple calls. Also, it no longer takes the component name.
(e_passwords_shutdown): make this deal with the case where
e_passwords_init wasn't called (no hashtable), and it no longer
needs to free component_name.
(e_passwords_forget_passwords): call e_passwords_init.
(e_passwords_clear_component_passwords): take component_name as an
arg, and call e_passwords_init.
(password_path): take component_name as an arg.
(e_passwords_remember_password): same, and call e_passwords_init.
(e_passwords_forget_password): same.
(e_passwords_get_password): same.
(e_passwords_add_password): call e_passwords_init.
(e_passwords_ask_password): take component_name as an arg.
Not Zed [Mon, 9 Dec 2002 00:28:06 +0000 (00:28 +0000)]
Use a bag instead of a hashtable to track the cache streams.
2002-12-07 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (data_cache_init): Use a bag instead of a
hashtable to track the cache streams.
(data_cache_finalise): Same.
(free_busy): No longer needed.
(data_cache_expire): use bag instead of hashtable.
(stream_finalised): No longer required.
(camel_data_cache_add): objectbagise
(camel_data_cache_get): "
(camel_data_cache_remove): "
(data_cache_path): Set the now expired date before running expiry,
so it plays better with multiple threads. Still a couple of
harmless races.
2002-12-06 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (scan_dir): folders ->
object bag.
(get_folder_info_mbox): folders -> object bag.
* providers/local/camel-mh-store.c (folder_info_new): folders ->
object bag.
* providers/local/camel-maildir-store.c (scan_dir): folders ->
object bag.
* providers/local/camel-local-store.c (rename_folder): folders ->
object bag.
* camel-private.h (CamelStorePrivate): Remove 'cache' lock,
handled by the objectbag.
* providers/imap/camel-imap-store.c (copy_folder): Removed.
(imap_store_refresh_folders): folders -> object bag.
(get_folder_counts): folders -> object bag.
* camel-vee-store.c (vee_get_folder): changes for folders
objectbag.
(vee_get_folder_info): Change to use folders objectbag. Also,
dont refresh the base folder if we're in FAST mode.
(build_info): Removed, no longer needed.
(vee_rename_folder): Fixed for folders objectbag.
* camel-store.c (camel_store_init): init the folders objectbag.
(camel_store_finalize): Destroy the folders object bag.
(folder_matches):
(folder_finalize): Removed, now handled implicitly by the
objectbag.
(camel_store_get_folder): object bag changes.
(camel_store_delete_folder): "
(get_subfolders): Removed, now handled without a callback.
(camel_store_rename_folder): Changed to use object bag of folders.
(trash_add_folder): Removed.
(init_trash): use folders object bag.
(copy_folder_cache):
(sync_folder): Removed, no longer needed. Weird arsed code anyway.
(store_sync): Use folder object bag instead of hashtable.
(camel_store_unsubscribe_folder): "
(camel_store_init): remove cache_lock init, no longer used.
(camel_store_finalize): Same for cleanup.
2002-12-05 Not Zed <NotZed@Ximian.com>
* camel-store.h (struct _CamelStore): change folders from a
hashtable into a CamelObjectBag.
* camel-object.c (camel_object_ref): Use type_lock instead of
class lock for ref counting.
(camel_object_unref): Use type_lock instead of class lock for
unref.
(camel_object_unref): If the object is 'bagged', then also look
hooks, and remove it from any bags.
(camel_object_bag_new):
(camel_object_bag_destroy):
(camel_object_bag_add):
(camel_object_bag_get):
(camel_object_bag_remove_unlocked):
(camel_object_bag_list):
(camel_object_bag_abort):
(camel_object_bag_remove): New functions to implement a utility
object which can manage a 'bag' of weakly ref'd children in an
atomic & threadsafe way.
Jeffrey Stedfast [Wed, 4 Dec 2002 16:17:02 +0000 (16:17 +0000)]
Properly handle the case where the namespace is "". Fixes bug #34975
2002-12-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store-summary.c
(camel_imap_store_summary_add_from_full): Properly handle the case
where the namespace is "". Fixes bug #34975
Jeffrey Stedfast [Tue, 3 Dec 2002 18:23:17 +0000 (18:23 +0000)]
Fixed to not get false positives when the token is shorter than the actual
2002-12-03 Jeffrey Stedfast <fejj@ximian.com>
* broken-date-parser.c (get_tzone): Fixed to not get false
positives when the token is shorter than the actual timezone
string (but matches the first little bit of it).
(datetok): Modified to properly handle when the first char of a
token is a special char (such as a '-') that is also used as a
token delimiter.
Jeffrey Stedfast [Fri, 22 Nov 2002 22:29:56 +0000 (22:29 +0000)]
Use the new camel_operation_cancel_prfd() function to get the cancellation
2002-11-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_read): Use the new
camel_operation_cancel_prfd() function to get the cancellation fd
so we can poll on it for cancellation stuff.
(stream_write): Same.
2002-11-22 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_cancel_prfd): Implement, gets
a nspr pr filedesc to poll/wait on
(struct _CamelOperation): include a pr filedesc.
Not Zed [Fri, 22 Nov 2002 03:12:10 +0000 (03:12 +0000)]
If we have a namespace of "", then always match any path.
2002-11-21 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store-summary.c
(camel_imap_store_summary_namespace_find_path): If we have a
namespace of "", then always match any path.
(camel_imap_store_summary_namespace_find_full): Same, for full
names. Should address #33309 & friends.
Radek Doulik [Tue, 19 Nov 2002 18:42:39 +0000 (18:42 +0000)]
applied plain_signature_fix.patch
Rodney Dawes [Tue, 19 Nov 2002 17:21:44 +0000 (17:21 +0000)]
Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)
* tests/*/Makefile.am: Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)
Jeffrey Stedfast [Mon, 18 Nov 2002 13:23:32 +0000 (13:23 +0000)]
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.
Chris Toshok [Tue, 12 Nov 2002 23:05:06 +0000 (23:05 +0000)]
add e-password.h (libeutil_la_SOURCES): add e-password.c
2002-11-12 Chris Toshok <toshok@ximian.com>
* Makefile.am
(eutilinclude_HEADERS): add e-password.h
(libeutil_la_SOURCES): add e-password.c
* e-passwords.[ch]: port this to gnome2's gnome-config-private.
Jeffrey Stedfast [Mon, 11 Nov 2002 15:14:49 +0000 (15:14 +0000)]
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.
Jeffrey Stedfast [Mon, 11 Nov 2002 06:40:28 +0000 (06:40 +0000)]
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.
Jeffrey Stedfast [Mon, 11 Nov 2002 06:24:56 +0000 (06:24 +0000)]
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.
Not Zed [Fri, 8 Nov 2002 06:59:12 +0000 (06:59 +0000)]
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.
Jeffrey Stedfast [Thu, 7 Nov 2002 21:49:25 +0000 (21:49 +0000)]
don't #include <gtk/gtk.h>
Jeffrey Stedfast [Thu, 7 Nov 2002 21:34:17 +0000 (21:34 +0000)]
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.
Rodrigo Moya [Thu, 7 Nov 2002 16:34:33 +0000 (16:34 +0000)]
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.
Not Zed [Tue, 5 Nov 2002 09:05:24 +0000 (09:05 +0000)]
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.
Jeffrey Stedfast [Sat, 2 Nov 2002 00:59:16 +0000 (00:59 +0000)]
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.
Jeffrey Stedfast [Sat, 2 Nov 2002 00:45:29 +0000 (00:45 +0000)]
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)).
Jeffrey Stedfast [Sat, 2 Nov 2002 00:42:07 +0000 (00:42 +0000)]
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.
Jeffrey Stedfast [Fri, 1 Nov 2002 00:45:05 +0000 (00:45 +0000)]
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.
Jeffrey Stedfast [Thu, 31 Oct 2002 21:57:43 +0000 (21:57 +0000)]
oops, commit this too
Jeffrey Stedfast [Thu, 31 Oct 2002 21:57:29 +0000 (21:57 +0000)]
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...
Jeffrey Stedfast [Thu, 31 Oct 2002 21:41:26 +0000 (21:41 +0000)]
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.
Jeffrey Stedfast [Mon, 28 Oct 2002 01:43:08 +0000 (01:43 +0000)]
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.
Not Zed [Thu, 24 Oct 2002 14:01:53 +0000 (14:01 +0000)]
** 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.
Jeffrey Stedfast [Tue, 22 Oct 2002 18:17:06 +0000 (18:17 +0000)]
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.
Jeffrey Stedfast [Fri, 18 Oct 2002 17:59:59 +0000 (17:59 +0000)]
#include "camel-stream-fs.h" for writing out the certs to disk
Not Zed [Fri, 18 Oct 2002 03:32:42 +0000 (03:32 +0000)]
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.
Jeffrey Stedfast [Fri, 18 Oct 2002 03:03:13 +0000 (03:03 +0000)]
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.
Not Zed [Thu, 17 Oct 2002 03:56:13 +0000 (03:56 +0000)]
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.
Jeffrey Stedfast [Thu, 17 Oct 2002 03:01:36 +0000 (03:01 +0000)]
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.
Jeffrey Stedfast [Tue, 15 Oct 2002 20:09:18 +0000 (20:09 +0000)]
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.
Jeffrey Stedfast [Wed, 9 Oct 2002 17:29:34 +0000 (17:29 +0000)]
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).
Jeffrey Stedfast [Mon, 7 Oct 2002 18:13:53 +0000 (18:13 +0000)]
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.
Jeffrey Stedfast [Mon, 7 Oct 2002 18:10:24 +0000 (18:10 +0000)]
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.
Jeffrey Stedfast [Fri, 4 Oct 2002 17:24:45 +0000 (17:24 +0000)]
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.
Not Zed [Fri, 4 Oct 2002 03:00:23 +0000 (03:00 +0000)]
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.
Jeffrey Stedfast [Thu, 3 Oct 2002 16:53:20 +0000 (16:53 +0000)]
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.
Michael Zucci [Thu, 3 Oct 2002 01:54:52 +0000 (01:54 +0000)]
Add missing ;.
Not Zed [Thu, 3 Oct 2002 00:15:23 +0000 (00:15 +0000)]
/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.
Jeffrey Stedfast [Tue, 1 Oct 2002 18:04:46 +0000 (18:04 +0000)]
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).
Jeffrey Stedfast [Mon, 30 Sep 2002 22:57:42 +0000 (22:57 +0000)]
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.
Jeffrey Stedfast [Mon, 30 Sep 2002 20:45:42 +0000 (20:45 +0000)]
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.
Not Zed [Mon, 30 Sep 2002 05:06:51 +0000 (05:06 +0000)]
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.
Jeffrey Stedfast [Fri, 27 Sep 2002 20:20:08 +0000 (20:20 +0000)]
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.
Not Zed [Fri, 27 Sep 2002 05:34:05 +0000 (05:34 +0000)]
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.
Not Zed [Thu, 26 Sep 2002 05:56:12 +0000 (05:56 +0000)]
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.
Not Zed [Thu, 26 Sep 2002 05:34:10 +0000 (05:34 +0000)]
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.
Not Zed [Thu, 26 Sep 2002 02:39:16 +0000 (02:39 +0000)]
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.
Jeffrey Stedfast [Wed, 25 Sep 2002 23:33:45 +0000 (23:33 +0000)]
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.
Jeffrey Stedfast [Wed, 25 Sep 2002 23:25:05 +0000 (23:25 +0000)]
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
Not Zed [Tue, 24 Sep 2002 05:48:14 +0000 (05:48 +0000)]
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.
Not Zed [Tue, 24 Sep 2002 01:16:12 +0000 (01:16 +0000)]
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.
Jeffrey Stedfast [Mon, 23 Sep 2002 20:48:50 +0000 (20:48 +0000)]
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.
Jeffrey Stedfast [Mon, 23 Sep 2002 20:03:17 +0000 (20:03 +0000)]
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.
Dan Winship [Sun, 22 Sep 2002 23:49:06 +0000 (23:49 +0000)]
fix non-ANSI switch statement.
* camel-mime-parser.c (folder_scan_drop_step): fix non-ANSI switch
statement.
* camel-service.c (service_getv): Likewise.
* providers/imap/camel-imap-store.c (imap_getv): Likewise.
* providers/pop3/camel-pop3-folder.c (cmd_builduid): Likewise.
Not Zed [Fri, 20 Sep 2002 05:30:27 +0000 (05:30 +0000)]
New regression test for word splitting/search input parsing code.
2002-09-20 Not Zed <NotZed@Ximian.com>
* tests/misc/split.c: New regression test for word
splitting/search input parsing code.
* tests/folder/test9.c (main): Fix for filter_driver api change.
* camel-search-private.c (camel_search_words_split): Handle "'s
and \'s to escape characters. For fat, lazy, slobs who dont like
anything changing.
Not Zed [Thu, 19 Sep 2002 13:26:38 +0000 (13:26 +0000)]
Take new session arg. Update callers. (symbols[]): changed get-source to
2002-09-19 Not Zed <NotZed@Ximian.com>
* camel-filter-search.c (camel_filter_search_match): Take new
session arg. Update callers.
(symbols[]): changed get-source to header-source
(header_source): Chagned from get_source. Now a boolean, returns
true if source matches one of the arguments. Uses the provider
url comparison directly for accurate checking. Makes 'filter on
source' work.
* camel-filter-driver.c (camel_filter_driver_new): Take new arg,
session.
(camel_filter_driver_finalise): Free session.
Jeffrey Stedfast [Thu, 19 Sep 2002 06:17:16 +0000 (06:17 +0000)]
Don't increment the response pointer when deciding what type of header
2002-09-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response): Don't
increment the response pointer when deciding what type of header
response we got, this screws up the string that we strdup into the
part_spec string later. Also, instead of using the entire blob of
HEADER.FIELDS that we get in the response, shorten it to just
HEADER.FIELDS to use as the part_spec key.
Jeffrey Stedfast [Thu, 19 Sep 2002 02:38:20 +0000 (02:38 +0000)]
fixed a merge conflict
Jeffrey Stedfast [Thu, 19 Sep 2002 02:37:26 +0000 (02:37 +0000)]
Include MIME-VERSION and CONTENT-TYPE.
2002-09-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (CAMEL_MESSAGE_INFO_HEADERS):
Include MIME-VERSION and CONTENT-TYPE.
Not Zed [Thu, 19 Sep 2002 01:41:38 +0000 (01:41 +0000)]
If we get an ALERT, pass it to the user. An rfc2060 MUST, and bug #22496.
2002-09-18 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_command_response): If we get an ALERT, pass it to the
user. An rfc2060 MUST, and bug #22496.
Jeffrey Stedfast [Wed, 18 Sep 2002 19:00:09 +0000 (19:00 +0000)]
Handle when the response is from a HEADER.FIELDS (if so, we don't want to
2002-09-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response):
Handle when the response is from a HEADER.FIELDS (if so, we don't
want to cache the result).
(imap_update_summary): Request specific headers when building the
CamelMessageInfo's rather than fetching the full headers.
Jeffrey Stedfast [Sun, 15 Sep 2002 03:29:41 +0000 (03:29 +0000)]
If header_msgid_decode fails for the content-id field, just grab whatever
2002-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (process_header): If header_msgid_decode fails
for the content-id field, just grab whatever is between the <>'s
(yes, this means that the content-id is invalid - but what can ya
do?). Addresses bug #21027.
Jeffrey Stedfast [Fri, 13 Sep 2002 21:36:28 +0000 (21:36 +0000)]
If header_msgid_decode fails for the content-id field, just grab whatever
2002-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (process_header): If header_msgid_decode fails
for the content-id field, just grab whatever is between the <>'s
(yes, this means that the content-id is invalid - but what can ya
do?). Addresses bug #21027.
Jeffrey Stedfast [Wed, 11 Sep 2002 05:40:01 +0000 (05:40 +0000)]
Revert a patch that I had not meant to commit that was aimed at fixing bug
2002-09-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_encode_string): Revert a patch that I
had not meant to commit that was aimed at fixing bug #29234.
Jeffrey Stedfast [Tue, 10 Sep 2002 21:39:56 +0000 (21:39 +0000)]
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.
Jeffrey Stedfast [Tue, 10 Sep 2002 21:10:49 +0000 (21:10 +0000)]
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.
Jeffrey Stedfast [Tue, 10 Sep 2002 20:26:23 +0000 (20:26 +0000)]
Clear the exception even if we failed to get the message (part) from the
2002-09-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c
(camel_imap_folder_fetch_data): Clear the exception even if we
failed to get the message (part) from the imap-message-cache if we
are online and able to try fetching it from the IMAP server.
Not Zed [Tue, 10 Sep 2002 11:37:34 +0000 (11:37 +0000)]
Remove the hash table entry using the right path. Related to #29731.
2002-09-10 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (data_cache_expire): Remove the hash table
entry using the right path. Related to #29731.
(camel_data_cache_remove): "
Jeffrey Stedfast [Mon, 9 Sep 2002 20:28:35 +0000 (20:28 +0000)]
Fixes bug #4224
2002-09-09 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #4224
* providers/imap/camel-imap-folder.c
(camel_imap_folder_fetch_data): Pass ex into
camel_imap_message_cache_get().
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Now takes an exception and sets it
on fail.
(camel_imap_message_cache_copy): Updated to properly handle
cache_get error conditions.
Dan Winship [Thu, 5 Sep 2002 14:26:30 +0000 (14:26 +0000)]
Use e_mktime_utc.
* camel-mime-utils.c (header_decode_date): Use e_mktime_utc.
* camel-mime-message.c (camel_mime_message_set_date): Use
e_localtime_with_offset.
* broken-date-parser.c (decode_broken_date): Use e_mktime_utc.
Not Zed [Wed, 4 Sep 2002 08:13:38 +0000 (08:13 +0000)]
clear nonfatal stuff.
2002-09-04 Not Zed <NotZed@Ximian.com>
* tests/folder/test4.c (main): clear nonfatal stuff.
* tests/folder/test6.c (main): check inbox and 'another folder'
because some servers do different things w/ inbox.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Dont try to open the directory
instead of an empty "" uid.
* providers/imap/camel-imap-folder.c (imap_get_message): we dont
want to g_return_if_fail, we need to set an exception and always
handle the case.
(get_message_simple): Set an exception if we get a construct
failure.
(imap_refresh_info): if we're refreshing inbox, force a reselect.
this is required for at least cryus. CHECK doesnt work either :(
* tests/lib/folders.c (test_folder_basic): for non-local stores,
the folder will have an extra ref for selection, take this into
account when checking ref leaks.
(test_folder_message_ops): Dont try to delete folder with messages
in it, it works generally with imap. also, change params so we
can test different mailbox types.
(test_folder_message_ops): disconnect remote services before
finishing off. doesn't need to stricly but makes ref count
checking more accurate.
(test_folder_message_ops): removed explicit remote sync, imap does
it itself now ...
* providers/imap/camel-imap-store.c:
(camel_imap_store_finalize): call service_disconnect, so it isn't
called later in the finalise chain, to properly cleanup on exit.
Not Zed [Wed, 4 Sep 2002 03:15:06 +0000 (03:15 +0000)]
If we fake the from eof file boundary, also make sure we say we matched
2002-09-04 Not Zed <NotZed@Ximian.com>
* camel-mime-parser.c (folder_scan_content): If we fake the from
eof file boundary, also make sure we say we matched nothing. Also
make the end case a little more robust to make sure we expired all
hope of finding a sub-boundary.
Not Zed [Tue, 3 Sep 2002 14:55:03 +0000 (14:55 +0000)]
Lots of changes, too numerous to list. Changed to use
2002-09-04 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c,
providers/imap/camel-imap-folder.c: Lots of changes, too numerous
to list. Changed to use camel-imap-store-summary to cache list
requests. Changed to use a canonicalised url path with / instead
of per-store directory separator. Indirects folder name so
invalid folder names can still be accessed. Summary now stored in
a new expandable format in .ev-store-summary.
2002-08-28 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (construct): Load store
summary if it exists.
(can_work_offline): Just see if we have any folders to say whether
we can work offline or not. Should probably always just return
true.
2002-08-27 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store-summary.[ch]: New files to
handle offline definition of folders, etc.
* camel-url.h: Define CamelURL to be struct _CamelURL rather than
anonymous struct.
* camel-store-summary.[ch]: a few api tweaks. Also, the summary
header is versioned separately at each level, so that version
upgrades can be handled separately. Renamed FolderInfo ->
StoreInfo to avoid namespace with current FolderInfo code. This
should be reversed when the FolderInfo code is rationalised to
this new base.
2002-08-23 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-command.c (camel_imap_command): domt
encode folder name.
* providers/imap/camel-imap-folder.c (do_copy): dont encode folder
name.
(do_append): dont encode folder name.
* providers/imap/camel-imap-store.c (get_folder_status): don
encode folder name in imap request.
(get_folder_online): here too for creating folder.
(rename_folder): Assume the incoming 'new name' is a utf8 path,
whereas the 'old name' is as from get folder info (raw).
(create_folder): Dont encode parent_name, assume its the raw
thing.
2002-08-22 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (get_folder_online): Select
based on unconverted name.
(imap_build_folder_info): New function to create a folderinfo
properly based on raw name.
(subscribe_folder): Use above helper.
(imap_folder_effectively_unsubscribed): Same here.
(imap_forget_folder): Same here.
(get_one_folder_offline): "
2002-08-21 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c
(parse_list_response_as_folder_info): Setup path properly, as
decoded path with / separator. Setup full_name as non-decoded raw
name. Keep url as decoded path but with server separator
... (ick).
(create_folder): Dont call build_path anymore, get_folders() does
it for us.
(subscribe_folder): Build the path ourself.
(imap_folder_effectively_unsubscribed): Same here.
(get_subscribed_folders): list using %S not %F, we're using the
raw server provided name directly.
(subscribe_folder): As above, for SUBSCRIBE.
(unsubscribe_folder): Same here.
(delete_folder): Same.
(rename_folder_info): Same here for source name.
(rename_folder): And here?
(get_folders_online): Amd here.
* providers/imap/camel-imap-utils.c:
(imap_parse_list_response): Dont decode the mailbox.
* camel-utf8.[ch]: some new utf8 & utf7 utilities.
* providers/imap/camel-imap-utils.c (imap_mailbox_encode):
(imap_mailbox_decode): use camel_utf7/8* functions instead.
: Add config.h and alloca.h headers.
Not Zed [Thu, 29 Aug 2002 12:04:34 +0000 (12:04 +0000)]
Change the case sensitive search of subject to expect case insensitive
2002-08-29 Not Zed <NotZed@Ximian.com>
* tests/folder/test3.c: Change the case sensitive search of
subject to expect case insensitive results, as the behaviour has
changed.
(main): Made the search content before sync nonfatal. its
something that needs to be fixed but not practical concern in
evolution.
* camel-block-file.c (block_file_validate_root): Only spit out the
invalid root warnings if the file isn't empty.
* camel-text-index.c (text_index_compress_nosync): Swap the path
as well when we compress.
* camel-mime-parser.c (folder_scan_content): Treat the end of file
as a boundary if we're scanning From lines, and drop the last \n.
(folder_scan_init_with_fd): Dont pre-read from the fd, and init eof.
(folder_scan_init_with_stream): Similar.
(folder_read): Handle eof, and set eof on 0 read.
(folder_seek): Dont pre-read after a seek, and reset eof flag.
(camel_mime_parser_init_with_fd): Fix doco, no pre-read occurs
anymore.
(camel_mime_parser_init_with_stream): Same.
* providers/local/camel-mbox-summary.c
(camel_mbox_summary_sync_mbox): Add a \n to end of content of each
message, not at start.
* providers/local/camel-mbox-folder.c (mbox_append_message):
Instead of appending "\nFrom " to a mailbox, start with "From ",
and append a \n after the message always. For better mutt/elm
compatability. Also, unlock after we've stat'd.
(mbox_append_message): Set the message's from_pos exactly as the
mbox size.
Michael Zucci [Thu, 29 Aug 2002 09:58:33 +0000 (09:58 +0000)]
updated readme
Jeffrey Stedfast [Thu, 29 Aug 2002 03:46:53 +0000 (03:46 +0000)]
Fixed `set' to hold the correct value when setting the flags.
2002-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (stream_setsockopt): Fixed `set' to
hold the correct value when setting the flags.
Jeffrey Stedfast [Thu, 29 Aug 2002 03:41:08 +0000 (03:41 +0000)]
simplified
Jeffrey Stedfast [Thu, 29 Aug 2002 03:40:07 +0000 (03:40 +0000)]
Fixed `set' to hold the correct value when setting the flags.
2002-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (stream_setsockopt): Fixed `set' to hold
the correct value when setting the flags.