platform/upstream/evolution-data-server.git
23 years agoadd subscribed_folders.
Chris Toshok [Wed, 25 Oct 2000 02:13:17 +0000 (02:13 +0000)]
add subscribed_folders.

2000-10-24  Chris Toshok  <toshok@helixcode.com>

* providers/imap/camel-imap-store.h: add subscribed_folders.

* providers/imap/camel-imap-store.c (camel_imap_store_class_init):
fill in vtable entries for subscription functions.
(camel_imap_store_finalize): new function, so we can free up our
subscribed_folders hashtable.
(camel_imap_store_init): set CAMEL_STORE_SUBSCRIPTIONS in the
CamelStore flags, and create our subscribed_folders hashtable.
(camel_imap_store_get_type): camel_imap_store_finalize is our
finalize function.
(get_folder_info): if we're looking at subscribed_only, clear out
the subscribed_folders hashtable, use LSUB instead of LIST, and
insert folder paths (prepended by their namespace if there is one)
into subscribed_folders.  INBOX subscription support needs work,
since we always show it, regardless of it's subscribed state.
(folder_subscribed): new function.  just look up the folder_path
in the hashtable.
(subscribe_folder): new function.  use the imap SUBSCRIBE command,
and if successful add it to the hashtable.
(unsubscribe_folder): new function.  use the imap UNSUBSCRIBE
command, and if successful remove it from the hashtable.

23 years agoadd a missing #include
Dan Winship [Tue, 24 Oct 2000 22:20:44 +0000 (22:20 +0000)]
add a missing #include

23 years agoFill in the message_count and unread_message_count flags (if !fast).
Dan Winship [Tue, 24 Oct 2000 18:49:30 +0000 (18:49 +0000)]
Fill in the message_count and unread_message_count flags (if !fast).

* providers/imap/camel-imap-store.c (get_folder_info): Fill in the
message_count and unread_message_count flags (if !fast).

23 years agolots of i18n fixes
Dan Winship [Tue, 24 Oct 2000 05:23:24 +0000 (05:23 +0000)]
lots of i18n fixes

23 years agoadd camel-nntp-types.h.
Chris Toshok [Mon, 23 Oct 2000 22:04:31 +0000 (22:04 +0000)]
add camel-nntp-types.h.

2000-10-23  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add
camel-nntp-types.h.

23 years agoFix a "how could this have been working before" memory overrun bug found
Dan Winship [Mon, 23 Oct 2000 20:28:32 +0000 (20:28 +0000)]
Fix a "how could this have been working before" memory overrun bug found

        * providers/imap/camel-imap-command.c (imap_read_untagged): Fix a
        "how could this have been working before" memory overrun bug
        found by Vlad.

23 years agoThese should have gone away a long time ago.
Dan Winship [Mon, 23 Oct 2000 18:04:22 +0000 (18:04 +0000)]
These should have gone away a long time ago.

* camel-op-queue.[ch], camel-thread-proxy.[ch]: These should have
gone away a long time ago.

23 years agore-enable the nntp provider.
Chris Toshok [Fri, 20 Oct 2000 21:57:50 +0000 (21:57 +0000)]
re-enable the nntp provider.

2000-10-20  Chris Toshok  <toshok@helixcode.com>

* providers/Makefile.am (SUBDIRS): re-enable the nntp provider.

23 years agoadd function to build a tree from the nntp group names (using '.' as a
Chris Toshok [Fri, 20 Oct 2000 21:46:14 +0000 (21:46 +0000)]
add function to build a tree from the nntp group names (using '.' as a

2000-10-20  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-store.c (build_folder_info): add
function to build a tree from the nntp group names (using '.' as a
heirarchy separator.)  #ifdefed INFO_AS_TREE only.
(build_folder_info_from_grouplist): if INFO_AS_TREE is selected,
call build_folder_info instead of appending a new CamelFolderInfo
to our list.
(ensure_news_dir_exists): use e_mkdir_hier instead of failing if a
parent directory (~/evolution/news generally) isn't there.

23 years ago#include <sys/types.h> before <regex.h>
Chris Toshok [Fri, 20 Oct 2000 05:19:04 +0000 (05:19 +0000)]
#include <sys/types.h> before <regex.h>

2000-10-19  Chris Toshok  <toshok@helixcode.com>

* camel-folder-search.c: #include <sys/types.h> before <regex.h>

23 years agoFix a bug with "INBOX" (or anything else with NIL hierarchy separator) as
Dan Winship [Fri, 20 Oct 2000 01:06:16 +0000 (01:06 +0000)]
Fix a bug with "INBOX" (or anything else with NIL hierarchy separator) as

* providers/imap/camel-imap-utils.c (imap_parse_list_response):
Fix a bug with "INBOX" (or anything else with NIL hierarchy
separator) as the namespace.

23 years agoEmit message_changed and folder_changed as appropriate.
Dan Winship [Fri, 20 Oct 2000 00:47:36 +0000 (00:47 +0000)]
Emit message_changed and folder_changed as appropriate.

* providers/imap/camel-imap-folder.c (imap_refresh_info): Emit
message_changed and folder_changed as appropriate.

23 years agoUpdate comment here so refresh_info isn't just for reconnects any more.
Dan Winship [Thu, 19 Oct 2000 20:30:43 +0000 (20:30 +0000)]
Update comment here so refresh_info isn't just for reconnects any more.

* camel-folder.c (camel_folder_refresh_info): Update comment here
so refresh_info isn't just for reconnects any more. Make the
default implementation a no-op rather than an error.

* providers/nntp/camel-nntp-folder.c: Move refresh_info impl into
camel_nntp_folder_new, since it would have leaked memory and not
done anything useful if it was called later.

* providers/mbox/camel-mbox-folder.c: Remove no-longer-necessary
refresh_info impl.

* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Update imap_folder->exists, but don't actually load the new
messages. This is a temporary workaround to deal with the IMAP
provider stealing the message list focus at annoying times.
(imap_copy_message_to, imap_move_message_to): Emit a
folder_changed by hand, for now.

23 years agoBuild fixes from Jacob, same as the other branch.
Ettore Perazzoli [Thu, 19 Oct 2000 17:45:35 +0000 (17:45 +0000)]
Build fixes from Jacob, same as the other branch.

23 years agoThe correct fix this time - the description should be encoded here and not
Jeffrey Stedfast [Thu, 19 Oct 2000 00:13:50 +0000 (00:13 +0000)]
The correct fix this time - the description should be encoded here and not

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

* camel-mime-part.c (camel_mime_part_set_description): The correct
fix this time - the description should be encoded here and not in
the camel-medium layer.

23 years agoInitialize the outbuf to be empty before calling unicode_iconv on it.
Ettore Perazzoli [Wed, 18 Oct 2000 18:36:10 +0000 (18:36 +0000)]
Initialize the outbuf to be empty before calling unicode_iconv on it.
This fixes a problem with duplicate message bodies on my machine.

23 years agoNo, we must not encode the headers here. These interfaces ARE raw
Not Zed [Wed, 18 Oct 2000 06:11:54 +0000 (06:11 +0000)]
No, we must not encode the headers here. These interfaces ARE raw

2000-10-18  Not Zed  <NotZed@HelixCode.com>

* camel-mime-part.c (add_header): No, we must not encode the
headers here.  These interfaces ARE raw interfaces as they are
defined in camel_medium.  Also removed a bogus/meaningless FIXME.
(set_header): Likewise here, we must not.
(process_header): Removed another bogus comment.

* camel-object.c (shared_is_of_type): Comment out the spitting of
a big warning when we're trying to determine types from code.

* providers/mbox/camel-mbox-summary.c
(message_info_new_from_parser): Only call ibex funcitons if we
have an index.

* providers/mh/camel-mh-summary.c (camel_mh_summary_add): Only
call ibex functions if we have an index.
(remove_summary): Likewise.
(camel_mh_summary_check): Likewise.

* providers/nntp/camel-nntp-store.c (nntp_store_get_folder):
get_folder -> flags argument.

* providers/vee/camel-vee-store.c (vee_get_folder): create->flags.

* providers/pop3/camel-pop3-store.c (get_folder): Changed create
-> flags.

* providers/imap/camel-imap-store.c (get_folder): Added flags
argument.

* providers/mh/camel-mh-folder.c (camel_mh_folder_new): Added
flags argument, and fixed code appropriately.

* providers/mh/camel-mh-store.c (get_folder): Added flags argument.

* camel-folder-search.c (message_body_contains): Perform a regex
match on the contents of messages.  This wont quite work yet as
message contents are encoded when written to a stream.
(build_match_regex): Converts a number of strings into a regex
matching pattern, escaping special chars.
(match_message): match a single message from a folder, by uid.
Slow.
(search_body_contains): Changed to support matching where no index
is supplied.  Matches are performed by retrieving message
contents, etc.
() WTF?  camel should not be including any widget headers.

* providers/mbox/camel-mbox-folder.c (camel_mbox_folder_new):
Added flags argument.
(mbox_refresh_info): Changed into a NOP, the refresh info code
moved into the new function.
(camel_mbox_folder_new): If we have an index requested, build one,
otherwise, remove an old one, or just dont do anything.

* providers/mbox/camel-mbox-store.c (get_folder): Changed create
to flags, changed code to suit.

* camel-store.c (camel_store_get_folder): Changed create to flags.
(get_folder_internal): And here.
(get_folder): And here too.

* camel-store.h (camel_store_get_folder): Change the create
argument to be a flags argument.

23 years ago (camel_imap_folder_new): Move the summary creation to after the
Dan Winship [Wed, 18 Oct 2000 03:41:29 +0000 (03:41 +0000)]
(camel_imap_folder_new): Move the summary creation to after the
folder selection again, since it depends on the uidvalidity
having been set.

23 years agoRemove cached info at the end of the summary when the folder shrinks
Dan Winship [Wed, 18 Oct 2000 03:03:48 +0000 (03:03 +0000)]
Remove cached info at the end of the summary when the folder shrinks

* providers/imap/camel-imap-folder.c (imap_refresh_info): Remove
cached info at the end of the summary when the folder shrinks
between sessions. Also remove an untrue comment.

* providers/imap/camel-imap-store.c (get_folder): Fix up
summary_file to not include the namespace twice.

23 years agoEncode the header value. (add_header): Same.
Jeffrey Stedfast [Wed, 18 Oct 2000 01:06:55 +0000 (01:06 +0000)]
Encode the header value. (add_header): Same.

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

* camel-mime-part.c (set_header): Encode the header value.
(add_header): Same.

23 years agoAdded some malloc check debugging stuff.
Not Zed [Tue, 17 Oct 2000 09:45:38 +0000 (09:45 +0000)]
Added some malloc check debugging stuff.

2000-10-17  Not Zed  <NotZed@HelixCode.com>

* camel-mime-filter.c: Added some malloc check debugging stuff.

* camel-mime-parser.c
(struct _header_scan_state): Removed top_part, top_start, and
pending.  I can't even remember why they were there, and they're
not used anymore.

* camel-mime-filter-basic.c (filter): Forgot to up the space here
too.

2000-10-14  Not Zed  <NotZed@HelixCode.com>

* camel-mime-filter-basic.c (complete): Ok, so we hit a fixme, 3x
just wasn't enough for some sequences.

23 years agoDon't imap_next_word(respbuf + 2), instead use imap_next_word(respbuf) or
Jeffrey Stedfast [Tue, 17 Oct 2000 03:41:03 +0000 (03:41 +0000)]
Don't imap_next_word(respbuf + 2), instead use imap_next_word(respbuf) or

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

* providers/imap/camel-imap-command.c
(imap_read_response): Don't imap_next_word(respbuf + 2), instead
use imap_next_word(respbuf) or else we'll skip over the second
token.

23 years agoDon't free 'resp' as it doesn't point to the beginning of the allocated
Jeffrey Stedfast [Tue, 17 Oct 2000 02:37:24 +0000 (02:37 +0000)]
Don't free 'resp' as it doesn't point to the beginning of the allocated

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

* providers/imap/camel-imap-command.c
(camel_imap_response_extract): Don't free 'resp' as it doesn't
point to the beginning of the allocated data, instead free
response->untagged->pdata[i]. Also, if '*resp' is equal to a space
character, then set resp = imap_next_word (resp) rather than
expecting resp++ to work (there's a list broken IMAP daemons that
like to put extra spaces between tokens).
(imap_read_response): Don't expect 'respbuf+2' to be where the
untagged number response to start (see above fix for an
explanation).

23 years agowhen using the construct (flags & CAMEL_SERVICE_URL_NEED_*) make sure to
Chris Toshok [Mon, 16 Oct 2000 23:09:35 +0000 (23:09 +0000)]
when using the construct (flags & CAMEL_SERVICE_URL_NEED_*) make sure to

2000-10-16  Chris Toshok  <toshok@helixcode.com>

* camel-service.c (get_path): when using the construct (flags &
CAMEL_SERVICE_URL_NEED_*) make sure to do ((flags &
CAMEL_SERVICE_URL_NEED_*) == CAMEL_SERVICE_URL_NEED_*)
(check_url): same.

23 years agoOnly send the LOGOUT command if the store is connected. (imap_connect):
Jeffrey Stedfast [Mon, 16 Oct 2000 21:00:59 +0000 (21:00 +0000)]
Only send the LOGOUT command if the store is connected. (imap_connect):

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

* providers/imap/camel-imap-store.c (imap_disconnect): Only send
the LOGOUT command if the store is connected.
(imap_connect): Set the 'connected' state to TRUE when we
successfully connect.
(get_folder_info): if (!topfi), 'topfi' was allocated but then
'fi' was set. I think Dan meant to set topfi since fi is an
uninitialized value at this point.

* providers/imap/camel-imap-command.c (imap_read_response): Check
for the untagged BYE response and set the 'connected' state to
FALSE if we receive the BYE response. Return NULL if we get a BYE
response.

23 years agoDeal with the possibility of not getting a LIST response back for the top
Dan Winship [Mon, 16 Oct 2000 18:10:42 +0000 (18:10 +0000)]
Deal with the possibility of not getting a LIST response back for the top

* providers/imap/camel-imap-store.c (get_folder_info): Deal with
the possibility of not getting a LIST response back for the top
level.

23 years agoSimple subclass of CamelFolderSummary that also keeps a UIDVALIDITY value
Dan Winship [Thu, 12 Oct 2000 20:55:11 +0000 (20:55 +0000)]
Simple subclass of CamelFolderSummary that also keeps a UIDVALIDITY value

* providers/imap/camel-imap-summary.c: Simple subclass of
CamelFolderSummary that also keeps a UIDVALIDITY value (and
doesn't, for the moment, build content info).

* providers/imap/camel-imap-folder.c:
(various): Use a CamelImapSummary to store/fetch summary info.
(camel_imap_folder_new): Take a path to a file to use for the
summary. Set the folder's permanent_flags correctly according to
the server response. Read in the summary (checking the
UIDVALIDITY) and update it if it's out of date.
(imap_refresh_info): Just fetch UIDs and flags. If the UIDs all
match, update the flags as needed and be done with it. Otherwise,
delete messages that have been expunged from the server and fetch
full summary info for any new messages.
(imap_sync): Save the summary to disk.
(imap_update_summary): Renamed from imap_get_summary_internal. Can
now be told to get summary for only a subset of messages. Use
camel-mime-utils functions rather than rolling our own header
parsing.
(imap_get_message_info_internal): Merged into imap_update_summary.
(imap_set_message_flags): Don't marked the message FOLDER_FLAGGED
if we're not actually changing the value of any of the flags.
(camel_imap_folder_changed): Deal with EXISTS rather than RECENT.

* providers/imap/camel-imap-store.c (imap_connect): Call
camel_session_get_storage_path and save the value.
(get_folder): Create a local directory to store summary
information and pass a summary file name to camel_imap_folder_new.
Don't call camel_folder_refresh_info from here any more since
camel_imap_folder_new does it again.

* providers/imap/camel-imap-command.c (camel_imap_command): Add a
special case to this to make it possible to get the repsonses from
a SELECT and still have store->current_folder be updated
correctly.
(imap_read_response): parse EXISTS rather than RECENT

* camel-session.c (camel_session_get_storage_path): Use
e_mkdir_hier.

* camel-folder-summary.c (camel_folder_summary_remove_index): New
function.

* camel-mime-utils.c (header_raw_append_parse): fix this.
(camel-mime-parser.c doesn't use this code because of the MEMPOOL
optimization, so nothing was ever actually calling it before.)

23 years agoRemoved temp_message_buffer, and content_input_stream fields which seem to
Not Zed [Thu, 12 Oct 2000 13:38:51 +0000 (13:38 +0000)]
Removed temp_message_buffer, and content_input_stream fields which seem to

2000-10-11  Not Zed  <NotZed@HelixCode.com>

* camel-mime-part.h (struct _CamelMimePart): Removed
temp_message_buffer, and content_input_stream fields which seem to
have come from nowhere, and are unused.

* camel-mime-utils.c: Added a note about touching this file.
Nobody is to touch it without asking me first.  That goes for you
too Jeff.
(header_decode_text): In what way is this broken?

2000-10-10  Not Zed  <NotZed@HelixCode.com>

* providers/imap/camel-imap-folder.c (imap_get_summary_internal):
Fix camel_summary_* function rename
(imap_get_message_info_internal): Likewise.

* camel-mime-parser.c (camel_mime_parser_finalise): Fixed a spelling mistake.

* camel-folder-summary.c (camel_summary_format_address): Uh, why
do we encode and then decode here ... sigh.  This is not the way
to fix this.
(camel_folder_summary_format_address): Renamed to a proper name,
this was only supposed to be a private function.
(camel_folder_summary_format_string): Likewise.  Oh i see why it
was made public, code reuse by cut & paste.  Joy.

23 years agoremove the leading '/'. (nntp_store_subscribe_folder): same.
Chris Toshok [Wed, 11 Oct 2000 23:00:53 +0000 (23:00 +0000)]
remove the leading '/'. (nntp_store_subscribe_folder): same.

2000-10-11  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-store.c (nntp_store_unsubscribe_folder): remove the leading '/'.
(nntp_store_subscribe_folder): same.
(nntp_store_folder_subscribed): same.

23 years agoQuote the mailbox name as it may contain spaces. (imap_copy_message_to):
Jeffrey Stedfast [Wed, 11 Oct 2000 17:42:03 +0000 (17:42 +0000)]
Quote the mailbox name as it may contain spaces. (imap_copy_message_to):

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

* providers/imap/camel-imap-folder.c (imap_move_message_to): Quote
the mailbox name as it may contain spaces.
(imap_copy_message_to): Same.

23 years agofill in message_count and unread_message_count properly.
Chris Toshok [Wed, 11 Oct 2000 04:37:33 +0000 (04:37 +0000)]
fill in message_count and unread_message_count properly.

2000-10-10  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-store.c
(build_folder_info_from_grouplist): fill in message_count and
unread_message_count properly.

* providers/nntp/camel-nntp-newsrc.h: reformat.

* providers/nntp/camel-nntp-grouplist.c
(camel_nntp_get_grouplist_from_file): remove spew.

* providers/nntp/camel-nntp-newsrc.c
(camel_nntp_newsrc_group_get_num_articles_read): new function.
(camel_nntp_newsrc_group_get_highest_article_read): robustification.

23 years agoUn-rasterize my changelog entry
Joe Shaw [Tue, 10 Oct 2000 22:31:26 +0000 (22:31 +0000)]
Un-rasterize my changelog entry

No, I am not artifically inflating my commit numbers.

23 years agoCheck before deferencing the sep pointer.
Joe Shaw [Tue, 10 Oct 2000 21:31:49 +0000 (21:31 +0000)]
Check before deferencing the sep pointer.

2000-10-10  Joe Shaw  <joe@helixcode.com>

* providers/imap/camel-imap-store.c
(parse_list_response_as_folder_info): Check before deferencing the
sep pointer.

23 years agoteach camel about "its" vs. "it's"
Jacob "Ulysses" Berkman [Tue, 10 Oct 2000 16:57:29 +0000 (16:57 +0000)]
teach camel about "its" vs. "it's"

2000-10-10  Jacob "Ulysses" Berkman  <jacob@helixcode.com>

* camel-*.c: teach camel about "its" vs. "it's"

23 years agowrite out the newsrc. (nntp_store_get_name): if @brief, just return host.
Chris Toshok [Tue, 10 Oct 2000 00:50:46 +0000 (00:50 +0000)]
write out the newsrc. (nntp_store_get_name): if @brief, just return host.

2000-10-09  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-store.c (finalize): write out the
newsrc.
(nntp_store_get_name): if @brief, just return host.

* providers/nntp/camel-nntp-newsrc.c: robustification and bug
fixes.

23 years agoIssue a warning if h->value is NULL.
Miguel de Icaza [Sun, 8 Oct 2000 06:56:13 +0000 (06:56 +0000)]
Issue a warning if h->value is NULL.

2000-10-08  Miguel de Icaza  <miguel@helixcode.com>

* camel-mime-part.c (write_to_stream): Issue a warning if h->value
is NULL.

23 years agoDecode the resulting string.
Jeffrey Stedfast [Fri, 6 Oct 2000 21:38:36 +0000 (21:38 +0000)]
Decode the resulting string.

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

* camel-folder-summary.c (camel_summary_format_address): Decode
the resulting string.

23 years agoadd camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add
Chris Toshok [Fri, 6 Oct 2000 19:41:58 +0000 (19:41 +0000)]
add camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add

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

* providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add
camel-nntp-grouplist.h
(libcamelnntp_la_SOURCES): add camel-nntp-grouplist.c

* providers/nntp/camel-nntp-provider.c: add our own hash functions
for nntp urls.

* providers/nntp/camel-nntp-newsrc.c
(camel_nntp_newsrc_group_is_subscribed): new function.
(camel_nntp_newsrc_subscribe_group): new function.
(camel_nntp_newsrc_unsubscribe_group): new function.

* providers/nntp/camel-nntp-newsrc.h: add prototypes for
_group_is_subscribed, _subscribe_group, and _unsubscribe_group.

* providers/nntp/camel-nntp-store.c
(build_folder_info_from_grouplist): new function.
(nntp_store_get_folder_info): add subscribed_only_parameter.  if
it's FALSE, load the grouplist and call
build_folder_info_from_grouplist.
(nntp_store_folder_subscribed): implement.
(nntp_store_subscribe_folder): implement.
(nntp_store_unsubscribe_folder): implement.
(camel_nntp_store_init): add CAMEL_STORE_SUBSCRIPTIONS to the
store's flags.

* providers/mh/camel-mh-store.c (get_folder_info): add
subscribed_only parameter.

* providers/mbox/camel-mbox-store.c (get_folder_info): add
subscribed_only parameter.

* providers/imap/camel-imap-store.c (get_folder_info): add
subscribed_only parameter.

* camel-store.c (camel_store_supports_subscriptions): new function.
(camel_store_folder_subscribed): new function.
(camel_store_subscribe_folder): new function.
(camel_store_unsubscribe_folder): new function.

* camel-store.h: add prototypes and virtual functions for the
subscribe implementation.  also, add a subscribed_only argument to
camel_store_get_folder_info.

23 years agonew file.
Chris Toshok [Fri, 6 Oct 2000 19:31:07 +0000 (19:31 +0000)]
new file.

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

* providers/nntp/camel-nntp-grouplist.c: new file.

* providers/nntp/camel-nntp-grouplist.h: new file.

* providers/nntp/camel-nntp-types.h: new file.

23 years agoFix so that we don't encode every single char in the word. Also, do we
Jeffrey Stedfast [Fri, 6 Oct 2000 19:05:22 +0000 (19:05 +0000)]
Fix so that we don't encode every single char in the word. Also, do we

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

* camel-mime-utils.c (quoted_encode): Fix so that we don't encode
every single char in the word. Also, do we need a safemask? I
don't see why we would.
(header_encode_string): Don't strip off the last char!!

23 years agoFix so that we don't encode every single char in the word. Also, do we
Jeffrey Stedfast [Fri, 6 Oct 2000 17:59:39 +0000 (17:59 +0000)]
Fix so that we don't encode every single char in the word. Also, do we

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

* camel-mime-utils.c (quoted_encode): Fix so that we don't encode
every single char in the word. Also, do we need a safemask? I
don't see why we would.

23 years agoDon't compile the NNTP provider as it currently doesn't build because
Ettore Perazzoli [Fri, 6 Oct 2000 16:31:06 +0000 (16:31 +0000)]
Don't compile the NNTP provider as it currently doesn't build because
of missing `camel-nntp-types.h'.

23 years agoadd camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add
Chris Toshok [Fri, 6 Oct 2000 08:25:36 +0000 (08:25 +0000)]
add camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add

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

* providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add
camel-nntp-grouplist.h
(libcamelnntp_la_SOURCES): add camel-nntp-grouplist.c

* providers/nntp/camel-nntp-provider.c: add our own hash functions
for nntp urls.

* providers/nntp/camel-nntp-newsrc.c
(camel_nntp_newsrc_group_is_subscribed): new function.
(camel_nntp_newsrc_subscribe_group): new function.
(camel_nntp_newsrc_unsubscribe_group): new function.

* providers/nntp/camel-nntp-newsrc.h: add prototypes for
_group_is_subscribed, _subscribe_group, and _unsubscribe_group.

* providers/nntp/camel-nntp-store.c
(build_folder_info_from_grouplist): new function.
(nntp_store_get_folder_info): add subscribed_only_parameter.  if
it's FALSE, load the grouplist and call
build_folder_info_from_grouplist.
(nntp_store_folder_subscribed): implement.
(nntp_store_subscribe_folder): implement.
(nntp_store_unsubscribe_folder): implement.
(camel_nntp_store_init): add CAMEL_STORE_SUBSCRIPTIONS to the
store's flags.

* providers/mh/camel-mh-store.c (get_folder_info): add
subscribed_only parameter.

* providers/mbox/camel-mbox-store.c (get_folder_info): add
subscribed_only parameter.

* providers/imap/camel-imap-store.c (get_folder_info): add
subscribed_only parameter.

* camel-store.c (camel_store_supports_subscriptions): new function.
(camel_store_folder_subscribed): new function.
(camel_store_subscribe_folder): new function.
(camel_store_unsubscribe_folder): new function.

* camel-store.h: add prototypes and virtual functions for the
subscribe implementation.  also, add a subscribed_only argument to
camel_store_get_folder_info.

23 years agoEncode the name part of the address and don't quote the name.
Jeffrey Stedfast [Fri, 6 Oct 2000 00:59:34 +0000 (00:59 +0000)]
Encode the name part of the address and don't quote the name.

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

* camel-mime-utils.c (header_address_list_format_append): Encode
the name part of the address and don't quote the name.
(header_decode_text): Rewrote from scratch, the old code was badly
broken.

23 years agoUse the camel_address_encode function again.
Jeffrey Stedfast [Thu, 5 Oct 2000 23:20:52 +0000 (23:20 +0000)]
Use the camel_address_encode function again.

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

* camel-mime-message.c (camel_mime_message_set_reply_to): Use the
camel_address_encode function again.
(camel_mime_message_set_from): Same.

23 years agoModified to not encode space chars in the middle of a line. (isblank): New
Jeffrey Stedfast [Thu, 5 Oct 2000 21:26:28 +0000 (21:26 +0000)]
Modified to not encode space chars in the middle of a line. (isblank): New

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

* camel-mime-utils.c (quoted_encode_step): Modified to not encode
space chars in the middle of a line.
(isblank): New macro if we're not on a system with the GNU isblank
extension.

* camel-mime-message.c (camel_mime_message_set_from): Reversed my
changes, don't header_encode_phrase - it generates broken headers.
(camel_mime_message_set_reply_to): Same.

23 years agorevert to old method (only use XOVER if OVER is supported.)
Chris Toshok [Thu, 5 Oct 2000 00:51:58 +0000 (00:51 +0000)]
revert to old method (only use XOVER if OVER is supported.)

2000-10-04  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-utils.c (camel_nntp_get_headers):
revert to old method (only use XOVER if OVER is supported.)

* providers/nntp/camel-nntp-store.c
(camel_nntp_store_get_overview_fmt): handle the case where the
OVER extension isn't listed but LIST OVERVIEW.FMT works (again,
INN 2.2).  enable the OVER extension in this case.

23 years agoreturn a gboolean so we can tell if this command worked. we can't key off
Chris Toshok [Wed, 4 Oct 2000 21:59:06 +0000 (21:59 +0000)]
return a gboolean so we can tell if this command worked. we can't key off

2000-10-04  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-utils.c (get_XOVER_headers): return a
gboolean so we can tell if this command worked.  we can't key off
the OVER extension being present because at least one server (INN
2.2) doesn't report the OVER extension but implements the XOVER
command.  This could of course just be because I'm a loser for
thinking they were related in the first place.
(camel_nntp_get_headers): always try XOVER first, and if it fails
revert to the slow method.

23 years agoFix a case where a variable was free'd and then possibly used in an error
Dan Winship [Wed, 4 Oct 2000 21:55:53 +0000 (21:55 +0000)]
Fix a case where a variable was free'd and then possibly used in an error

* providers/mbox/camel-mbox-store.c (get_folder): Fix a case where
a variable was free'd and then possibly used in an error message.

23 years agonews: -> nntp:.
Chris Toshok [Wed, 4 Oct 2000 21:41:13 +0000 (21:41 +0000)]
news: -> nntp:.

2000-10-04  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-provider.c
(camel_provider_module_init): news: -> nntp:.

23 years agouse "nntp:" instead of "news:" since "news:" urls aren't supposed to have
Chris Toshok [Wed, 4 Oct 2000 21:32:32 +0000 (21:32 +0000)]
use "nntp:" instead of "news:" since "news:" urls aren't supposed to have

2000-10-04  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-store.c (nntp_store_get_folder_info):
use "nntp:" instead of "news:" since "news:" urls aren't supposed
to have host/user/port info in them.  also, if there's a user
defined in the url, put it in the urls for our folders.

23 years agoborrow some code from the imap provider to query the user for their
Chris Toshok [Wed, 4 Oct 2000 20:36:10 +0000 (20:36 +0000)]
borrow some code from the imap provider to query the user for their

2000-10-04  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-auth.c (camel_nntp_auth_authenticate):
borrow some code from the imap provider to query the user for
their password, and pass the user/passwd to nntp.  be extra
paranoid and zero out the password before freeing it.

* providers/nntp/camel-nntp-store.c (camel_nntp_store_init): add
ALLOW_USER/ALLOW_PASSWORD/ALLOW_AUTH to the url flags.
(nntp_store_query_auth_types_generic): return our list of
auth_types.
(nntp_store_query_auth_types_connected): broken, return same as in
query_auth_types_generic.

23 years agoIMAP4 (pre-rev1) doesn't support the 'LIST "" ""' idiom, so don't use it.
Dan Winship [Wed, 4 Oct 2000 20:10:27 +0000 (20:10 +0000)]
IMAP4 (pre-rev1) doesn't support the 'LIST "" ""' idiom, so don't use it.

* providers/imap/camel-imap-store.c (imap_connect): IMAP4
(pre-rev1) doesn't support the 'LIST "" ""' idiom, so don't use
it. Just assume the dir_sep is '/'. Shrug.

23 years agoUse header_encode_phrase instead. (camel_mime_message_set_from): Same.
Jeffrey Stedfast [Wed, 4 Oct 2000 17:15:41 +0000 (17:15 +0000)]
Use header_encode_phrase instead. (camel_mime_message_set_from): Same.

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

* camel-mime-message.c (camel_mime_message_set_reply_to): Use
header_encode_phrase instead.
(camel_mime_message_set_from): Same.

23 years agoHandle the case where ct != NULL, but type and subtype are, and also match
Not Zed [Wed, 4 Oct 2000 15:56:32 +0000 (15:56 +0000)]
Handle the case where ct != NULL, but type and subtype are, and also match

2000-10-04  Not Zed  <NotZed@HelixCode.com>

        * camel-mime-utils.c (header_content_type_is): Handle the case
        where ct != NULL, but type and subtype are, and also match that
        against text/plain.

        * camel-folder-summary.c: Bump summary file version.
        (message_info_save): Save the size from the messageinfo.
        (message_info_load): Load the size from the summary file.
        (message_info_load): Fixed up the time_t saving/loading.  There
        was a reason the warning was left there ... obviously nobody could
        read the comment "/* warnings, leave them here */", why do i even
        bother.
        (camel_folder_summary_decode_time_t): Decode a time_t value from
        the summary file.
        (camel_folder_summary_encode_time_t): Encode a time_t value to the
        summary file.

23 years agoQuote the mailbox name when sending a SELECT request otherwise mailboxes
Jeffrey Stedfast [Tue, 3 Oct 2000 22:49:42 +0000 (22:49 +0000)]
Quote the mailbox name when sending a SELECT request otherwise mailboxes

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

* providers/imap/camel-imap-command.c (camel_imap_command): Quote
the mailbox name when sending a SELECT request otherwise mailboxes
with spaces in their names will cause problems.

* camel-mime-message.c (camel_mime_message_set_reply_to): encode
before setting.
(camel_mime_message_set_from): Same.

23 years agoNew file containing camel_imap_command and friends. Major
Dan Winship [Tue, 3 Oct 2000 20:06:14 +0000 (20:06 +0000)]
New file containing camel_imap_command and friends. Major

        * providers/imap/camel-imap-command.c: New file containing
        camel_imap_command and friends. Major camel_imap_command rewrite
        to remove duplicated code, make the parsing of literals be
        more safe/correct, deal with RECENT/EXPUNGE responses more
        consistently, and make it possible to implement the AUTHENTICATE
        command.

        * providers/imap/camel-imap-utils.c (imap_parse_nstring): New
        function, to parse an IMAP "nstring".

        * providers/imap/camel-imap-store.c: Move command stuff to
        camel-imap-command.c. Update for camel_imap_command changes.

        * providers/imap/camel-imap-folder.c: Update for
        camel_imap_command changes.
        (imap_append_message): CRLF filter the message before sending it.

        * providers/imap/Makefile.am: Add camel-imap-command.[ch], remove
        camel-imap-stream.[ch] for now.

23 years agoNew convenience function to determine if there are any 8bit mime parts in
Jeffrey Stedfast [Mon, 2 Oct 2000 23:26:53 +0000 (23:26 +0000)]
New convenience function to determine if there are any 8bit mime parts in

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

* camel-mime-message.c (camel_mime_message_has_8bit_parts): New
convenience function to determine if there are any 8bit mime parts
in a mime message.
(camel_mime_message_encode_8bit_parts): New convenience function
to recursively reencode all 8bit mime parts to either
quoted-printable or base64 depending on which would be the best
encoding for that part.

* providers/smtp/camel-smtp-transport.c (smtp_data): If the mime
message contains 8bit parts and the server doesn't support 8bit
transfers, reencode those parts before proceding with the send.
(smtp_mail): If the mime message contains 8bit parts and the
server supports the 8BITMIME extension to SMTP, notify the server
that we'll be sending it 8bit mime parts.
(_send_to): Find out if the message contains 8bit parts.

23 years agoUse the CamelInternetAddress parser. (smtp_get_email_addr_from_text):
Jeffrey Stedfast [Mon, 2 Oct 2000 21:13:08 +0000 (21:13 +0000)]
Use the CamelInternetAddress parser. (smtp_get_email_addr_from_text):

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

* providers/smtp/camel-smtp-transport.c (_send_to): Use the
CamelInternetAddress parser.
(smtp_get_email_addr_from_text): deprecated.

23 years agoRemove default_ports.
Dan Winship [Mon, 2 Oct 2000 20:14:57 +0000 (20:14 +0000)]
Remove default_ports.

* camel-provider.h: Remove default_ports.

* camel-remote-store.c (remote_connect): Get default_port from
CamelRemoteStore rather than CamelProvider.

* providers/{imap,nntp,pop3}/camel-*-store.c: Initialize
CamelRemoteStore::default_port

* providers/*/camel-*-provider.c: Remove default_ports.

23 years agoRemove camel_folder_{get,free}_subfolder_info, as we want to be able to
Dan Winship [Mon, 2 Oct 2000 19:08:20 +0000 (19:08 +0000)]
Remove camel_folder_{get,free}_subfolder_info, as we want to be able to

* camel-folder.[ch]: Remove
camel_folder_{get,free}_subfolder_info, as we want to be able to
scan the whole subfolder tree without having to open any folders,
so this needs to be in CamelStore. Remove can_hold_folders and
can_hold_messages flags; things that don't hold messages are no
longer considered CamelFolders.

* camel-folder-summary.[ch]: Remove CamelFolderInfo stuff.

* camel-store.[ch]: Add camel_store_{get,free}_folder_info, as
well as camel_store_free_folder_info_full and ..._nop for default
implementations, and camel_folder_info_free and
camel_folder_info_build as convenience functions. Turn
CamelFolderInfo into a tree structure and also add an "url"
member.

* providers/*/camel-*-folder.c: Remove subfolder_info and can_hold
stuff.
* providers/*/camel-*-store.c: Add folder_info stuff.

* providers/imap/camel-imap-folder.c (imap_summary_free): Free the
summary elements with camel_message_info_free, not
camel_folder_info_free. Oops.

* providers/imap/camel-imap-utils.c: const poison

23 years agoMore updating... still not usable, or even compilable
Dan Winship [Mon, 2 Oct 2000 18:23:40 +0000 (18:23 +0000)]
More updating... still not usable, or even compilable

23 years ago another mem leak fix
Jeffrey Stedfast [Fri, 29 Sep 2000 04:08:11 +0000 (04:08 +0000)]
 another mem leak fix

23 years agoFixed some memory leaks. (camel_smtp_transport_init): Initialize
Jeffrey Stedfast [Fri, 29 Sep 2000 02:53:47 +0000 (02:53 +0000)]
Fixed some memory leaks. (camel_smtp_transport_init): Initialize

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

* providers/smtp/camel-smtp-transport.c: Fixed some memory leaks.
(camel_smtp_transport_init): Initialize supports_8bit to FALSE.
(smtp_helo): If server supports 8bit, set supports_8bit to TRUE.

* camel-transport.h (struct _CamelTransport): Added variable
gboolean supports_8bit (we'll need this eventually? - see bugzilla
bug #53)

* providers/smtp/camel-smtp-transport.c
(smtp_get_email_addr_from_text): Ugh, no wonder people were
getting illegal seek warnings *sigh*. I guess I can only blame
myself for this one though :-(

23 years agoDon't send the recipient data through smtp_get_email_addr_from_text - this
Jeffrey Stedfast [Fri, 29 Sep 2000 01:56:39 +0000 (01:56 +0000)]
Don't send the recipient data through smtp_get_email_addr_from_text - this

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

* providers/smtp/camel-smtp-transport.c (_send_to): Don't send the
recipient data through smtp_get_email_addr_from_text - this is a
complete waste. In fact, we don't want to have to use that
function ever.

* camel-internet-address.c, camel-address.c: Added some gtk-doc comments.

23 years agoMake sure to add the space char after an encoded word when the encoding is
Jeffrey Stedfast [Thu, 28 Sep 2000 23:57:54 +0000 (23:57 +0000)]
Make sure to add the space char after an encoded word when the encoding is

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

* camel-mime-utils.c (header_encode_string): Make sure to add the
space char after an encoded word when the encoding is iso-8859-1.

23 years agoWhen getting a literal string response, don't include the \r\n after the
Jeffrey Stedfast [Thu, 28 Sep 2000 20:20:56 +0000 (20:20 +0000)]
When getting a literal string response, don't include the \r\n after the

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

* providers/imap/camel-imap-folder.c (imap_get_message): When
getting a literal string response, don't include the \r\n after
the closing } (as in: "... {798}\r\n...")

* providers/imap/camel-imap-stream.c (stream_read): Same.

23 years agoNew function to fold headers.
Not Zed [Thu, 28 Sep 2000 11:31:29 +0000 (11:31 +0000)]
New function to fold headers.

2000-09-28  Not Zed  <NotZed@HelixCode.com>

        * camel-mime-utils.c (header_fold): New function to fold headers.

2000-09-27  Not Zed  <NotZed@HelixCode.com>

        * camel-mime-parser.c (folder_scan_header): If we had an empty
        header, then it must be end of the headers too.
        (folder_scan_init): No we dont need to init the outbuf with a nul
        terminator.

        * camel-folder-summary.c (camel_folder_summary_set_uid): New
        function to reset the uid to a higher value.

        * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
        "something failed (yo!)" what sort of crap is this?  Fixed all the
        indenting again, what wanker keeps running stuff through indent?
        (message_info_new): Check the uid we loaded off the disk, if it
        existed already, assign a new one.  If it didn't then make sure
        the nextuid is higher.

        * camel-charset-map.c: New file, used to build a large unicode
        decoding mapping table, and use it to determine what is the
        lowest charset a given word can be encoded with.  Uses tables from
        libunicode's source.

        * camel-internet-address.c (internet_encode): Use
        header_phrase_encode to properly encode the fullname, as required.
        refixed indenting.  Who keeps doing that?
        (camel_internet_address_find_address): Changed fatal return/warnings
        into assertions.

        * camel-mime-utils.c (header_raw_append_parse): Check : explicitly
        (removed from is_fieldname() macro).
        (camel_mime_special_table): Changed to short, so we can represent
        more bit types.
        (quoted_encode): Take a mask of the safe chars for this encoding.
        (header_address_decode): Removed a #warning that makes no sense
        anymore.
        (header_decode_date): Fixed the 'broken date' parser code, if it
        ever decoded it it just threw away the result.
        (header_encode_string): Use better charset matching for encoding
        strings as well.

2000-08-31  Not Zed  <NotZed@HelixCode.com>

        * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Save
        the index if we do a sync.
        (camel_mh_summary_check): Save the index here too.  Probably.

23 years agoReturn untagged data in a GPtrArray rather than a string, since it saves
Dan Winship [Wed, 27 Sep 2000 23:55:26 +0000 (23:55 +0000)]
Return untagged data in a GPtrArray rather than a string, since it saves

* providers/imap/camel-imap-store.c (camel_imap_command_extended):
Return untagged data in a GPtrArray rather than a string, since it
saves processing time and is much easier to deal with for several
commands. Update for camel_imap_folder_changed change.
(camel_imap_fetch_command): Update for camel_imap_folder_changed
change.
(imap_connect, imap_folder_exists): Update for
camel_imap_command_extended change.

* providers/imap/camel-imap-folder.c
(imap_get_message_count_internal,
imap_get_subfolder_info_internal, imap_search_by_expression):
Update for camel_imap_command_extended change.

(imap_get_summary_internal, imap_get_message_info_internal): Use
camel_imap_fetch_command here now to get around the
camel_imap_command_extended change.

(camel_imap_folder_changed): turn expunged into a GArray of ints
rather than a GPtrArray of strings representing ints.

23 years agoQuote the folder name as it may contain spaces.
Jeffrey Stedfast [Tue, 26 Sep 2000 17:25:22 +0000 (17:25 +0000)]
Quote the folder name as it may contain spaces.

2000-09-26  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-folder.c
(imap_get_message_count_internal): Quote the folder name as it may
contain spaces.
(imap_get_subfolder_info_internal): Same.

* providers/imap/camel-imap-utils.c (imap_parse_list_response): Do
proper unquoting for folder names.
(func_get_current_date): Implemented.

* providers/imap/camel-imap-store.c
(imap_folder_exists): Quote the folder name as it may have spaces.
(imap_create): Same.
(check_current_folder): Same.

23 years agoAgain...wrap the folder names in quotes
Jeffrey Stedfast [Fri, 22 Sep 2000 22:35:10 +0000 (22:35 +0000)]
Again...wrap the folder names in quotes

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

* providers/imap/camel-imap-folder.c
(imap_get_message_count_internal): Again...wrap the folder names
in quotes

* providers/imap/camel-imap-store.c (imap_folder_exists): Wrap the
mailbox name in the LIST command in quotes just in case the folder
has spaces in the name.
(imap_create): Again, wrap folder name in quotes.
(check_current_folder): Same...

* providers/imap/camel-imap-utils.c (imap_parse_list_response):
Update to unquote mailbox if it's quoted (allows us to get folders
with spaces in the name).

23 years agoThe root folder's name is "", not the namespace. (camel_imap_folder_new):
Dan Winship [Fri, 22 Sep 2000 18:44:07 +0000 (18:44 +0000)]
The root folder's name is "", not the namespace. (camel_imap_folder_new):

        * providers/imap/camel-imap-folder.c
        (imap_get_subfolder_info_internal): The root folder's name is "",
        not the namespace.
        (camel_imap_folder_new): constify folder_name.

        * providers/imap/camel-imap-store.c (get_folder): Create the
        folder with folder_name, not folder_path.
        (camel_imap_command_preliminary): Don't free cmdid here.

23 years agoNew function to convert Camel flags to an IMAP flag_list.
Dan Winship [Thu, 21 Sep 2000 21:05:56 +0000 (21:05 +0000)]
New function to convert Camel flags to an IMAP flag_list.

* providers/imap/camel-imap-utils.c (imap_create_flag_list): New
function to convert Camel flags to an IMAP flag_list.
(imap_parse_flag_list): Contrariwise.

* providers/imap/camel-imap-store.c (camel_imap_command_*): Make
the @ret arg actually optional, as (mostly) documented.
(various): Don't pass "&result" to camel_imap_command_* if we're
just going to immediately free it. Don't record status if we're
not going to look at it.

* providers/imap/camel-imap-folder.c: Likewise.
(imap_summary_free): Use camel_folder_info_free.
(imap_sync): Use imap_create_flag_list. Clear
CAMEL_MESSAGE_FOLDER_FLAGGED after syncing so we don't keep
re-syncing.
(imap_append_message): Use imap_create_flag_list. Don't leak the
memstream if the append fails.
(imap_move_message_to): Use camel_folder_delete_message rather
than doing it by hand.
(imap_get_summary_internal, imap_get_message_info_internal): Use
imap_parse_flag_list and header_raw_clear.
(camel_imap_folder_changed): Use camel_message_info_free.

23 years agoINBOX is case-insensitive. (get_root_folder_name): Make the root folder ""
Dan Winship [Thu, 21 Sep 2000 19:40:20 +0000 (19:40 +0000)]
INBOX is case-insensitive. (get_root_folder_name): Make the root folder ""

* providers/imap/camel-imap-store.c (get_folder_name): INBOX is
case-insensitive.
(get_root_folder_name): Make the root folder "" rather than "/".
(get_folder): Update for root folder name change.
(camel_imap_store_get_toplevel_dir): Removed. (Unused, unneeded.)
(camel_imap_store_folder_path): New function to turn a Camel
folder name into the corresponding namespaced IMAP path.
(imap_folder_exists): Make this take a store and a path rather
than a folder.
(imap_create): Likewise
(get_folder): Update for camel_imap_store_folder_path and other
changes.
(check_current_folder): Likewise.

* providers/imap/camel-imap-folder.c: Change a bunch of CamelStore
variables to CamelImapStore (and add a few more) to prevent excess
gratuitous casting. Use camel_imap_store_folder_path where
appropriate.
(camel_imap_folder_new): Update for root folder name change.

23 years agoack, remove the ~ and object files
Jeffrey Stedfast [Tue, 19 Sep 2000 21:50:35 +0000 (21:50 +0000)]
ack, remove the ~ and object files

23 years agoUse the linewrap filter to achieve full RFC0821 compliance.
Jeffrey Stedfast [Tue, 19 Sep 2000 21:49:15 +0000 (21:49 +0000)]
Use the linewrap filter to achieve full RFC0821 compliance.

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

* providers/smtp/camel-smtp-transport.c (smtp_data): Use the
linewrap filter to achieve full RFC0821 compliance.

* camel-mime-filter-linewrap.[c,h]: New mime-filter to word-wrap.

23 years agoWhen encoding the internet address, quote the name as the name may have
Jeffrey Stedfast [Tue, 19 Sep 2000 19:11:15 +0000 (19:11 +0000)]
When encoding the internet address, quote the name as the name may have

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

* camel-internet-address.c (internet_encode): When encoding the
internet address, quote the name as the name may have commas or
any other token which may later confuse our address parser.

23 years agoFix the case where INBOX isn't returned in the folder listing.
Dan Winship [Tue, 19 Sep 2000 18:56:26 +0000 (18:56 +0000)]
Fix the case where INBOX isn't returned in the folder listing.

* providers/imap/camel-imap-folder.c
(imap_get_subfolder_info_internal): Fix the case where INBOX
isn't returned in the folder listing.

23 years agoRemoved (camel_folder_init, camel_folder_construct): New object init
Dan Winship [Tue, 19 Sep 2000 17:27:09 +0000 (17:27 +0000)]
Removed (camel_folder_init, camel_folder_construct): New object init

* camel-folder.c: (init): Removed
(camel_folder_init, camel_folder_construct): New object init
function and public object constructor to replace the old init
method in a more Gtk-like fashion.

(get_parent_folder, camel_folder_get_parent_folder): Removed. No
CamelFolder subclass was ever setting the parent_folder member, no
code has ever needed to look at it, and fixing it would actually
be pretty hard.

(get_subfolder_info, camel_folder_get_subfolder_info): Renamed
from ..._names. Deals in CamelFolderInfo now.
(free_subfolder_info, camel_folder_free_subfolder_info): Likewise.

(get_subfolder, camel_folder_get_subfolder): Removed.
CamelFolderInfo contains the subfolder's full name, so this is
unnecessary now, and removing it lets us get rid of the
CamelFolder separator member, which is needed for the default
implementation of this function, but not otherwise needed for most
providers.

Also, lots of code style fixes.

* providers/*: Update CamelFolder subclasses for changes, although
none of them fill in the message counts in the CamelFolderInfo
yet.

23 years agoAdded check for gnome-app-lib. Removed directories that have been moved to
Christopher James Lahey [Mon, 18 Sep 2000 03:42:58 +0000 (03:42 +0000)]
Added check for gnome-app-lib. Removed directories that have been moved to

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* configure.in: Added check for gnome-app-lib.  Removed
directories that have been moved to gal.

From addressbook/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* backend/ebook/Makefile.am, contact-editor/Makefile.am,
ename/Makefile.am, gui/component/Makefile.am,
gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* backend/ebook/e-card.c, backend/pas/pas-backend-file.c,
contact-editor/e-contact-editor-address.c,
contact-editor/e-contact-editor-categories.c,
contact-editor/e-contact-editor-categories.h,
contact-editor/e-contact-editor-fullname.c,
contact-editor/e-contact-editor.c,
contact-editor/e-contact-save-as.c, ename/e-address-western.c,
ename/test-ename-western-gtk.c,
gui/component/addressbook-factory.c, gui/component/addressbook.c,
gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c,
gui/component/select-names/e-select-names-bonobo.c,
gui/component/select-names/e-select-names-manager.c,
gui/component/select-names/e-select-names-model.c,
gui/component/select-names/e-select-names-table-model.c,
gui/component/select-names/e-select-names-table-model.h,
gui/component/select-names/e-select-names-text-model.h,
gui/component/select-names/e-select-names.c,
gui/component/select-names/e-select-names.h,
gui/search/e-addressbook-search-dialog.c,
gui/widgets/e-addressbook-model.h,
gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c,
gui/widgets/e-minicard-view-widget.c,
gui/widgets/e-minicard-view-widget.h,
gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h,
gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c,
gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c,
printing/e-contact-print.c: Fixed the #include lines to deal
properly with gal.

From calendar/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c,
gui/e-week-view-event-item.c, gui/e-week-view.c,
gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c,
gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines
to deal properly with gal.

* gui/check-filled.xpm: New file since we can't include it from
e-table anymore.

From camel/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* camel-folder-search.c, camel-folder-search.h,
camel-remote-store.c, providers/imap/camel-imap-folder.c,
providers/imap/camel-imap-store.c: Fixed the #include lines to
deal properly with gal.

From composer/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c,
e-msg-composer-attachment.c, e-msg-composer-hdrs.c,
e-msg-composer.c: Fixed the #include lines to deal properly with
gal.

From e-util/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Removed all the files moved to gal.

* e-dialog-widgets.c: Fixed the #include lines to deal properly
with gal.

* e-gui-utils.c, e-gui-utils.h: Removed all of the functionality
that was moved to gal.

* e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c,
e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h,
e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c,
e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h,
e-xml-utils.c, e-xml-utils.h: Moved to gal.

From filter/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* filter-editor.c, filter-filter.c, filter-folder.c,
filter-input.c, filter-message-search.c, filter-option.c,
filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c:
Fixed the #include lines to deal properly with gal.

From mail/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* component-factory.c, folder-browser-factory.c, folder-browser.c,
mail-callbacks.c, mail-config-gui.c, mail-display.c,
mail-display.h, main.c, message-list.c, message-list.h: Fixed the
#include lines to deal properly with gal.

From po/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* POTFILES.in: Removed files that have been moved to gal.

From shell/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* e-component-registry.c, e-corba-storage-registry.c,
e-corba-storage.c, e-folder-type-registry.c, e-folder.c,
e-local-folder.c, e-local-storage.c,
e-shell-folder-creation-dialog.c,
e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c,
e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c,
e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c,
e-storage.c, evolution-local-storage.c, evolution-session.c,
evolution-shell-client.c, evolution-shell-component-client.c,
evolution-shell-component.c, evolution-shell-view.c,
evolution-storage-listener.c, evolution-storage.c, main.c: Fixed
the #include lines to deal properly with gal.

From widgets/meeting-time-sel/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* e-meeting-time-sel-list-item.c, e-meeting-time-sel.c,
e-meeting-time-sel.h: Fixed the #include lines to deal properly
with gal.

If you've read this far, you deserve a prize.  The first email in my
mailbox with the subject "What a commit message!" (and your physical
mailing address somewhere in the message) will receive a free Helix
Code T-shirt mailed to anywhere within the continental United States.
I cannot be held responsible for problems with email systems anywhere.
This is supposed to be for fun, so please don't make a fuss if
something goes wrong and your mail doesn't reach me.  Find my email
elsewhere in this message, and if it's been more than a few days,
you're probably too late.

From widgets/misc/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c:
Fixed the #include lines to deal properly with gal.

* e-scroll-frame.c, e-scroll-frame.h: Moved to gal.

From widgets/shortcut-bar/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

* e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c,
e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines
to deal properly with gal.

From widgets/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

* Makefile.am: Removed directories that have been moved to gal.

* e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c,
e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h,
e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal.

* e-reflow/.cvsignore, e-reflow/Makefile.am,
e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h,
e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal.

* e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE,
e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO,
e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm,
e-table/check-empty.xpm, e-table/check-filled.xpm,
e-table/clip.png, e-table/e-cell-checkbox.c,
e-table/e-cell-checkbox.h, e-table/e-cell-string.c,
e-table/e-cell-text.c, e-table/e-cell-text.h,
e-table/e-cell-toggle.c, e-table/e-cell-toggle.h,
e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c,
e-table/e-cell.h, e-table/e-table-click-to-add.c,
e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h,
e-table/e-table-col.c, e-table/e-table-col.h,
e-table/e-table-column-model.h, e-table/e-table-column.c,
e-table/e-table-config.c, e-table/e-table-config.glade,
e-table/e-table-config.glade.h, e-table/e-table-config.h,
e-table/e-table-defines.h, e-table/e-table-example-1.c,
e-table/e-table-example-2.c,
e-table/e-table-field-chooser-dialog.c,
e-table/e-table-field-chooser-dialog.h,
e-table/e-table-field-chooser-item.c,
e-table/e-table-field-chooser-item.h,
e-table/e-table-field-chooser.c,
e-table/e-table-field-chooser.glade,
e-table/e-table-field-chooser.glade.h,
e-table/e-table-field-chooser.h,
e-table/e-table-group-container.c,
e-table/e-table-group-container.h, e-table/e-table-group-leaf.c,
e-table/e-table-group-leaf.h, e-table/e-table-group.c,
e-table/e-table-group.glade, e-table/e-table-group.glade.h,
e-table/e-table-group.h, e-table/e-table-header-item.c,
e-table/e-table-header-item.h, e-table/e-table-header.c,
e-table/e-table-header.h, e-table/e-table-item.c,
e-table/e-table-item.h, e-table/e-table-model.c,
e-table/e-table-model.h, e-table/e-table-one.c,
e-table/e-table-one.h, e-table/e-table-scrolled.c,
e-table/e-table-scrolled.h, e-table/e-table-selection-model.c,
e-table/e-table-selection-model.h, e-table/e-table-simple.c,
e-table/e-table-simple.h, e-table/e-table-size-test.c,
e-table/e-table-sort-info.c, e-table/e-table-sort-info.h,
e-table/e-table-sorted-variable.c,
e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c,
e-table/e-table-sorted.h, e-table/e-table-sorter.c,
e-table/e-table-sorter.h, e-table/e-table-subset-variable.c,
e-table/e-table-subset-variable.h, e-table/e-table-subset.c,
e-table/e-table-subset.h, e-table/e-table-text-model.c,
e-table/e-table-text-model.h, e-table/e-table-tooltip.h,
e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h,
e-table/e-tree-example-1.c, e-table/e-tree-example-2.c,
e-table/e-tree-model.c, e-table/e-tree-model.h,
e-table/e-tree-simple.c, e-table/e-tree-simple.h,
e-table/image1.png, e-table/image2.png, e-table/image3.png,
e-table/remove-col.xpm, e-table/sample.table,
e-table/table-test.c, e-table/table-test.h, e-table/test-check.c,
e-table/test-cols.c, e-table/test-table.c: Moved to gal.

* e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c,
e-text/e-entry.c, e-text/e-entry.h,
e-text/e-text-event-processor-emacs-like.c,
e-text/e-text-event-processor-emacs-like.h,
e-text/e-text-event-processor-types.h,
e-text/e-text-event-processor.c, e-text/e-text-event-processor.h,
e-text/e-text-model.c, e-text/e-text-model.h,
e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to
gal.

i.e.,

...

changed evolution to work with gal.

23 years agoupdate CamelFolderInfo New function to free the contents of a
Dan Winship [Sun, 17 Sep 2000 17:13:57 +0000 (17:13 +0000)]
update CamelFolderInfo New function to free the contents of a

* camel-folder-summary.h: update CamelFolderInfo
* camel-folder-summary.c (camel_folder_info_free): New function to
free the contents of a CamelFolderInfo

23 years agoSet camel_verbose_debug to TRUE if CAMEL_VERBOSE_DEBUG is set in the
Dan Winship [Fri, 15 Sep 2000 18:26:36 +0000 (18:26 +0000)]
Set camel_verbose_debug to TRUE if CAMEL_VERBOSE_DEBUG is set in the

* camel.c (camel_init): Set camel_verbose_debug to TRUE if
CAMEL_VERBOSE_DEBUG is set in the environment.

* camel-remote-store.c (remote_send_line, remote_recv_line): only
log if camel_verbose_debug is TRUE.

23 years agoDon't use dir_sep as top-level directory, use "/".
Jeffrey Stedfast [Thu, 14 Sep 2000 23:06:03 +0000 (23:06 +0000)]
Don't use dir_sep as top-level directory, use "/".

2000-09-14  Jeffrey Stedfast  <fejj@helixcode.com>

* providers/imap/camel-imap-store.c (get_folder): Don't use
dir_sep as top-level directory, use "/".

* providers/imap/camel-imap-folder.c (imap_expunge): Get rid of
unused variable.

23 years agoDon't look at the response of the command. camel_imap_command_extended()
Dan Winship [Thu, 14 Sep 2000 17:51:34 +0000 (17:51 +0000)]
Don't look at the response of the command. camel_imap_command_extended()

* providers/imap/camel-imap-folder.c (imap_expunge): Don't look at
the response of the command. camel_imap_command_extended()
processes EXPUNGE responses itself, so if we do it here too we
remove twice as many summary items as we should.

23 years agoRewrote to take a third argument (gboolean *selectable) so that we can
Jeffrey Stedfast [Wed, 13 Sep 2000 22:13:09 +0000 (22:13 +0000)]
Rewrote to take a third argument (gboolean *selectable) so that we can

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

* providers/imap/camel-imap-store.c (imap_folder_exists): Rewrote
to take a third argument (gboolean *selectable) so that we can
find out if the folder is selectable or not as we look to see if
it exists. Also, don't use EXAMINE because that will not work on
non-selectable folders, so use LIST instead.
(get_folder): Check to see if the folder exists even vefore
calling imap_create as this will save time. If the folder does
exist, find out if it's selectable. Moved the call to refresh_info
here.

* providers/imap/camel-imap-folder.c (imap_get_uids): Check for a
NULL summary.
(camel_imap_folder_new): Don't call refresh_info here - call it in
get_folder() because we don't know if this folder even exists on
the server yet! And even if it does, we don't know if it can hold
messages or not yet.

23 years agoMake sure *datalength is > 0 before calling camel_mime_filter_filter
Jeffrey Stedfast [Wed, 13 Sep 2000 01:42:12 +0000 (01:42 +0000)]
Make sure *datalength is > 0 before calling camel_mime_filter_filter

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

* camel-mime-parser.c (folder_scan_step): Make sure *datalength is
> 0 before calling camel_mime_filter_filter otherwise we will get
a segfault if the filter calls iconv().

23 years agofixes to make this beast distcheck
Peter Teichman [Tue, 12 Sep 2000 19:09:28 +0000 (19:09 +0000)]
fixes to make this beast distcheck

23 years agoFixed a warning.
Christopher James Lahey [Fri, 8 Sep 2000 16:46:55 +0000 (16:46 +0000)]
Fixed a warning.

2000-09-08  Christopher James Lahey  <clahey@helixcode.com>

* providers/nntp/camel-nntp-auth.c,
providers/nntp/camel-nntp-auth.h: Fixed a warning.

23 years agoMake this not leak.
Dan Winship [Thu, 7 Sep 2000 21:00:56 +0000 (21:00 +0000)]
Make this not leak.

* camel-session.c (camel_session_get_storage_path): Make this not
leak.

23 years agoMake this take a path to a directory that Camel can use for its own
Dan Winship [Thu, 7 Sep 2000 19:59:53 +0000 (19:59 +0000)]
Make this take a path to a directory that Camel can use for its own

* camel-session.c (camel_session_new): Make this take a path to a
directory that Camel can use for its own nefarious purposes.
(camel_session_get_storage_path): New function to return a path
that a service can use for its own nefarious sub-purposes.

* camel-service.c (camel_service_get_path): New method (and
useful default implementation) to get a (relative) pathname
corresponding to the service.

23 years ago*** empty log message ***
Dan Winship [Thu, 7 Sep 2000 16:22:30 +0000 (16:22 +0000)]
*** empty log message ***

23 years agoMake KPOP work again.
Dan Winship [Thu, 7 Sep 2000 16:21:41 +0000 (16:21 +0000)]
Make KPOP work again.

* providers/pop3/camel-pop3-store.c (connect_to_server): Make KPOP
work again.

23 years agooops, spelling mistake
Jeffrey Stedfast [Thu, 7 Sep 2000 03:48:39 +0000 (03:48 +0000)]
oops, spelling mistake

23 years agoImplemented (someone added these to camel-mime-message.h but never
Jeffrey Stedfast [Thu, 7 Sep 2000 03:47:45 +0000 (03:47 +0000)]
Implemented (someone added these to camel-mime-message.h but never

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

* camel-mime-message.c (camel_mime_message_get_received_date):
Implemented (someone added these to camel-mime-message.h but never
implemented them!!) - though it may not be right.
(camel_mime_message_get_sent_date): Same.

23 years agoIf a MIME part has no Content-Disposition, but does have a "name" on the
Dan Winship [Tue, 5 Sep 2000 23:00:22 +0000 (23:00 +0000)]
If a MIME part has no Content-Disposition, but does have a "name" on the

* camel-mime-part.c (camel_mime_part_get_filename): If a MIME part
has no Content-Disposition, but does have a "name" on the
Content-Type, return that as the filename.
(process_header): strstrip the Content-Description

23 years agocare about response code. (get_HEAD_headers): same.
Chris Toshok [Tue, 5 Sep 2000 22:32:49 +0000 (22:32 +0000)]
care about response code. (get_HEAD_headers): same.

2000-09-05  Chris Toshok  <toshok@helixcode.com>

* providers/nntp/camel-nntp-utils.c (get_OVER_headers): care about
response code.
(get_HEAD_headers): same.
(camel_nntp_get_headers): same.

* providers/nntp/camel-nntp-store.h: get rid of
CAMEL_NNTP_OK/ERR/FAIL.

* providers/nntp/camel-nntp-store.c
(camel_nntp_store_get_extensions): take CamelException arg and
pass along to camel_nntp_command.
(camel_nntp_store_get_overview_fmt): same.
(nntp_store_connect): convert to using constants in
camel-nntp-resp-codes.h
(nntp_store_get_folder): make use of camel_nntp_folder_new.
(camel_nntp_command_send_recv): new function to deal with auth
challenge.
(camel_nntp_command): split out most of this function into
camel_nntp_command_send_recv.  also, return the actual response
code instead of CAMEL_NNTP_OK/ERR/FAIL.

* providers/nntp/camel-nntp-resp-codes.h: new file.

* providers/nntp/camel-nntp-folder.h: prototype for
camel_nntp_folder_new.

* providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): new
convenience function.
(nntp_folder_get_message): care more about the actual response
code.

* providers/nntp/Makefile.am (libcamelnntp_la_SOURCES): add
camel-nntp-auth.c.
(libcamelnntpinclude_HEADERS): add camel-nntp-auth.h.

* providers/nntp/camel-nntp-auth.h: new file.

* providers/nntp/camel-nntp-auth.c: new file.

23 years agoUpdate for CamelObject and some other changes
Dan Winship [Tue, 5 Sep 2000 21:18:00 +0000 (21:18 +0000)]
Update for CamelObject and some other changes

23 years agoCache provider, for caching a remote store locally. This is not done yet.
Dan Winship [Tue, 5 Sep 2000 20:33:05 +0000 (20:33 +0000)]
Cache provider, for caching a remote store locally. This is not done yet.

23 years agoCleanup of lots of exception handling ; bugfixes
Peter Williams [Tue, 5 Sep 2000 20:08:09 +0000 (20:08 +0000)]
Cleanup of lots of exception handling ; bugfixes

23 years agoA bit more e_utf8 wrappers here and there
Lauris Kaplinski [Sat, 2 Sep 2000 02:51:28 +0000 (02:51 +0000)]
A bit more e_utf8 wrappers here and there