platform/upstream/evolution-data-server.git
22 years agoUse the new readline function.
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*.

22 years agoAdded some NULL protection fixes.
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.

22 years agoRemoved from the build. Glory glory hallelujah.
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

22 years agoDon't call some retarded function to simply set an exception.
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.

22 years agoIf we get an invalid start char, just ignore it and goto the next
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.

22 years agoNew e-sexp callback function to get a user_tag label value.
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.

22 years agoNew function to parse a NAMESPACE response properly.
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.

22 years agoOnly reconnect if we are already connected, if we are in a disconnected
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.

22 years agoIf the part_spec is an empty string for a leaft part, use "1" since we
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.

22 years agoremoved. (imap_store_refresh_folders): Copy the folders first, then
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.

22 years agofixed a simple logic mistake
Jeffrey Stedfast [Wed, 15 May 2002 02:42:50 +0000 (02:42 +0000)]
fixed a simple logic mistake

22 years agoFixes bug #24136.
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.

22 years agoPrevious fix reverted.
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.

22 years agoPrevious fix reverted. (get_content): Handle the case where a multipart's
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.

22 years agoOverload the setv/getv CamelObject virtual methods. (imap_setv):
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.

22 years agoAdd a "char **appended_uid" argument, for the caller to optionally pass in
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.

22 years agoSince the fix for #3357 uses 'order=0' to indicate tree structure nodes,
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.

22 years agoFetch the BODYSTRUCTURE rather than BODY since BODY seems to be lacking
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.

22 years agoMight help if we called camel_transport_class_init.
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.

22 years agoReplace copy_messages_to and move_messages_to with a single function that
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.

22 years agoNew filter function to pipe a message to another program. (run_command):
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.

22 years agoNew filter function to pipe a message to another program.
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.

22 years agoInstead of testing for SERVICE_CONNECTED, we need to also handle
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.

22 years agoImplemented. (digest_getv): Implemented.
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.

22 years agocamel_pop3_engine_iterate doesn't return the state, it returns -1 on fail,
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.

22 years agos/class/klass for arguments so that c++ developers don't complain later.
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.

22 years agoFix a crash in a g_warning.
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.

22 years agoCheck for LOGIN xxxx as well if debug is on, so we dont print passwords to
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.

22 years agoIf the pop3 command status is -1, then we probably have a TCP error (?) so
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.

22 years agoUse CamelMimeFilterBestenc to get a more appropriate encoding rather than
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.

22 years agoCall camel_mime_message_encode_8bit_parts() which fixes bug #10885.
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.

22 years agoDon't bother with counting down the timeout.
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.

22 years agoSame fix as the tcp stream. (stream_write): Again here. Just like tcp
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.

22 years agoFixed the fix for stupidly-broken-mailer bug #5 to work when multiple
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.

22 years agoChange the order of some code so that we check if the select() failed
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.

22 years agoNow takes a CamelURL argument rather than a GHashTable *settings argument.
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.

22 years agoWe want to set unread_count to get_unread_message_count, not
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.

22 years agoDon't link to libibex.a anymore.
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.

22 years agoNo longer want to #include <libibex/ibex.h>
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>

22 years agoNew function to auto-detect configuration settings.
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.

22 years agoRemove the excessive \n's, after printfs.
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.

22 years agoDon't put a space between the "RCPT TO:" and the "<recipient>" strings -
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.

22 years agoConfigure the default paths for mh, mbox, maildir, spools, etc.
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.

22 years agoAdd a CAMEL_PROVIDER_CONF_LABEL enum.
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.

22 years agoDon't leak the base64 encoded password buffer.
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.

22 years agoFree the LIST pop3 command.
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.

22 years agoDon't g_return_val_if_fail here if the boundary is an empty string. See
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.

22 years agoStart of a white-paperish document describing camel-index and older
Not Zed [Fri, 19 Apr 2002 02:04:35 +0000 (02:04 +0000)]
Start of a white-paperish document describing camel-index and older

2002-04-19  Not Zed  <NotZed@Ximian.com>

        * devel-docs/camel-index.txt: Start of a white-paperish document
        describing camel-index and older libibex.

22 years agoIf we get a failure, make sure we set an exception.
Not Zed [Thu, 18 Apr 2002 08:15:51 +0000 (08:15 +0000)]
If we get a failure, make sure we set an exception.

2002-04-18  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-store.c (rename_folder): If we get a
        failure, make sure we set an exception.

        * camel-text-index.c (camel_text_index_rename): If the file
        doesn't exist, just assume it never did, dont return failure.
        (text_index_rename): Add '.index' to the path name we're using,
        since we dont get it passed in.

22 years agoWhen doing a contains match, split the words and perform an and on it.
Not Zed [Thu, 18 Apr 2002 02:18:55 +0000 (02:18 +0000)]
When doing a contains match, split the words and perform an and on it.

2002-04-18  Not Zed  <NotZed@Ximian.com>

        * camel-folder-search.c (check_header): When doing a contains
        match, split the words and perform an and on it.
        (match_words_messages): If we have an index, but were forced to do
        a full search, first lookup a subset of messages using
        the index and a simplified word set.  Only do a manual search of
        this subset.

2002-04-17  Not Zed  <NotZed@Ximian.com>

        * camel-folder-search.c (match_message_index): Changed to take a
        utf8 string not a regex pattern.
        (match_words_index): Matches against a camel_search_words list.
        (match_words_1message): Matches a single message against a
        camel_search_words list.
        (match_words_message): Same, but gets the message from the folder
        for you.
        (match_words_messages): Matches a list of messages against a words
        list.
        (search_body_contains): Rewritten to handle multiple word
        searches.  For #23371.

        * providers/imap/camel-imap-search.c (sync_match): Split words
        when searching, to support multiple search words.  Also, try
        searching specifying charset of utf8 if we can, if that fails,
        fall back to not specifying charset.  TODO: It should translate
        the strings into the locale default charset?

        * providers/imap/camel-imap-store.c (connect_to_server): Added new
        cap - utf8_search, if set, we tell the server we're searching
        using utf8, otherwise we dont (incorrectly, since we always use
        utf8 to search).

        * camel-search-private.c (camel_ustrstrcase): Make this class public.
        (camel_search_words_split): Split a word into multiple words based
        on whitespace, and keep track of whether the word is simple
        (indexable directly), or not.
        (camel_search_words_free): Free 'em.

22 years agoIf the vee-folder is the unmatched, we don't have our own expression so we
Jeffrey Stedfast [Wed, 17 Apr 2002 22:33:33 +0000 (22:33 +0000)]
If the vee-folder is the unmatched, we don't have our own expression so we

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

* camel-vee-folder.c (vee_search_by_expression): If the vee-folder
is the unmatched, we don't have our own expression so we cannot
merge them. Instead, just use the expression passed in. This fixes
a Null-Pointer-Read crash on Solaris systems at least.

22 years agoGet rid of an unused variable.
Jeffrey Stedfast [Wed, 17 Apr 2002 01:25:28 +0000 (01:25 +0000)]
Get rid of an unused variable.

2002-04-16  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (camel_filter_driver_filter_folder): Get
rid of an unused variable.

* providers/smtp/camel-smtp-transport.c (smtp_helo): Use
camel_gethostbyaddr since gethostbyaddr is not reentrant.

* camel-http-stream.c (http_connect): Updated after the rename of
camel_get_host_byname.

* camel-service.c (camel_gethostbyname): Renamed.
(camel_gethostbyaddr): New cancellable/reentrant version of
gethostbyaddr.

22 years agoAdded #include <sys/types.h> for dirent.h which needs it on MacOS X.
Jeffrey Stedfast [Sun, 14 Apr 2002 20:13:01 +0000 (20:13 +0000)]
Added #include <sys/types.h> for dirent.h which needs it on MacOS X.

2002-04-14  Jeffrey Stedfast  <fejj@ximian.com>

* providers/local/camel-spoold-store.c: Added #include
<sys/types.h> for dirent.h which needs it on MacOS X.

* providers/local/camel-maildir-store.c: Same.

* providers/nntp/camel-nntp-store.c: Same.

* providers/imap/camel-imap-message-cache.c: Same.

* camel-provider.c: Same.

* camel-data-cache.c: Same.

22 years agoAdded #include <sys/types.h> for dirent.h which needs it on MacOS X.
Jeffrey Stedfast [Sun, 14 Apr 2002 05:40:33 +0000 (05:40 +0000)]
Added #include <sys/types.h> for dirent.h which needs it on MacOS X.

2002-04-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-provider.c: Added #include <sys/types.h> for dirent.h
which needs it on MacOS X.

* camel-data-cache.c: Same.

22 years agofix the nntp provider makefile.am
Jeffrey Stedfast [Sun, 14 Apr 2002 00:57:35 +0000 (00:57 +0000)]
fix the nntp provider makefile.am

22 years agoTreat commas as token delimeters. (WEEKDAY_CHARS): Use full weekday names
Jeffrey Stedfast [Fri, 12 Apr 2002 22:16:42 +0000 (22:16 +0000)]
Treat commas as token delimeters. (WEEKDAY_CHARS): Use full weekday names

2002-04-12  Jeffrey Stedfast  <fejj@ximian.com>

* broken-date-parser.c (datetok): Treat commas as token
delimeters.
(WEEKDAY_CHARS): Use full weekday names in case the broken mailer
used the full names.
(MONTH_CHARS): Same as above but for months.

22 years agoIf the last message(s) were deleted, and we had any messages output,
Not Zed [Thu, 11 Apr 2002 09:00:57 +0000 (09:00 +0000)]
If the last message(s) were deleted, and we had any messages output,

2002-04-11  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-spool-summary.c (spool_summary_sync_full):
        If the last message(s) were deleted, and we had any messages
        output, account for the lost \n of the following From line by
        adding an extra \n. fix for #8214.

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

        * camel-mime-part-utils.c (convert_buffer): If we get a 0 length
        input, return a 0 lenght output as valid - fixes bugs with some
        iconv impl and its simpler anyway.

22 years agoSet the UID_SET_LIMIT value to 4096. I ran into an issue tonight where
Jeffrey Stedfast [Thu, 11 Apr 2002 05:19:13 +0000 (05:19 +0000)]
Set the UID_SET_LIMIT value to 4096. I ran into an issue tonight where

2002-04-11  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-folder.c: Set the UID_SET_LIMIT value
to 4096. I ran into an issue tonight where apparently the IMAP
server changed the UIDVALIDITY and so Evo needed to re-fetch all
headers and it was trying to send a uid set of some 25k (yes, I
have a very large INBOX). Anyways, it was set to unlimited
before. Courier IMAPd can safely handle up to ~16k per token, but
UW IMAPd can only handle 8k per command-line, so I set it to 4k
just to be safe.

22 years agooops, after converting everything truncate the GByteArray to the correct length ...
Jeffrey Stedfast [Wed, 10 Apr 2002 20:03:51 +0000 (20:03 +0000)]
oops, after converting everything truncate the GByteArray to the correct length (in case we over-allocated)

22 years agoFixed a bug that would miscalculate how much data to copy into the
Jeffrey Stedfast [Wed, 10 Apr 2002 19:59:13 +0000 (19:59 +0000)]
Fixed a bug that would miscalculate how much data to copy into the

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

* camel-mime-part-utils.c (convert_buffer): Fixed a bug that would
miscalculate how much data to copy into the GByteArray (negative
value) thus causing a segfault. Also optimized it while I was at
it.

22 years agoMake the folder_lock recursive. See bug #22363 for details. Basically,
Jeffrey Stedfast [Wed, 10 Apr 2002 03:02:33 +0000 (03:02 +0000)]
Make the folder_lock recursive. See bug #22363 for details. Basically,

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

* camel-store.c (camel_store_init): Make the folder_lock
recursive. See bug #22363 for details. Basically,
get_folder_info() is requesting a diary folder which in turn
connects which requests then calls get_folder() but deadlocks
because get_folder_info already holds the lock.

22 years agomade the copmment clearer
Jeffrey Stedfast [Tue, 9 Apr 2002 20:02:43 +0000 (20:02 +0000)]
made the copmment clearer

22 years agoDon't adjust the timezone offset if we used tm.tm_gmtoff because it is
Jeffrey Stedfast [Tue, 9 Apr 2002 19:57:09 +0000 (19:57 +0000)]
Don't adjust the timezone offset if we used tm.tm_gmtoff because it is

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

* camel-mime-message.c (camel_mime_message_set_date): Don't adjust
the timezone offset if we used tm.tm_gmtoff because it is already
adjusted.

22 years agoIf we get multiple Content-Type header values, change subsequent headers
Not Zed [Tue, 9 Apr 2002 13:45:44 +0000 (13:45 +0000)]
If we get multiple Content-Type header values, change subsequent headers

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

        * camel-mime-part.c (construct_from_parser): If we get multiple
        Content-Type header values, change subsequent headers to
        X-Invalid-Content-Type so it doesn't wreck processing.  This fixes
        the reported case in #18929, but i dont know if it fixes the
        original posters problems.

2002-04-08  Not Zed  <NotZed@Ximian.com>

        * camel-vtrash-folder.c (vtrash_move_messages_to): If we find
        we're moving from the vtrash to another folder, we need to convert
        the uid from a vfolder uid to the source uid (+8).  Fix for
        #20886.  Also changed to batch multiple moves to different folders
        so they are done as efficiently as possible rather than one at a
        time.

        * camel-mime-utils.c (base64_decode_step): If we only get passed
        '=', we back track only if we actually output any data.  Fix for
        #21716.
        (quoted_decode): Pass out size_t instead of int, and use 0 instead
        of -1 for error since its not signed.  This will fix similar bug
        to above in different circumstances since the result is taken as
        unsigned.  This is only an internal func.
        (quoted_encode): Return size_t just for consistency.

        * camel-block-file.c (block_file_validate_root): Comment out the
        debug and move it into a warning when the validation fails.

22 years agoDon't count our filler when encoding our line-length octet.
Jeffrey Stedfast [Mon, 8 Apr 2002 17:34:12 +0000 (17:34 +0000)]
Don't count our filler when encoding our line-length octet.

2002-04-08  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c (uuencode_close): Don't count our filler when
encoding our line-length octet.

22 years agoDon't get the statuscode here anymore. (http_method_invoke): Use a
Jeffrey Stedfast [Sat, 6 Apr 2002 01:15:53 +0000 (01:15 +0000)]
Don't get the statuscode here anymore. (http_method_invoke): Use a

2002-04-05  Jeffrey Stedfast  <fejj@ximian.com>

* camel-http-stream.c (http_get_headers): Don't get the statuscode
here anymore.
(http_method_invoke): Use a User-Agent header and do basic proxy
authentication.
(stream_read): Handle redirects.
(camel_http_stream_set_user_agent): New function to allow client
to set the User-Agent string.
(camel_http_stream_set_proxy): New function for setting the proxy
server.
(camel_http_stream_set_proxy_authrealm): New function for setting
the proxy auth realm.
(camel_http_stream_set_proxy_authpass): New function for setting
the proxy auth password.

22 years agoIf (body-contains) is not passed any arguments, return empty/false. Fixes
Not Zed [Fri, 5 Apr 2002 08:06:47 +0000 (08:06 +0000)]
If (body-contains) is not passed any arguments, return empty/false. Fixes

2002-04-04  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-search.c (imap_body_contains): If
        (body-contains) is not passed any arguments, return empty/false.
        Fixes a crash exposed by #15001.

22 years agoSimplified since we can now decode in-reply-to without getting extra
Jeffrey Stedfast [Fri, 5 Apr 2002 00:08:23 +0000 (00:08 +0000)]
Simplified since we can now decode in-reply-to without getting extra

2002-04-04  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder-summary.c (message_info_new): Simplified since we
can now decode in-reply-to without getting extra cruft. Get rid of
the FIXME about having to check scan->id because of the
possibility of it being NULL, this can no longer happen.

* camel-mime-utils.c (header_references_inreplyto_decode): New
function to decode in-reply-to headers. Only grabs the first thing
that looks like a message-id and then returns.
(header_references_decode): Loop calling
header_references_decode_single (a new internal function).

22 years agoReset the keepalive timeout to 10 minutes rather than the 30 seconds I was
Not Zed [Thu, 4 Apr 2002 02:43:47 +0000 (02:43 +0000)]
Reset the keepalive timeout to 10 minutes rather than the 30 seconds I was

2002-04-04  Not Zed  <NotZed@Ximian.com>

        * camel-remote-store.c (remote_connect): Reset the keepalive
        timeout to 10 minutes rather than the 30 seconds I was using for
        testing.

22 years agomake service_cache be an array of CAMEL_NUM_PROVIDER_TYPES elements so you
Dan Winship [Wed, 3 Apr 2002 18:18:31 +0000 (18:18 +0000)]
make service_cache be an array of CAMEL_NUM_PROVIDER_TYPES elements so you

* camel-provider.h (CamelProvider): make service_cache be an array
of CAMEL_NUM_PROVIDER_TYPES elements so you can have a single
provider offer both stores and transports. (Eg, Exchange, NNTP)

* providers/imap/camel-imap-provider.c: Don't initialize
service_cache here. (The session code can do it itself since the
url_hash and url_equal functions are stored as part of the
provider.)

* providers/nntp/camel-nntp-provider.c: Likewise.

* providers/local/camel-local-provider.c: Likewise.

* providers/pop3/camel-pop3-provider.c: Likewise.

* providers/sendmail/camel-sendmail-provider.c: Likewise.

* providers/smtp/camel-smtp-provider.c: Likewise.

* camel-session.c (register_provider): Initialize the provider's
service cache(s) here.
(camel_session_class_init): Don't initialize.
vee_provider.service_cache here.
(camel_session_destroy_provider): Update to destroy multiple
service_caches.
(service_cache_remove, get_service): Tweak these a bit to deal
with multiple service_caches.

22 years agoTurn indexing back on, fingers crossed ...
Not Zed [Wed, 3 Apr 2002 13:28:30 +0000 (13:28 +0000)]
Turn indexing back on, fingers crossed ...

2002-04-03  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-folder.c
        (camel_local_folder_construct): Turn indexing back on, fingers
        crossed ...

        * camel-block-file.c (sync_nolock): #!@$@$#@~#$
        DF@#$!Q@$#!@$#!#%.  Well it helps if we're iterating a list to
        iterate the node pointer ...

        * camel-text-index.c (text_index_sync): Sync the key tables
        explcitly.
        (text_index_sync): Debug out frag info.
        (camel_text_index_dump): Added a (rather large, but optional) raw
        dumping mode for debugging purposes.

        * camel-partition-table.c (camel_key_table_finalise): Sync root
        block when done.

22 years agoHandle a ton more nspr i/o errno's. (stream_connect): Act as if we are
Jeffrey Stedfast [Tue, 2 Apr 2002 23:04:11 +0000 (23:04 +0000)]
Handle a ton more nspr i/o errno's. (stream_connect): Act as if we are

2002-04-02  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-ssl.c (set_errno): Handle a ton more nspr i/o
errno's.
(stream_connect): Act as if we are doing a non-blocking
connect. This is to try and work around bug #15120 where users get
an EINPROGRESS error. Maybe importing a PRFileDesc into SSL mode
automagically makes it non-blocking? I dunno.

2002-04-01  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder-summary.c (message_info_new): Updated the
construction of the references to match JWZ's updated algorithm
initialization (ie, append any In-Reply-To reference onto any
References header and never take more than a single message-id
from the In-Reply-To header since anything after the first will
probably just be email addresses). Fixes bug #1336.

22 years agoSync the key tables explcitly.
Not Zed [Tue, 2 Apr 2002 20:03:42 +0000 (20:03 +0000)]
Sync the key tables explcitly.

2002-04-03  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_sync): Sync the key tables
        explcitly.

        * camel-partition-table.c (camel_key_table_finalise): Sync root
        block when done.
        (camel_key_table_sync): New function, sync key table (root) explicitly.

2002-04-02  Not Zed  <NotZed@Ximian.com>

        * camel-block-file.c (camel_block_file_free_block): Mark root
        block dirty when we change it (this function isn't used yet
        anyway).

        * camel-text-index.c (text_index_add_name_to_word): Touch the root
        block when we modify the counts.  Also, abort processing on any
        errors.
        (text_index_sync): Fix typo in comments.  Sync the block file
        inside the lock.
        (text_index_compress_nosync): Lock the old index while we're
        compressing.
        (text_index_compress_nosync): Remove the bogus while() at the end
        of the while() loops!  Also plug a memleak - records weren't
        freed.
        (text_index_rename): Lock around rename op.
        (text_index_add_name): More typos.
        (text_index_sync): Touch root when changing it.
        (text_index_add_name): "
        (text_index_delete_name): "
        (camel_text_index_new): Touch root if we change it.
        (text_index_cursor_reset): Make sure we NULL pointers after we
        free them (nothing uses this yet).

        * camel-partition-table.c (hash_key): Remove some debug
        accidentally left in.
        (camel_partition_table_add): When linking in the next block list,
        set the right previous pointer.
        (camel_key_table_add): Simplify the 'left' calculation (it was
        already ok though).
        (camel_key_table_next): Initialise returns before processing.
        Broaden the lock slightly, and simplify validity calculations.

22 years agoPut back in the exception setup stuff i disabled for debugging.
Not Zed [Tue, 2 Apr 2002 00:43:37 +0000 (00:43 +0000)]
Put back in the exception setup stuff i disabled for debugging.

2002-04-02  Not Zed  <NotZed@Ximian.com>

* providers/imap/camel-imap-store.c (imap_keepalive): Put back in
the exception setup stuff i disabled for debugging.

22 years agoTemporarily disable indexing.
Not Zed [Mon, 1 Apr 2002 23:58:53 +0000 (23:58 +0000)]
Temporarily disable indexing.

2002-04-02  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-folder.c
        (camel_local_folder_construct): Temporarily disable indexing.

2002-03-28  Not Zed  <NotZed@Ximian.com>

        * camel-partition-table.c (camel_key_table_lookup): Change range
        checking assert to a warning.

        * providers/pop3/camel-pop3-folder.c (pop3_finalize): Make sure we
        flush out all outstanding commands before finalising, stops being
        finalised while outsanding requests are processed by the store
        finalise.
        (pop3_get_message): Instead of pre-fetching all messages, just
        pre-fetch a maxiumum number at any one time, stops us running out
        of cache fd's.

        * providers/nntp/camel-nntp-folder.c (nntp_folder_init/finalise):
        Setup priv data + locks, & free.

        * providers/imap/camel-imap-folder.c (imap_rescan): Batch all
        message_chagned events into a single folder_changed event
        (otherwise updates can be >>> expensive, like >5 hours for 80K
        messages changing!).  Alternately it could use folder
        freeze/unfreeze perhaps.

2002-03-27  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-store.c (imap_keepalive): Pass an
        exception to called code so it behaves properly since it uses the
        passed exception to check returns.

22 years ago#include appropriate headers for mkdir
Jeffrey Stedfast [Mon, 1 Apr 2002 20:33:02 +0000 (20:33 +0000)]
#include appropriate headers for mkdir

22 years agoUse -avoid-version instead of -version-info 0:0:0, and specify -module.
Dan Winship [Mon, 1 Apr 2002 16:17:04 +0000 (16:17 +0000)]
Use -avoid-version instead of -version-info 0:0:0, and specify -module.

* providers/imap/Makefile.am (libcamelimap_la_LDFLAGS): Use
-avoid-version instead of -version-info 0:0:0, and specify
-module. (From Max Horn <max@quendi.de>).

* providers/local/Makefile.am (libcamellocal_la_LDFLAGS): Likewise.

* providers/nntp/Makefile.am (libcamelnntp_la_LDFLAGS): Likewise.

* providers/sendmail/Makefile.am (libcamelsendmail_la_LDFLAGS):
Likewise.

* providers/smtp/Makefile.am (libcamelsmtp_la_LDFLAGS): Likewise.

* providers/pop3/Makefile.am (libcamelpop3_la_LDFLAGS): Likewise.
Also remove $(KRB4_LDFLAGS) since KPOP is gone.
(INCLUDES): and $(KRB4_CFLAGS)

22 years agoWe now have to check to make sure that p->message is non-NULL because we
Jeffrey Stedfast [Fri, 29 Mar 2002 00:04:28 +0000 (00:04 +0000)]
We now have to check to make sure that p->message is non-NULL because we

2002-03-28  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (do_copy): We now have to check to make
sure that p->message is non-NULL because we only load the message
when we have to.
(do_move): Same here.

22 years agoChange the message arg to a CamelMimeMessage instead of a CamelMedium.
Dan Winship [Thu, 28 Mar 2002 23:20:09 +0000 (23:20 +0000)]
Change the message arg to a CamelMimeMessage instead of a CamelMedium.

* camel-transport.c (camel_transport_send_to): Change the message
arg to a CamelMimeMessage instead of a CamelMedium. Even the NNTP
provider returns CamelMimeMessages, and we're never going to
support anything more exotic than that. Also do a few more
g_return_if_fails here instead of in the providers.
(camel_transport_can_send): No longer needed.
(camel_transport_send): Remove this too. It wasn't being used any
more, and it doesn't behave exactly the same in sendmail and smtp.

* providers/smtp/camel-smtp-transport.c (smtp_send,
smtp_can_send): Gone.
(smtp_send_to): Update for arg change.
(smtp_data): Make this take a CamelMimeMessage too.

* providers/sendmail/camel-sendmail-transport.c (sendmail_send,
sendmail_can_send): Gone.
(sendmail_send_to): Update for arg change, and merge in the part
that used to be shared with sendmail_send.

22 years agoConstruct the source_url the right way. The previous way was generating
Jeffrey Stedfast [Wed, 27 Mar 2002 19:38:08 +0000 (19:38 +0000)]
Construct the source_url the right way. The previous way was generating

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

* camel-filter-driver.c (camel_filter_driver_filter_folder):
Construct the source_url the right way. The previous way was
generating urls like pop://fejj@ximian.com;keep_on_server/inbox
which is wrong.

22 years agoChanged to use just g_utf8_strdown instead of utf8_normalise, to match the
Not Zed [Mon, 25 Mar 2002 22:58:13 +0000 (22:58 +0000)]
Changed to use just g_utf8_strdown instead of utf8_normalise, to match the

2002-03-26  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_normalise): Changed to use just
        g_utf8_strdown instead of utf8_normalise, to match the indexing
        code.  utf8_normalise is just far too expensive (saves approx 25%
        total processing).

22 years agoupdated
Jeffrey Stedfast [Mon, 25 Mar 2002 21:47:36 +0000 (21:47 +0000)]
updated

22 years agoWhen we add a new name, up all of the cache limits, because we're probably
Not Zed [Mon, 25 Mar 2002 12:11:44 +0000 (12:11 +0000)]
When we add a new name, up all of the cache limits, because we're probably

2002-03-25  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_add_name): When we add a new
        name, up all of the cache limits, because we're probably going to
        be adding more.
        (text_index_sync): Drop the cache limits back down again, we dont
        need them when looking words up.

        ** MERGE camel_index branch.

        * camel-text-index.[ch]: Added files i forgot to add (eep nearly
        lost all this work!)

        * camel-block-file.c (sync_nolock): Fix an infinite loop in syncing.

22 years agoUse the date in the received header for the received_date.
Jeffrey Stedfast [Fri, 22 Mar 2002 00:19:58 +0000 (00:19 +0000)]
Use the date in the received header for the received_date.

2002-03-21  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder-summary.c (camel_message_info_new_from_header): Use
the date in the received header for the received_date.

22 years agoFix this to work right. We need to convert the input buffer to the charset
Jeffrey Stedfast [Tue, 19 Mar 2002 23:29:41 +0000 (23:29 +0000)]
Fix this to work right. We need to convert the input buffer to the charset

2002-03-19  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c (header_encode_param): Fix this to work
right. We need to convert the input buffer to the charset we claim
in the encoded param (duh).

22 years agoUpdated to use the same logic as the POP code.
Jeffrey Stedfast [Mon, 18 Mar 2002 21:59:54 +0000 (21:59 +0000)]
Updated to use the same logic as the POP code.

2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Updated to use the same logic as the
POP code.

22 years agoNo longer takes a stls_supported argument since we no longer need it with
Jeffrey Stedfast [Mon, 18 Mar 2002 21:31:25 +0000 (21:31 +0000)]
No longer takes a stls_supported argument since we no longer need it with

2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-store.c (connect_to_server): No longer
takes a stls_supported argument since we no longer need it with
the new logic.
(connect_to_server_wrapper): New logic: First try connecting to
the SSL port (995 by default), if that fails with
SERVICE_UNAVAILABLE, then we attempt to connect (to port 110 by
default) and try to use STARTTLS.

22 years agoDon't allow any empty structs. If !ENABLE_THREADS, provide a gpointer
Jeffrey Stedfast [Fri, 15 Mar 2002 19:06:30 +0000 (19:06 +0000)]
Don't allow any empty structs. If !ENABLE_THREADS, provide a gpointer

2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

* camel-private.h: Don't allow any empty structs. If
!ENABLE_THREADS, provide a gpointer dummy member. Fixes bug #6382.

22 years agoAdded a work-around for SMTP servers that can't read the RFCs and thus
Jeffrey Stedfast [Wed, 13 Mar 2002 23:44:29 +0000 (23:44 +0000)]
Added a work-around for SMTP servers that can't read the RFCs and thus

2002-03-13  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/camel-smtp-transport.c (smtp_auth): Added a
work-around for SMTP servers that can't read the RFCs and thus
implement SASL incorrectly. Oh well, that's life in the world of
mail clients I guess.

22 years agoreverted my USER/PASS quoting fix
Jeffrey Stedfast [Wed, 13 Mar 2002 21:55:53 +0000 (21:55 +0000)]
reverted my USER/PASS quoting fix

22 years agoQuote the USER and PASS arguments since some people have spaces in their
Jeffrey Stedfast [Wed, 13 Mar 2002 20:47:00 +0000 (20:47 +0000)]
Quote the USER and PASS arguments since some people have spaces in their

2002-03-13  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Quote
the USER and PASS arguments since some people have spaces in their
user-names and/or passwords.

22 years agoNow takes a url argument.
Jeffrey Stedfast [Tue, 12 Mar 2002 20:36:08 +0000 (20:36 +0000)]
Now takes a url argument.

2002-03-12  Jeffrey Stedfast  <fejj@ximian.com>

* camel-digest-store.c (camel_digest_store_new): Now takes a url
argument.

* camel-digest-folder.c (digest_add_multipart): Fixed some memory
corruption and also modified to use CAMEL_IS_MIME_MESSAGE() rather
than comparing content-type strings.
(digest_get_message): Fixed a logic blooper.

* camel-folder-summary.c (camel_message_info_new_from_header): Set
the date fields of the CamelMessageInfo as well. This may even fix
some filter-related bugs where the user was trying to compare
dates.

22 years agodo the typedef's in camel-types.h and include camel-digest-store.h in camel.h
Jeffrey Stedfast [Tue, 12 Mar 2002 00:55:53 +0000 (00:55 +0000)]
do the typedef's in camel-types.h and include camel-digest-store.h in camel.h

22 years agoA pretty empty store implementation to be the parent store of a
Jeffrey Stedfast [Tue, 12 Mar 2002 00:24:03 +0000 (00:24 +0000)]
A pretty empty store implementation to be the parent store of a

2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>

* camel-digest-store.c: A pretty empty store implementation to be
the parent store of a CamelDigestFolder.

* camel-digest-folder.c: Updated to reference it's parent store.

22 years agoAllow any leaf part to be a message/rfc822 part. (digest_get_uids):
Jeffrey Stedfast [Mon, 11 Mar 2002 23:38:42 +0000 (23:38 +0000)]
Allow any leaf part to be a message/rfc822 part. (digest_get_uids):

2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>

* camel-digest-folder.c (camel_digest_folder_new): Allow any leaf
part to be a message/rfc822 part.
(digest_get_uids): Recurse the mime structure and add all
message/rfc822 parts and use a uid scheme similar to IMAP's mime
part naming convention.
(digest_get_message): Decode the uid to get the correct mime part.

22 years agoChange the order of the mailing list magic patterns so that the more
Ettore Perazzoli [Mon, 11 Mar 2002 19:25:42 +0000 (19:25 +0000)]
Change the order of the mailing list magic patterns so that the more

* camel-mime-utils.c: Change the order of the mailing list magic
patterns so that the more mailing-list specific ones are on the
top.

22 years agooops, musta backspaced over a brace?
Jeffrey Stedfast [Mon, 11 Mar 2002 17:06:27 +0000 (17:06 +0000)]
oops, musta backspaced over a brace?

22 years agoThese fixes should fix bug #21737.
Jeffrey Stedfast [Mon, 11 Mar 2002 17:01:15 +0000 (17:01 +0000)]
These fixes should fix bug #21737.

2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>

These fixes should fix bug #21737.

* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Same as with the POP code.

* providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
Slight restructuring of the if-statements for the USE_SSL_ALWAYS
case so that we can't possibly return TRUE unless we really did
connect successfully.

22 years ago Rename the OpenSSL implementation of things to match the NSS
Dan Winship [Mon, 11 Mar 2002 02:33:27 +0000 (02:33 +0000)]
Rename the OpenSSL implementation of things to match the NSS
        implementation so that callers don't need to care which one is
being used.

* camel-tcp-stream-openssl.c: Implement CamelTcpStreamSSL, not
CamelTcpStreamOpenSSL. Rename methods as well. Replace the
camel-tcp-stream-openssl.h include with camel-tcp-stream-ssl.h.

        * camel-tcp-stream-openssl.h: Gone.

        * camel-tcp-stream-ssl.c: Add a note explaining that this
implementation is only used for NSS, and that OpenSSL's
implementation is in another file. (Should probably do some CVS
renaming magic at some point.)

        * camel-http-stream.c (http_connect): Remove OpenSSL refs; the
        previously-NSS-specific code works for both now.

        * camel-remote-store.c: Likewise.

        * providers/smtp/camel-smtp-transport.c: Likewise.

        * providers/pop3/camel-pop3-store.c: Likewise.

        * Makefile.am (libcamelinclude_HEADERS): Remove
camel-tcp-stream-openssl.h

22 years agoRemove this: it couldn't be generically used, because different subclasses
Dan Winship [Mon, 11 Mar 2002 00:53:49 +0000 (00:53 +0000)]
Remove this: it couldn't be generically used, because different subclasses

        * camel-tcp-stream.c (camel_tcp_stream_get_socket): Remove this:
it couldn't be generically used, because different subclasses
returned entirely different types of data.
(camel_tcp_stream_get_local_address,
camel_tcp_stream_get_remote_address): Add these to replace what
get_socket was being used for.
(camel_tcp_address_new, camel_tcp_address_free): Utility functions
for get_{local,remote}_address.

* providers/smtp/camel-smtp-transport.c: Change localaddr to a
        CamelTcpAddress *.
        (connect_to_server): Call camel_tcp_stream_get_local_address to
get the local IP address.
        (smtp_disconnect): free localaddr.
        (smtp_helo): Update for localaddr change.

        * camel-tcp-stream-raw.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.

* camel-tcp-stream-ssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.

        * camel-tcp-stream-openssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.