Jeffrey Stedfast [Wed, 26 Jun 2002 19:20:32 +0000 (19:20 +0000)]
Removed (never did anything anyway).
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_clearsign): Removed (never did anything
anyway).
* camel-pgp-context.c (pgp_clearsign): Removed.
* camel-cipher-context.c (camel_cipher_clearsign): Removed unused
method.
Jeffrey Stedfast [Wed, 26 Jun 2002 19:14:34 +0000 (19:14 +0000)]
New class implementing the multipart/encrypted content type. Contains
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-encrypted.[c,h]: New class implementing the
multipart/encrypted content type. Contains methods for encrypting
and decrypting a multipart/encrypted MIME object.
Jeffrey Stedfast [Wed, 26 Jun 2002 18:49:05 +0000 (18:49 +0000)]
Check for NODATA too.
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_parse_status): Check for NODATA
too.
Jeffrey Stedfast [Wed, 26 Jun 2002 02:49:39 +0000 (02:49 +0000)]
Remove the #include for camel-spoold-store.h
2002-06-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c: Remove the #include for
camel-spoold-store.h
Not Zed [Wed, 26 Jun 2002 01:07:05 +0000 (01:07 +0000)]
Include <sys/time.h> for struct timeval.
2002-06-26 Not Zed <NotZed@Ximian.com>
* camel-gpg-context.c: Include <sys/time.h> for struct timeval.
* providers/local/camel-local-provider.c
(camel_provider_module_init): Removed spoold provider. The spool
provider does it now.
2002-06-25 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-folder.c (camel_spool_folder_new):
Support a new xstatus option - folders update/honour the
Status/X-Status headers in addition to X-Evolution.
* providers/local/camel-local-summary.c
(camel_local_summary_write_headers): If supplied with an
additional status or xstatus arg, write a Status header and/or
X-Status. Also fix the case of properly terminating the headers
if an xev line isn't supplied.
* providers/local/Makefile.am (libcamellocalinclude_HEADERS,SOURCES):
Removed spoold-store.[ch].
* providers/local/camel-local-provider.c
(camel_provider_module_init): For the spoold type, just use the
spool store instead.
* providers/local/camel-spool-store.h: Added a type field, so the
1 store can implement different types without having to subclass.
* providers/local/camel-spool-store.c
(camel_spool_store_get_toplevel_dir): Removed, inherits from local
store now.
(construct): If we're pointing to a file, treat it as mbox mode,
otherwise treat it as 'elm' mode.
(get_folder): Only test for INBOX in mbox mode.
(get_folder_info_elm):
(get_folder_info_mbox): Two alternatives for getting folder info,
depending on the type of folder we're looking at.
(get_folder_info_mbox): Make the url include the protocol.
(scan_dir): "
* providers/local/camel-spoold-store.c
(camel_spoold_store_get_toplevel_dir): Removed, inherits from
local store now.
* camel-folder.c (get_message_user_tag): Dont use a
g_return_if_fail for info==NULL. This is not an error.
(set_message_user_tag): And same here.
(set_message_user_flag): Sigh, and here.
(get_message_user_flag): And here.
(set_message_flags): and here ...
(get_message_flags): Dum de dum, de done at last.
* providers/local/camel-mbox-folder.c (mbox_get_message): Check
for new messages whenever we retrieve one. In the common
no-update case, this is a single stat.
(mbox_get_message): If we need to rescan, then force a full rescan
to make sure it does the right thing.
(mbox_get_message): Cleanup the exception handling a bit, if we do
get an error, propagate any folder changes anyway as well.
(mbox_set_message_user_flag): Argh more of these stupid g_returns
taht shouldn't be.
(mbox_set_message_user_tag): Here too.
(mbox_set_message_flags): If the read flag is being changed, mark
it as an xevchange (i.e. Status line change).
* providers/local/camel-mbox-summary.c (summary_rebuild): Merged
into summary_update.
(summary_update): Changed to allow it to update existing lists of
messages without clearing out the summary.
(mbox_summary_check): Dont clear the summary, just re-scan.
(message_info_new): Attempt to support the 'Status: RO' elm/pine
thing.
(camel_mbox_summary_encode_status):
(camel_mbox_summary_decode_status): Util functions for
creating/parsing the Status line.
(camel_mbox_summary_sync_mbox): Write out the status line if we're
going to try support it.
(camel_mbox_summary_xstatus): Implement option to control
read/write of (x-)status.
(message_info_new): Do x-status stuff based on run-time option.
(camel_mbox_summary_sync_mbox): "
(mbox_summary_add): If x-status enabled, then always add
status/x-status headers to message.
* camel-folder-summary.c (summary_assign_uid): If the messageinfo
is already in the summary, AND is the same messageinfo, dont do
anything, return a value to indicate this.
(camel_folder_summary_add): Do nothing if this info already in the
summary, so we can perform updates.
2002-06-24 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-summary.c
(camel_local_summary_check_force): New method to force the next
summary check to be a full check, set if a mismatch occurs.
* camel-folder-summary.c (camel_folder_summary_load): If we have
no summary path set, dont do any i/o, rather than abort.
(camel_folder_summary_save): "
(camel_folder_summary_header_load): "
* providers/local/camel-spool-store.h: Inherit from camel mbox
store, even if we override almost everything.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): If the base path points to a file,
use that as the folder path as well.
* providers/local/camel-spool-folder.h: Inherit from
camel-mbox-folder.
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
Use camel_mbox_summary_sync_mbox to do most of the work.
* providers/local/camel-spool-summary.[ch]: Make spool-summary
inherit from mbox summary rather than foldersummary.
* providers/local/camel-mbox-summary.c (mbox_summary_sync): Make
sync_full/quick virtual methods.
(camel_mbox_summary_sync_mbox): The full sync method put into a
simple function that sync's from fd to fd.
(mbox_summary_sync_full): Use summary_sync_mbox to do the real
work.
(mbox_summary_check): Create removed events if the folder gets
cleared. Also, dont clear the summary before a rebuild, try to
merge.
Jeffrey Stedfast [Wed, 26 Jun 2002 00:48:29 +0000 (00:48 +0000)]
#include <sys/time.h>
2002-06-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c: #include <sys/time.h>
Jeffrey Stedfast [Tue, 25 Jun 2002 06:21:17 +0000 (06:21 +0000)]
Return the option as --digest-algo=<micalg> (gpg_ctx_parse_status): Decode
2002-06-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_hash_str): Return the option as
--digest-algo=<micalg>
(gpg_ctx_parse_status): Decode more status information and keep
track of trust and such.
(gpg_ctx_op_complete): Make sure we aren't waiting for gpg to
write data to stdout (such as encrypted/decrypted data or a
signature).
(gpg_encrypt): Remove the fejj@stampede.org hard-coded value
(which had only meant to be for testing).
Jeffrey Stedfast [Tue, 25 Jun 2002 01:19:32 +0000 (01:19 +0000)]
implemented camel_gpg_context_set_always_trust()
Jeffrey Stedfast [Tue, 25 Jun 2002 00:54:20 +0000 (00:54 +0000)]
Use --command-fd rather than --passphrase-fd since what we really want is
2002-06-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_get_argv): Use --command-fd rather
than --passphrase-fd since what we really want is an interactive
mode (besides, --passphrase-fd requires a passphrase to be sent
before --status-fd will send a NEED_PASSPHRASE status message).
(gpg_ctx_parse_status): When we encounter a BAD_PASSPHRASE, tell
the session to uncache it.
Jeffrey Stedfast [Mon, 24 Jun 2002 22:59:59 +0000 (22:59 +0000)]
Use --command-fd rather than --passphrase-fd since what we really want is
2002-06-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_get_argv): Use --command-fd rather
than --passphrase-fd since what we really want is an interactive
mode (besides, --passphrase-fd requires a passphrase to be sent
before --status-fd will send a NEED_PASSPHRASE status message).
Jeffrey Stedfast [Mon, 24 Jun 2002 02:50:53 +0000 (02:50 +0000)]
Check for ERRSIG also. (gpg_ctx_op_step): Don't try writing a passphrase
2002-06-23 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_parse_status): Check for ERRSIG
also.
(gpg_ctx_op_step): Don't try writing a passphrase unless our
operation requires it.
Jeffrey Stedfast [Sat, 22 Jun 2002 23:07:55 +0000 (23:07 +0000)]
Return -1 on error. (gpg_decrypt): Same. (gpg_sign): Again here.
2002-06-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_encrypt): Return -1 on error.
(gpg_decrypt): Same.
(gpg_sign): Again here.
(gpg_ctx_op_step): Only attenmpt to read from the status-fd if we
are not already 'complete'.
* camel-pgp-mime.c (camel_pgp_mime_part_encrypt): Flush the
filtered stream.
Jeffrey Stedfast [Sat, 22 Jun 2002 08:07:08 +0000 (08:07 +0000)]
more fixes, now verifying works and signing almost works as well, except gpg is running out of memory for me? not sure if that is a gpg or evo bug
Jeffrey Stedfast [Sat, 22 Jun 2002 04:58:55 +0000 (04:58 +0000)]
yay, I get to hold more state because Unix pipes suck so badly. This is
getting very close to working now... I think that as soon as I debug this
segfault, it will work. Probably dereferencing a NULL pointer or something
stupid like that.
Jeffrey Stedfast [Fri, 21 Jun 2002 20:47:20 +0000 (20:47 +0000)]
added camel_gpg_context_new which I had forgotten before
Jeffrey Stedfast [Fri, 21 Jun 2002 19:11:57 +0000 (19:11 +0000)]
New source files implementing the CamelCipherContext class for gnupg.
2002-06-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.[c,h]: New source files implementing the
CamelCipherContext class for gnupg.
* camel-pgp-context.c (camel_pgp_context_new): Return a
CamelCipherContext.
* camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Take a
CamelCipherContext argument rather than a CamelPgpContext since we
now have a CamelGpgContext also.
(camel_pgp_mime_part_encrypt): Same.
(camel_pgp_mime_part_verify): Same.
(camel_pgp_mime_part_sign): Same.
Jeffrey Stedfast [Thu, 20 Jun 2002 21:32:17 +0000 (21:32 +0000)]
Updated to support searching as well as making it use CamelDigestSummary.
2002-06-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-folder.c: Updated to support searching as well as
making it use CamelDigestSummary.
* camel-digest-summary.[c,h]: New class to handle the summary for
CamelDigestFolder.
* camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should
map to ETIMEDOUT and not EAGAIN.
(stream_connect): Reset the PR_Poll() timeout back to 2 minutes as
this wasn't the problem afterall.
Jeffrey Stedfast [Thu, 20 Jun 2002 06:34:14 +0000 (06:34 +0000)]
PR_IO_TIMEOUT_ERROR should map to ETIMEDOUT and not EAGAIN.
2002-06-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should
map to ETIMEDOUT and not EAGAIN.
(stream_connect): Reset the PR_Poll() timeout back to 2 minutes as
this wasn't the problem afterall.
Not Zed [Thu, 20 Jun 2002 05:50:38 +0000 (05:50 +0000)]
Drop back to initial state if we came from eof state.
2002-06-19 Not Zed <NotZed@Ximian.com>
* camel-mime-parser.c (folder_scan_drop_step): Drop back to
initial state if we came from eof state.
Jeffrey Stedfast [Wed, 19 Jun 2002 18:13:24 +0000 (18:13 +0000)]
Set the poll timeout to be PR_INTERVAL_MIN, this one shouldn't need to be
2002-06-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Set the poll timeout to
be PR_INTERVAL_MIN, this one shouldn't need to be 2 minutes (plus
it blocks my connection at home for far too long).
Jeffrey Stedfast [Wed, 19 Jun 2002 17:57:04 +0000 (17:57 +0000)]
Make sure we hold the command_lock before accessing current_folder.
2002-06-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_refresh_info): Make
sure we hold the command_lock before accessing current_folder.
(imap_append_online): Same.
(imap_transfer_online): Same.
* providers/imap/camel-imap-store.c (delete_folder): We need to
hold the command_lock before we can set the current_folder to
NULL.
(rename_folder): Same.
(get_folder_info_online): We need to make sure we hold the
command_lock in order to use current_folder.
(everywhere): Same.
Jeffrey Stedfast [Wed, 19 Jun 2002 05:35:59 +0000 (05:35 +0000)]
Don't bother trying to authenticate (and thus don't throw up an error
2002-06-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_connect): Don't
bother trying to authenticate (and thus don't throw up an error
dialog) unless the server is an ESMTP server and supports
authentication.
* camel-sasl-plain.c: Change the user-friendly name to PLAIN, this
is what it should be. Not "Password" because user's immediately
think that they need authentication when they see "Password" even
if they don't need it at all.
Jeffrey Stedfast [Mon, 17 Jun 2002 21:44:06 +0000 (21:44 +0000)]
Update the freeze state of the new source folder.
2002-06-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-vee-folder.c (camel_vee_folder_add_folder): Update the
freeze state of the new source folder.
(camel_vee_folder_remove_folder): Undo any freeze state that we
have imposed on this source folder.
Jeffrey Stedfast [Mon, 17 Jun 2002 18:32:05 +0000 (18:32 +0000)]
remove the camel-remote-store private struct
Michael Zucci [Mon, 17 Jun 2002 01:49:02 +0000 (01:49 +0000)]
file camel-unmatched-folder.c was initially added on branch notzed-play-2.
Michael Zucci [Mon, 17 Jun 2002 01:49:02 +0000 (01:49 +0000)]
file camel-unmatched-folder.h was initially added on branch notzed-play-2.
Michael Zucci [Mon, 17 Jun 2002 01:49:02 +0000 (01:49 +0000)]
file camel-vtrash-store.c was initially added on branch notzed-play-2.
Michael Zucci [Mon, 17 Jun 2002 01:49:02 +0000 (01:49 +0000)]
file camel-vtrash-store.h was initially added on branch notzed-play-2.
Jeffrey Stedfast [Fri, 14 Jun 2002 22:03:05 +0000 (22:03 +0000)]
Freeze source folders. (vee_thaw): Thaw all source folders. Fixes bug
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-vee-folder.c (vee_freeze): Freeze source folders.
(vee_thaw): Thaw all source folders. Fixes bug #24317.
Jeffrey Stedfast [Fri, 14 Jun 2002 21:51:18 +0000 (21:51 +0000)]
Unlock the command_lock after each UID STORE command so that other
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_sync_online): Unlock
the command_lock after each UID STORE command so that other
(probably more important) threads can send their requests.
Jeffrey Stedfast [Fri, 14 Jun 2002 21:33:45 +0000 (21:33 +0000)]
Fixed compiler warnings.
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-arg.c:
* camel-disco-diary.c:
* camel-index-control.c:
* camel-mime-part.c:
* camel-pgp-mime.c:
* camel-store.c:
* camel-tcp-stream-ssl.c:
* camel-text-index.c: Fixed compiler warnings.
Jeffrey Stedfast [Fri, 14 Jun 2002 20:15:04 +0000 (20:15 +0000)]
Updated to use ctx->sign_protocol rather than ctx->protocol.
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-signed.c: Updated to use ctx->sign_protocol
rather than ctx->protocol.
* camel-cipher-context.h: Add an ecnryption protocol member.
* camel-pgp-context.c (camel_pgp_context_init): Set the encryption
protocol.
Not Zed [Tue, 11 Jun 2002 04:41:25 +0000 (04:41 +0000)]
Our parent class is camel_vee_folder, not camel_folder, fix setting of
2002-06-11 Not Zed <NotZed@Ximian.com>
* camel-vtrash-folder.c (camel_vtrash_folder_class_init): Our
parent class is camel_vee_folder, not camel_folder, fix setting of
parent folder (unused anyway, but removes a run-time warning).
2002-06-06 Not Zed <NotZed@Ximian.com>
* camel-folder-thread.c (thread_summary): Do the work here.
(camel_folder_thread_messages_remove): Implement. Remove some
uid's from the tree. Disalbe from build, for now.
(remove_uid_node_rec): Actually do the work.
(camel_folder_thread_messages_add): Implement. Add some summary
items to the tree. Disable from build though.
(camel_folder_thread_messages_apply): Make a thread tree built
using camel_folder_thread_new() map to a new set of uids,
preserving some order. Meant primarily to manage deleted + added
uids in a user-friendly manner.
Jeffrey Stedfast [Sun, 9 Jun 2002 05:38:41 +0000 (05:38 +0000)]
Use CAMEL_EXCEPTION_SYSTEM rather than '1' for clarity.
2002-06-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-signed.c (camel_multipart_signed_verify): Use
CAMEL_EXCEPTION_SYSTEM rather than '1' for clarity.
Jeffrey Stedfast [Fri, 7 Jun 2002 05:53:08 +0000 (05:53 +0000)]
Up the timeout on the connect code to 2 minutes.
2002-06-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Up the timeout on the
connect code to 2 minutes.
Not Zed [Fri, 7 Jun 2002 02:37:10 +0000 (02:37 +0000)]
Duh! The protocol is application/pgp-signature. TODO: need to have a
2002-06-07 Not Zed <NotZed@Ximian.com>
* camel-pgp-context.c (camel_pgp_context_init): Duh! The protocol
is application/pgp-signature. TODO: need to have a signed and an
encrypted protocol specified separately.
Dan Winship [Thu, 6 Jun 2002 20:41:14 +0000 (20:41 +0000)]
Parse "From: Dan Winship <danw>" (with no domain) in the way the sender
* camel-mime-utils.c (header_decode_mailbox): Parse
"From: Dan Winship <danw>" (with no domain) in the way the sender
meant it, even though it's completely wrong.
Not Zed [Thu, 6 Jun 2002 09:53:36 +0000 (09:53 +0000)]
Remove the CONF_DEFAULT_PATH entry, as this is handled by the url config
2002-06-04 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-provider.c: Remove the
CONF_DEFAULT_PATH entry, as this is handled by the url config
stuff. This made it basically impossible to configure any local
folder from the gui.
* providers/local/camel-local-folder.c (local_refresh_info): Force
a refresh. Should work for all local folders to force them to
refresh.
* providers/local/camel-maildir-folder.c (maildir_refresh_info):
Removed, moved into camel-local-folder.
* providers/local/camel-mh-summary.c (mh_summary_next_uid_string):
Once we assign or get a uid, tell the summary of this, so the next
uid we get will be higher than any previously.
* camel-object.c (camel_object_ref, camel_object_unref): I got
sick of casting, these now take void * like they should, and
perform their own run-time type checking.
* providers/local/camel-mh-store.c (recursive_scan): Changed to
use stat, not lstat (*shrug* maybe someone wants to softlink their
maildir tree?).
(inode_hash):
(inode_equal):
(inode_free): Copied from camel-maildir store (should put into
camel-local-store or utils?).
(recursive_scan): Changed to check for re-visiting inodes. Also,
it builds the tree itself, rather than using folder_info_build.
(add_folder): Changed to folder_info_new.
(recursive_scan): Properly honour the recursive flag. Also,
lookup unread count from folder.
(folder_info_new): Init unread message count to -1, since we dont
know yet.
(folder_info_new): Take the name as an argument, and perform the
merging here.
(folders_update): Util func to add/remove folders from .folders
file. I'm assuming its sorted.
(get_folder): Add the folder to .folders if we created a new one,
and if it exists.
(delete_folder): Remove from .folders, etc.
(folders_scan): If we have a .folders file, read and use that
instead.
(recursive_scan): Handle scanning from a particular directory
properly.
(rename_folder): Implement so we can track any changes to the
.folders file if its turned on.
** Applied patch below from Greg Hudson.
2002-05-10 Greg Hudson <ghudson@mit.edu>
* camel-mh-store.c (get_inbox, get_folder_info, recursive_scan,
add_folder): Implement support for MH stores.
* camel-mh-summary.c (mh_summary_check, sort_uid_cmp): Sort MH
messages by message number (uid), like we sort maildir messages by
date.
* camel-local-provider.c (mh_provider): Turn on source and store
flags.
Not Zed [Mon, 3 Jun 2002 14:04:48 +0000 (14:04 +0000)]
Check that any unmatched operation is not concerning any vfolder. Other
2002-06-03 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_add_folder):
(folder_changed_change):
(folder_changed_remove_uid):
(folder_changed_add_uid):
(vee_folder_build_folder): Check that any unmatched operation is
not concerning any vfolder. Other vfolders should never be part of any
unmatched handling. For #24615, and others probably.
Not Zed [Mon, 3 Jun 2002 02:56:35 +0000 (02:56 +0000)]
setup/free the mech string.
2002-06-02 Not Zed <NotZed@Ximian.com>
* camel-sasl.c (camel_sasl_new):
(camel_sasl_finalize): setup/free the mech string.
* camel-sasl.h: Added 'mech' mechanism string.
2002-06-01 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_getv): Implement. Only
the object_description arg.
(camel_imap_folder_get_type): Init parent_class holder.
* providers/local/camel-local-folder.c (local_getv): Implement,
object_description arg.
* camel-folder.c (folder_getv): Implement, add a bunch of args you
can get -> camel_folder_get_unread_count etc will be going RSN i
hope.
(camel_folder_finalize): Free cached description string.
* camel-object.c (cobject_getv): Implement
CAMEL_OBJECT_ARG_DESCRIPTION, just return the classname of the
object.
(camel_object_getv):
(camel_object_get):
(camel_object_setv):
(camel_object_set): Take object = void *, to simplify usage.
(camel_object_setv): Removed unecessary locals.
(camel_object_getv): Same.
(camel_object_free): New method, free an arg, upto implementations
whether args are static/const or not.
(cobject_free): Implement a dummy do nothing free.
2002-05-31 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_get_location): new function
to get the real location (folder) (and uid) of a vfolder object.
Using the folderinfo, since we already have it, maybe it should
use the uid.
Jeffrey Stedfast [Fri, 31 May 2002 22:10:13 +0000 (22:10 +0000)]
When the part is a multipart/signed, make sure to free the part_spec
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): When the part
is a multipart/signed, make sure to free the part_spec before
returning (the other types already did this properly).
Jeffrey Stedfast [Fri, 31 May 2002 21:40:07 +0000 (21:40 +0000)]
Free the path buffer when we're done with it.
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Free the path buffer when we're
done with it.
* providers/imap/camel-imap-folder.c (imap_update_summary): Free
the final tagged response buffer.
Jeffrey Stedfast [Fri, 31 May 2002 20:43:05 +0000 (20:43 +0000)]
If we fail to read a literal, free the temporary string buffer.
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_read_untagged): If we
fail to read a literal, free the temporary string buffer.
Jeffrey Stedfast [Fri, 31 May 2002 20:14:00 +0000 (20:14 +0000)]
Revert my fix from the other day since camel_imap_command_response()
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Revert my fix
from the other day since camel_imap_command_response() doesn't
guarentee that resp will be set to NULL on error.
* providers/imap/camel-imap-command.c
(camel_imap_command_response): Use a different variable to get the
return of imap_parse_untagged so that we don't lose the pointer to
the original malloc'd respbuf buffer.
Jeffrey Stedfast [Fri, 31 May 2002 20:04:42 +0000 (20:04 +0000)]
If we fail to be able to create a stream to insert into the cache, then
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* camel-data-cache.c (camel_data_cache_get): If we fail to be able
to create a stream to insert into the cache, then free the 'real'
path.
Not Zed [Fri, 31 May 2002 01:05:47 +0000 (01:05 +0000)]
Added a protocol field for users to use.
2002-05-30 Not Zed <NotZed@Ximian.com>
* camel-cipher-context.h: Added a protocol field for users to use.
* camel-stream-filter.c (do_read): Sigh, the pre-size is READ_PAD
not READ_SIZE. Big difference.
(READ_PAD): Bumped upto 128 from 64, so we can fit a typical line
in full.
* providers/imap/camel-imap-folder.c (get_content): Changed to
load multipart/signed as an opaque block into the right kind of
object.
* camel-multipart.h (struct _CamelMultipart): Removed the boundary
field. It wans't actually used anywhere.
* camel-seekable-substream.c
(camel_seekable_substream_new_with_seekable_stream_and_bounds):
Shortened this stupidly long name to just :new(), its the only way
its ever used. Fixed all callers.
* camel-multipart-signed.[ch]: new wrapper for multipart/signed
types. We need to treat the entire content as a blob of data for
transport purposes. This also cleans up a lot of the sign/verify
handling.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Just call
camel_multipart_construct_from_parser for multipart parts, also
use a multipart_signed for multipart/signed types.
* camel-multipart.c (camel_multipart_construct_from_parser): New
virtual function for multiparts to buld themselves.
(construct_from_parser): Implement for normal multiparts.
(toplevel): Got rid of a warning, it'll never be an abstract
class.
* camel-pgp-context.c (pgp_hash_to_id):
(pgp_id_to_hash): Implement.
(camel_pgp_context_init): Init the pgp protocol specifier.
* camel-cipher-context.c (camel_cipher_id_to_hash):
(camel_cipher_hash_to_id): Util virtual methods to handle the
cipher id string.
* camel-mime-filter-canon.[ch]: A new filter, end/start of line
canonicalisation filter. Can escape "From " and strip trailing
whitespace, and canonicalise the end of line to crlf or to lf.
2002-05-29 Not Zed <NotZed@Ximian.com>
* camel-multipart.h (struct _CamelMultipart): Removed the
'parent', nothing used it, anywhere. Cleaned up some formatting
slightly.
Jeffrey Stedfast [Fri, 31 May 2002 00:46:20 +0000 (00:46 +0000)]
On error, don't leak the GByteArray buffer.
2002-05-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_store_readline):
On error, don't leak the GByteArray buffer.
Jeffrey Stedfast [Fri, 31 May 2002 00:00:16 +0000 (00:00 +0000)]
Free the response before checking for errors. I'm not sure this'll
2002-05-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Free the
response before checking for errors. I'm not sure this'll actually
fix the memory leak here, but it might? Certainly can't hurt.
* camel-block-file.c (camel_block_file_finalise): Destroy the
blocks hash table.
Jeffrey Stedfast [Wed, 29 May 2002 20:36:46 +0000 (20:36 +0000)]
Only free the LOGOUT response if it is non-NULL.
2002-05-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (connect_to_server): Only free
the LOGOUT response if it is non-NULL.
Not Zed [Wed, 29 May 2002 02:35:42 +0000 (02:35 +0000)]
Implement. Run a summary check to update for any newly arrived messages.
2002-05-28 Not Zed <NotZed@Ximian.com>
* providers/local/camel-maildir-folder.c (maildir_refresh_info):
Implement. Run a summary check to update for any newly arrived
messages.
* providers/local/camel-maildir-store.c (scan_dir): If we have a
folder, execute a refresh_info on it, to suck in any new stuff.
Jeffrey Stedfast [Tue, 28 May 2002 19:00:23 +0000 (19:00 +0000)]
Use the CamelMessageInfo rather than the CamelMimeMessage because the
2002-05-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_log): Use the
CamelMessageInfo rather than the CamelMimeMessage because the
message may not have been loaded (thus NULL).
Jeffrey Stedfast [Tue, 28 May 2002 03:00:31 +0000 (03:00 +0000)]
On connection failure, unref the tcp stream.
2002-05-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/pop3/camel-pop3-store.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/imap/camel-imap-store.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types):
Our parent class is no longer CamelRemoteStore.
(nntp_store_init): Same.
(camel_nntp_store_get_type): Here too.
(nntp_connect): Rewritten to try to connect via SSL. Also remove
code using CamelRemoteStore.
(camel_nntp_command): Don't call camel_remote_store_connected().
Jeffrey Stedfast [Fri, 24 May 2002 22:43:31 +0000 (22:43 +0000)]
Helps if we allocate enough space here. Also, start smoking the same
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (content_info_get_part_spec):
Helps if we allocate enough space here. Also, start smoking the
same purple flavoured IMAP crack when counting parts (parts don't
count if their parent part is a message/* part with a parent
part). Fixes bug #25260.
Jeffrey Stedfast [Fri, 24 May 2002 20:14:59 +0000 (20:14 +0000)]
Use the new readline function.
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_read_untagged): Use
the new readline function.
* providers/imap/camel-imap-store.c (connect_to_server): Use the
new camel_imap_store_readline() function which doesn't suck quite
as bad as the original camel_remote_store_recv_line() function.
(camel_imap_store_readline): New function to replace
camel_remote_store_recv_line(). This function is at least safe
with embedded nul chars. Not that any of our callers use it
*sigh*.
Jeffrey Stedfast [Fri, 24 May 2002 05:15:31 +0000 (05:15 +0000)]
Added some NULL protection fixes.
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (connect_to_server): Added
some NULL protection fixes.
Jeffrey Stedfast [Wed, 22 May 2002 20:17:48 +0000 (20:17 +0000)]
Removed from the build. Glory glory hallelujah.
2002-05-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c: Removed from the build. Glory glory
hallelujah.
* camel-disco-store.c: Updated to inherit from
CamelStore rather than CamelRemoteStore.
* providers/imap/camel-imap-command.c (imap_command_start): Don't
use the camel-remote-store shit to send a string. Just use
camel_stream_printf for chrissakes.
* providers/imap/camel-imap-store.c: Updated to not depend on
CamelRemoteStore and to handle STARTTLS.
(imap_disconnect_online): Unref the streams.
(imap_keepalive): Removed.
(camel_imap_store_connected): New function to replace
camel_remote_store_connected().
(camel_imap_store_finalize): Unref the streams.
(camel_imap_store_recv_line): New function to replace
camel_remote_store_recv_line().
(imap_get_capability): Renamed from connect_to_server
(connect_to_server): New function to try and connect to the
server.
(connect_to_server_wrapper): New wrapper function around
connect_to_server that takes the ssl modes into consideration.
(query_auth_types): Don't bother calling our parent's
implementation of query_auth_types() since CamelDiscoStore doesn't
have any anyway.
(imap_get_name): New method to implement CamelService::get_name
Jeffrey Stedfast [Tue, 21 May 2002 20:54:18 +0000 (20:54 +0000)]
Don't call some retarded function to simply set an exception.
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (get_folder_offline): Don't
call some retarded function to simply set an exception.
Not Zed [Tue, 21 May 2002 02:50:02 +0000 (02:50 +0000)]
If we get an invalid start char, just ignore it and goto the next
2002-05-18 Not Zed <NotZed@Ximian.com>
* camel-search-private.c (camel_utf8_getc): If we get an invalid
start char, just ignore it and goto the next character.
Jeffrey Stedfast [Thu, 16 May 2002 20:03:57 +0000 (20:03 +0000)]
New e-sexp callback function to get a user_tag label value.
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (get_label): New e-sexp callback function
to get a user_tag label value.
Jeffrey Stedfast [Wed, 15 May 2002 23:46:27 +0000 (23:46 +0000)]
New function to parse a NAMESPACE response properly.
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c
(imap_parse_namespace_response): New function to parse a NAMESPACE
response properly.
(imap_namespaces_destroy): New function to destroy the returned
structure from the above function.
Jeffrey Stedfast [Wed, 15 May 2002 19:07:08 +0000 (19:07 +0000)]
Only reconnect if we are already connected, if we are in a disconnected
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (service_setv): Only reconnect if we are already
connected, if we are in a disconnected state then no need to
reconnect.
Jeffrey Stedfast [Wed, 15 May 2002 18:38:20 +0000 (18:38 +0000)]
If the part_spec is an empty string for a leaft part, use "1" since we
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): If the
part_spec is an empty string for a leaft part, use "1" since we
don't actually want to get the raw message headers too.
Not Zed [Wed, 15 May 2002 06:33:01 +0000 (06:33 +0000)]
removed. (imap_store_refresh_folders): Copy the folders first, then
2002-05-15 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (refresh_folder_info): removed.
(imap_store_refresh_folders): Copy the folders first, then refresh
them, outside of the cache_lock, which could cause deadlocks
because of a workaround for crappo exchange.
(imap_disconnect_online): Dont pass an exception to LOGOUT
command. The required response 'BYE' always sets an exception
when we call LOGOUT. This also interfered with a lot of other
processing causing partial failures and messed up offline/online
state.
* camel-disco-folder.c (disco_prepare_for_offline): Do progress
reporting.
Jeffrey Stedfast [Wed, 15 May 2002 02:42:50 +0000 (02:42 +0000)]
fixed a simple logic mistake
Jeffrey Stedfast [Tue, 14 May 2002 23:37:58 +0000 (23:37 +0000)]
Fixes bug #24136.
2002-05-14 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #24136.
* providers/imap/camel-imap-folder.c (content_info_get_part_spec):
New function to take a CamelMessageContentInfo and generate a
part-specification string.
(get_content): Stop passing around part_spec strings and use
content_info_get_part_spec instead.
* camel-folder-summary.c (camel_content_info_dump): Made this into
a public debugging function.
* providers/imap/camel-imap-utils.c (imap_parse_body): Make sure
to set the parent of any message/rfc822 subparts.
Jeffrey Stedfast [Tue, 14 May 2002 20:40:32 +0000 (20:40 +0000)]
Previous fix reverted.
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Previous
fix reverted.
Jeffrey Stedfast [Tue, 14 May 2002 20:30:56 +0000 (20:30 +0000)]
Previous fix reverted. (get_content): Handle the case where a multipart's
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Previous
fix reverted.
(get_content): Handle the case where a multipart's parent is a
message/rfc822 part. Fixes bug #24136.
Jeffrey Stedfast [Mon, 13 May 2002 23:57:33 +0000 (23:57 +0000)]
Overload the setv/getv CamelObject virtual methods. (imap_setv):
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_store_class_init):
Overload the setv/getv CamelObject virtual methods.
(imap_setv): Implemented.
(imap_getv): Implemented.
Dan Winship [Mon, 13 May 2002 16:15:29 +0000 (16:15 +0000)]
Add a "char **appended_uid" argument, for the caller to optionally pass in
* camel-folder.c (camel_folder_append_message): Add a "char
**appended_uid" argument, for the caller to optionally pass in a
variable to receive the UID of the appended message (if the
provider knows it).
(camel_folder_transfer_messages_to): Likewise, add "GPtrArray
**transferred_uids"
(transfer_messages_to): Update default implementation to handle
transferred_uids.
* camel-disco-folder.c (disco_append_message,
disco_transfer_messages_to): Update for API changes.
* camel-disco-diary.c (camel_disco_diary_replay): Update the
diary's temporary uid->real uid map when replaying appends and
transfers.
* providers/imap/camel-imap-folder.c (imap_append_offline,
imap_append_online, imap_transfer_offline): Pass back the new
UIDs, when requested and available.
(imap_append_resyncing): Pass back the new UIDs when requested and
available. Remove the diary uidmap managing code since
CamelDiscoDiary can handle that itself now.
(imap_transfer_online, imap_transfer_resyncing): Update for new
APIs, but don't actually pass back the new UIDs yet. (It's tricky
since the COPYUID response may not be in the same order as the
input uids.)
* providers/local/camel-maildir-folder.c (maildir_append_message):
Pass back the new UID if requested.
* providers/local/camel-mbox-folder.c (mbox_append_message):
Likewise.
* providers/local/camel-mh-folder.c (mh_append_message): Likewise.
* providers/local/camel-spool-folder.c (spool_append_message):
Likewise.
* camel-digest-folder.c (digest_append_message,
digest_transfer_messages_to): Update for API changes.
* camel-filter-driver.c (camel_filter_driver_filter_message,
do_copy, do_move): Update for API changes.
* camel-vee-folder.c (vee_append_message,
vee_transfer_messages_to): Likewise.
* camel-vtrash-folder.c (vtrash_append_message,
vtrash_transfer_messages_to): Likewise.
Not Zed [Mon, 13 May 2002 06:28:59 +0000 (06:28 +0000)]
Since the fix for #3357 uses 'order=0' to indicate tree structure nodes,
2002-05-13 Not Zed <NotZed@Ximian.com>
* camel-folder-thread.c
(camel_folder_thread_messages_new_summary):
(camel_folder_thread_messages_new): Since the fix for #3357 uses
'order=0' to indicate tree structure nodes, make sure we dont
actually set order=0 for valid messages, otherwise we silently
lose duplicates of the first message (i==0). Fixes #19920.
Jeffrey Stedfast [Sat, 11 May 2002 00:48:54 +0000 (00:48 +0000)]
Fetch the BODYSTRUCTURE rather than BODY since BODY seems to be lacking
2002-05-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Fetch the
BODYSTRUCTURE rather than BODY since BODY seems to be lacking some
of the data we need. This fixes bug #24131.
Jeffrey Stedfast [Fri, 10 May 2002 22:05:28 +0000 (22:05 +0000)]
Might help if we called camel_transport_class_init.
2002-05-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-transport.c (camel_transport_get_type): Might help if we
called camel_transport_class_init.
Dan Winship [Fri, 10 May 2002 16:44:36 +0000 (16:44 +0000)]
Replace copy_messages_to and move_messages_to with a single function that
* camel-folder.c (camel_folder_transfer_messages_to): Replace
copy_messages_to and move_messages_to with a single function that
just takes a "delete_originals" flag. Also, use the vtrash
implementation if *either* folder is a vtrash.
(transfer_messages_to): Make this use camel_operation_progress
(previously move_messages_to did but copy_messages_to didn't), and
freeze/thaw the folder(s) if doing multiple messages.
* camel-vtrash-folder.c (vtrash_transfer_messages_to): Update for
move/copy merge. Move the "move messages into vtrash" code here
from mail-ops.c. Now all of the vtrash move/copy special casing is
in camel instead of half of it being here and half in mail/. (This
should also make it so that "Move to Trash" will work in filter
rules.)
* camel-vee-folder.c (vee_transfer_messages_to): Make this just
return an exception, since it will only be called when trying to
move/copy messages from one vfolder to another.
(vee_append_message): Add this too so we get a nicer error message
than the default "unimplemented" one in camel-folder.c.
* camel-digest-folder.c: Replace copy_messages_to and
move_messages_to with transfer_messages_to.
* camel-disco-folder.c: Likewise
* camel-disco-diary.c (camel_disco_diary_log,
camel_disco_diary_replay): replace MOVE/COPY with TRANSFER.
* providers/imap/camel-imap-folder.c (imap_transfer_offline,
imap_transfer_online, imap_transfer_resyncing): Update for
changes. (This ends up being a bit more complicated than it was
before for now, but later disconnected operation changes should
resimplify it.)
* camel-filter-driver.c (camel_filter_driver_filter_message,
do_copy, do_move): Use transfer_messages_to instead of copy.
Jeffrey Stedfast [Fri, 10 May 2002 01:12:26 +0000 (01:12 +0000)]
New filter function to pipe a message to another program. (run_command):
2002-05-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (shell_exec): New filter function to pipe
a message to another program.
(run_command): Fixed some bugs to make this work.
Jeffrey Stedfast [Thu, 9 May 2002 23:17:33 +0000 (23:17 +0000)]
New filter function to pipe a message to another program.
2002-05-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (shell_exec): New filter function to pipe
a message to another program.
Not Zed [Thu, 9 May 2002 08:23:20 +0000 (08:23 +0000)]
Instead of testing for SERVICE_CONNECTED, we need to also handle
2002-05-09 Not Zed <NotZed@Ximian.com>
* camel-service.c (camel_service_disconnect): Instead of testing
for SERVICE_CONNECTED, we need to also handle SERVICE_CONNECTING
too, as it will often have setup some details before it failed.
Make it !DISCONNECTED (and !DISCONNECTING for recursive calls,
which happen). Fixes #23782, and maybe also #21604 and many other
random crashes.
Jeffrey Stedfast [Wed, 8 May 2002 21:58:37 +0000 (21:58 +0000)]
Implemented. (digest_getv): Implemented.
2002-05-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-store.c (digest_setv): Implemented.
(digest_getv): Implemented.
* camel-disco-store.c (disco_setv): Implemented.
(disco_getv): Implemented.
* camel-remote-store.c (remote_store_setv): Implemented.
(remote_store_getv): Implemented.
* camel-transport.c (camel_transport_class_init): Implemented.
(transport_setv): Implemented.
(transport_getv): Implemented.
* camel-store.c (store_setv): Implemented.
(store_getv): Implemented.
* camel-service.c (service_setv): Implemented.
(service_getv): Implemented.
Jeffrey Stedfast [Wed, 8 May 2002 06:40:41 +0000 (06:40 +0000)]
camel_pop3_engine_iterate doesn't return the state, it returns -1 on fail,
2002-05-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate):
camel_pop3_engine_iterate doesn't return the state, it returns -1
on fail, 0 when finished processing request or >0 if more ops are
in the queue, so don't check status against CAMEL_POP3_STATE_OK,
instead check pcp->state against that.
Jeffrey Stedfast [Tue, 7 May 2002 20:43:05 +0000 (20:43 +0000)]
s/class/klass for arguments so that c++ developers don't complain later.
2002-05-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-object.h: s/class/klass for arguments so that c++
developers don't complain later.
Dan Winship [Tue, 7 May 2002 17:15:10 +0000 (17:15 +0000)]
Fix a crash in a g_warning.
* camel-object.c (camel_object_class_cast): Fix a crash in a
g_warning.
Not Zed [Tue, 7 May 2002 07:31:26 +0000 (07:31 +0000)]
Check for LOGIN xxxx as well if debug is on, so we dont print passwords to
2002-05-07 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (remote_send_string): Check for LOGIN xxxx
as well if debug is on, so we dont print passwords to evolution
logs.
* providers/imap/camel-imap-utils.c (imap_is_atom_char): This was
really broken. 1. isprint() is locale dependent, and 2. it looked
up an 8 bit value in a 7 bit table without truncating it. I've
removed the isprint() stuff and just put it directly into the
special table, which i've expanded to the right size too.
* providers/imap/*: Applied patch from Preston Elder
<prez@magick.tm> to make camel only use literals if it needs to
for simple strings. Changed slightly to use imap_is_atom() and
more consistent formatting.
providers/imap/camel-imap-utils.c (imap_is_atom): Chagned from
imap_needs_quoting().
** Merged in camel-object2 branch. Simpler camelobject
implementation + object args interface.
* camel.c (camel_init): Call camel_object_get_type() to make sure
camel_object_type is initialised.
* camel-object.h (CAMEL_OBJECT_TYPE): Changed to return global
camel_object_type pointer, not call camel_object_get_type.
Jeffrey Stedfast [Mon, 6 May 2002 22:35:47 +0000 (22:35 +0000)]
If the pop3 command status is -1, then we probably have a TCP error (?) so
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): If
the pop3 command status is -1, then we probably have a TCP error
(?) so set a SYSTEM exception so our caller can distinguish
between a "bad password" and a "tcp error".
(pop3_connect): Only uncache the password on "bad password"
errors.
Jeffrey Stedfast [Mon, 6 May 2002 22:10:24 +0000 (22:10 +0000)]
Use CamelMimeFilterBestenc to get a more appropriate encoding rather than
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Use
CamelMimeFilterBestenc to get a more appropriate encoding rather
than just blindling assigning QP.
Jeffrey Stedfast [Mon, 6 May 2002 21:43:40 +0000 (21:43 +0000)]
Call camel_mime_message_encode_8bit_parts() which fixes bug #10885.
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (do_append): Call
camel_mime_message_encode_8bit_parts() which fixes bug #10885.
Jeffrey Stedfast [Mon, 6 May 2002 18:59:01 +0000 (18:59 +0000)]
Don't bother with counting down the timeout.
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (socket_connect): Don't bother with
counting down the timeout.
Jeffrey Stedfast [Fri, 3 May 2002 01:16:17 +0000 (01:16 +0000)]
Same fix as the tcp stream. (stream_write): Again here. Just like tcp
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-fs.c (stream_read): Same fix as the tcp stream.
(stream_write): Again here. Just like tcp stream's stream_write(),
also make sure to save errno before calling fcntl to restore the
fd flags.
* camel-tcp-stream-raw.c (stream_read): Handle EINTR errors for
select().
(stream_write): Same and also preserve errno when setting the fd
flags back. If w == -1, return -1.
Jeffrey Stedfast [Fri, 3 May 2002 00:38:45 +0000 (00:38 +0000)]
Fixed the fix for stupidly-broken-mailer bug #5 to work when multiple
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_mailbox): Fixed the fix for
stupidly-broken-mailer bug #5 to work when multiple unescaped
characters were in a row. Fixes bug #24140.
Jeffrey Stedfast [Thu, 2 May 2002 18:19:57 +0000 (18:19 +0000)]
Change the order of some code so that we check if the select() failed
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Change the order
of some code so that we check if the select() failed before we
check for user-cancellation.
* camel-service.c (camel_gethostbyname): Check for EINTR when
select()ing.
(camel_gethostbyaddr): Same.
Jeffrey Stedfast [Thu, 2 May 2002 01:15:01 +0000 (01:15 +0000)]
Now takes a CamelURL argument rather than a GHashTable *settings argument.
2002-04-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c (camel_provider_auto_detect): Now takes a
CamelURL argument rather than a GHashTable *settings argument.
Not Zed [Mon, 29 Apr 2002 09:18:57 +0000 (09:18 +0000)]
We want to set unread_count to get_unread_message_count, not
2002-04-29 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (get_folder_info): We want
to set unread_count to get_unread_message_count, not
get_message_count(). Might fix #17174. Also removed FIXME: as it
was fixed.
Jeffrey Stedfast [Sat, 27 Apr 2002 00:01:28 +0000 (00:01 +0000)]
Don't link to libibex.a anymore.
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/Makefile.am: Don't link to libibex.a anymore.
* providers/nntp/Makefile.am: Same.
* providers/imap/Makefile.am: And again here.
Jeffrey Stedfast [Fri, 26 Apr 2002 23:55:39 +0000 (23:55 +0000)]
No longer want to #include <libibex/ibex.h>
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-store-summary.h: No longer want to #include
<libibex/ibex.h>
Jeffrey Stedfast [Fri, 26 Apr 2002 19:52:33 +0000 (19:52 +0000)]
New function to auto-detect configuration settings.
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c (camel_provider_auto_detect): New function to
auto-detect configuration settings.
Not Zed [Fri, 26 Apr 2002 05:13:45 +0000 (05:13 +0000)]
Remove the excessive \n's, after printfs.
2002-04-26 Not Zed <NotZed@Ximian.com>
* camel-block-file.c (block_file_validate_root): Remove the
excessive \n's, after printfs.
* camel-text-index.c (text_index_compress_nosync): @!#$@#$!@$#!.
Since the rename op was fixed, this broke compression's rename,
resulting in the index 'vanishing' after every compress
(i.e. after every reindex). Fix this code to account for the
fixed rename operation.
Jeffrey Stedfast [Thu, 25 Apr 2002 20:02:33 +0000 (20:02 +0000)]
Don't put a space between the "RCPT TO:" and the "<recipient>" strings -
2002-04-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_rcpt): Don't put a
space between the "RCPT TO:" and the "<recipient>" strings -
rfc0821 was not clear on this but it seems rfc2821 defines a
grammar excluding that SP.
(smtp_mail): Same.
Jeffrey Stedfast [Thu, 25 Apr 2002 00:25:04 +0000 (00:25 +0000)]
Configure the default paths for mh, mbox, maildir, spools, etc.
2002-04-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c
(camel_provider_module_init): Configure the default paths for mh,
mbox, maildir, spools, etc.
* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum and
define some default CamelProviderConfEntry macros.
Jeffrey Stedfast [Wed, 24 Apr 2002 21:35:21 +0000 (21:35 +0000)]
Add a CAMEL_PROVIDER_CONF_LABEL enum.
2002-04-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum.
Jeffrey Stedfast [Sat, 20 Apr 2002 02:25:01 +0000 (02:25 +0000)]
Don't leak the base64 encoded password buffer.
2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
* e-passwords.c (e_passwords_get_password): Don't leak the base64
encoded password buffer.
Jeffrey Stedfast [Sat, 20 Apr 2002 02:22:07 +0000 (02:22 +0000)]
Free the LIST pop3 command.
2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Free the
LIST pop3 command.
* camel-data-cache.c (data_cache_finalise): Free the cdc->path.
Jeffrey Stedfast [Fri, 19 Apr 2002 22:02:13 +0000 (22:02 +0000)]
Don't g_return_val_if_fail here if the boundary is an empty string. See
2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart.c (write_to_stream): Don't g_return_val_if_fail
here if the boundary is an empty string. See bug #23676 for
details. The way I see it, we have 2 options: 1) leave this fix
the way it is, thus allowing multipart boundaries to be
empty-strings; or 2) make camel_multipart_get_boundary() change
the boundary to something legal if the boundary is an
empty-string. Since the parser should be able to handle an
empty-string boundary *and* more importantly because we want to
keep the same boundaries as the original raw message so as to be
able to verify multipart/signed parts, I vote for solution #1.