JP Rosevear [Fri, 14 Sep 2001 19:26:23 +0000 (19:26 +0000)]
use install hook instead of install rule to guarantee we run after
2001-09-14 JP Rosevear <jpr@ximian.com>
* Makefile.am: use install hook instead of install rule to
guarantee we run after installation
2001-09-14 JP Rosevear <jpr@ximian.com>
* configure.in: remove unneeded conditionals
Jeffrey Stedfast [Fri, 14 Sep 2001 01:44:18 +0000 (01:44 +0000)]
Don't reuse the exception if it has already been set.
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_folder): Don't
reuse the exception if it has already been set.
(camel_filter_driver_filter_message): Same here. Also use the new
return value from camel_filter_search_match().
* camel-filter-search.c (camel_filter_search_match): Return an
integer (matched, no-match, or error).
Jeffrey Stedfast [Thu, 13 Sep 2001 22:39:09 +0000 (22:39 +0000)]
Do error-checking based on function return values rather than exceptions
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-mbox-folder.c (mbox_append_message): Do
error-checking based on function return values rather than
exceptions as it's possible for them to be NULL.
(mbox_get_message): Same.
Jeffrey Stedfast [Thu, 13 Sep 2001 21:35:52 +0000 (21:35 +0000)]
Pass an exception to the cache. (imap_append_online): Same.
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_append_offline): Pass
an exception to the cache.
(imap_append_online): Same.
(imap_append_resyncing): Here too.
(imap_copy_offline): And here.
(handle_copyuid): Pass NULL as the exception here...
(parse_fetch_response): And finally here.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_insert):
(insert_setup):
(camel_imap_message_cache_insert_stream):
(camel_imap_message_cache_insert_wrapper):
(camel_imap_message_cache_copy): Take an exception argument and
set it on error.
Jeffrey Stedfast [Thu, 13 Sep 2001 18:36:53 +0000 (18:36 +0000)]
Convert the charset to the iconv-friendly name.
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Convert the charset
to the iconv-friendly name.
* camel-charset-map.c (camel_charset_to_iconv): Add code to
convert windows-[cp]#### charsets to their iconv-friendly format
of cp####.
Jeffrey Stedfast [Thu, 13 Sep 2001 16:16:39 +0000 (16:16 +0000)]
Return -1 on failure.
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Return -1 on
failure.
Larry Ewing [Wed, 12 Sep 2001 21:13:33 +0000 (21:13 +0000)]
free the source url in the nonfailure case.
2001-09-12 Larry Ewing <lewing@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_mbox): free
the source url in the nonfailure case.
2 [Wed, 12 Sep 2001 20:53:29 +0000 (20:53 +0000)]
Change the 'not' virtual method from an immediate e-sexp function to a
2001-09-12 <NotZed@Ximian.com>
* camel-folder-search.h: Change the 'not' virtual method from an
immediate e-sexp function to a non-immediate one, which is what it
should be.
* camel-folder-search.c (search_not): Implement a 'not' function
ourselves. If 'not' on a vector value, then not over all items
in the summary.
(builtings[]): Change the 'not' builtin to be a non-immediate
function.
Jeffrey Stedfast [Wed, 12 Sep 2001 18:49:46 +0000 (18:49 +0000)]
Unref the message info.
2001-09-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_mbox): Unref
the message info.
0 [Tue, 11 Sep 2001 01:07:42 +0000 (01:07 +0000)]
Pass in a hashtalbe used for finding visited nodes. (inode_hash):
2001-09-10 <NotZed@Ximian.com>
* providers/local/camel-maildir-store.c (get_folder_info): Pass in
a hashtalbe used for finding visited nodes.
(inode_hash):
(inode_equal):
(inode_free): Helper functions for visited node checks, hashes on
inode + device number.
(scan_dir): Dont re-visited directories we've already visited, use
inodes + device number.
Also, if the folder doesn't contain cur/tmp/new, mark it as
noselect, but continue to recurse folders, if asked.
0 [Tue, 11 Sep 2001 00:26:29 +0000 (00:26 +0000)]
Progress reporting while moving messages.
2001-09-10 <NotZed@Ximian.com>
* camel-folder.c (move_messages_to): Progress reporting while
moving messages.
* camel-store.c (camel_store_delete_folder): Make sure we remove
the folder from our vtrash, if we have it in our opened set, and
also remove it from our hashtable.
(camel_store_rename_folder): Remove the old folder name from the
folder cahce, if it is there.
Jeffrey Stedfast [Mon, 10 Sep 2001 19:48:53 +0000 (19:48 +0000)]
Get rid of the g_warning, we no longer really need that.
2001-09-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_to_iconv): Get rid of the
g_warning, we no longer really need that.
0 [Mon, 10 Sep 2001 15:48:46 +0000 (15:48 +0000)]
Forgot to return the newly allocated msg.
2001-09-10 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_msg_new): Forgot
to return the newly allocated msg.
Not Zed [Sat, 8 Sep 2001 00:45:24 +0000 (00:45 +0000)]
Likewise.
2001-09-08 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c (spool_summary_sync_full): Likewise.
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full): Fix the wording.
* camel-tcp-stream-raw.c (stream_read): Save errno around fcntl
call in cancellable read case. Also, loop while we get EINTR.
This might fix some weird reconnect behaviour with pop.
(stream_write): "
Jeffrey Stedfast [Sat, 8 Sep 2001 00:42:09 +0000 (00:42 +0000)]
#if 0 out the code that was hopefully going to fix bug #5325 because the
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): #if 0 out the code that
was hopefully going to fix bug #5325 because the functions I used
seem to have been deprecated. *sigh*.
Jeffrey Stedfast [Fri, 7 Sep 2001 22:54:54 +0000 (22:54 +0000)]
Disconnect from the service here otherwise the locks will be destroyed and
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (camel_remote_store_finalise): Disconnect
from the service here otherwise the locks will be destroyed and by
the time CamelService finalizes we'll crash or hang.
Jeffrey Stedfast [Fri, 7 Sep 2001 21:34:47 +0000 (21:34 +0000)]
Make sure to unref the mime filters when we finish with them.
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): Make sure to
unref the mime filters when we finish with them.
Ettore Perazzoli [Fri, 7 Sep 2001 20:26:47 +0000 (20:26 +0000)]
s/Synchronising/Synchronizing/. (mbox_summary_sync_quick): Likewise.
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
s/Synchronising/Synchronizing/.
(mbox_summary_sync_quick): Likewise.
(summary_rebuild): s/Summarising/Summarizing/.
Jeffrey Stedfast [Fri, 7 Sep 2001 19:43:34 +0000 (19:43 +0000)]
constification
Jeffrey Stedfast [Fri, 7 Sep 2001 19:39:34 +0000 (19:39 +0000)]
Reuse the original boundary instead of generating our own.
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Reuse the
original boundary instead of generating our own.
6 [Fri, 7 Sep 2001 01:19:47 +0000 (01:19 +0000)]
Thread function to perform filtering. (filter_free): Free the filter
2001-09-06 <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (filter_proc): Thread
function to perform filtering.
(filter_free): Free the filter object.
(camel_imap_folder_changed): If we have threads enabled, then
queue up a request to perform filtering. For bug #4422.
* providers/imap/camel-imap-store.c (camel_imap_msg_new): Create a
new 'imap msg'.
(camel_imap_msg_queue): Queue an 'imap msg'.
(async_received): Handle receiving of imap msg in async thread.
(async_destroy): Handle destroying of imap msg.
(camel_imap_store_finalize): Destroy thread when done.
(camel_imap_store_init): Setup thread.
* providers/imap/camel-imap-store.h: Added an ethread to the
store, for async processing.
Jeffrey Stedfast [Thu, 6 Sep 2001 23:57:53 +0000 (23:57 +0000)]
Use camel_stream_buffer_read_line() instead of duplicationing the
2001-09-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_recv_line): Use
camel_stream_buffer_read_line() instead of duplicationing the
functionality. Also, the previous way was broken anyway. What if a
line was the same length as our buffer? Then we'd go and read a
second line and a third and so on until they weren't the same
length, leaving \r's in the middle of the buffer.
Dan Winship [Thu, 6 Sep 2001 19:09:57 +0000 (19:09 +0000)]
Fix this to always set an exception if it returns POP3_FAIL, as
* providers/pop3/camel-pop3-store.c (pop3_get_response): Fix this
to always set an exception if it returns POP3_FAIL, as documented.
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Revert.
Jeffrey Stedfast [Thu, 6 Sep 2001 18:33:20 +0000 (18:33 +0000)]
Set an exception on POP3_FAIL as well.
2001-09-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Set an exception on POP3_FAIL as well.
Dan Winship [Thu, 6 Sep 2001 17:03:38 +0000 (17:03 +0000)]
#ifdef out the "delete after N days" option in pop3_conf_entries, since it
* providers/pop3/camel-pop3-provider.c: #ifdef out the "delete
after N days" option in pop3_conf_entries, since it won't be done
for 1.0.
Jeffrey Stedfast [Tue, 4 Sep 2001 20:36:48 +0000 (20:36 +0000)]
Too late to sync the folders here... if this is gonna happen at all it
2001-09-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_disconnect): Too late to sync the
folders here... if this is gonna happen at all it should be done
in the provider.
Jeffrey Stedfast [Tue, 4 Sep 2001 19:51:45 +0000 (19:51 +0000)]
Do a clean disconnect.
2001-09-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (camel_service_finalize): Do a clean disconnect.
Jeffrey Stedfast [Thu, 30 Aug 2001 23:03:12 +0000 (23:03 +0000)]
Return the default folder (ie. INBOX) rather than saying we don't support
2001-08-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-spool-store.c (get_inbox): Return the
default folder (ie. INBOX) rather than saying we don't support an
inbox.
Jeffrey Stedfast [Thu, 30 Aug 2001 17:20:39 +0000 (17:20 +0000)]
#include pk11func.h. (ssl_bad_cert): Use CERT_GetDefaultCertDB.
2001-08-30 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c: #include pk11func.h.
(ssl_bad_cert): Use CERT_GetDefaultCertDB.
Jeffrey Stedfast [Wed, 29 Aug 2001 21:29:52 +0000 (21:29 +0000)]
fix smime the same way...
Jeffrey Stedfast [Wed, 29 Aug 2001 21:23:03 +0000 (21:23 +0000)]
Special-case message/rfc822 mime parts - don't set an encoding on these,
2001-08-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Special-case
message/rfc822 mime parts - don't set an encoding on these,
instead traverse into their subparts and set the encodings for
those.
(pgp_mime_part_sign_restore_part): Reverse any operations done to
message/rfc822 parts in the above prepare_part() function and also
take a pointer to a GSList of encodings instead of just a GSList
so we can properly keep track of which encoding we are on.
Not Zed [Wed, 29 Aug 2001 14:05:55 +0000 (14:05 +0000)]
Add progress reporting to deleting messages. Dont change the calculation
2001-08-29 Not Zed <NotZed@Ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_sync): Add progress
reporting to deleting messages. Dont change the calculation to a
bloody float. Bug #6189.
Jeffrey Stedfast [Wed, 29 Aug 2001 03:16:57 +0000 (03:16 +0000)]
Initialize buf and diag_buf to NULL, hopefully this fixes the crash if the
2001-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Initialize buf
and diag_buf to NULL, hopefully this fixes the crash if the
select() times out.
(pgp_encrypt): Argh. What was I thinking? Don't use "-r recipient"
as an argument, instead use "-r" and "recipient" as 2 separate
arguments to pgp. This might fix the "gpg only encrypts to my
private key" bug?
Jeffrey Stedfast [Wed, 29 Aug 2001 02:25:59 +0000 (02:25 +0000)]
Initialize buf and diag_buf to NULL, hopefully this fixes the crash if the
2001-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Initialize buf
and diag_buf to NULL, hopefully this fixes the crash if the
select() times out.
Peter Williams [Tue, 28 Aug 2001 22:47:37 +0000 (22:47 +0000)]
Whoops. Double-free and FMR = bad.
2001-08-28 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): Whoops.
Double-free and FMR = bad.
Peter Williams [Tue, 28 Aug 2001 21:54:12 +0000 (21:54 +0000)]
Don't reveal the user's IMAP password if their server supports
2001-08-28 Peter Williams <peterw@ximian.com>
* camel-remote-store.c (remote_send_string): Don't reveal the
user's IMAP password if their server supports LITERALPLUS. Also
add some more dashes to make it line up nicely :-)
Jeffrey Stedfast [Tue, 28 Aug 2001 20:41:01 +0000 (20:41 +0000)]
If the user accepts the certificate, add it to the database as a trusted
2001-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): If the user accepts the
certificate, add it to the database as a trusted CA.
Peter Williams [Tue, 28 Aug 2001 18:28:14 +0000 (18:28 +0000)]
Make the locking more fine-grained on destruction; specifically, don't
2001-08-28 Peter Williams <peterw@ximian.com>
* camel-object.c (camel_object_unref): Make the locking more
fine-grained on destruction; specifically, don't hold the
type lock while calling the finalize functions.
Jeffrey Stedfast [Mon, 27 Aug 2001 19:26:46 +0000 (19:26 +0000)]
Changed the description/names of some of the local providers to try and
2001-08-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c: Changed the
description/names of some of the local providers to try and
clarify the meanings.
* providers/pop3/camel-pop3-provider.c: Simplify the POP
description - we want short but sweet.
* providers/imap/camel-imap-provider.c: s/IMAPv4/IMAP
Jeffrey Stedfast [Mon, 27 Aug 2001 18:28:06 +0000 (18:28 +0000)]
s/IMAPv4/IMAP
2001-08-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-provider.c: s/IMAPv4/IMAP
Not Zed [Mon, 27 Aug 2001 06:33:41 +0000 (06:33 +0000)]
re-read the iconv man page, and treat the return value properly. It
2001-08-27 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (convert_buffer): re-read the iconv man
page, and treat the return value properly. It returns the number
of non-reversible conversions performed, not the number of output
characters, sigh.
(check_html_charset): Changed to just take a buffer of data, and
not the mime parser.
(simple_data_wrapper_construct_from_parser): Since we dont need
the charset till we have all the data, search for the charset
after we've read the data, if we have html data with no charset in
the header.
(simple_data_wrapper_construct_from_parser): Remove the
seekable_source stuff.
* Re-apply patches from before.
Not Zed [Sat, 25 Aug 2001 01:30:52 +0000 (01:30 +0000)]
["Summarising" and "Synchronising" are spelt with a "s" in ENGLISH]
2001-08-25 Not Zed <NotZed@Ximian.com>
["Summarising" and "Synchronising" are spelt with a "s" in
ENGLISH]
* providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
s/Synchronizing/Synchronising/.
* providers/local/camel-mbox-summary.c (summary_rebuild):
s/Summarizing/Summarising/
Jeffrey Stedfast [Sat, 25 Aug 2001 00:07:02 +0000 (00:07 +0000)]
Use fseek instead of fseeko since we want to be portable and use ftell
2001-08-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-disco-diary.c (camel_disco_diary_replay): Use fseek
instead of fseeko since we want to be portable and use ftell
rather than ftello for the same reason.
(camel_disco_diary_empty): Same here.
Peter Williams [Fri, 24 Aug 2001 22:38:22 +0000 (22:38 +0000)]
Revert Not Zed's previous commits as they apparently can cause serious
2001-08-24 Peter Williams <peterw@ximian.com>
* Revert Not Zed's previous commits as they apparently can
cause serious data loss for POP3 users.
Ettore Perazzoli [Fri, 24 Aug 2001 18:38:25 +0000 (18:38 +0000)]
s/Synchronising/Synchronizing/.
* providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
s/Synchronising/Synchronizing/.
* providers/local/camel-mbox-summary.c (summary_rebuild):
s/Summarising/Summarizing/
Not Zed [Fri, 24 Aug 2001 03:59:36 +0000 (03:59 +0000)]
Limit the maximum output buffer size. iconv bugs? returns E2BIG forever on
2001-08-24 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (convert_buffer): Limit the maximum
output buffer size. iconv bugs? returns E2BIG forever on some
(valid) data?
Not Zed [Fri, 24 Aug 2001 01:48:23 +0000 (01:48 +0000)]
Likewise.
2001-08-24 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c (summary_rebuild): Likewise.
* providers/local/camel-mbox-summary.c (summary_rebuild):
Summarising is spelt with an s.
2001-08-23 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (write_to_stream): If we have rawtext, then
dont do any charset conversion, only encoding/crlf conversion.
* camel-data-wrapper.h (struct _CamelDataWrapper): Added 'rawtext'
member, says the character encoding is raw, not utf8.
* providers/local/camel-spool-summary.c
(spool_summary_sync_quick): Synchronising is spelt with an s, not a z.
(spool_summary_sync_full): "
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
No, synchronising is spelt with an s.
(mbox_summary_sync_quick): "
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Remove the
warnings which aren't going anywhere fast.
(convert_buffer): Function to convert a bytearray of textual
content from one charset to another. If the charset doesn't exist
or fails, then do no conversion.
(simple_data_wrapper_construct_from_parser): First, read in data,
then try and convert it using the specified charset if supplied.
If that fails, then dont do any conversion, and leave as raw.
Also, if we have any x-* charsets, then dont do any processing.
Peter Williams [Thu, 23 Aug 2001 20:47:10 +0000 (20:47 +0000)]
Add a missing \n to the end of a printf.
2001-08-23 Peter Williams <peterw@ximian.com>
* providers/local/camel-mbox-summary.c (summary_rebuild): Add a
missing \n to the end of a printf.
* providers/local/camel-spool-summary.c (summary_rebuild): Same.
Jeffrey Stedfast [Wed, 22 Aug 2001 17:59:20 +0000 (17:59 +0000)]
oops, don't need that extra statement
Jeffrey Stedfast [Wed, 22 Aug 2001 17:58:44 +0000 (17:58 +0000)]
Oops. Fixed a mis-use of GPtrArray. If we set_size, then using
2001-08-22 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_generate_uids):
Oops. Fixed a mis-use of GPtrArray. If we set_size, then using
g_ptr_array_add will assume `size' elements have already been
initialized and will start appending on to the end.
Jeffrey Stedfast [Tue, 21 Aug 2001 22:45:41 +0000 (22:45 +0000)]
Turn on --batch and reenable gpg keyserver lookups. (pgp_decrypt): Disable
2001-08-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Turn on --batch and reenable
gpg keyserver lookups.
(pgp_decrypt): Disable keyserver lookups if we are disconnected.
Dan Winship [Tue, 21 Aug 2001 14:27:48 +0000 (14:27 +0000)]
Fix the duplicate message check so it doesn't mess up threading when a
* camel-folder-thread.c
(camel_folder_thread_messages_new_summary): Fix the duplicate
message check so it doesn't mess up threading when a reply appears
in the folder before the message it's a reply to. Fixes bug #3357.
(camel_folder_thread_messages_new): Likewise, although I don't
think this function is used any more.
JP Rosevear [Mon, 20 Aug 2001 13:22:23 +0000 (13:22 +0000)]
build a static camel for the addressbook conduit
2001-08-20 JP Rosevear <jpr@ximian.com>
* Makefile.am: build a static camel for the addressbook conduit
Ettore Perazzoli [Mon, 20 Aug 2001 08:27:26 +0000 (08:27 +0000)]
s/Synchronising/Synchronizing/. (mbox_summary_sync_quick): Likewise.
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
s/Synchronising/Synchronizing/.
(mbox_summary_sync_quick): Likewise.
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
Likewise.
(spool_summary_sync_quick): Likewise.
Jeffrey Stedfast [Mon, 20 Aug 2001 07:34:55 +0000 (07:34 +0000)]
oops, commit the ChangeLog
Jeffrey Stedfast [Mon, 20 Aug 2001 07:30:25 +0000 (07:30 +0000)]
Get the entire directory structure for the folder we just created, meaning
2001-08-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): Get the
entire directory structure for the folder we just created, meaning
if we created a folder named "test.mailbox" where test didn't
previously exist, get the listing for "test" and "test.mailbox".
* providers/imap/camel-imap-utils.c (imap_parse_folder_name): New function.
Chris Toshok [Sun, 19 Aug 2001 21:28:30 +0000 (21:28 +0000)]
#include <sys/types.h> for mode_t on freebsd.
2001-08-19 Chris Toshok <toshok@ximian.com>
* camel-store.h: #include <sys/types.h> for mode_t on freebsd.
Jeffrey Stedfast [Sun, 19 Aug 2001 19:25:01 +0000 (19:25 +0000)]
Make sure the generated UID is non-NULL before appending it to the array
2001-08-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_generate_uids): Make
sure the generated UID is non-NULL before appending it to the
array of UIDs. How would this even happen? I have no clue...
Jeffrey Stedfast [Sun, 19 Aug 2001 17:32:40 +0000 (17:32 +0000)]
fixed a compile error
Jeffrey Stedfast [Fri, 17 Aug 2001 19:02:48 +0000 (19:02 +0000)]
Start scanning new messages at maxuid + 1 rather than uidval + 1? Maybe
2001-08-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Start
scanning new messages at maxuid + 1 rather than uidval + 1? Maybe
I'm missing the logic, but anyways...this might fix bug #5348.
Jeffrey Stedfast [Thu, 16 Aug 2001 23:31:34 +0000 (23:31 +0000)]
If we are online and message flags have changed in the current folder,
2001-08-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): If we are
online and message flags have changed in the current folder, sync
the flags else do a NOOP. This fixes bug #4666. Also lock around
the NOOP command.
* providers/imap/camel-imap-folder.c (imap_sync_online): Don't
ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like
this (and maybe others too?) so what we'll do instead is to send
"STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear
all the flags (since this is in essence what we want to do
anyway).
Jeffrey Stedfast [Thu, 16 Aug 2001 22:17:30 +0000 (22:17 +0000)]
Don't ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like
2001-08-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_sync_online): Don't
ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like
this (and maybe others too?) so what we'll do instead is to send
"STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear
all the flags (since this is in essence what we want to do
anyway).
Peter Williams [Thu, 16 Aug 2001 17:38:56 +0000 (17:38 +0000)]
Fix this again. Sigh. Problem of namespace = "" may not yet be completely
2001-08-16 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (imap_connect_online): Fix this
again. Sigh. Problem of namespace = "" may not yet be completely
solved.
Peter Williams [Wed, 15 Aug 2001 20:05:26 +0000 (20:05 +0000)]
New function. Try to approximate the SSL error into errno.
2001-08-15 Peter Williams <peterw@ximian.com>
* camel-tcp-stream-openssl.c (ssl_error_to_errno): New function. Try
to approximate the SSL error into errno.
(errlib_error_to_errno): New function, try to approximate OpenSSl's
error library's error (ERR_*) into errno.
(stream_read): Try to set errno using ssl_error_to_errno.
(stream_write): Same.
(open_ssl_connection): Same.
Peter Williams [Wed, 15 Aug 2001 14:05:49 +0000 (14:05 +0000)]
Oh crap, huge killer typo.
2001-08-15 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (imap_connect_online): Oh crap,
huge killer typo.
Peter Williams [Wed, 15 Aug 2001 02:48:00 +0000 (02:48 +0000)]
Canonicalize store->namespace to end in store->dir_sep, once both values
2001-08-14 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (imap_connect_online):
Canonicalize store->namespace to end in store->dir_sep, once both
values are known. The %F-related code makes this
assumption. Probably fixes a bug reported on the mailing list.
Jeffrey Stedfast [Tue, 14 Aug 2001 19:42:40 +0000 (19:42 +0000)]
After talking to NotZed, it turns out I was wrong after all. (store_sync):
2001-08-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): After talking to NotZed,
it turns out I was wrong after all.
(store_sync): Create a copy of the folder-cache that owns a ref on
each of the folders so that if one of the folders get's finalized
inside store_sync(), we don't run into any locking issues. This is
mostly meant to solve a problem in IMAP (#6089).
Jeffrey Stedfast [Mon, 13 Aug 2001 22:44:57 +0000 (22:44 +0000)]
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.
Peter Williams [Mon, 13 Aug 2001 22:31:20 +0000 (22:31 +0000)]
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.
Jeffrey Stedfast [Mon, 13 Aug 2001 22:22:38 +0000 (22:22 +0000)]
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.
Jeffrey Stedfast [Mon, 13 Aug 2001 22:17:00 +0000 (22:17 +0000)]
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?
Ettore Perazzoli [Sat, 11 Aug 2001 20:51:04 +0000 (20:51 +0000)]
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.
Jeffrey Stedfast [Fri, 10 Aug 2001 22:07:46 +0000 (22:07 +0000)]
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.
Jeffrey Stedfast [Fri, 10 Aug 2001 18:35:46 +0000 (18:35 +0000)]
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.
Jeffrey Stedfast [Fri, 10 Aug 2001 18:33:49 +0000 (18:33 +0000)]
tedfast <fejj@ximian.com>
tedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Don't
g_strdup() the uid into the trigger_event call.
Jeffrey Stedfast [Fri, 10 Aug 2001 18:33:22 +0000 (18:33 +0000)]
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.
Jeffrey Stedfast [Fri, 10 Aug 2001 18:16:47 +0000 (18:16 +0000)]
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.
Jeffrey Stedfast [Fri, 10 Aug 2001 18:11:03 +0000 (18:11 +0000)]
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.
Jeffrey Stedfast [Fri, 10 Aug 2001 04:06:53 +0000 (04:06 +0000)]
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.
Jeffrey Stedfast [Thu, 9 Aug 2001 22:48:12 +0000 (22:48 +0000)]
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.
Jon Trowbridge [Thu, 9 Aug 2001 02:27:40 +0000 (02:27 +0000)]
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)
jacob berkman [Wed, 8 Aug 2001 14:34:33 +0000 (14:34 +0000)]
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)
Not Zed [Wed, 8 Aug 2001 09:37:40 +0000 (09:37 +0000)]
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 (?).
Jeffrey Stedfast [Tue, 7 Aug 2001 19:55:34 +0000 (19:55 +0000)]
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.
Jeffrey Stedfast [Tue, 7 Aug 2001 02:39:28 +0000 (02:39 +0000)]
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.
Jeffrey Stedfast [Tue, 7 Aug 2001 02:03:22 +0000 (02:03 +0000)]
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.
Jeffrey Stedfast [Mon, 6 Aug 2001 22:17:18 +0000 (22:17 +0000)]
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.
Dan Winship [Mon, 6 Aug 2001 21:55:09 +0000 (21:55 +0000)]
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.
Dan Winship [Mon, 6 Aug 2001 21:19:13 +0000 (21:19 +0000)]
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.
Peter Williams [Mon, 6 Aug 2001 19:00:32 +0000 (19:00 +0000)]
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.
Jeffrey Stedfast [Mon, 6 Aug 2001 17:28:28 +0000 (17:28 +0000)]
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.
Jeffrey Stedfast [Fri, 3 Aug 2001 20:36:24 +0000 (20:36 +0000)]
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?).
Jeffrey Stedfast [Fri, 3 Aug 2001 18:16:59 +0000 (18:16 +0000)]
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.
Jeffrey Stedfast [Fri, 3 Aug 2001 18:02:12 +0000 (18:02 +0000)]
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.
Not Zed [Fri, 3 Aug 2001 15:33:57 +0000 (15:33 +0000)]
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].
Not Zed [Wed, 1 Aug 2001 06:46:39 +0000 (06:46 +0000)]
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.
Not Zed [Wed, 1 Aug 2001 04:57:01 +0000 (04:57 +0000)]
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.
Jeffrey Stedfast [Fri, 27 Jul 2001 16:41:55 +0000 (16:41 +0000)]
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.
Jeffrey Stedfast [Thu, 26 Jul 2001 21:56:12 +0000 (21:56 +0000)]
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.
Dan Winship [Thu, 26 Jul 2001 19:07:40 +0000 (19:07 +0000)]
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).