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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

24 years agodocument camel_folder_search_by_expression
Dan Winship [Fri, 16 Jun 2000 01:27:55 +0000 (01:27 +0000)]
document camel_folder_search_by_expression

24 years agoStarted to code the imap summary stuff
Jeffrey Stedfast [Fri, 16 Jun 2000 00:20:45 +0000 (00:20 +0000)]
Started to code the imap summary stuff

24 years agoRemove camel_service_connect_with_url. (URLs must be specified when the
Dan Winship [Thu, 15 Jun 2000 23:05:18 +0000 (23:05 +0000)]
Remove camel_service_connect_with_url. (URLs must be specified when the

* camel-service.c: Remove camel_service_connect_with_url. (URLs
must be specified when the service is requested from the session,
so that there can only ever be one service for any URL.)

24 years agoKill. Folders are now always open, and handle "closing" sorts of
Dan Winship [Thu, 15 Jun 2000 22:19:44 +0000 (22:19 +0000)]
Kill. Folders are now always open, and handle "closing" sorts of

* camel-folder.c: (camel_folder_open, camel_folder_is_open,
camel_folder_get_mode): Kill. Folders are now always open, and
handle "closing" sorts of operations at sync or finalize time.
(camel_folder_sync): renamed from camel_folder_close. Syncs state
to the store but doesn't necessarily close/disconnect.

* providers/*/camel-*-folder.c: Merge "open" methods into "init"
methods. Rename close to sync and update appropriately.

* providers/imap/camel-imap-store.c: Remove camel_imap_store_open
and camel_imap_store_close, which should not have been copied from
the POP provider (where the exist to work around limitations of
the POP protocol).

24 years agofix a bug. (don't expunge deleted messages if called with expunge ==
Dan Winship [Thu, 15 Jun 2000 22:18:48 +0000 (22:18 +0000)]
fix a bug. (don't expunge deleted messages if called with expunge ==

* providers/mbox/camel-mbox-summary.c: fix a bug. (don't expunge
deleted messages if called with expunge == FALSE)

24 years agoCheck server for various interesting extensions.
Dan Winship [Thu, 15 Jun 2000 19:38:00 +0000 (19:38 +0000)]
Check server for various interesting extensions.

* providers/pop3/camel-pop3-store.c (connect_to_server): Check
server for various interesting extensions.

* providers/pop3/camel-pop3-folder.c (get_uids): If the server
supports UIDL, use real UIDs rather than fake ones.
(etc): Map uids back to numbers appropriately

24 years agoFix to previous change: make sure the "seek" variable ends up with the
Dan Winship [Thu, 15 Jun 2000 17:52:06 +0000 (17:52 +0000)]
Fix to previous change: make sure the "seek" variable ends up with the

* providers/mbox/camel-mbox-folder.c (mbox_append_message): Fix to
previous change: make sure the "seek" variable ends up with the
value it should.

* providers/mbox/camel-mbox-summary.c (summary_rebuild): Update
summary mtime as well as size.

24 years agoIMAP will now allow you to login, and on some IMAP providers it will actually allow...
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*

24 years agoUpdated: a separator is now a char* rather than a single char because IMAP
Jeffrey Stedfast [Wed, 14 Jun 2000 05:10:53 +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.

24 years agoIMAP will now allow you to login, and on some IMAP providers it will actually allow...
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*

24 years agoif the mbox doesn't end with a '\n', write one before appending the new
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.

24 years agoupdated the crlf filter:
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

24 years agoTook out the filter code ( we already filter in
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)

24 years agoUpdated: a separator is now a char* rather than a single char because IMAP
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.

24 years agoRenamed from camel_mbox_summary_expunge. Takes a gboolean saying whether
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.

24 years agoIMAP will now allow you to login, and on some IMAP providers it will actually allow...
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*

24 years agoimplemented a temp hack for the imap fetch by uid code
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)

24 years agoTook out the filter code ( we already filter in
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)

24 years agoUpdated: a separator is now a char* rather than a single char because IMAP
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.

24 years agopop provider now uses the crlf filter
Jeffrey Stedfast [Mon, 12 Jun 2000 23:20:16 +0000 (23:20 +0000)]
pop provider now uses the crlf filter

24 years agoupdated 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

24 years agopop provider now uses the crlf filter
Jeffrey Stedfast [Mon, 12 Jun 2000 23:20:16 +0000 (23:20 +0000)]
pop provider now uses the crlf filter

24 years agoRemoved the camel-mime-filter-smtp.h entry from Makefile.am - oops!
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!

24 years agoDeprecated.
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.

24 years agodon't pass a second (incorrect) -rpath in addition to the (correct) one
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.

24 years agoNew filter to do CRLF<->LF conversion. (Currently only tested in the
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.

24 years agoAdd another argument, "mode", which can be CAMEL_AUTHENTICATOR_ASK or
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.

24 years agoUpdated to reflect changes made in camel-imap-store.c
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.

24 years agoWill now always send EHLO first, if that fails it will fall back on HELO.
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.

24 years ago Initial datawrapper diagram.
Michael Zucci [Wed, 7 Jun 2000 23:57:18 +0000 (23:57 +0000)]
Initial datawrapper diagram.

24 years ago Parser state diagram.
Michael Zucci [Wed, 7 Jun 2000 23:55:26 +0000 (23:55 +0000)]
Parser state diagram.

24 years agoproviders/imap/camel-imap-summary.c now builds
Jeffrey Stedfast [Wed, 7 Jun 2000 23:00:34 +0000 (23:00 +0000)]
providers/imap/camel-imap-summary.c now builds

24 years agoAdded rules to build camel-imap-stream
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

24 years agoProperly dereference warning/debug messages. (header_references_decode):
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 ...

24 years agomoved camel-imap-stream.* to providers/imap
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

24 years agoRemove exists, create, delete. A CamelFolder now always references an
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.

24 years agoUpdated: a separator is now a char* rather than a single char because IMAP
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.

24 years agoRemove exists, create, delete. A CamelFolder now always references an
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.

24 years agoif the mbox doesn't end with a '\n', write one before appending the new
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.

24 years agoUpdated: a separator is now a char* rather than a single char because IMAP
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.

24 years agoRenamed from camel_mbox_summary_expunge. Takes a gboolean saying whether
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.

24 years agoRemove exists, create, delete. A CamelFolder now always references an
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.

24 years agoChanged the read and write method prototypes to return an ssize_t type
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

24 years agoworked on getting providers/imap/* to build cleanly, fixed a number of stupid errors...
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

24 years agofix typo/braino (set "Content-Disposition", not "Content-Description")
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

24 years agoIck, damn signs! Fix a bug with sign extended bytes.
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)

24 years agoJeffrey Stedfast <fejj@helixcode.com>
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.

24 years agoDon't ref the services in the cache.
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.

24 years agomoved some debug print statements to better locations
Jeffrey Stedfast [Fri, 2 Jun 2000 19:07:21 +0000 (19:07 +0000)]
moved some debug print statements to better locations

24 years agoIf we get a funny result, just throw it out. Basically a fix for the one
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.

24 years agoRef and unref objects in the service cache properly.
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.

24 years ago Fun with purify.
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.

24 years agoFixes Bug 192.
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.

24 years agoInit filter_from to NULL, for exception case. (mbox_get_message_by_uid):
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.

24 years agoRenamed from camel_mbox_summary_expunge. Takes a gboolean saying whether
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.

24 years agoInit filter_from to NULL, for exception case. (mbox_get_message_by_uid):
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.

24 years agoImplemented a few more imap functions in providers/imap/camel-imap-folder.c
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

24 years agodiff -r1.206 ChangeLog
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?

24 years agoMake sure we copy messages which are still intact to the new folder.
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.

24 years ago> (message_changed): Track changes to the source message in the
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.

24 years agoCheck the searched folder is open before trying to search it.
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.

24 years agoFix up some glib precondition stuff. Try to set the URL in
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.

24 years agoTypo
Ross Golder [Mon, 29 May 2000 11:09:32 +0000 (11:09 +0000)]
Typo

24 years agoAdd a domain field to CamelProvider, to say what kind of data it provides.
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.)

24 years ago (connect_to_server): Remove port number from error message since
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.

24 years agoSplit apart password and APOP auth, since some servers seem to do both,
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.

24 years agoUse `foo@bar' rather than `"" <foo@bar>' for email addresses with no name
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.

24 years agoAdded a missing smtp-related file to the dist.
Ross Golder [Sun, 28 May 2000 11:56:20 +0000 (11:56 +0000)]
Added a missing smtp-related file to the dist.

24 years agoRipped out camel_imap_command_get_additional_data() from camel-imap-store and impleme...
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

24 years agoDon't set a default boundary. Require the caller to do that.
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.

24 years agoupdated changelog to reflect changes I made in providers/imap
Jeffrey Stedfast [Fri, 26 May 2000 01:10:54 +0000 (01:10 +0000)]
updated changelog to reflect changes I made in providers/imap

24 years agoAdded initial code to camel-imap-folder.c
Jeffrey Stedfast [Fri, 26 May 2000 01:06:35 +0000 (01:06 +0000)]
Added initial code to camel-imap-folder.c

24 years agoUpdated several imap source files
Jeffrey Stedfast [Fri, 26 May 2000 01:05:49 +0000 (01:05 +0000)]
Updated several imap source files

24 years agoReplace simple data wrapper here too, oops.
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.

24 years agoRemoved camel-simple-data-wrapper again. Less code to maintain == better
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.

24 years agoTook out code that had been there to reconnect to the server if it was not
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.

24 years agoRe-add camel-simple-data-wrapper.h, which was removed for some reason.
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.

24 years agoAdded more files to the imap provider to use as an outline - will likely need heavy...
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

24 years agoFixes to make the SMTP transport thread-safe
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

24 years agoAdded debug fprintfs, tested with a few messages (smtp_data): Fixed to use
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