Jeffrey Stedfast [Wed, 14 Jun 2000 05:10:53 +0000 (05:10 +0000)]
IMAP will now allow you to login, and on some IMAP providers it will actually allow you to get mail - however there are some things that might need to be rewritten in Camel to allow all IMAP providers to work
right now, it wants to open /INBOX which isn't always the same as INBOX
Camel won't seem to allow me to just have it open "INBOX" if I specify '/' as the separator
*sigh*
Dan Winship [Wed, 14 Jun 2000 05:10:52 +0000 (05:10 +0000)]
if the mbox doesn't end with a '\n', write one before appending the new
* providers/mbox/camel-mbox-folder.c (mbox_append_message): if the
mbox doesn't end with a '\n', write one before appending the new
message.
Jeffrey Stedfast [Wed, 14 Jun 2000 05:10:52 +0000 (05:10 +0000)]
updated the crlf filter:
encoder: allocate more memory (3 * len instead of 2 * len)
decoder: prevent p from pointing beyond the end of the buffer
Jeffrey Stedfast [Wed, 14 Jun 2000 05:10:52 +0000 (05:10 +0000)]
Took out the filter code ( we already filter in
* providers/pop3/camel-pop3-folder.c (get_message_by_uid): Took out the
filter code ( we already filter in camel_pop3_command_get_additional_data)
Jeffrey Stedfast [Wed, 14 Jun 2000 05:10:52 +0000 (05:10 +0000)]
Updated: a separator is now a char* rather than a single char because IMAP
2000-06-14 Jeffrey Stedfast <fejj@helixcode.com>
* camel-folder.c (init): Updated: a separator is now a char* rather than
a single char because IMAP can have a string for a directory separator.
Also, since IMAP does not begin with a directory separator, there is a new
argument (path_begins_with_sep) which decides if a directory should begin
with a directory separator.
* providers/imap/camel-imap-store.c (imap_create): Since, on connect,
Camel tries to create INBOX (which already exists on every IMAP provider)
we can return TRUE when the folder name is "INBOX".
* providers/vee/camel-vee-folder.c (vee_init): Updated.
* providers/imap/camel-imap-folder.c (camel_imap_folder_new): Updated.
* providers/mbox/camel-mbox-store.c (get_folder): Updated.
* providers/mbox/camel-mbox-folder.c (mbox_init): Updated.
* providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Updated.
Dan Winship [Wed, 14 Jun 2000 05:10:52 +0000 (05:10 +0000)]
Renamed from camel_mbox_summary_expunge. Takes a gboolean saying whether
* providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
Renamed from camel_mbox_summary_expunge. Takes a gboolean saying
whether to expunge or just sync the mbox file. Change some
g_errors to g_warning so we don't abort. Make the quick
X-Evolution updating code lseek around correctly. Update the
mbox mtime in the summary file even in the quick case.
* providers/mbox/camel-mbox-summary.h: make
CAMEL_MESSAGE_FOLDER_NOXEV not conflict with
CAMEL_MESSAGE_FOLDER_FLAGGED defined in camel-mime-message.h
* providers/mbox/camel-mbox-folder.c (mbox_close): call
camel_mbox_summary_sync to save flag state if not expunging.
(mbox_expunge): Update for camel_mbox_summary_expunge rename.
Jeffrey Stedfast [Wed, 14 Jun 2000 05:10:52 +0000 (05:10 +0000)]
IMAP will now allow you to login, and on some IMAP providers it will actually allow you to get mail - however there are some things that might need to be rewritten in Camel to allow all IMAP providers to work
right now, it wants to open /INBOX which isn't always the same as INBOX
Camel won't seem to allow me to just have it open "INBOX" if I specify '/' as the separator
*sigh*
Jeffrey Stedfast [Tue, 13 Jun 2000 00:27:30 +0000 (00:27 +0000)]
implemented a temp hack for the imap fetch by uid code
(works something like the POP code, should be fixed to work like we originally planned)
Jeffrey Stedfast [Mon, 12 Jun 2000 23:20:16 +0000 (23:20 +0000)]
Took out the filter code ( we already filter in
* providers/pop3/camel-pop3-folder.c (get_message_by_uid): Took out the
filter code ( we already filter in camel_pop3_command_get_additional_data)
Jeffrey Stedfast [Mon, 12 Jun 2000 23:20:16 +0000 (23:20 +0000)]
Updated: a separator is now a char* rather than a single char because IMAP
2000-06-14 Jeffrey Stedfast <fejj@helixcode.com>
* camel-folder.c (init): Updated: a separator is now a char* rather than
a single char because IMAP can have a string for a directory separator.
Also, since IMAP does not begin with a directory separator, there is a new
argument (path_begins_with_sep) which decides if a directory should begin
with a directory separator.
* providers/imap/camel-imap-store.c (imap_create): Since, on connect,
Camel tries to create INBOX (which already exists on every IMAP provider)
we can return TRUE when the folder name is "INBOX".
* providers/vee/camel-vee-folder.c (vee_init): Updated.
* providers/imap/camel-imap-folder.c (camel_imap_folder_new): Updated.
* providers/mbox/camel-mbox-store.c (get_folder): Updated.
* providers/mbox/camel-mbox-folder.c (mbox_init): Updated.
* providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Updated.
Jeffrey Stedfast [Mon, 12 Jun 2000 23:20:16 +0000 (23:20 +0000)]
pop provider now uses the crlf filter
Jeffrey Stedfast [Mon, 12 Jun 2000 23:20:16 +0000 (23:20 +0000)]
updated the crlf filter:
encoder: allocate more memory (3 * len instead of 2 * len)
decoder: prevent p from pointing beyond the end of the buffer
Jeffrey Stedfast [Mon, 12 Jun 2000 23:20:16 +0000 (23:20 +0000)]
pop provider now uses the crlf filter
Jeffrey Stedfast [Mon, 12 Jun 2000 22:34:28 +0000 (22:34 +0000)]
Removed the camel-mime-filter-smtp.h entry from Makefile.am - oops!
Jeffrey Stedfast [Mon, 12 Jun 2000 22:32:54 +0000 (22:32 +0000)]
Deprecated.
2000-06-12 Jeffrey Stedfast <fejj@helixcode.com>
* camel-mime-filter-smtp.c: Deprecated.
* providers/smtp/camel-smtp-transport.c (smtp_data): Updated to use
camel-mime-filter-crlf with my 'dot' extension in place of
camel-mime-filter-smtp
* camel-mime-part.c (write_to_stream): Updated to reflect changes
made to camel-mime-filter-crlf.c
* camel-mime-filter-crlf.c (filter): Modified to be able to
encode/decode dots ("\n.\n"<->"\n..\n"). Also fixed the decoder
so that it should no longer get caught in an infinite loop.
Dan Winship [Mon, 12 Jun 2000 20:59:32 +0000 (20:59 +0000)]
don't pass a second (incorrect) -rpath in addition to the (correct) one
* providers/*/Makefile.am: don't pass a second (incorrect) -rpath
in addition to the (correct) one automatically provided by
automake.
Dan Winship [Mon, 12 Jun 2000 16:49:59 +0000 (16:49 +0000)]
New filter to do CRLF<->LF conversion. (Currently only tested in the
* camel-mime-filter-crlf.c: New filter to do CRLF<->LF conversion.
(Currently only tested in the LF->CRLF direction.)
* camel-mime-part.c (write_to_stream): if content-type is text,
and it's QP or B64 encoded, pass through the CRLF filter before
the other filter to satisfy the "canonical encoding" rules in the
MIME spec.
Dan Winship [Fri, 9 Jun 2000 22:00:53 +0000 (22:00 +0000)]
Add another argument, "mode", which can be CAMEL_AUTHENTICATOR_ASK or
* camel-session.c (camel_session_query_authenticator): Add another
argument, "mode", which can be CAMEL_AUTHENTICATOR_ASK or
CAMEL_AUTHENTICATOR_TELL, so callers can get the app to un-cache
bad info.
* providers/pop3/camel-pop3-store.c (pop3_connect): uncache the
password if it doesn't work.
Jeffrey Stedfast [Fri, 9 Jun 2000 21:19:57 +0000 (21:19 +0000)]
Updated to reflect changes made in camel-imap-store.c
2000-06-09 Jeffrey Stedfast <fejj@helixcode.com>
* providers/imap/camel-imap-stream.c (stream_read): Updated to reflect
changes made in camel-imap-store.c
* providers/imap/camel-imap-store.c (imap_create): No longer checks to
make sure a folder doesn't already exists (as this is no longer needed)
(camel_imap_command): Now takes a CamelFolder argument so it can detect
whether or not it needs to SELECT a folder or not
(camel_imap_command_extended): Same.
Jeffrey Stedfast [Fri, 9 Jun 2000 18:58:57 +0000 (18:58 +0000)]
Will now always send EHLO first, if that fails it will fall back on HELO.
2000-06-09 Jeffrey Stedfast <fejj@helixcode.com>
* providers/smtp/camel-smtp-transport.c (smtp_connect): Will now always
send EHLO first, if that fails it will fall back on HELO.
(esmtp_get_authtypes): Should now correctly parse authtypes.
Michael Zucci [Wed, 7 Jun 2000 23:57:18 +0000 (23:57 +0000)]
Initial datawrapper diagram.
Michael Zucci [Wed, 7 Jun 2000 23:55:26 +0000 (23:55 +0000)]
Parser state diagram.
Jeffrey Stedfast [Wed, 7 Jun 2000 23:00:34 +0000 (23:00 +0000)]
providers/imap/camel-imap-summary.c now builds
Jeffrey Stedfast [Wed, 7 Jun 2000 21:57:27 +0000 (21:57 +0000)]
Added rules to build camel-imap-stream
2000-06-07 Jeffrey Stedfast <fejj@helixcode.com>
* providers/imap/Makefile.am: Added rules to build
camel-imap-stream
* providers/imap/camel-imap-store.c (get_folder): Update.
Moved imap_create here.
* providers/imap/camel-imap-folder.c (delete_messages): Remove.
(imap_create): Removed.
(imap_delete): Removed.
(imap_exists): Removed.
* providers/imap/camel-imap-stream.h: Added typedef's for the stream
* providers/imap/camel-imap-stream.c: Modified to build cleanly
Not Zed [Wed, 7 Jun 2000 21:40:52 +0000 (21:40 +0000)]
Properly dereference warning/debug messages. (header_references_decode):
2000-06-07 Not Zed <NotZed@HelixCode.com>
* camel-mime-utils.c (header_msgid_decode_internal): Properly
dereference warning/debug messages.
(header_references_decode): Check we actually have msgid stuff
before trying to decode it ...
Jeffrey Stedfast [Wed, 7 Jun 2000 00:37:10 +0000 (00:37 +0000)]
moved camel-imap-stream.* to providers/imap
added providers/imap/camel-imap-summary.c
Dan Winship [Wed, 7 Jun 2000 00:06:29 +0000 (00:06 +0000)]
Remove exists, create, delete. A CamelFolder now always references an
* camel-folder.c: Remove exists, create, delete. A CamelFolder
now always references an existing folder. Remove delete_messages
too since it wasn't being used. Add a "create" flag to
get_subfolder saying whether or not to create the subfolder if it
doesn't yet exist.
* camel-store.c (camel_store_get_folder): Add a "create" flag to
say whether or not to create the folder if it doesn't yet exist.
(camel_store_delete_folder): New method, moved from CamelFolder.
(cache_folder, uncache_folder): Fix up a bit.
(get_folder_name): Explain what this is for.
* providers/mbox/camel-mbox-folder.c:
* providers/mbox/camel-mbox-store.c: Update. Remove support for
hierarchical folders to simplify this for now, since we're not
using it, and it's not completely clear how they should work in an
ELocalStorage world. Needs to be revisited.
* providers/pop3/camel-pop3-folder.c (delete_messages): Remove.
* providers/pop3/camel-pop3-store.c (get_folder): Update.
* providers/vee/camel-vee-folder.c (exists): Remove.
* providers/vee/camel-vee-store.c (vee_get_folder): Update.
Jeffrey Stedfast [Wed, 7 Jun 2000 00:06:29 +0000 (00:06 +0000)]
Updated: a separator is now a char* rather than a single char because IMAP
2000-06-14 Jeffrey Stedfast <fejj@helixcode.com>
* camel-folder.c (init): Updated: a separator is now a char* rather than
a single char because IMAP can have a string for a directory separator.
Also, since IMAP does not begin with a directory separator, there is a new
argument (path_begins_with_sep) which decides if a directory should begin
with a directory separator.
* providers/imap/camel-imap-store.c (imap_create): Since, on connect,
Camel tries to create INBOX (which already exists on every IMAP provider)
we can return TRUE when the folder name is "INBOX".
* providers/vee/camel-vee-folder.c (vee_init): Updated.
* providers/imap/camel-imap-folder.c (camel_imap_folder_new): Updated.
* providers/mbox/camel-mbox-store.c (get_folder): Updated.
* providers/mbox/camel-mbox-folder.c (mbox_init): Updated.
* providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Updated.
Dan Winship [Wed, 7 Jun 2000 00:06:29 +0000 (00:06 +0000)]
Remove exists, create, delete. A CamelFolder now always references an
* camel-folder.c: Remove exists, create, delete. A CamelFolder
now always references an existing folder. Remove delete_messages
too since it wasn't being used. Add a "create" flag to
get_subfolder saying whether or not to create the subfolder if it
doesn't yet exist.
* camel-store.c (camel_store_get_folder): Add a "create" flag to
say whether or not to create the folder if it doesn't yet exist.
(camel_store_delete_folder): New method, moved from CamelFolder.
(cache_folder, uncache_folder): Fix up a bit.
(get_folder_name): Explain what this is for.
* providers/mbox/camel-mbox-folder.c:
* providers/mbox/camel-mbox-store.c: Update. Remove support for
hierarchical folders to simplify this for now, since we're not
using it, and it's not completely clear how they should work in an
ELocalStorage world. Needs to be revisited.
* providers/pop3/camel-pop3-folder.c (delete_messages): Remove.
* providers/pop3/camel-pop3-store.c (get_folder): Update.
* providers/vee/camel-vee-folder.c (exists): Remove.
* providers/vee/camel-vee-store.c (vee_get_folder): Update.
Dan Winship [Wed, 7 Jun 2000 00:06:28 +0000 (00:06 +0000)]
if the mbox doesn't end with a '\n', write one before appending the new
* providers/mbox/camel-mbox-folder.c (mbox_append_message): if the
mbox doesn't end with a '\n', write one before appending the new
message.
Jeffrey Stedfast [Wed, 7 Jun 2000 00:06:28 +0000 (00:06 +0000)]
Updated: a separator is now a char* rather than a single char because IMAP
2000-06-14 Jeffrey Stedfast <fejj@helixcode.com>
* camel-folder.c (init): Updated: a separator is now a char* rather than
a single char because IMAP can have a string for a directory separator.
Also, since IMAP does not begin with a directory separator, there is a new
argument (path_begins_with_sep) which decides if a directory should begin
with a directory separator.
* providers/imap/camel-imap-store.c (imap_create): Since, on connect,
Camel tries to create INBOX (which already exists on every IMAP provider)
we can return TRUE when the folder name is "INBOX".
* providers/vee/camel-vee-folder.c (vee_init): Updated.
* providers/imap/camel-imap-folder.c (camel_imap_folder_new): Updated.
* providers/mbox/camel-mbox-store.c (get_folder): Updated.
* providers/mbox/camel-mbox-folder.c (mbox_init): Updated.
* providers/pop3/camel-pop3-folder.c (camel_pop3_folder_new): Updated.
Dan Winship [Wed, 7 Jun 2000 00:06:28 +0000 (00:06 +0000)]
Renamed from camel_mbox_summary_expunge. Takes a gboolean saying whether
* providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
Renamed from camel_mbox_summary_expunge. Takes a gboolean saying
whether to expunge or just sync the mbox file. Change some
g_errors to g_warning so we don't abort. Make the quick
X-Evolution updating code lseek around correctly. Update the
mbox mtime in the summary file even in the quick case.
* providers/mbox/camel-mbox-summary.h: make
CAMEL_MESSAGE_FOLDER_NOXEV not conflict with
CAMEL_MESSAGE_FOLDER_FLAGGED defined in camel-mime-message.h
* providers/mbox/camel-mbox-folder.c (mbox_close): call
camel_mbox_summary_sync to save flag state if not expunging.
(mbox_expunge): Update for camel_mbox_summary_expunge rename.
Dan Winship [Wed, 7 Jun 2000 00:06:28 +0000 (00:06 +0000)]
Remove exists, create, delete. A CamelFolder now always references an
* camel-folder.c: Remove exists, create, delete. A CamelFolder
now always references an existing folder. Remove delete_messages
too since it wasn't being used. Add a "create" flag to
get_subfolder saying whether or not to create the subfolder if it
doesn't yet exist.
* camel-store.c (camel_store_get_folder): Add a "create" flag to
say whether or not to create the folder if it doesn't yet exist.
(camel_store_delete_folder): New method, moved from CamelFolder.
(cache_folder, uncache_folder): Fix up a bit.
(get_folder_name): Explain what this is for.
* providers/mbox/camel-mbox-folder.c:
* providers/mbox/camel-mbox-store.c: Update. Remove support for
hierarchical folders to simplify this for now, since we're not
using it, and it's not completely clear how they should work in an
ELocalStorage world. Needs to be revisited.
* providers/pop3/camel-pop3-folder.c (delete_messages): Remove.
* providers/pop3/camel-pop3-store.c (get_folder): Update.
* providers/vee/camel-vee-folder.c (exists): Remove.
* providers/vee/camel-vee-store.c (vee_get_folder): Update.
Jeffrey Stedfast [Tue, 6 Jun 2000 22:55:06 +0000 (22:55 +0000)]
Changed the read and write method prototypes to return an ssize_t type
2000-06-06 Jeffrey Stedfast <fejj@helixcode.com>
* camel-stream.[c,h]: Changed the read and write method prototypes
to return an ssize_t type rather than an int and also changed
the 'number of bytes' to read or write to a size_t type
* camel-stream-fs.c: same as above
* camel-stream-mem.c: again, same as above
* camel-stream-buffer.c: same
* camel-imap-stream.[c,h]: Added this new stream, cache's previously
read data so each successive call will instead read from the cache
Jeffrey Stedfast [Tue, 6 Jun 2000 18:55:45 +0000 (18:55 +0000)]
worked on getting providers/imap/* to build cleanly, fixed a number of stupid errors and things like that
am commit'ing code since there are some volunteers that would like to work on imap
Dan Winship [Mon, 5 Jun 2000 19:04:03 +0000 (19:04 +0000)]
fix typo/braino (set "Content-Disposition", not "Content-Description")
* camel-mime-part.c (camel_mime_part_set_disposition): fix
typo/braino (set "Content-Disposition", not "Content-Description")
(camel_mime_part_set_filename): const poison
Not Zed [Fri, 2 Jun 2000 22:57:31 +0000 (22:57 +0000)]
Ick, damn signs! Fix a bug with sign extended bytes.
2000-06-02 Not Zed <NotZed@HelixCode.com>
* camel-mime-utils.c (base64_encode_step): Ick, damn signs! Fix a
bug with sign extended bytes.
* camel-mime-filter-smtp.c (filter): Changed layout/logic slightly
(to match From filter)
Jeffrey Stedfast [Fri, 2 Jun 2000 20:47:56 +0000 (20:47 +0000)]
Jeffrey Stedfast <fejj@helixcode.com>
* camel-mime-filter-smtp.c (filter): Fixed the filter so that it wouldn't
insert garbage under certain conditions.
Christopher James Lahey [Fri, 2 Jun 2000 19:15:22 +0000 (19:15 +0000)]
Don't ref the services in the cache.
2000-06-02 Christopher James Lahey <clahey@helixcode.com>
* camel-session.c: Don't ref the services in the cache.
Jeffrey Stedfast [Fri, 2 Jun 2000 19:07:21 +0000 (19:07 +0000)]
moved some debug print statements to better locations
Not Zed [Fri, 2 Jun 2000 18:09:18 +0000 (18:09 +0000)]
If we get a funny result, just throw it out. Basically a fix for the one
2000-06-02 Not Zed <NotZed@HelixCode.com>
* camel-mime-utils.c (header_decode_date): If we get a funny
result, just throw it out. Basically a fix for the one true
broken TradeClient.
2000-06-01 Not Zed <NotZed@HelixCode.com>
* camel-folder-summary.c (message_info_free): Free
references/messsage id.
(message_info_save): Save them.
(message_info_load): Load them.
(message_info_new): And get them from the new message.
(CAMEL_FOLDER_SUMMARY_VERSION): Bumped for new changes.
* camel-folder-summary.h: Added references and messageid to
summary.
Christopher James Lahey [Fri, 2 Jun 2000 16:12:26 +0000 (16:12 +0000)]
Ref and unref objects in the service cache properly.
2000-06-02 Christopher James Lahey <clahey@helixcode.com>
* camel-session.c: Ref and unref objects in the service cache
properly.
* camel-store.c: Ref the folder when returning it using
lookup_folder. Used the folder's full name for the key for the
folder cache since that's used to uncache it.
Dan Winship [Fri, 2 Jun 2000 06:34:58 +0000 (06:34 +0000)]
Fun with purify.
* providers/pop3/camel-pop3-store.c (pop3_connect): free msg on
success as well as failure.
(camel_pop3_command_get_additional_data): free buf after reading
the last line (".").
* providers/pop3/camel-pop3-folder.c (get_message_by_uid): free
body data after creating the memstream from it (which will copy
the data).
* providers/mbox/camel-mbox-folder.c (mbox_finalize): free summary
and index paths.
* camel-data-wrapper.c (finalize): unref the stream, if it exists.
Not Zed [Thu, 1 Jun 2000 22:08:07 +0000 (22:08 +0000)]
Fixes Bug 192.
2000-06-01 Not Zed <NotZed@HelixCode.com>
* camel-mime-part.c (construct_from_parser): For a message part,
set the default content-type to message/rfc822. Maybe needs to be
done for multiparts too?
2000-05-31 Not Zed <NotZed@HelixCode.com>
* camel-mime-message.c (construct_from_parser): Typo in assersion.
* camel-mime-parser.c (folder_scan_step): Use a default type of
message/rfc822 for multipart/digest. Bug Z192.
(folder_scan_drop_step): Remove warning.
Not Zed [Tue, 30 May 2000 22:35:40 +0000 (22:35 +0000)]
Init filter_from to NULL, for exception case. (mbox_get_message_by_uid):
2000-05-30 Not Zed <NotZed@HelixCode.com>
* providers/mbox/camel-mbox-folder.c (mbox_append_message): Init
filter_from to NULL, for exception case.
(mbox_get_message_by_uid): Cast off_t to long int for diagnostics.
* camel-url.c (camel_url_hash): Hash funciton for using camel
url's as hash keys.
(camel_url_equal): equal function for same.
* camel-session.c (camel_session_finalise): Free cached services.
(camel_session_init): Init service cache.
(service_cache_remove): destroy callback to remove a service from
the cache.
* camel-store.c (get_folder_internal): Remove the extra ref of the
folder. That seems the right behaviour ...?
(camel_store_get_type): Doh, actually call store init, so the
cache works.
(cache_folder): strdup the folder name! no wonder it never found
it again.
Dan Winship [Tue, 30 May 2000 22:35:40 +0000 (22:35 +0000)]
Renamed from camel_mbox_summary_expunge. Takes a gboolean saying whether
* providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
Renamed from camel_mbox_summary_expunge. Takes a gboolean saying
whether to expunge or just sync the mbox file. Change some
g_errors to g_warning so we don't abort. Make the quick
X-Evolution updating code lseek around correctly. Update the
mbox mtime in the summary file even in the quick case.
* providers/mbox/camel-mbox-summary.h: make
CAMEL_MESSAGE_FOLDER_NOXEV not conflict with
CAMEL_MESSAGE_FOLDER_FLAGGED defined in camel-mime-message.h
* providers/mbox/camel-mbox-folder.c (mbox_close): call
camel_mbox_summary_sync to save flag state if not expunging.
(mbox_expunge): Update for camel_mbox_summary_expunge rename.
Not Zed [Tue, 30 May 2000 22:35:40 +0000 (22:35 +0000)]
Init filter_from to NULL, for exception case. (mbox_get_message_by_uid):
2000-05-30 Not Zed <NotZed@HelixCode.com>
* providers/mbox/camel-mbox-folder.c (mbox_append_message): Init
filter_from to NULL, for exception case.
(mbox_get_message_by_uid): Cast off_t to long int for diagnostics.
* camel-url.c (camel_url_hash): Hash funciton for using camel
url's as hash keys.
(camel_url_equal): equal function for same.
* camel-session.c (camel_session_finalise): Free cached services.
(camel_session_init): Init service cache.
(service_cache_remove): destroy callback to remove a service from
the cache.
* camel-store.c (get_folder_internal): Remove the extra ref of the
folder. That seems the right behaviour ...?
(camel_store_get_type): Doh, actually call store init, so the
cache works.
(cache_folder): strdup the folder name! no wonder it never found
it again.
Jeffrey Stedfast [Tue, 30 May 2000 17:41:31 +0000 (17:41 +0000)]
Implemented a few more imap functions in providers/imap/camel-imap-folder.c
Michael Zucci [Tue, 30 May 2000 01:05:18 +0000 (01:05 +0000)]
diff -r1.206 ChangeLog
2a3,9
> * camel-store.c (camel_store_init): Move it to here. If this
> level is going to maintain it, it should set it up. Lets see what
> caching folders breaks :(
>
> * providers/pop3/camel-pop3-store.c (camel_pop3_store_init): Dont
> init folder cache here.
>
7a15,16
> (camel_mbox_summary_expunge): Remove some debug, and dont offset
> frompos?
Not Zed [Tue, 30 May 2000 00:50:23 +0000 (00:50 +0000)]
Make sure we copy messages which are still intact to the new folder.
2000-05-29 Not Zed <NotZed@HelixCode.com>
* providers/mbox/camel-mbox-summary.c
(camel_mbox_summary_expunge): Make sure we copy messages which are
still intact to the new folder.
(camel_mbox_summary_expunge): Update the frompos as well when
moving the content.
Michael Zucci [Mon, 29 May 2000 23:29:44 +0000 (23:29 +0000)]
> (message_changed): Track changes to the source message in the
> summary.
> (folder_changed): Track folder changes, re-query the folder that
> changed, and cascade the changed event as well.
> (camel_vee_folder_finalise): Free subfolder and subfolder summary.
Not Zed [Mon, 29 May 2000 20:38:55 +0000 (20:38 +0000)]
Check the searched folder is open before trying to search it.
2000-05-29 Not Zed <NotZed@HelixCode.com>
* providers/vee/camel-vee-folder.c (vee_folder_build): Check the
searched folder is open before trying to search it.
Dan Winship [Mon, 29 May 2000 19:32:29 +0000 (19:32 +0000)]
Fix up some glib precondition stuff. Try to set the URL in
* camel-service.c (camel_service_new): Fix up some glib
precondition stuff. Try to set the URL in camel_service_new before
checking whether or not it's "empty" so that you can successfully
set "sendmail:" as a URL.
Ross Golder [Mon, 29 May 2000 11:09:32 +0000 (11:09 +0000)]
Typo
Dan Winship [Sun, 28 May 2000 21:29:28 +0000 (21:29 +0000)]
Add a domain field to CamelProvider, to say what kind of data it provides.
* camel-provider.h: Add a domain field to CamelProvider, to say
what kind of data it provides.
* providers/imap/camel-imap-provider.c:
* providers/mbox/camel-mbox-provider.c:
* providers/pop3/camel-pop3-provider.c:
* providers/sendmail/camel-sendmail-provider.c:
* providers/smtp/camel-smtp-provider.c: Set domain to "mail".
* providers/nntp/camel-nntp-provider.c: Set domain to "news".
* providers/vee/camel-vee-provider.c: Set domain to "vfolder". (So
it doesn't end up being listed as a potential mail source in the
mail config wizard.)
Dan Winship [Sun, 28 May 2000 20:03:05 +0000 (20:03 +0000)]
(connect_to_server): Remove port number from error message since
it's not terribly useful and we were getting it from the wrong
place anyway.
Dan Winship [Sun, 28 May 2000 18:05:23 +0000 (18:05 +0000)]
Split apart password and APOP auth, since some servers seem to do both,
* providers/pop3/camel-pop3-store.c: Split apart password and APOP
auth, since some servers seem to do both, but don't really.
(connect_to_server): Renamed from try_connect. Now actually does
the connection up to the point of checking the greeting for APOP
support.
(query_auth_types): Return APOP, if appropriate. Call
pop3_disconnect after connect_to_server since we don't really want
to be connected.
(pop3_connect): Use connect_to_server rather than duplicating
code. Fix a one-byte buffer overrun in the APOP code.
(pop3_disconnect): Make this able to clean up after a partial
connect.
Dan Winship [Sun, 28 May 2000 17:36:54 +0000 (17:36 +0000)]
Use `foo@bar' rather than `"" <foo@bar>' for email addresses with no name
* camel-mime-utils.c (header_address_list_format_append): Use
`foo@bar' rather than `"" <foo@bar>' for email addresses with no
name component.
Ross Golder [Sun, 28 May 2000 11:56:20 +0000 (11:56 +0000)]
Added a missing smtp-related file to the dist.
Jeffrey Stedfast [Sat, 27 May 2000 21:57:41 +0000 (21:57 +0000)]
Ripped out camel_imap_command_get_additional_data() from camel-imap-store and implemented a number of methods in camel-imap-folder
Dan Winship [Fri, 26 May 2000 14:46:13 +0000 (14:46 +0000)]
Don't set a default boundary. Require the caller to do that.
* camel-multipart.c (camel_multipart_init): Don't set a default
boundary. Require the caller to do that.
(set_boundary): if boundary is NULL, generate a "random" boundary.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Add a call to
camel_multipart_set_boundary after creating a new multipart.
Jeffrey Stedfast [Fri, 26 May 2000 01:10:54 +0000 (01:10 +0000)]
updated changelog to reflect changes I made in providers/imap
Jeffrey Stedfast [Fri, 26 May 2000 01:06:35 +0000 (01:06 +0000)]
Added initial code to camel-imap-folder.c
Jeffrey Stedfast [Fri, 26 May 2000 01:05:49 +0000 (01:05 +0000)]
Updated several imap source files
NotZed [Thu, 25 May 2000 23:25:35 +0000 (23:25 +0000)]
Replace simple data wrapper here too, oops.
2000-05-25 NotZed <NotZed@HelixCode.com>
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Replace simple
data wrapper here too, oops.
NotZed [Thu, 25 May 2000 21:40:58 +0000 (21:40 +0000)]
Removed camel-simple-data-wrapper again. Less code to maintain == better
2000-05-25 NotZed <NotZed@HelixCode.com>
* Makefile.am (libcamel_la_SOURCES): Removed
camel-simple-data-wrapper again. Less code to maintain == better
code.
* camel-data-wrapper.c (construct_from_stream): Fixes for bug
where text attachments dont work. Made data-wrapper concrete for
the second time.
Jeffrey Stedfast [Thu, 25 May 2000 17:42:53 +0000 (17:42 +0000)]
Took out code that had been there to reconnect to the server if it was not
2000-05-25 Jeffrey Stedfast <fejj@helixcode.com>
* providers/smtp/camel-smtp-transport.c (_send_to): Took out code
that had been there to reconnect to the server if it was not
already connected - Mailer code was fixed so that this should not
be needed.
* providers/imap/camel-imap-store.[c,h]: Initial code.
Dan Winship [Thu, 25 May 2000 00:46:02 +0000 (00:46 +0000)]
Re-add camel-simple-data-wrapper.h, which was removed for some reason.
* camel.h: Re-add camel-simple-data-wrapper.h, which was removed
for some reason.
Jeffrey Stedfast [Thu, 25 May 2000 00:04:11 +0000 (00:04 +0000)]
Added more files to the imap provider to use as an outline - will likely need heavy editing later in development
This is mostly meant as guidance to both me and any volunteers that start working on imap
EDT 2000 Jeffrey Stedfast [Wed, 24 May 2000 22:10:27 +0000 (22:10 +0000)]
Fixes to make the SMTP transport thread-safe
Wed May 24 18:09:26 EDT 2000 Jeffrey Stedfast <fejj@helixcode.com>
* providers/smtp/camel-smtp-transport.[c,h]: Fixes to make the
SMTP transport thread-safe
EDT 2000 Jeffrey Stedfast [Tue, 23 May 2000 21:54:35 +0000 (21:54 +0000)]
Added debug fprintfs, tested with a few messages (smtp_data): Fixed to use
Tue May 23 17:49:21 EDT 2000 Jeffrey Stedfast <fejj@helixcode.com>
* providers/smtp/camel-smtp-transport.c: Added debug fprintfs, tested with a few messages
(smtp_data): Fixed to use data_wrapper_write_to_stream()
* camel-mime-filter-smtp.c (filter): Modified to escape all lines
beginning with a '.' and to place \r before each \n if one did
not previously exist. Removed code to escape "From " as it was found to not be needed
* providers/imap/.cvsignore: added file
Ettore Perazzoli [Tue, 23 May 2000 10:23:05 +0000 (10:23 +0000)]
Shut up.
Jeffrey Stedfast [Tue, 23 May 2000 06:11:04 +0000 (06:11 +0000)]
stuff
Jeffrey Stedfast [Tue, 23 May 2000 04:48:13 +0000 (04:48 +0000)]
stuff
Jeffrey Stedfast [Tue, 23 May 2000 04:08:36 +0000 (04:08 +0000)]
stuff dude
Jeffrey Stedfast [Tue, 23 May 2000 03:47:23 +0000 (03:47 +0000)]
junk
Jeffrey Stedfast [Tue, 23 May 2000 03:28:09 +0000 (03:28 +0000)]
changelog
Jeffrey Stedfast [Tue, 23 May 2000 03:26:36 +0000 (03:26 +0000)]
more stuff
Jeffrey Stedfast [Tue, 23 May 2000 03:05:19 +0000 (03:05 +0000)]
changelog
Jeffrey Stedfast [Tue, 23 May 2000 03:04:19 +0000 (03:04 +0000)]
stuff
Jeffrey Stedfast [Tue, 23 May 2000 02:57:31 +0000 (02:57 +0000)]
dude, just stuff
Jeffrey Stedfast [Mon, 22 May 2000 18:14:39 +0000 (18:14 +0000)]
added camel-mime-filter-smtp.[c,h] and made mods to camel-mime-filter-from.c
NotZed [Fri, 19 May 2000 19:58:41 +0000 (19:58 +0000)]
> searchpart = strchr(namepart, '?');
2000-05-19 NotZed <NotZed@HelixCode.com>
* camel-simple-data-wrapper.c (construct_from_stream): If we
already have been constructed, unref our content.
(write_to_stream): Check we've been constructued, and change for
stream api changes.
* camel-mime-parser.c: Removed exception stuff.
* md5-utils.c (md5_get_digest_from_stream): repaired.
* camel-mime-message.c: Remove exception from write_to_stream, and
fix, and fix formatting.
* providers/sendmail/camel-sendmail-transport.c (_send_internal):
Fix for stream changes.
* providers/pop3/camel-pop3-store.c (camel_pop3_command): Fixes
for stream changes.
* providers/mbox/camel-mbox-folder.c, and elsewhere, fix all
stream api changes.
(mbox_append_message): Use stream_close() now its back.
(mbox_append_message): unref the from filter.
* camel-stream-mem.c: And here.
* camel-stream-fs.[ch]: Here too.
* camel-stream-filter.c: Likewise. This is getting tedious.
* camel-stream-buffer.c (stream_write): Fix a few little problems.
(stream_close): Reimplmeent.
(camel_stream_buffer_read_line): Slightly more efficient version,
that also only allocates the right amount of memory for strings.
* camel-seekable-substream.c: Likewise.
* camel-seekable-stream.[ch]: Remove exceptions, fix formatting,
changes for stream (re)fixes. set_bounds returns an error.
* camel-stream.[ch]: Remove exceptions. Make flush and reset return
an error code, repair all the screwed up formatting, and put back
close.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): And here.
* camel-mime-part.c (camel_mime_part_set_content): And this too.
(write_to_stream): Fixed for stream changes.
* camel.h: Fixed.
* providers/vee/camel-vee-folder.c (vee_search_by_expression):
Implement. Performs an intersection of the two searches.
(camel_vee_folder_finalise): Unref search folders.
(vee_append_message): Implement append.
Dan Winship [Fri, 19 May 2000 00:47:36 +0000 (00:47 +0000)]
remove message_number_capability and require uid capatibility.
* camel-folder.c: remove message_number_capability and require uid
capatibility.
(camel_folder_list_subfolders, camel_folder_get_uid_list,
camel_folder_get_subfolder_info, camel_folder_get_message_info):
removed
(camel_folder_get_subfolder_names,
camel_folder_free_subfolder_names): new subfolder interfaces.
(camel_folder_get_uids, camel_folder_free_uids): new uid
interfaces
(camel_folder_get_summary, camel_folder_free_summary): new summary
interfaces
* providers/mbox/camel-mbox-folder.c,
* providers/nntp/camel-nntp-folder.c:
* providers/vee/camel-vee-folder.c: Update for changes
* providers/pop3/camel-pop3-folder.c: Implement get_uids, update
for other changes.
Dan Winship [Thu, 18 May 2000 23:39:57 +0000 (23:39 +0000)]
add urls file
NotZed [Thu, 18 May 2000 22:40:24 +0000 (22:40 +0000)]
Guess!
2000-05-18 NotZed <NotZed@HelixCode.com>
* providers/vee/camel-vee-folder.c: Guess!
* camel-folder-search.c (search_user_flag): Implement user_flag
search term.
* camel-folder-search.h: Added user_flag search capability
(user-flag "blah")
* providers/mbox/camel-mbox-folder.c (mbox_init): Set USER flag in
permanent flags for the folder.
Dan Winship [Thu, 18 May 2000 02:24:30 +0000 (02:24 +0000)]
Remove unused async open/close and copy_message_to functions. Rename
* camel-folder.c: Remove unused async open/close and
copy_message_to functions.
Rename functions without initial _. Fix glib preconditions and
gtk-doc comments.
Dan Winship [Thu, 18 May 2000 01:00:25 +0000 (01:00 +0000)]
remove get/set_output_stream operations. They're redundant with
* camel-data-wrapper.c: remove get/set_output_stream operations.
They're redundant with write_to_stream, and CamelMimePart and
CamelMimeMessage only implement the latter, meaning that trying to
get_output_stream on a CamelMimeMessage that was built from pieces
rather than being parsed from a stream doesn't work. Anything that
uses get_output_stream can be rewritten to use write_to_stream, so
we'll standardize on that.
(camel_data_wrapper_new): remove this: CamelDataWrapper is
supposed to be an abstract class.
(write_to_stream): remove default implementation. (Moved to
CamelSimpleDataWrapper)
* camel-simple-data-wrapper.c: resurrect, although it's not really
the same thing it was before. A simple data wrapper, which is
backed by a CamelStream.
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Use
construct_from_stream rather than set_output_stream.
(camel_mime_part_construct_content_from_parser): Change
camel_data_wrapper_new to camel_simple_data_wrapper_new.
* camel-mime-part.c (camel_mime_part_set_content): Change
camel_data_wrapper_new to camel_simple_data_wrapper_new.
Darin Adler [Wed, 17 May 2000 23:40:47 +0000 (23:40 +0000)]
Quick fix to get it to compile. I hope I don't get into trouble.
* camel-folder-summary.c: (message_info_load):
Quick fix to get it to compile. I hope I don't get into trouble.
Dan Winship [Wed, 17 May 2000 21:01:39 +0000 (21:01 +0000)]
Don't include the no-longer-distributed possibly-to-be-removed headers.
* camel.h: Don't include the no-longer-distributed
possibly-to-be-removed headers.
Dan Winship [Wed, 17 May 2000 19:41:18 +0000 (19:41 +0000)]
fix an off-by-one error in address parsing (smtp_data): use
* providers/smtp/camel-smtp-transport.c
(smtp_get_email_addr_from_text): fix an off-by-one error in
address parsing
(smtp_data): use camel_data_wrapper_get_output_stream rather than
data_wrapper->output_stream
NotZed [Wed, 17 May 2000 19:24:24 +0000 (19:24 +0000)]
All this basically to support user flags in the summary. They are not yet
All this basically to support user flags in the summary. They
are not yet saved to the message headers (complicates things a bit).
2000-05-17 NotZed <NotZed@HelixCode.com>
* providers/mbox/camel-mbox-folder.c (message_changed): Snoop
changes to user flags on the message into the summary as well.
* providers/mbox/camel-mbox-summary.c (camel_mbox_summary_init):
Changed version init to include the parent class version info
(i.e. add it not overwrite it).
* camel-folder-summary.c (message_info_new): Initialise user_flags
to empty.
(message_info_load): And load user flags.
(message_info_save): And save user flags.
(message_info_free): And free them.
(CAMEL_FOLDER_SUMMARY_VERSION): Bumped file revision.
* camel-folder-summary.h: Added user-flags to summary.
* camel-mime-message.c (camel_mime_message_set_user_flag): Dont
use a hashtable for user flags.
(camel_mime_message_get_user_flag): And changed here too.
(camel_flag_get): New interface to get a flag from a flag
list. Flag lists are easier to work with than hash tables, and
save memory too.
(camel_flag_set): And set.
(camel_flag_list_free): And free.
(free_key_only): Discard.
(finalize): Remove the flag list.
Jeffrey Stedfast [Wed, 17 May 2000 14:58:52 +0000 (14:58 +0000)]
error checking on gethostbyaddr() in providers/smtp/camel-smtp-transport.c
NotZed [Wed, 17 May 2000 04:08:41 +0000 (04:08 +0000)]
Implement.
2000-05-16 NotZed <NotZed@HelixCode.com>
* providers/mbox/camel-mbox-folder.c (mbox_delete_message_by_uid):
Implement.
2000-05-12 NotZed <NotZed@HelixCode.com>
* camel-movemail.c (camel_movemail): Open the destination with
O_APPEND, so we dont blow away a partially transferred mbox.
(camel_movemail): Loop if we get errno=INTR, and not fail.
Chris Toshok [Tue, 16 May 2000 13:08:43 +0000 (13:08 +0000)]
get things working with new camel summary stuff.
* providers/nntp/camel-nntp-folder.c:
* providers/nntp/camel-nntp-folder.h:
* providers/nntp/camel-nntp-provider.c:
* providers/nntp/camel-nntp-store.c:
* providers/nntp/camel-nntp-utils.c:
* providers/nntp/camel-nntp-utils.h:
get things working with new camel summary stuff.
* providers/nntp/camel-nntp-summary.c:
* providers/nntp/camel-nntp-summary.h:
removed files since camel-folder-summary does all we need.
EDT 2000 Jeffrey Stedfast [Mon, 15 May 2000 21:20:26 +0000 (21:20 +0000)]
o Added some preliminary ESMTP AUTH support
Mon May 15 17:19:31 EDT 2000 Jeffrey Stedfast <fejj@stampede.org>
o Added some preliminary ESMTP AUTH support
Dan Winship [Mon, 15 May 2000 13:52:56 +0000 (13:52 +0000)]
Remove camel_folder_get_summary, which no longer exists.
* camel-folder.h: Remove camel_folder_get_summary, which no longer
exists.
Dan Winship [Fri, 12 May 2000 00:48:40 +0000 (00:48 +0000)]
remove some cruft that we're not currently using.
* Makefile.am: remove some cruft that we're not currently using.
Dan Winship [Thu, 11 May 2000 21:54:50 +0000 (21:54 +0000)]
Change to match prototype (size_t vs unsigned int) so it works on 64-bit
* camel-stream-mem.c (camel_stream_mem_new_with_buffer): Change
to match prototype (size_t vs unsigned int) so it works on 64-bit
machines. Noted by msw.
Jeffrey Stedfast [Thu, 11 May 2000 20:48:38 +0000 (20:48 +0000)]
now it deff compiles