platform/upstream/evolution-data-server.git
24 years agodefine a set of CAMEL_SERVICE_URL_ALLOW_* flags parallel to the _NEED_*
Dan Winship [Thu, 13 Jul 2000 17:17:56 +0000 (17:17 +0000)]
define a set of CAMEL_SERVICE_URL_ALLOW_* flags parallel to the _NEED_*

* camel-service.h: define a set of CAMEL_SERVICE_URL_ALLOW_* flags
parallel to the _NEED_* flags, and make the _NEED_* flags imply
the _ALLOW_* ones.

* providers/imap/camel-imap-store.c (camel_imap_store_init): imap
urls ALLOW_PATH

24 years agoNew and improved approach to fetching an entire folder summary that should
Jeffrey Stedfast [Thu, 13 Jul 2000 08:56:52 +0000 (08:56 +0000)]
New and improved approach to fetching an entire folder summary that should

2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_get_summary): New
and improved approach to fetching an entire folder summary
that should be much much faster than the old way as it gets
the entire folder summary in 1 shot rather than requesting
message by message. As with the last update, this version
also only fetches the minimum number of header fields.
(imap_get_summary): Oops, forgot to free the temp
GPtrArray *headers

24 years agoNew and improved approach to fetching an entire folder summary that should
Jeffrey Stedfast [Thu, 13 Jul 2000 08:28:24 +0000 (08:28 +0000)]
New and improved approach to fetching an entire folder summary that should

2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_get_summary): New
and improved approach to fetching an entire folder summary
that should be much much faster than the old way as it gets
the entire folder summary in 1 shot rather than requesting
message by message. As with the last update, this version
also only fetches the minimum number of header fields.

24 years agoDon't fetch the entire RFC822 header, just fetch the fields we want.
Jeffrey Stedfast [Thu, 13 Jul 2000 05:50:20 +0000 (05:50 +0000)]
Don't fetch the entire RFC822 header, just fetch the fields we want.

2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_get_summary): Don't
fetch the entire RFC822 header, just fetch the fields we want.
(imap_get_message_info): Same.

24 years ago Remove some text cruft i was using for testing.
Michael Zucci [Thu, 13 Jul 2000 04:03:38 +0000 (04:03 +0000)]
Remove some text cruft i was using for testing.

24 years agoReset filter on setup. (reset): When resetting qp encoding, set the state
Not Zed [Thu, 13 Jul 2000 04:02:13 +0000 (04:02 +0000)]
Reset filter on setup. (reset): When resetting qp encoding, set the state

2000-07-13  Not Zed  <NotZed@HelixCode.com>

        * camel-mime-filter-basic.c (camel_mime_filter_basic_new_type):
        Reset filter on setup.
        (reset): When resetting qp encoding, set the state to -1, instead
        of 0.

        * camel-mime-utils.c (quoted_encode_step): Actually count the
        characters output sofar (it never counted any).  Bunch of other
        fixes.
        (quoted_encode_close): Also flush out final character, if ther's
        one.

24 years agoOops, missed a source file.
Jeffrey Stedfast [Thu, 13 Jul 2000 02:14:50 +0000 (02:14 +0000)]
Oops, missed a source file.
Added #include <e-util/e-util.h> and renamed strstrcase to e_strstrcase in providers/imap/camel-imap-folder.c

24 years agoChris forgot to add #include <e-util/e-util.h> to the source files
Jeffrey Stedfast [Thu, 13 Jul 2000 02:11:57 +0000 (02:11 +0000)]
Chris forgot to add #include <e-util/e-util.h> to the source files

2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

Chris forgot to add #include <e-util/e-util.h> to the source files

* providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's
fix, we don't want to send a string to a %d.

24 years agoUndid clahey's e_strstrcase because e_strstrcase DOES NOT EXIST in
Jeffrey Stedfast [Thu, 13 Jul 2000 01:35:25 +0000 (01:35 +0000)]
Undid clahey's e_strstrcase because e_strstrcase DOES NOT EXIST in

2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

Undid clahey's e_strstrcase because e_strstrcase DOES NOT EXIST
in e-utils/e-utils.c nor anywhere else in Evolution - besides,
Camel should remain independant of Evolution.

* providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's
fix, we don't want to send a string to a %d.

24 years agoFrom addressbook/ChangeLog:
Christopher James Lahey [Wed, 12 Jul 2000 22:59:24 +0000 (22:59 +0000)]
From addressbook/ChangeLog:

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

* backend/pas/pas-backend-file.c: Do case insensitive compares.

* addressbook/gui/component/addressbook.c: Make quick search
search both name and company name.

From camel/ChangeLog:

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

* camel-folder-search.c, providers/imap/camel-imap-store.c:
Changed from strstrcase to e_strstrcase.

* string-utils.c, string-utils.h: Removed strstrcase (in favor of
e_strstrcase in e-util/e-util.c.)

From e-util/ChangeLog:

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

* e-util.c, e-util.h: Added e_strstrcase function.

24 years agoget the article num out of our uid and mark it read in the newsrc.
Chris Toshok [Wed, 12 Jul 2000 21:24:26 +0000 (21:24 +0000)]
get the article num out of our uid and mark it read in the newsrc.

2000-07-12  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-folder.c
(nntp_folder_set_message_flags): get the article num out of our
uid and mark it read in the newsrc.
(nntp_folder_get_message): get the message id out of the uid to
fetch the article.

* providers/nntp/camel-nntp-utils.c (get_XOVER_headers): the uid
is now <article-num>,<messageid>
(get_HEAD_headers): same.

* camel-mime-parser.c (folder_scan_step): go to HSCAN_MESSAGE
state when ct->subtype is "news" as well as "rfc822".  this makes
attachments of type "message/news" display properly.

24 years agoUseful default implementations for free_{uids,subfolder_names,summary}.
Dan Winship [Wed, 12 Jul 2000 20:37:00 +0000 (20:37 +0000)]
Useful default implementations for free_{uids,subfolder_names,summary}.

* camel-folder.c (camel_folder_free_deep,
camel_folder_free_shallow, camel_folder_free_nop): Useful default
implementations for free_{uids,subfolder_names,summary}.
(free_subfolder_names, free_uids): Make these g_warning-ing
default implementations.

* providers/*/camel-*-folder.c: Use the new functions where
appropriate, remove duplicated code.

24 years agoSolaris fixes: make sure not to pass NULL to printf's %s
Matthew Loper [Wed, 12 Jul 2000 19:46:08 +0000 (19:46 +0000)]
Solaris fixes: make sure not to pass NULL to printf's %s

24 years agoUse mbox_set_message_flags () instead of setting the flags by hand. This
Jeffrey Stedfast [Wed, 12 Jul 2000 19:28:50 +0000 (19:28 +0000)]
Use mbox_set_message_flags () instead of setting the flags by hand. This

2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/mbox/camel-mbox-folder.c (mbox_delete_message): Use
mbox_set_message_flags () instead of setting the flags by hand. This
fixes the problem of the "message_changed" signal not being emitted
at the correct time.

* providers/imap/camel-imap-folder.c: "folder_changed" signals should
pass a third argument (which is ignored).

* camel-folder.c: Undo gtk signal emits done in set_flags and
expunge.
(move_message_to):
(copy_message_to): Create info as a const CamelMessageInfo

24 years agodon't add test-newsrc to the build since it needs libcamel (which isn't
Chris Toshok [Wed, 12 Jul 2000 18:14:31 +0000 (18:14 +0000)]
don't add test-newsrc to the build since it needs libcamel (which isn't

2000-07-12  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/Makefile.am: don't add test-newsrc to the build
since it needs libcamel (which isn't built at the time test-newsrc
needs linking.)

* providers/nntp/camel-nntp-utils.c (get_HEAD_headers): fill in
MessageInfo->message_id.
(get_XOVER_headers): same.

* providers/nntp/camel-nntp-folder.c (nntp_folder_init): move
summary loading here.
(nntp_folder_sync): summary/newsrc changes should be stored here.
put a comment to that effect.
(nntp_folder_set_message_flags): don't save the newsrc here.
(nntp_folder_get_uids): use g_ptr_array_index instead of the
cast/addition.
(nntp_folder_get_summary): no need to check if we should generate
the summary here.  already done.
(nntp_folder_get_message_info): implement.

* providers/nntp/camel-nntp-store.c
(camel_nntp_store_get_toplevel_dir): use evolution_dir instead of
computing it ourselves.
(nntp_store_disconnect): call camel_nntp_newsrc_write.
(ensure_news_dir_exists): new function to create the news/<news
server> subdir.
(camel_nntp_store_class_init): hook up connect/disconnect and
finalize.
(nntp_store_connect): if ensure_news_dir_exists fails throw an
exception.

24 years agoFix bug #378: last displayed message is still shown in an empty folder
Peter Williams [Wed, 12 Jul 2000 16:02:02 +0000 (16:02 +0000)]
Fix bug #378: last displayed message is still shown in an empty folder

24 years agoFix bug #394: Refiling messages does not update the view
Peter Williams [Wed, 12 Jul 2000 15:45:59 +0000 (15:45 +0000)]
Fix bug #394: Refiling messages does not update the view

24 years agoUse size_t and ssize_t for read/write methods
Jeffrey Stedfast [Wed, 12 Jul 2000 04:30:18 +0000 (04:30 +0000)]
Use size_t and ssize_t for read/write methods

2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-stream.c: Use size_t and ssize_t for read/write methods

24 years agoUpdated to emit the message_changed signal. (imap_delete_message): Updated
Jeffrey Stedfast [Wed, 12 Jul 2000 04:13:21 +0000 (04:13 +0000)]
Updated to emit the message_changed signal. (imap_delete_message): Updated

2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_set_message_flags):
Updated to emit the message_changed signal.
(imap_delete_message): Updated to use imap_set_message_flags ().
(imap_move_message_to): Updated to use imap_set_message_flags ()
and to emit the folder_changed signal on the destination folder.
(imap_copy_message_to): Updated to emit the folder_changed signal
on the destination folder.
(imap_append_message): Updated to emit the folder_changed signal
on the destination folder.

24 years agofix %08x to %04x
Jeffrey Stedfast [Wed, 12 Jul 2000 00:36:07 +0000 (00:36 +0000)]
fix %08x to %04x

24 years agoNow takes a flags argument to specify the flags to be set on the message
Jeffrey Stedfast [Wed, 12 Jul 2000 00:00:11 +0000 (00:00 +0000)]
Now takes a flags argument to specify the flags to be set on the message

2000-07-11  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-folder.c (camel_folder_append_message): Now takes a
flags argument to specify the flags to be set on the message
since we might not necessarily want the flags to be wiped clean.
(move_message_to):
(copy_message_to): Updated to send a flags argument to
append_message (); currently sends the original message's flags.

* providers/mbox/camel-mbox-folder.c (mbox_append_message):
* providers/imap/camel-imap-folder.c (imap_append_message):
Updated.

24 years agoThis shouldn't return NULL, it should return g_ptr_array_new () so the
Jeffrey Stedfast [Tue, 11 Jul 2000 20:19:28 +0000 (20:19 +0000)]
This shouldn't return NULL, it should return g_ptr_array_new () so the

2000-07-11  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_search_by_expression):
This shouldn't return NULL, it should return g_ptr_array_new ()
so the mailer gets what it expects.

24 years agofile camel-async-handle.c was initially added on branch camel-async.
Peter Williams [Tue, 11 Jul 2000 20:19:25 +0000 (20:19 +0000)]
file camel-async-handle.c was initially added on branch camel-async.

24 years agofile camel-async-handle.h was initially added on branch camel-async.
Peter Williams [Tue, 11 Jul 2000 20:19:25 +0000 (20:19 +0000)]
file camel-async-handle.h was initially added on branch camel-async.

24 years agoOops, an unsigned integer can never be < 0
Jeffrey Stedfast [Tue, 11 Jul 2000 00:02:17 +0000 (00:02 +0000)]
Oops, an unsigned integer can never be < 0

2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-folder-summary.c (camel_folder_summary_decode_string):
Oops, an unsigned integer can never be < 0

24 years agoInitialize a variable to make this not crash again. And fix a bug so it
Dan Winship [Mon, 10 Jul 2000 21:49:47 +0000 (21:49 +0000)]
Initialize a variable to make this not crash again. And fix a bug so it

* providers/vee/camel-vee-folder.c (vee_search_by_expression):
Initialize a variable to make this not crash again. And fix a bug
so it actually does something.

24 years agoCleaned up a bunch of compile warnings
Jeffrey Stedfast [Mon, 10 Jul 2000 21:44:49 +0000 (21:44 +0000)]
Cleaned up a bunch of compile warnings

2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-folder-summary.c: Cleaned up a bunch of compile warnings

24 years agokill more debugging messages
Dan Winship [Mon, 10 Jul 2000 20:50:22 +0000 (20:50 +0000)]
kill more debugging messages

* providers/vee: kill more debugging messages

24 years agoImplemented.
Jeffrey Stedfast [Mon, 10 Jul 2000 07:30:59 +0000 (07:30 +0000)]
Implemented.

2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/mbox/camel-mbox-folder.c (mbox_get_unread_message_count):
* providers/vee/camel-vee-folder.c (vee_get_unread_message_count):
* providers/imap/camel-imap-folder.c (imap_get_unread_message_count):
Implemented.

* camel-folder.c (camel_folder_get_unread_message_count): New
convenience function to allow the mailer to query the number
of unread messages in a folder (for displaying message stats
in a folder tree?).

24 years agoNew function to copy a header_references structure.
Dan Winship [Sun, 9 Jul 2000 22:40:49 +0000 (22:40 +0000)]
New function to copy a header_references structure.

* camel-mime-utils.c (header_references_dup): New function to copy
a header_references structure.

* camel-folder-summary.c (camel_message_info_dup_to): New function
to (deep) copy the data from one CamelMessageInfo into another.
(camel_message_info_free): And free the data.

* providers/vee/camel-vee-folder.c (vee_sync): Implement. (empty).
(vee_search_by_expression): belatedly update for
camel_folder_search change.
(vee_folder_build): belatedly update for camel_folder_search
change. Use camel_message_info_dup_to and camel_message_info_free
(in particular, so that we get message_id and references info so
vfolders can be threaded).
(vee_folder_build_folder): Ditto.

24 years agoUpdate to reflect past changes in the Camel API. Use gtk macro casts
Jeffrey Stedfast [Sun, 9 Jul 2000 00:22:54 +0000 (00:22 +0000)]
Update to reflect past changes in the Camel API. Use gtk macro casts

2000-07-08  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/nntp/camel-nntp-folder.c:
* providers/nntp/camel-nntp-utils.c:
* providers/nntp/camel-nntp-store.c: Update to reflect past changes
in the Camel API. Use gtk macro casts wherever possible and use glib's
memory functions instead of standard c's (since they are not
compatable)

* providers/smtp/camel-smtp-transport.c:
* providers/imap/camel-imap-store.c: Wrap debug print statements
in a macro

* providers/imap/camel-imap-stream.c (stream_read): Make sure
that we get up to and including the last \n of the mime part.

* providers/imap/camel-imap-folder.c (imap_get_message): Make sure
that we get up to and including the last \n of the mime part.
Wrap debug print statements in a macro.

24 years agoupdated ChangeLog
Jeffrey Stedfast [Sat, 8 Jul 2000 05:26:16 +0000 (05:26 +0000)]
updated ChangeLog

24 years agoDon't cache the exact server response, only cache the important data (aka
Jeffrey Stedfast [Fri, 7 Jul 2000 22:09:57 +0000 (22:09 +0000)]
Don't cache the exact server response, only cache the important data (aka

2000-07-07  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-stream.c (stream_read): Don't cache
the exact server response, only cache the important data (aka
the mime part).

24 years agoWork around In-Reply-To's with unquoted punctuation. So many broken
Dan Winship [Fri, 7 Jul 2000 21:46:03 +0000 (21:46 +0000)]
Work around In-Reply-To's with unquoted punctuation. So many broken

* camel-mime-utils.c (header_references_decode): Work around
In-Reply-To's with unquoted punctuation. So many broken mailers.

24 years agoMake this return a GPtrArray rather than a GList.
Dan Winship [Fri, 7 Jul 2000 21:13:41 +0000 (21:13 +0000)]
Make this return a GPtrArray rather than a GList.

* camel-folder.c (camel_folder_search_by_expression): Make this
return a GPtrArray rather than a GList.

* camel-folder-search.c (camel_folder_search_execute_expression):
* providers/imap/camel-imap-folder.c (imap_search_by_expression):
* providers/mbox/camel-mbox-folder.c (mbox_search_by_expression):
* providers/nntp/camel-nntp-folder.c (nntp_search_by_expression):
Update to return a GPtrArray rather than a GList.

24 years agoFixed the parser to actually work
Jeffrey Stedfast [Fri, 7 Jul 2000 17:53:31 +0000 (17:53 +0000)]
Fixed the parser to actually work

2000-07-07  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/smtp/camel-smtp-transport.c (esmtp_get_authtypes):
Fixed the parser to actually work

24 years agoMake this deal with the full RFC822 References/In-Reply-To format rather
Dan Winship [Thu, 6 Jul 2000 21:28:23 +0000 (21:28 +0000)]
Make this deal with the full RFC822 References/In-Reply-To format rather

* camel-mime-utils.c (header_references_decode): Make this deal
with the full RFC822 References/In-Reply-To format rather than
just the more-nicely-behaved RFC1036 version. (Needed to parse
In-Reply-To headers with extra junk in them.)

24 years agoParse for more header information to allow message threading in IMAP.
Jeffrey Stedfast [Thu, 6 Jul 2000 20:52:41 +0000 (20:52 +0000)]
Parse for more header information to allow message threading in IMAP.

2000-07-06  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_get_summary): Parse for
more header information to allow message threading in IMAP.
(imap_get_message_info): Same.

* camel-folder-summary.c: Renamed summary_format_* to
camel_summary_format_* and moved them into public scope.

24 years agoOops. Don't pass port # as a string in the error code (if it fails to
Jeffrey Stedfast [Thu, 6 Jul 2000 05:11:11 +0000 (05:11 +0000)]
Oops. Don't pass port # as a string in the error code (if it fails to

2000-07-06  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/smtp/camel-smtp-transport.c (smtp_connect): Oops. Don't
pass port # as a string in the error code (if it fails to connect).

24 years agoChanged over to camel_imap_command_extended as that was the source of the
Jeffrey Stedfast [Thu, 6 Jul 2000 04:56:49 +0000 (04:56 +0000)]
Changed over to camel_imap_command_extended as that was the source of the

2000-07-06  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_append_message): Changed
over to camel_imap_command_extended as that was the source of the
problems - apparently appending replies with more than just 1 line.

24 years agomake header matching case-insensitive
Dan Winship [Thu, 6 Jul 2000 02:15:30 +0000 (02:15 +0000)]
make header matching case-insensitive

* camel-folder-search.c (search_header_contains): make header
matching case-insensitive

24 years agoremove some non-error case debugging messages.
Dan Winship [Thu, 6 Jul 2000 01:52:51 +0000 (01:52 +0000)]
remove some non-error case debugging messages.

* remove some non-error case debugging messages.

24 years agoSuppress debugging messages from the mbox provider.
Ettore Perazzoli [Wed, 5 Jul 2000 22:35:33 +0000 (22:35 +0000)]
Suppress debugging messages from the mbox provider.

24 years agoadded #include <glib.h> to camel-mime-utils.h
Jeffrey Stedfast [Wed, 5 Jul 2000 21:45:44 +0000 (21:45 +0000)]
added #include <glib.h> to camel-mime-utils.h

24 years agoAdded prototype for uudecode_step
Jeffrey Stedfast [Wed, 5 Jul 2000 21:24:53 +0000 (21:24 +0000)]
Added prototype for uudecode_step

2000-07-05  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-mime-utils.h: Added prototype for uudecode_step

* camel-mime-utils.c (uudecode_step): Cleaned up some junk that
should have been cleaned up when debugging printf's were taken out.

24 years agoFix the "clashing UIDs are not updated on disk" problem by syncing
Ettore Perazzoli [Wed, 5 Jul 2000 19:42:32 +0000 (19:42 +0000)]
Fix the "clashing UIDs are not updated on disk" problem by syncing
back to disk even if the saved UID does not match the in-memory UID
and added some debugging messages.

Also, make sure the UID we use for Ibex stuff is the new one when
changing UIDs to solve a clashing problem.

24 years agoAdd "Cc" to summary and bump summary version number.
Dan Winship [Wed, 5 Jul 2000 17:59:48 +0000 (17:59 +0000)]
Add "Cc" to summary and bump summary version number.

* camel-folder-summary.c: Add "Cc" to summary and bump summary
version number.

* camel-folder-search.c (search_header_contains): make "Cc" a
searchable header.

24 years agoCentralize creation of new UIDs for the summary.
Ettore Perazzoli [Tue, 4 Jul 2000 03:40:58 +0000 (03:40 +0000)]
Centralize creation of new UIDs for the summary.

24 years agoGet rid of unused function `camel_folder_summary_set_uid()'.
Ettore Perazzoli [Tue, 4 Jul 2000 02:37:00 +0000 (02:37 +0000)]
Get rid of unused function `camel_folder_summary_set_uid()'.

24 years agoParse In-Reply-To with header_references_decode, not header_msgid_decode.
Dan Winship [Mon, 3 Jul 2000 15:13:07 +0000 (15:13 +0000)]
Parse In-Reply-To with header_references_decode, not header_msgid_decode.

* camel-folder-summary.c (message_info_new): Parse In-Reply-To
with header_references_decode, not header_msgid_decode.

* camel-mime-message.c (camel_mime_message_class_init): message
headers are case-insensitive.

24 years agoFix a bug in error-setting code. (pop3_connect): Don't re-prompt for
Dan Winship [Mon, 3 Jul 2000 14:36:40 +0000 (14:36 +0000)]
Fix a bug in error-setting code. (pop3_connect): Don't re-prompt for

* providers/pop3/camel-pop3-store.c (camel_pop3_command): Fix a
bug in error-setting code.
(pop3_connect): Don't re-prompt for password in the KPOP case.
(pop3_get_response): New function, split out from
camel_pop3_command.
(connect_to_server): Use pop3_get_response to parse the greeting
message, and error out appropriately if it's -ERR.

24 years agoadd this, which was missing from ChangeLog in the previous commit:
Dan Winship [Mon, 3 Jul 2000 01:21:38 +0000 (01:21 +0000)]
add this, which was missing from ChangeLog in the previous commit:

(append_message): emit "folder_changed" on a successful append.

24 years agoNew functions to freeze and thaw a folder (to prevent message/folder
Dan Winship [Mon, 3 Jul 2000 01:17:49 +0000 (01:17 +0000)]
New functions to freeze and thaw a folder (to prevent message/folder

        * camel-folder.c (camel_folder_freeze, camel_folder_thaw): New
        functions to freeze and thaw a folder (to prevent message/folder
        changed signals in the middle of a long series of operations).
        (camel_folder_class_init): Change signals to GTK_RUN_FIRST.
        (message_changed, folder_changed): Add default implementations
        that stop the emission and record info for later if the folder is
        frozen.

        * providers/mbox/camel-mbox-folder.c (mbox_sync): leftover fixes
        from the close->sync change: don't destroy the ibex, summary, and
        search when syncing.

24 years agoA rather complex uudecoder written in the spirit of Zucchi-ness, is it up
Jeffrey Stedfast [Sun, 2 Jul 2000 05:17:40 +0000 (05:17 +0000)]
A rather complex uudecoder written in the spirit of Zucchi-ness, is it up

2000-07-02  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-mime-utils.c (uudecode_step): A rather complex uudecoder
written in the spirit of Zucchi-ness, is it up to par? Only the
Z-man can tell us :-)

24 years agoNew method, to return an end-user-friendly name corresponding to a
Dan Winship [Sat, 1 Jul 2000 23:07:18 +0000 (23:07 +0000)]
New method, to return an end-user-friendly name corresponding to a

* camel-service.c (camel_service_get_name): New method, to return
an end-user-friendly name corresponding to a service. (eg, "POP
service for danw on trna.helixcode.com").

* providers/imap/camel-imap-store.c,
providers/mbox/camel-mbox-store.c,
providers/nntp/camel-nntp-store.c,
providers/pop3/camel-pop3-store.c,
providers/sendmail/camel-sendmail-transport.c,
providers/smtp/camel-smtp-transport.c: Implement.

24 years agoremove unneeded libcamelimap_la_LDADD.
Dan Winship [Sat, 1 Jul 2000 22:50:12 +0000 (22:50 +0000)]
remove unneeded libcamelimap_la_LDADD.

* providers/imap/Makefile.am: remove unneeded
libcamelimap_la_LDADD.

24 years agofix the CAPA-parsing code to not get into an infinite loop.
Dan Winship [Sat, 1 Jul 2000 22:10:22 +0000 (22:10 +0000)]
fix the CAPA-parsing code to not get into an infinite loop.

* providers/pop3/camel-pop3-store.c (connect_to_server): fix the
CAPA-parsing code to not get into an infinite loop.

24 years agoFixed the bug that would sometimes leave part of the server response
Jeffrey Stedfast [Sat, 1 Jul 2000 20:07:13 +0000 (20:07 +0000)]
Fixed the bug that would sometimes leave part of the server response

2000-07-01  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_get_message): Fixed
the bug that would sometimes leave part of the server response
tacked on to the end of the message.

24 years agoRenamed _by_uid methods. Since we no longer have get-by-number methods, no
Jeffrey Stedfast [Sat, 1 Jul 2000 04:48:28 +0000 (04:48 +0000)]
Renamed _by_uid methods. Since we no longer have get-by-number methods, no

2000-07-01  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-folder.c: Renamed _by_uid methods. Since we no longer
have get-by-number methods, no need to have the _by_uid
extensions.
(get_message_by_uid): Renamed to get_message
(delete_message_by_uid): Renamed to delete_message
(summary_get_by_uid): Renamed to get_message_info

* providers/mbox/camel-mbox-folder.c:
* providers/pop3/camel-pop3-folder.c:
* providers/imap/camel-imap-folder.c:
* providers/vee/camel-vee-folder.c: Updated to reflect
camel-folder changes.

24 years agoNew function, to copy a message from one folder to another. The default
Jeffrey Stedfast [Sat, 1 Jul 2000 01:35:19 +0000 (01:35 +0000)]
New function, to copy a message from one folder to another. The default

2000-06-30  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-folder.c (camel_folder_copy_message_to): New function, to
copy a message from one folder to another. The default
implementation just uses append_message, but providers can
implement more efficient versions for use when both folders are on
the same store.

* broken-date-parser.[c,h]: Utilities for parsing broken
date strings.

* providers/imap/camel-imap-folder.c (imap_move_message_to):
(imap_copy_message_to): Implemented.

* camel-mime-utils.c (header_decode_date): Wrote some code to try
and un-mangle broken date formats and then parse that new string
instead.

24 years agoUtilities for parsing broken date strings.
Jeffrey Stedfast [Sat, 1 Jul 2000 00:11:01 +0000 (00:11 +0000)]
Utilities for parsing broken date strings.

2000-06-30  Jeffrey Stedfast  <fejj@helixcode.com>

* broken-date-parser.[c,h]: Utilities for parsing broken
date strings.

* providers/imap/camel-imap-folder.c: fixed some mem leaks

24 years agoproviders/imap/camel-imap-folder.c: added move_message_to()
Jeffrey Stedfast [Fri, 30 Jun 2000 23:44:14 +0000 (23:44 +0000)]
providers/imap/camel-imap-folder.c: added move_message_to()

24 years agooops, forgot I had blocked that code from running :)
Jeffrey Stedfast [Fri, 30 Jun 2000 22:48:21 +0000 (22:48 +0000)]
oops, forgot I had blocked that code from running :)

24 years agoWrote some code to try and un-mangle broken date formats and then parse
Jeffrey Stedfast [Fri, 30 Jun 2000 22:43:42 +0000 (22:43 +0000)]
Wrote some code to try and un-mangle broken date formats and then parse

2000-06-30  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-mime-utils.c (header_decode_date): Wrote some code to try
and un-mangle broken date formats and then parse that new string
instead.

24 years agoNew function, to move a message from one folder to another. The default
Dan Winship [Fri, 30 Jun 2000 20:04:46 +0000 (20:04 +0000)]
New function, to move a message from one folder to another. The default

* camel-folder.c (camel_folder_move_message_to): New function, to
move a message from one folder to another. The default
implementation just uses append_message and delete_message, but
providers can implement more efficient versions for use when both
folders are on the same store.

24 years agoimap_expunge should now give more meaningful errors
Jeffrey Stedfast [Thu, 29 Jun 2000 18:51:03 +0000 (18:51 +0000)]
imap_expunge should now give more meaningful errors

24 years agoChanged to keep prompting user for a valid password until it either
Jeffrey Stedfast [Thu, 29 Jun 2000 03:07:39 +0000 (03:07 +0000)]
Changed to keep prompting user for a valid password until it either

2000-06-28  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-store.c (imap_connect): Changed to
keep prompting user for a valid password until it either
authenticates or until Canceled by the user.
(camel_imap_command_extended): Improved speed (replaced the
g_strjoinv call with a faster implementation)

* providers/pop3/camel-pop3-store.c
(camel_pop3_command_get_additional_data): Fixed.
(pop3_connect): Changed to keep prompting the user for a
password until it either works or until Canceled by the user.

24 years agoGeneral cleanup (camel_mbox_summary_sync): Fixed a memory leak and added
Jeffrey Stedfast [Wed, 28 Jun 2000 16:55:55 +0000 (16:55 +0000)]
General cleanup (camel_mbox_summary_sync): Fixed a memory leak and added

2000-06-28  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/mbox/camel-mbox-summary.c: General cleanup
(camel_mbox_summary_sync): Fixed a memory leak and added
CamelException handling.

* providers/mbox/camel-mbox-store.c (delete_folder): Fixed a
memory leak

* providers/mbox/camel-mbox-folder.c (mbox_append_message):
Default 'off_t seek' to -1 so as to make sure it's initialized
before it's used in the case of a bad stat() call.
(mbox_sync): Updated
(mbox_expunge): Updated

24 years agoMove the CAPABILITY command here so we don't have to keep checking each
Jeffrey Stedfast [Tue, 27 Jun 2000 22:44:19 +0000 (22:44 +0000)]
Move the CAPABILITY command here so we don't have to keep checking each

2000-06-27  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-store.c (imap_connect): Move the
CAPABILITY command here so we don't have to keep checking
each time we open a folder.
(camel_imap_command_extended): If we are doing an EXAMINE,
don't bother doing a SELECT first.

* providers/imap/camel-imap-folder.c (imap_init): Update so
folder->has_search_capability depends on the parent IMAP store
(since this is really dependant on the IMAP implementation and
not the folder)

24 years agoDon't close the filter stream when done with it (this causes the source
Christopher James Lahey [Tue, 27 Jun 2000 18:47:46 +0000 (18:47 +0000)]
Don't close the filter stream when done with it (this causes the source

2000-06-27  Christopher James Lahey  <clahey@helixcode.com>

* providers/smtp/camel-smtp-transport.c: Don't close the filter
stream when done with it (this causes the source stream to close);
Instead, just flush it when done.

24 years agoMake header search 'to' match 'to', and not 'from', small typo, fixes
Michael Zucchi [Tue, 27 Jun 2000 04:09:36 +0000 (04:09 +0000)]
Make header search 'to' match 'to', and not 'from', small typo, fixes

2000-06-27  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

        * camel-folder-search.c (search_header_contains): Make header
        search 'to' match 'to', and not 'from', small typo, fixes #317.

24 years agoCalculate height including if clip_height is set to -1.
Christopher James Lahey [Tue, 27 Jun 2000 00:50:59 +0000 (00:50 +0000)]
Calculate height including if clip_height is set to -1.

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* widgets/e-text/e-text.c: Calculate height including if
clip_height is set to -1.

From addressbook/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* contact-editor/e-contact-editor-categories.c,
addressbook/gui/component/e-cardlist-model.c: Added
value_to_string handlers.

* demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and
"y" arguments.

* addressbook/gui/component/addressbook.c: Activated Click To Add
and set the click to add message.

* addressbook/gui/component/e-addressbook-model.c: Added
value_to_string and append_row handlers.

* addressbook/gui/component/e-select-names.c: Added a column.

From calendar/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* gui/calendar-model.c: Added an #ifdefed value_to_string handler
assignment.

From camel/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* providers/mbox/camel-mbox-summary.c: Added debugging
information.

From composer/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added e-msg-composer-select-file.h for make
distcheck.

From e-util/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h.

* e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like
a vbox using the reflow system.

From mail/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* message-list.c: Added a value_to_string handler.

From shell/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* glade/Makefile.am: Added EXTRA_DIST for make distcheck.

From widgets/e-table/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added e-table-click-to-add.c,
e-table-click-to-add.h, e-table-one.c, and e-table-one.h.

* e-table-click-to-add.c, e-table-click-to-add.h: A new canvas
item that represents a single row that sometimes exists.  It's for
adding new rows to your table.

* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
test-check.c, test-cols.c, test-table.c: Added value_to_string handlers.

* e-table-group-container.c: Use value_to_string to make grouping
not crash for non string columns.  Made some changes to work
properly in an ECanvasVbox.

* e-table-group-leaf.c, e-table-item.c: Made some changes to work
properly in an ECanvasVbox.

* e-table-model.c, e-table-model.h: Added append_row and
value_to_string methods.

* e-table-one.c, e-table-one.h: Given a source ETableModel, this
provides a single row model that uses the initialize_value,
duplicate_value, free_value, and value_is_empty methods of the
original source to implement set_value and value_at (and proxies
most of the other methods.)  This is used for ETableClickToAdd.

* e-table-simple.c, e-table-simple.h: Added append_row and
value_to_string handlers.  append_row uses a GtkArg instead of a
parameter to e_table_simple_new.

* e-table-subset.c: Added append_row and value_to_string handlers.

* e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd
and an ETableItem instead of an ETableItem directly.  Only show
the ETableClickToAdd if the top level of the xml SPEC has the
attribute click-to-add set to some non-zero integer.
(click-to-add="1").  Add a "click_to_add_message" argument.

* e-tree-model.c: Add a commented out value_to_string handler.

From widgets/meeting-time-sel/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added the include path to top_srcdir.

24 years agoproviders/imap/camel-imap-[store,folder].c: Improved folder parsing
Jeffrey Stedfast [Fri, 23 Jun 2000 19:51:48 +0000 (19:51 +0000)]
providers/imap/camel-imap-[store,folder].c: Improved folder parsing

24 years agoforgot this changelog entry last night.
Chris Toshok [Fri, 23 Jun 2000 18:36:53 +0000 (18:36 +0000)]
forgot this changelog entry last night.

24 years agoOops. Now appends the namespace to the folder before querying for the
Jeffrey Stedfast [Fri, 23 Jun 2000 02:31:47 +0000 (02:31 +0000)]
Oops. Now appends the namespace to the folder before querying for the

2000-06-22  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_get_message_count):
Oops. Now appends the namespace to the folder before querying
for the number of messages.

* providers/imap/camel-imap-store.c (imap_folder_exists): New
convenience function for use by imap_create().
(get_folder): If folder is specified as "/", we really want
"INBOX".

* providers/sendmail/camel-sendmail-provider.c:
* providers/vee/camel-vee-provider.c:
* providers/smtp/camel-smtp-provider.c:
* providers/mbox/camel-mbox-provider.c:
* providers/pop3/camel-pop3-provider.c:
* providers/imap/camel-imap-provider.c: Updated

* camel-session.c: Moved service_cache hash table into the
providers.
(service_cache_remove): Updated.
(camel_session_get_service): Updated.

* camel-url.c (camel_url_hash): Took out the hashing of
url->passwd. We don't want this anymore.

* providers/imap/camel-imap-folder.c (imap_init): Took out
references to 'namespace'
(camel_imap_folder_init): Same

* providers/imap/camel-imap-folder.h: No more namespace. We are
instead going to use url->path as the namespace.

24 years agoignore test-newsrc
Chris Toshok [Fri, 23 Jun 2000 02:03:35 +0000 (02:03 +0000)]
ignore test-newsrc

2000-06-22  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/.cvsignore: ignore test-newsrc

* providers/nntp/camel-nntp-store.c,
providers/nntp/camel-nntp-store.h,
providers/nntp/camel-nntp-folder.c,
providers/nntp/camel-nntp-folder.h,
providers/nntp/camel-nntp-utils.c: Bring the nntp provider up to a
state where it builds and is usable with the current camel.  there
are still warts (semi-broken .newsrc file handling, and a lack of
a subscribe ui -- in fact no way to add a new server, really), but
it'll display news messages.

* providers/nntp/Makefile.am (libcamelnntp_la_SOURCES): add
camel-nntp-newsrc.c
(libcamelnntpinclude_HEADERS): add camel-nntp-newsrc.h
also, add test-newsrc stuff.

* providers/nntp/test-newsrc.c: new file that tests the newsrc
stuff by parsing and regurgitating a .newsrc file for a particular
server.

* providers/nntp/camel-nntp-newsrc.c,
providers/nntp/camel-nntp-newsrc.h: new files, initial support for .newsrc files.

24 years agoUpdated
Jeffrey Stedfast [Thu, 22 Jun 2000 21:51:40 +0000 (21:51 +0000)]
Updated

2000-06-22  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/sendmail/camel-sendmail-provider.c:
* providers/vee/camel-vee-provider.c:
* providers/smtp/camel-smtp-provider.c:
* providers/mbox/camel-mbox-provider.c:
* providers/pop3/camel-pop3-provider.c:
* providers/imap/camel-imap-provider.c: Updated

* camel-session.c: Moved service_cache hash table into the
providers.
(service_cache_remove): Updated.
(camel_session_get_service): Updated.

* camel-url.c (camel_url_hash): Took out the hashing of
url->passwd. We don't want this anymore.

* providers/imap/camel-imap-folder.c (imap_init): Took out
references to 'namespace'
(camel_imap_folder_init): Same

* providers/imap/camel-imap-folder.h: No more namespace. We are
instead going to use url->path as the namespace.

24 years agoModified to use the "namespace" (url->path) if it exists.
Jeffrey Stedfast [Wed, 21 Jun 2000 23:51:36 +0000 (23:51 +0000)]
Modified to use the "namespace" (url->path) if it exists.

2000-06-21  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-store.c (imap_create): Modified to
use the "namespace" (url->path) if it exists.

* providers/imap/camel-imap-folder.c (imap_delete_message_by_uid):
Now just sets the deleted flag on the summary rather than speaking
directly to the IMAP server. This is both faster and cleaner.

24 years agoFix dumb bug.
Dan Winship [Wed, 21 Jun 2000 22:28:30 +0000 (22:28 +0000)]
Fix dumb bug.

* providers/pop3/camel-pop3-store.c (query_auth_types): Fix dumb
bug.

24 years agoIMAP is working! (sorta)
Jeffrey Stedfast [Wed, 21 Jun 2000 20:38:22 +0000 (20:38 +0000)]
IMAP is working! (sorta)
you can now read your INBOX

24 years agoWhen determining a mailboxe's folder_file_path et aluse its basename to prevent the...
Peter Williams [Wed, 21 Jun 2000 18:22:21 +0000 (18:22 +0000)]
When determining a mailboxe's folder_file_path et aluse its basename to prevent the triple-slash filenames (~/ev/inbox///movemail.ibex)

24 years agoSet date_received based on the first (most recent) "Received" header.
Dan Winship [Wed, 21 Jun 2000 18:15:27 +0000 (18:15 +0000)]
Set date_received based on the first (most recent) "Received" header.

* camel-folder-summary.c (message_info_new): Set date_received
based on the first (most recent) "Received" header.

24 years agoflush the filter stream before unreffing it, so it will
Dan Winship [Wed, 21 Jun 2000 02:09:48 +0000 (02:09 +0000)]
flush the filter stream before unreffing it, so it will

* camel-mime-part.c (write_to_stream): flush the filter stream
before unreffing it, so it will camel_mime_filter_complete.

* camel-stream-filter.c (camel_stream_filter_class_init): Fix a
braino so camel_stream_flush works here.

* camel-stream-mem.c (stream_seek): Fix a bug that resulted in
large attachments being silently dropped.

* providers/pop3/camel-pop3-store.c
(camel_pop3_command_get_additional_data): Don't use g_strjoinv
here, since it is O(n^2) on the length of the output string, and
we can do O(n).

* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): add a CRLF decoder
after the QP/B64 decoder if it's text.

24 years agonow parses flags gotten from the IMAP server correctly
Jeffrey Stedfast [Tue, 20 Jun 2000 22:33:40 +0000 (22:33 +0000)]
now parses flags gotten from the IMAP server correctly

24 years agoImplemented. (imap_sync): Added code to set flags on messages that have
Jeffrey Stedfast [Tue, 20 Jun 2000 22:07:48 +0000 (22:07 +0000)]
Implemented. (imap_sync): Added code to set flags on messages that have

2000-06-20  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_set_message_flags):
Implemented.
(imap_sync): Added code to set flags on messages that have had
their flags changed (however I #if'd it out until we are more
confidant in the IMAP code :)

24 years agoOnly fetch the summary if the folder summary doesn't already exist. When
Jeffrey Stedfast [Tue, 20 Jun 2000 21:11:07 +0000 (21:11 +0000)]
Only fetch the summary if the folder summary doesn't already exist. When

2000-06-20  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_get_summary): Only
fetch the summary if the folder summary doesn't already exist.
When the summary *does* exist, start fetching from 1, not 0.
(imap_free_summary): Don't do anything here.
(imap_finalize): Free the summary here instead of in
imap_free_summary().

* camel-url.c (check_equal): No need to check s1 if s2 is NULL
(camel_url_equal): Don't check the passwd component of the url.

and in mail/component-factory.c (create_imap_storage): removal of
debug statements
mail/folder-browser.c (folder_browser_load_folder): improved imap
service parser

24 years agomark the message info with CAMEL_MESSAGE_FOLDER_FLAGGED if we change the
Dan Winship [Tue, 20 Jun 2000 17:37:33 +0000 (17:37 +0000)]
mark the message info with CAMEL_MESSAGE_FOLDER_FLAGGED if we change the

* camel-folder-summary.c (camel_folder_summary_add): mark the
message info with CAMEL_MESSAGE_FOLDER_FLAGGED if we change the
uid, so the folder will know that it's dirty.

24 years agoNow returns the last line of data that the server sends back as well. This
Jeffrey Stedfast [Tue, 20 Jun 2000 17:34:18 +0000 (17:34 +0000)]
Now returns the last line of data that the server sends back as well. This

2000-06-20  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-store.c (camel_imap_command_extended):
Now returns the last line of data that the server sends back as
well. This is needed for commands like SELECT (like Peter pointed
out).
(camel_imap_command): No longer checks for SELECT (no need)

* providers/imap/camel-imap-folder.c: Added namespace stuff
which we will need later on...
(imap_parse_subfolder_line): Convenience function for use in
get_subfolder_names()
(imap_get_subfolder_names): Updated. Also changed it to use LIST
instead of LSUB (temporary change).

24 years agobasically got IMAP into the tree view
Jeffrey Stedfast [Tue, 20 Jun 2000 04:57:38 +0000 (04:57 +0000)]
basically got IMAP into the tree view

24 years agoSet summary equal to NULL. (imap_get_summary): Store the summary in the
Jeffrey Stedfast [Mon, 19 Jun 2000 20:54:50 +0000 (20:54 +0000)]
Set summary equal to NULL. (imap_get_summary): Store the summary in the

2000-06-19  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (camel_imap_folder_init):
Set summary equal to NULL.
(imap_get_summary): Store the summary in the ImapFolder
(imap_summary_get_by_uid): If we have a summary cache in the
ImapFolder, first check to see if that message info is in the
cached summary first, if not fetch it directly from the IMAP
server and append it to the summary cache.
(imap_get_message_flags): Don't free the message info that we
get back from summary_get_by_uid as we don't want to be
corrupting our cached summary.

24 years agoRead the full server reply when we SELECT mailboxes.
Peter Williams [Mon, 19 Jun 2000 20:46:20 +0000 (20:46 +0000)]
Read the full server reply when we SELECT mailboxes.

24 years agoNow gets the message flags as it should. (imap_get_summary): Same as
Jeffrey Stedfast [Sun, 18 Jun 2000 21:47:21 +0000 (21:47 +0000)]
Now gets the message flags as it should. (imap_get_summary): Same as

2000-06-18  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_summary_get_by_uid):
Now gets the message flags as it should.
(imap_get_summary): Same as imap_summary_get_by_uid
(imap_get_permanent_flags): Return the permanent flags stored
on the folder.
(imap_get_message_flags): Return message flags associated with
given uid. Note: we may want to somehow cache summary info so
that we don't have to keep querying the IMAP provider in
imap_summary_get_by_uid().

24 years agoWe were leaking memory - but not anymore! (imap_get_summary): We now get
Jeffrey Stedfast [Sun, 18 Jun 2000 01:56:23 +0000 (01:56 +0000)]
We were leaking memory - but not anymore! (imap_get_summary): We now get

2000-06-17  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_free_summary): We were
leaking memory - but not anymore!
(imap_get_summary): We now get the UIDs and the beginnings of the
code to get the message flags as well.

24 years agoDon't copy newlines into the parsed header text, and turn any number of
Dan Winship [Sun, 18 Jun 2000 00:59:15 +0000 (00:59 +0000)]
Don't copy newlines into the parsed header text, and turn any number of

* camel-mime-parser.c (folder_scan_header): Don't copy newlines
into the parsed header text, and turn any number of tabs and
spaces after a newline into a single space.

24 years agocamel/providers/imap/camel-imap-folder.c: CAPABILITY now works like it should
Jeffrey Stedfast [Sun, 18 Jun 2000 00:18:56 +0000 (00:18 +0000)]
camel/providers/imap/camel-imap-folder.c: CAPABILITY now works like it should
po/POTFILES.in: removed reference to camel/providers/imap/imap.c - this was just
a temporary file to use as a reference for IMAP code

24 years agoAdd some debugging printfs when rebulding summary to help figure out why
Dan Winship [Sat, 17 Jun 2000 19:12:47 +0000 (19:12 +0000)]
Add some debugging printfs when rebulding summary to help figure out why

* providers/mbox/camel-mbox-summary.c: Add some debugging printfs
when rebulding summary to help figure out why people's summaries
are always being rebuilt.

24 years agoremoved imap.c/h from providers/imap
Jeffrey Stedfast [Sat, 17 Jun 2000 19:00:58 +0000 (19:00 +0000)]
removed imap.c/h from providers/imap
began implementing search functionality

24 years agoAdded code to expunge if called for (still need to finish coding this).
Jeffrey Stedfast [Sat, 17 Jun 2000 05:29:55 +0000 (05:29 +0000)]
Added code to expunge if called for (still need to finish coding this).

2000-06-16  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c (imap_sync): Added code
to expunge if called for (still need to finish coding this).
(imap_get_uids): Implemented.
(imap_get_summary): Found a way to get the date
(imap_summary_get_by_uid): Same.
(imap_free_summary): Implemented.

* string-utils.c (strstrcase): Fixed a compile warning

* providers/imap/camel-imap-summary.c: Removed - we don't
need a CamelImapSummary structure.

24 years ago Move flag handling from CamelMimeMessage to CamelFolder. This
Dan Winship [Fri, 16 Jun 2000 23:09:43 +0000 (23:09 +0000)]
Move flag handling from CamelMimeMessage to CamelFolder. This
simplifies several flag-handling pieces of code in the mailer, and
lets you change a message's flags without having to fetch the
message body. It also means that fully-constructed
CamelMimeMessages are now essentially constant, which will help
simplify locking issues later since it means two threads
interested in the same message can just work with separate copies
of it.

* camel-mime-message.h (struct _CamelMimeMessage): Removed flags
and user_flags (moved to summary). Removed expunged and
message_number which were unused. Removed message_uid and folder
which are no longer needed in the new scheme.
(struct CamelMimeMessageClass): Removed message_changed signal and
get/set_message_number methods.

* camel-mime-message.c: Updates for CamelMimeMessage changes.
(camel_mime_message_get/set_flags,
camel_mime_message_get/set_user_flag): Replaced with methods in
CamelFolder.
(camel_flag_get, camel_flag_set, camel_flag_list_size,
camel_flag_list_free): Moved verbatim to camel-folder-summary.c

* camel-folder.c (camel_folder_get/set_message_flags,
camel_folder_get/set_message_user_flag): New methods (and
corresponding useless default implementations)
(camel_folder_class_init): add a message_changed signal

* camel-folder-summary.c (camel_flag_get, camel_flag_set,
camel_flag_list_size, camel_flag_list_free): Moved here from
camel-mime-message.c

* providers/mbox/camel-mbox-folder.c (message_changed): Removed.
(mbox_get_message_flags, mbox_set_message_flags,
mbox_get_message_user_flag, mbox_set_message_user_flag): Tweak
summary bits as appropriate. (Functionality moved here from
message_changed.)
(mbox_get_message_by_uid): Update for CamelMimeMessage changes
(less stuff to initialize).

* providers/imap/camel-imap-folder.c (message_changed): Remove
this. It was just copied from the mbox provider and doesn't deal
with the real IMAP flag stuff anyway. (So there's currently no
flag support in the IMAP provider.)
(imap_get_message_by_uid): Update for CamelMimeMessage changes.

* providers/vee/camel-vee-folder.c: (message_changed): Remove old
one. Add a new one to listen for message_changed on each folder
and re-emit message_changed signals that correspond to messages in
the vfolder.
(vee_get/set_message_flags, vee_get/set_message_user_flag): Proxy
flag setting to the underlying real messages.
(vee_append_message): Removed for now; there's no way to translate
this into the new CamelMimeMessage/CamelFolder scheme, but (a)
there's also no code which would ever call it and (b) we're
probably going want a better interface than append_message for
message drag and drop to work anyway. To be revisited.

24 years agoKLUDGE! Since neither ETable nor GtkHTML supports UTF-8 yet, output
Dan Winship [Fri, 16 Jun 2000 22:42:12 +0000 (22:42 +0000)]
KLUDGE! Since neither ETable nor GtkHTML supports UTF-8 yet, output

* camel-mime-utils.c (rfc2047_decode_word):
* camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser):
* camel-folder-summary.c (summary_build_content_info):
KLUDGE! Since neither ETable nor GtkHTML supports UTF-8 yet,
output ISO-8859-1 instead, so Ettore can read his Italian mail. :)
This will be reverted later.