Michael Zucci [Fri, 21 Sep 2001 00:55:36 +0000 (00:55 +0000)]
Setup unread count properly, and also setup the url properly.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Setup unread count properly, and
also setup the url properly.
(scan_dir): Dont include empty host part in url for folder.
(scan_dir): Lookup folder counts for any folders we currenty have
open.
0 [Thu, 20 Sep 2001 22:58:23 +0000 (22:58 +0000)]
Build the path on the folderinfo.
2001-09-20 <NotZed@Ximian.com>
* providers/local/camel-maildir-store.c (camel_folder_info_new):
Build the path on the folderinfo.
* providers/local/camel-spool-store.c (get_folder_info): If we
have this folder open, then set unread from the folder itself.
(get_folder_info): Change the INBOX path to not include the
leading /.
* providers/local/camel-spool-folder.c
(camel_spool_folder_construct): Fix path.
(camel_spool_folder_construct): Properly setup the url field when
we say we've got a new folder created.
* providers/imap/camel-imap-store.c (unsubscribe_folder): Build
path on folderinfo.
* camel-store.c (camel_folder_info_build_path): Prepend / to path.
* camel-vee-folder.c (camel_vee_folder_construct): Use macro for
unmatched folder name.
(camel_vee_folder_new): "
* camel-vee-store.c (vee_get_folder_info): Use macro for unmatched
folder name.
(vee_delete_folder): "
(vee_rename_folder): "
(vee_get_folder): Prepend / onto path.
(vee_delete_folder): Setup path in folderinfo.
(vee_get_folder_info): Fix path in folderinfo.
* camel-vee-folder.h (CAMEL_UNMATCHED_NAME): New define for
unmatched (internal) name.
Jeffrey Stedfast [Thu, 20 Sep 2001 21:28:10 +0000 (21:28 +0000)]
And finally here.
2001-09-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-spool-folder.c
(camel_spool_folder_construct): And finally here.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): And here.
* camel-vee-store.c (vee_get_folder): ANd here too.
(vee_get_folder_info): And here.
* providers/imap/camel-imap-store.c (create_folder): Use
camel_folder_info_build() and do better error checking.
(subscribe_folder): Set the path on the folder info.
* camel-store.c (camel_folder_info_build): Set the folder-info
path if it hasn't already been set by the caller.
(camel_folder_info_free): Free the path.
* camel-store.h: Added a path member to the FolderInfo type.
Dan Winship [Thu, 20 Sep 2001 17:06:51 +0000 (17:06 +0000)]
Nuke debug warning.
* camel-charset-map.c (camel_charset_to_iconv): Nuke debug warning.
Jeffrey Stedfast [Thu, 20 Sep 2001 00:37:10 +0000 (00:37 +0000)]
Updated exception strings to be more clear.
2001-09-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c: Updated exception strings to be more clear.
* camel-pgp-mime.c (pgp_mime_part_sign_restore_part): Stupid
mistake, fixes bug #9975.
Jeffrey Stedfast [Wed, 19 Sep 2001 22:09:36 +0000 (22:09 +0000)]
Oops, don't fail if `data' isn't a CamelService...cuz it's not supposed to
2001-09-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Oops, don't fail if
`data' isn't a CamelService...cuz it's not supposed to be! It's a
CamelTcpStreamSSL object...doh!
9 [Wed, 19 Sep 2001 08:28:36 +0000 (08:28 +0000)]
General cleanup of camel debug printfs.
2001-09-19 <NotZed@Ximian.com>
* General cleanup of camel debug printfs.
* camel-lock.c (camel_lock_fcntl): Changed to return 'success' if
the error indicates file locking isn't supported on this
filesystem. Still return a warning just incase (if its the first
time). Might fix a lot of reported bugs.
* providers/local/camel-spool-store.c (get_folder_info): Dont
include the empty // host part in the uri. This 'breaks' the
service lookup.
Jeffrey Stedfast [Tue, 18 Sep 2001 23:55:02 +0000 (23:55 +0000)]
s/List-Owner/List-Post
Jeffrey Stedfast [Tue, 18 Sep 2001 22:21:45 +0000 (22:21 +0000)]
Match mailing-list header List-Owner.
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c: Match mailing-list header List-Owner.
8 [Tue, 18 Sep 2001 21:43:00 +0000 (21:43 +0000)]
If filter inbox is set on the store, and we're opening inbox '', then
2001-09-18 <NotZed@Ximian.com>
* providers/local/camel-maildir-folder.c
(camel_maildir_folder_new): If filter inbox is set on the store,
and we're opening inbox '', then enable filtering on new messages.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): After loading the summary, check
it, and only abort if that fails. Also maintain the changes
count.
* providers/local/camel-local-summary.c
(camel_local_summary_load): Remove summary_check code from here.
(camel_local_summary_check): Sync index/summary here, if we were
successful.
* providers/local/camel-spool-folder.c
(camel_spool_folder_new): If we have filter-new-messages-on-inbox
set and we just opened inbox, turn on filtering on this folder.
(camel_spool_folder_construct): Keep track of changes for the
folder, so that filter-new-messages works right (?)
* providers/local/camel-spool-store.c (get_folder): Pass 'INBOX'
as the folder name, not the path.
* camel-folder-search.c (search_not): Modified patch from
<peterw@ximian.com> since the summary is messageinfo's, not
strings.
** Ok so the problem with the stuff below is that maildir/spool
'summary_load' throws away all events, including recents, joy eh?
* providers/local/camel-maildir-summary.c (maildir_summary_check):
Add new messages to the recent changeinfo.
* providers/local/camel-spool-summary.c: Mark 'new' message as
recent, for later processing if required (i.e. 'filter new
messages').
* camel-store.c (construct): new function, cascade up construct
method and check for 'filter' param, and set accordingly for any
one that might want it.
* providers/imap/camel-imap-store.c (construct): map the
param_filter_inbox flag to the store->flags as
CAMEL_STORE_FILTER_INBOX.
* camel-store.h (CAMEL_STORE_FILTER_INBOX): new flag to tell it to
filter inbox.
* providers/imap/camel-imap-folder.h: Removed do_filtering flag
from CamelImapFolder.
* providers/imap/camel-imap-folder.c (imap_update_summary): Remove
the 'recents' parameter, use the 'changes' parameter instead to
convey this info.
(camel_imap_folder_changed): Changed for update_summary api
change. Now always just emit the changed event if we have any
changes to report, filtering code removed, handled upstream.
(filter_proc):
(filter_free): Removed old filtering code.
(camel_imap_folder_new): Set the filter_recent flag on the folder
if we're the inbox and filtering of inbox is enabled.
* camel-folder.c (folder_changed): If we have 'recent' messages,
and are set to filter recents, then freeze the folder and launch a
thread to do the processing (or similar if threading not enabled).
(thaw): Make sure we emit the changed signal outside of owning the
lock and if things have changed. Also, no longer bother
downgrading folder_changed events to message_changed events.
* camel-folder.h (struct _CamelFolder): Added filter_recent flag
-> signifies all recent messages in folder should be filtered.
* camel-session.c: (camel_session_thread_msg_new,
camel_session_thread_msg_free, camel_session_thread_queue,
camel_session_thread_wait): code to handle async operations as
part of camel processing.
(camel_session_finalise): free thread_lock, destroy thread, active
hash, etc.
(camel_session_init): init thread, active hash, etc.
(camel_session_class_init): Init virtual functions.
(session_thread_msg_new, session_thread_msg_free,
session_thread_destroy, session_thread_received,
session_thread_queue, session_thread_wait): default implementation
of session threads stuff.
2001-09-17 <NotZed@Ximian.com>
* camel-folder.c (camel_folder_change_info_recent_uid): New
function to add a 'recent' uid to the change info.
(camel_folder_change_info_clear): Clear recent list.
(camel_folder_change_info_free): Free recent list.
(camel_folder_change_info_new): Setup recent list.
* camel-folder.h: Added a uid_recent item to the folder_changed
event data.
* providers/local/camel-maildir-store.c (scan_dir): Free new in
the right block.
* providers/local/camel-local-provider.c: Add local config entries
to filter on new messages in spool and maildir provider.
* camel-vee-folder.c (vee_folder_construct): Remove the assertion
which stops ? in names from being allowed.
Dan Winship [Tue, 18 Sep 2001 20:03:10 +0000 (20:03 +0000)]
Virtualize this.
* camel-data-wrapper.c (camel_data_wrapper_is_offline): Virtualize
this.
* camel-medium.c (is_offline): A medium is offline if its content
object is offline.
* camel-multipart.c (is_offline): A multipart is offline if any of
its subparts are offline.
Jeffrey Stedfast [Tue, 18 Sep 2001 19:41:03 +0000 (19:41 +0000)]
Added korean charset conversion.
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c: Added korean charset conversion.
Jeffrey Stedfast [Tue, 18 Sep 2001 03:08:57 +0000 (03:08 +0000)]
Don't process the ImapResponse data, we don't want to block forever on
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Don't process
the ImapResponse data, we don't want to block forever on data we
don't care about...
(create_folder): Use get_folders_online() instead of
get_folder_info_online().
Jeffrey Stedfast [Mon, 17 Sep 2001 23:06:01 +0000 (23:06 +0000)]
Don't process the ImapResponse data, we don't want to block forever on
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Don't process
the ImapResponse data, we don't want to block forever on data we
don't care about...
Jeffrey Stedfast [Mon, 17 Sep 2001 20:33:20 +0000 (20:33 +0000)]
Reverted previous changes.
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c: Reverted previous changes.
JP Rosevear [Mon, 17 Sep 2001 17:24:40 +0000 (17:24 +0000)]
Helpful install-exec-hook debugging output
2001-09-17 JP Rosevear <jpr@ximian.com>
* Makefile.am: Helpful install-exec-hook debugging output
Jeffrey Stedfast [Sun, 16 Sep 2001 20:31:06 +0000 (20:31 +0000)]
New function to get the URI of a folder. (get_uri): Default
2001-09-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c (camel_folder_get_uri): New function to get the
URI of a folder.
(get_uri): Default implementation.
4 [Sat, 15 Sep 2001 08:12:58 +0000 (08:12 +0000)]
New function, set the complete list of folders on a vfolder, all at once.
2001-09-14 <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_set_folders): New function,
set the complete list of folders on a vfolder, all at once.
(camel_vee_folder_set_expression): If we set the query to be the
same thing, dont do anything.
* camel-vee-store.c (camel_vee_store_init): Turn off vtrash for
this store.
* camel-store.c (camel_store_init): Enable vtrash by default via
flags.
(camel_store_get_trash): REturn NULL if the store doesn't support
vtrash.
(init_trash): Dont init if store doesn't support vtrash.
* camel-store.h: Add a new flags CAMEL_STORE_VTRASH -> store
supports vtrash.
2001-09-13 <NotZed@Ximian.com>
* camel-vee-store.c (vee_get_folder_info): Implement.
(build_info): Used to build a folder record from the folders
hashtable.
(vee_delete_folder): Implemented, remove folder from hashtable.
(vee_rename_folder): Implemented, remove old folder from
hashtable, add new one and rename its guts too.
* camel-store.c (camel_store_rename_folder): Do nothing if we're
not asked to actually change names. Also dont do the renamed
cache check till after we've called the subclass.
(camel_store_delete_folder): Call the subclass delete firs,t then
make sure the cache is right.
* camel-vee-folder.c (vee_folder_construct): Remove support for
name?query syntax to setup vfolder. Abort if such syntax is used.
(camel_vee_folder_new): Removed code that handles ? syntax, etc.
(vee_folder_build_folder): Handle unset expression, treat it as an
empty search.
(camel_vee_folder_set_expression): Oops, actually set the
expression.
* camel-vtrash-folder.c (camel_vtrash_folder_new): Dont use
name?query syntax to setup vfolder, but set the expression
directly. Also fixes a small memleak.
2001-09-12 <NotZed@Ximian.com>
* camel-store.c (camel_store_delete_folder): Fixed warnings with a cast.
(camel_store_rename_folder): "
Jeffrey Stedfast [Fri, 14 Sep 2001 23:03:43 +0000 (23:03 +0000)]
Use g_datalist_set_data_full so that the data will be free'd when we clear
2001-09-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-url.c (camel_url_set_param): Use g_datalist_set_data_full
so that the data will be free'd when we clear the list.
Dan Winship [Fri, 14 Sep 2001 19:50:47 +0000 (19:50 +0000)]
Don't claim failure when reading/writing the empty string.
* camel-file-utils.c (camel_file_util_encode_string,
camel_file_util_decode_string): Don't claim failure when
reading/writing the empty string.
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.