platform/upstream/evolution-data-server.git
23 years agoAdded #include <config.h>
Kjartan Maraas [Fri, 16 Mar 2001 19:55:17 +0000 (19:55 +0000)]
Added #include <config.h>

2001-03-16  Kjartan Maraas  <kmaraas@gnome.org>

* providers/pop3/camel-pop3-folder.c: Added #include <config.h>

23 years agoDon't use getdomainname: it's NIS crap, not DNS.
Dan Winship [Fri, 16 Mar 2001 17:17:30 +0000 (17:17 +0000)]
Don't use getdomainname: it's NIS crap, not DNS.

* camel-mime-utils.c (header_msgid_generate): Don't use
getdomainname: it's NIS crap, not DNS.

23 years agoDon't use the hardcoded cert db directory, use the one passed in.
Jeffrey Stedfast [Fri, 16 Mar 2001 04:41:49 +0000 (04:41 +0000)]
Don't use the hardcoded cert db directory, use the one passed in.

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

* camel.c (camel_init): Don't use the hardcoded cert db directory,
use the one passed in.

* camel-tcp-stream-ssl.c (ssl_get_client_auth): Wrote the default
implementation. Not that we'll use this though, since this is the
default implementation provided by NSS anyway. This more or less
serves as a reference in case we want to change anything.
(ssl_auth_cert): Same.
(ssl_bad_cert): Changed the prompt string and free it when we're
done.

23 years agotranslate NIL to "" in fetch body part response
Dan Winship [Thu, 15 Mar 2001 21:09:54 +0000 (21:09 +0000)]
translate NIL to "" in fetch body part response

23 years ago First batch of disconnected IMAP-related stuff. This adds local
Dan Winship [Thu, 15 Mar 2001 20:50:59 +0000 (20:50 +0000)]
First batch of disconnected IMAP-related stuff. This adds local
caching of message parts, but NOT any actual disconnected support.
(But it should speed up IMAP use.)

* providers/imap/camel-imap-message-cache.c: New class for caching
message data to disk, and removing it when it's no longer
relevant. Will eventually also support merging message parts
together to save on files. Or maybe using a db instead of files?

* providers/imap/camel-imap-private.h: Add a cache_lock to
CamelImapFolderPrivate. This lock must be recursive, so make both
locks EMutexes rather than GMutex.

* providers/imap/camel-imap-folder.c (parse_fetch_response): "The
only FETCH response parser you need!" Replaces the various
almost-correct bits of code formerly scattered throughout this
file with a single fully-correct function that can handle any
FETCH response at any time, so we don't get confused by seeing a
flags update when we were only expecting a message body, etc.
(camel_imap_folder_fetch_data): FETCH a message body part either
from the cache or the server
(camel_imap_folder_changed): Remove expunged messages from the
message cache.
(camel_imap_folder_new): Change to take a directory instead of a
summary file name. Create a CamelImapMessageCache for the folder.
(imap_finalize): Unref the message cache.
(camel_imap_folder_selected, imap_rescan, get_content,
get_message, imap_get_message, imap_update_summary): Redone a
bunch to use parse_fetch_data, CamelImapMessageCache, etc.

* providers/imap/camel-imap-store.c (get_folder): Pass directory
name to camel_imap_folder_new, not summary filename. Use
e_path_to_physical to generate a path with /subfolders/ inserted
between directory components.

* providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
Call camel_imap_folder_fetch_data (with cache_only TRUE) and if
the data is cached, return an online datawrapper rather than an
offline one.
(write_to_stream): Use camel_imap_folder_fetch_data (with
cache_only FALSE) here too

* providers/imap/camel-imap-utils.c (imap_skip_list): Renamed from
skip_list and made non-static.

23 years agoUninclude prnetdb.h since it's not needed here.
Jeffrey Stedfast [Thu, 15 Mar 2001 17:50:46 +0000 (17:50 +0000)]
Uninclude prnetdb.h since it's not needed here.

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

* camel-tcp-stream-ssl.h: Uninclude prnetdb.h since it's not
needed here.

* providers/smtp/camel-smtp-transport.c: #include prnetdb.h here
instead of making camel-tcp-stream-ssl.h include it. Prevents some
header bloat.

* providers/smtp/Makefile.am: Include the NSPR_CFLAGS and
NSS_CFLAGS.

23 years agoUpdate for using CamelTcpStreams and also for using SSL.
Jeffrey Stedfast [Thu, 15 Mar 2001 04:21:24 +0000 (04:21 +0000)]
Update for using CamelTcpStreams and also for using SSL.

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/camel-smtp-transport.c (smtp_connect): Update for
using CamelTcpStreams and also for using SSL.

* providers/smtp/libcamelsmtp.urls: defined "ssmtp"

* providers/smtp/camel-smtp-provider.c: Defined the Secure SMTP
provider.
(camel_provider_module_init): Register the Secure SMTP provider.

23 years agodefined "ssmtp"
Jeffrey Stedfast [Thu, 15 Mar 2001 03:32:50 +0000 (03:32 +0000)]
defined "ssmtp"

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/libcamelsmtp.urls: defined "ssmtp"

* providers/smtp/camel-smtp-provider.c: Defined the Secure SMTP
provider.
(camel_provider_module_init): Register the Secure SMTP provider.

23 years agoalso change the protocol name in the providers
Jeffrey Stedfast [Thu, 15 Mar 2001 03:26:31 +0000 (03:26 +0000)]
also change the protocol name in the providers

23 years agoCheck for "simap" instead of "imaps".
Jeffrey Stedfast [Thu, 15 Mar 2001 03:25:22 +0000 (03:25 +0000)]
Check for "simap" instead of "imaps".

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-store.c (imap_connect): Check for
"simap" instead of "imaps".

* providers/pop3/camel-pop3-store.c (pop3_connect): Change the
port to be 995 for spop.

* providers/pop3/libcamelpop3.urls: Change to "spop".

* providers/imap/libcamelimap.urls: Change "imaps" to "simap" to
correspond to /etc/services.

23 years agoCheck to see if we are using "pops" and then set the appropriate SSL
Jeffrey Stedfast [Thu, 15 Mar 2001 03:08:47 +0000 (03:08 +0000)]
Check to see if we are using "pops" and then set the appropriate SSL

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-store.c (pop3_connect): Check to see
if we are using "pops" and then set the appropriate SSL settings.

* providers/pop3/libcamelpop3.urls: Add "pops"

* providers/pop3/camel-pop3-provider.c: Defined the pops provider.
(camel_provider_module_init): Register the pops provider.

23 years agoYa know what? Lets not ref the service because otherwise we'll start
Jeffrey Stedfast [Thu, 15 Mar 2001 02:56:06 +0000 (02:56 +0000)]
Ya know what? Lets not ref the service because otherwise we'll start

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_new): Ya know what?
Lets not ref the service because otherwise we'll start having the
same problems we had back with vtrash. Besides, since the store
owns the stream, it's not like the store is going anywhere without
the stream anyway.
(camel_tcp_stream_ssl_finalize): No need to unref the service.

23 years agoPass the service into the SSL stream, not the session.
Jeffrey Stedfast [Thu, 15 Mar 2001 02:33:34 +0000 (02:33 +0000)]
Pass the service into the SSL stream, not the session.

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-remote-store.c (remote_connect): Pass the service into the
SSL stream, not the session.

* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_init): Set the
service to NULL.
(camel_tcp_stream_ssl_finalize): Unref the service.
(camel_tcp_stream_ssl_new): Takes a CamelService arg now rather
than a CamelSession arg.

23 years agoSo it turns out that NSS_Init *isn't* idempotent, so we have to protect
Jeffrey Stedfast [Thu, 15 Mar 2001 01:59:00 +0000 (01:59 +0000)]
So it turns out that NSS_Init *isn't* idempotent, so we have to protect

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel.c (camel_init): So it turns out that NSS_Init *isn't*
idempotent, so we have to protect against initializing it more
than once(contrary to what their design specs suggest).

* camel-session.c (camel_session_get_service): Use
camel_exception_is_set() - Makes no difference but it's more
consistant with how we normally do it.

* camel-provider.h (CAMEL_URL_ALLOW_SSL): We don't need this.

* providers/imap/camel-imap-provider.c: Define the imaps provider.
(camel_provider_module_init): Register the imaps provider.

* camel-provider.c (camel_provider_init): Only add the protocol to
the hash table if it's non empty. Also, g_strdup() the filename
into the hash table.

* providers/imap/camel-imap-store.c (camel_imap_store_init): Eek!
So the service's URL isn't set until after this is
initialized. This means we can't check for SSL here.
(imap_connect): Set the SSL options here instead.

23 years agoEek! So the service's URL isn't set until after this is initialized. This
Jeffrey Stedfast [Thu, 15 Mar 2001 00:51:09 +0000 (00:51 +0000)]
Eek! So the service's URL isn't set until after this is initialized. This

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-store.c (camel_imap_store_init): Eek!
So the service's URL isn't set until after this is
initialized. This means we can't check for SSL here.
(imap_connect): Set the SSL options here instead.

23 years agoNumerous fixes to get it to build correctly with NSS enabled.
Jeffrey Stedfast [Wed, 14 Mar 2001 21:59:40 +0000 (21:59 +0000)]
Numerous fixes to get it to build correctly with NSS enabled.

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-ssl.c: Numerous fixes to get it to build
correctly with NSS enabled.

* camel-remote-store.c (remote_connect): Pass in the session and
expected host args, oops.

* camel-provider.h (CAMEL_URL_ALLOW_SSL): Defined.

* providers/imap/camel-imap-store.c (camel_imap_store_init): Check
to see if we are supposed to use SSL and set the options
accordingly.
(imap_connect): Return FALSE here instead of NULL.

* providers/imap/camel-imap-provider.c: Add CAMEL_URL_ALLOW_SSL.

* providers/imap/libcamelimap.urls: Add "imaps" which is the
protocol for Secure IMAP.

23 years agoAdded
Jeffrey Stedfast [Wed, 14 Mar 2001 19:53:12 +0000 (19:53 +0000)]
Added

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-openssl.[c,h]: Added

* Makefile.am: Added camel-tcp-stream-openssl.[c,h] to the build.

* camel-types.h: Added CamelTcpStreamSSL and CamelTcpStreamOpenSSL

23 years agore-constify inbuf, to remove a warning.
Not Zed [Wed, 14 Mar 2001 07:06:54 +0000 (07:06 +0000)]
re-constify inbuf, to remove a warning.

2001-03-14  Not Zed  <NotZed@Ximian.com>

* camel-mime-filter-charset.c (filter, complete): re-constify
inbuf, to remove a warning.

* camel-mime-parser.c (folder_scan_step): When we're out of data,
run the filter_complete.  For some reason the logic that was there
was never being run, always try it now, i think it was to work
around a buggy filter, rather than fix it the right way.

* camel-folder-summary.c (summary_build_content_info): If indexing
html parts, use the html filter to convert it to some indexable
format.
(summary_build_content_info): Reset the filters before adding them
back to the stream, if they get re-used in a given instance
(likely).

* Makefile.am (libcamelinclude_HEADERS): Added
camel-mime-filter-html.[ch].
(INCLUDES): Added xml clags

2001-03-05  Not Zed  <NotZed@Ximian.com>

* camel-folder-search.c (camel_folder_search_class_init): Setup a
new function, "uid" which matches uids.
(search_uid): Implement the "match uid" command.

23 years agoCheck for a new type of mailing list header.
Jeffrey Stedfast [Wed, 14 Mar 2001 06:16:28 +0000 (06:16 +0000)]
Check for a new type of mailing list header.

2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c: Check for a new type of mailing list header.

23 years agoMade cancellable. (stream_write): Same. (stream_connect): Removed checks
Jeffrey Stedfast [Wed, 14 Mar 2001 04:31:58 +0000 (04:31 +0000)]
Made cancellable. (stream_write): Same. (stream_connect): Removed checks

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

* camel-tcp-stream-raw.c (stream_read): Made cancellable.
(stream_write): Same.
(stream_connect): Removed checks for DIVINE_INTERVENTION as the
code worked fine.

* camel-tcp-stream-ssl.c (stream_write): get rid of 'w' as it
wasn't really needed.
(set_errno): New function to set errno based on the NSPR error
code.
(stream_read): If an error occured, call set_errno().
(stream_write): Same.

23 years agoAdded camel-tcp-stream-ssl to the build.
Jeffrey Stedfast [Wed, 14 Mar 2001 03:42:07 +0000 (03:42 +0000)]
Added camel-tcp-stream-ssl to the build.

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

* Makefile.am: Added camel-tcp-stream-ssl to the build.

* camel-remote-store.h: Add a use_ssl member to the
CamelRemoteStore object.

23 years agoOops. Make this a subclass of CamelTcpStream, not CamelStream.
Jeffrey Stedfast [Wed, 14 Mar 2001 00:46:59 +0000 (00:46 +0000)]
Oops. Make this a subclass of CamelTcpStream, not CamelStream.

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

* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_get_type):
Oops. Make this a subclass of CamelTcpStream, not CamelStream.

* camel-types.h: Add the defs for CamelTcpStream and
CamelTcpStreamRaw

* Makefile.am: Add camel-tcp-stream and camel-tcp-stream-raw to
the build.

* camel-remote-store.c (remote_connect): Update to use
CamelTcpStreams.

* camel-tcp-stream-raw.c (stream_connect): Made cancellable by
copying the currently used code in camel-remote-store.c.
(stream_setsockopt): Oops, flags = fcntl (..., GET_FL);
(camel_tcp_stream_raw_get_type): Oops. Make this a subclass of
CamelTcpStream, not CamelStream.

23 years agoSince all of the Mozilla libs (including NSPR and NSS) correctly handle
Jeffrey Stedfast [Tue, 13 Mar 2001 23:31:32 +0000 (23:31 +0000)]
Since all of the Mozilla libs (including NSPR and NSS) correctly handle

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

* camel.c (camel_init): Since all of the Mozilla libs (including
NSPR and NSS) correctly handle reinitializations, we might as well
init both NSPR and NSS in camel_init so we can be sure of that
these libs have been initialized.
(camel_shutdown): New function to call the NSS cleanup stuff.

23 years agoDon't allow the user to copy a message to or from the vtrash folder. Set
Jeffrey Stedfast [Tue, 13 Mar 2001 18:59:32 +0000 (18:59 +0000)]
Don't allow the user to copy a message to or from the vtrash folder. Set

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

* camel-folder.c (camel_folder_copy_message_to): Don't allow the
user to copy a message to or from the vtrash folder. Set an
exception if they try.
(camel_folder_move_message_to): This one is a bit more
complicated: 1) If the user tried to move a message from the
vtrash into the original folder, just undelete the message. 2) If
the user tries to move the message to the vtrash folder, then just
mark the message as deleted. 3) If the user tries to move the
message from the vTrash to a folder other than the original, use
the original folder as the source. As another optimization, I've
made it so that if the user tries to move a message to the same
folder, just no-op.
(move_message_to): Unset the deleted flag before moving (assuming
it's there).
(copy_message_to): Same.

* camel-vee-folder.c (camel_vee_folder_get_message_folder): New
convenience function to get the folder from which the message uid
is derived from.

23 years agoWhen trying again after a failed password attempt, check if the connection
Dan Winship [Tue, 13 Mar 2001 17:47:02 +0000 (17:47 +0000)]
When trying again after a failed password attempt, check if the connection

* providers/imap/camel-imap-store.c (imap_connect): When trying
again after a failed password attempt, check if the connection got
dropped (which Courier will do) and deal accordingly.

23 years agoMore fixing for exim: It can't deal with "-tif", you need to say "-t -i
Dan Winship [Tue, 13 Mar 2001 17:26:56 +0000 (17:26 +0000)]
More fixing for exim: It can't deal with "-tif", you need to say "-t -i

* providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
sendmail_send): More fixing for exim: It can't deal with "-tif",
you need to say "-t -i -f".

23 years agoRename the folder to "Trash" and i18nify it.
Jeffrey Stedfast [Mon, 12 Mar 2001 20:33:58 +0000 (20:33 +0000)]
Rename the folder to "Trash" and i18nify it.

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

* camel-store.c (init_trash): Rename the folder to "Trash" and
i18nify it.

23 years agoComment out everything unless HAVE_NSS is defined.
Jeffrey Stedfast [Sun, 11 Mar 2001 04:35:20 +0000 (04:35 +0000)]
Comment out everything unless HAVE_NSS is defined.

2001-03-09  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-ssl.h: Comment out everything unless HAVE_NSS
is defined.

* camel-tcp-stream-ssl.c (stream_read): Don't use errno, use
nspr's error code stuff.
(stream_write): Same.

23 years agoCreated a new mode (CAMEL_AUTHENTICATOR_ACCEPT) which is a Yes/No prompt
Jeffrey Stedfast [Sat, 10 Mar 2001 00:15:49 +0000 (00:15 +0000)]
Created a new mode (CAMEL_AUTHENTICATOR_ACCEPT) which is a Yes/No prompt

2001-03-09  Jeffrey Stedfast  <fejj@ximian.com>

* camel-session.c (camel_session_query_authenticator): Created a
new mode (CAMEL_AUTHENTICATOR_ACCEPT) which is a Yes/No prompt to
the user. This will be needed by the SSL/TLS code to come. Also
changed the return value to a gpointer rather than a char* to
allow the returning of TRUE/FALSE values.

* camel.c: Wrap stuff with HAVE_NSS

23 years agoRemove the "-U" for now, because it breaks exim's "sendmail" wrapper. (And
Dan Winship [Fri, 9 Mar 2001 21:53:05 +0000 (21:53 +0000)]
Remove the "-U" for now, because it breaks exim's "sendmail" wrapper. (And

* providers/sendmail/camel-sendmail-transport.c (sendmail_send,
sendmail_send_to): Remove the "-U" for now, because it breaks
exim's "sendmail" wrapper. (And it doesn't actually do all that
much to sendmail's behavior, and it was working fine before
anyway.)

23 years agoFix a bug that could make this walk off the end of a string. (The bug has
Dan Winship [Fri, 9 Mar 2001 20:36:12 +0000 (20:36 +0000)]
Fix a bug that could make this walk off the end of a string. (The bug has

* camel-mime-utils.c (header_fold): Fix a bug that could make this
walk off the end of a string. (The bug has been there since
December... maybe this will fix some unreproduceable crashes?)

23 years agoChanges so that the folder gets added to the vtrash reguardless of whether
Jeffrey Stedfast [Thu, 8 Mar 2001 23:33:32 +0000 (23:33 +0000)]
Changes so that the folder gets added to the vtrash reguardless of whether

2001-03-08  Jeffrey Stedfast  <fejj@ximian.com>

* camel-store.c (camel_store_get_folder): Changes so that the
folder gets added to the vtrash reguardless of whether or not the
store is holding it's own folder lookup hash.
(init_trash): Oops, lets try locking the cache before we go and
add all the cached folders to the vtrash.

23 years agoThese fixes make it so that the CamelStore does not actually hold a ref on
Jeffrey Stedfast [Thu, 8 Mar 2001 20:01:42 +0000 (20:01 +0000)]
These fixes make it so that the CamelStore does not actually hold a ref on

2001-03-08  Jeffrey Stedfast  <fejj@ximian.com>
These fixes make it so that the CamelStore does not actually hold
a ref on it's vTrash folder. The vTrash folder is now created ONLY
when it is requested. This solves the problem of not being able to
unref a Store and have it disconnect/finalize like we expect it to.

* camel-store.c (init_trash): When we create the vtrash, add all
previously opened folders to it and hook on to the finalize event
so that we can then set the store->vtrash to NULL.
(get_trash): If a vtrash folder for the store doesn't exist,
init_trash() and then try.
(construct): No longer need this.
(camel_store_class_init): Don't override the construct method.
(camel_store_finalize): We no longer hold a ref on the vtrash so
don't unref it.

23 years agoImplement. (get_trash): Implement. (camel_pop3_store_class_init): Override
Jeffrey Stedfast [Thu, 8 Mar 2001 03:43:33 +0000 (03:43 +0000)]
Implement. (get_trash): Implement. (camel_pop3_store_class_init): Override

2001-03-07  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-store.c (init_trash): Implement.
(get_trash): Implement.
(camel_pop3_store_class_init): Override the default init_trash and
get_trash virtual functions. Hopefully this should fix the problem
of pop3 sotre's not disconnecting after the send&recv code
finishes downloading mail.

Wonder if I should override the default implementation for the
mbox, mh, and maildir too?

23 years ago (remote_recv_line): Fix another problem...
Dan Winship [Wed, 7 Mar 2001 21:30:22 +0000 (21:30 +0000)]
(remote_recv_line): Fix another problem...

23 years agoRemove some unused stuff
Dan Winship [Wed, 7 Mar 2001 15:48:30 +0000 (15:48 +0000)]
Remove some unused stuff

* providers/local/camel-mbox-provider.c:
* providers/vee/.cvsignore:
* providers/vee/libcamelvee.urls: Remove some unused stuff

23 years agoReturn the return value of camel_service_connect rather than returning
Dan Winship [Wed, 7 Mar 2001 15:28:33 +0000 (15:28 +0000)]
Return the return value of camel_service_connect rather than returning

* camel-remote-store.c (camel_remote_store_connected): Return the
return value of camel_service_connect rather than returning
!camel_exception_is_set(), since that will be wrong if ex==NULL...
Fixes a crash in the IMAP keepalive code, but this same problem
probably exists in other places too...

23 years agoRedone so as to save on memory allocations and speed.
Jeffrey Stedfast [Tue, 6 Mar 2001 21:34:56 +0000 (21:34 +0000)]
Redone so as to save on memory allocations and speed.

2001-03-06  Jeffrey Stedfast  <fejj@ximian.com>

* camel-sasl-digest-md5.c (compute_response): Redone so as to save
on memory allocations and speed.

23 years agoDon't return NULL if the token is non-NULL. This is why:
Jeffrey Stedfast [Mon, 5 Mar 2001 21:28:08 +0000 (21:28 +0000)]
Don't return NULL if the token is non-NULL. This is why:

2001-03-05  Jeffrey Stedfast  <fejj@ximian.com>

* camel-sasl-plain.c (plain_challenge): Don't return NULL if the
token is non-NULL. This is why:

sending : AUTH PLAIN
        received: 334 ok. go on.                 <-- this is why
        sending : ZGZPaQpAZ214Lm5ldBBnb29jYXI=
        received: 235 {mp005-rz3} go ahead

* camel-sasl.c (camel_sasl_authtype): Add the PLAIN type here.
(camel_sasl_authtype_list): And here too.

* camel-sasl-plain.c: Initialize the camel_sasl_plain_authtype.

* camel-sasl-plain.h: extern the camel_sasl_plain_authtype.

23 years agoi18n'd some strings in here.
Jeffrey Stedfast [Mon, 5 Mar 2001 21:08:45 +0000 (21:08 +0000)]
i18n'd some strings in here.

2001-03-05  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-store.c (imap_connect): i18n'd some
strings in here.

* providers/smtp/camel-smtp-transport.c (smtp_connect): Keep
trying to authenticate until either we succeed or until the user
cancels.

23 years agoWrote a new version of header_fold() that takes a 'force' option and uses
Jeffrey Stedfast [Mon, 5 Mar 2001 04:02:38 +0000 (04:02 +0000)]
Wrote a new version of header_fold() that takes a 'force' option and uses

2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c: Wrote a new version of header_fold() that
takes a 'force' option and uses another new function called
header_fold_next_space() in place of strchr(inptr, ' ') to get the
next whitespace char. The idea of header_fold_next_space() is to
not treat spaces between a set of quotes as a space - this way it
will be possible to fold (for example) the Content-Type MIME
header without worrying about breaking up a boundary string.
Note: This code is #if 0'd out until Zucchi approves of the patch.
Another Note: We will probably still want to use the "don't fold
this header" hash lookup for headers like the Message-Id and
possibly a few others.

23 years agoMake sure there is a space between the name and the address tokens.
Jeffrey Stedfast [Mon, 5 Mar 2001 02:43:44 +0000 (02:43 +0000)]
Make sure there is a space between the name and the address tokens.

2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>

* camel-internet-address.c
(camel_internet_address_encode_address): Make sure there is a
space between the name and the address tokens.

23 years agoencoded string segments need to be at least 8 chars (7 doesn't leave room
Jeffrey Stedfast [Mon, 5 Mar 2001 00:37:44 +0000 (00:37 +0000)]
encoded string segments need to be at least 8 chars (7 doesn't leave room

2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c (rfc2047_decode_word): encoded string
segments need to be at least 8 chars (7 doesn't leave room for an
ecoding value. To be more realistic, even 8 chars isn't enough as
this assumes there is no charset nor any encoded text. If the
encoding value is not 'Q' or 'B', then return NULL. This fixes bug
#1689.

23 years agoNew function to remove a folder from a vfolder.
Not Zed [Fri, 2 Mar 2001 23:37:43 +0000 (23:37 +0000)]
New function to remove a folder from a vfolder.

2001-03-03  Not Zed  <NotZed@Ximian.com>

        * camel-vee-folder.c (vee_folder_remove_folder): New function to
        remove a folder from a vfolder.
        (camel_vee_folder_remove_folder): New public function to remove a
        folder from a vfolder.

23 years agoDoh! Set the CAMEL_URL_ALLOW_AUTH flag.
Jeffrey Stedfast [Fri, 2 Mar 2001 22:09:40 +0000 (22:09 +0000)]
Doh! Set the CAMEL_URL_ALLOW_AUTH flag.

2001-03-02  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/camel-smtp-provider.c: Doh! Set the
CAMEL_URL_ALLOW_AUTH flag.

* providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
Updated with the extended AUTH return codes.

23 years agooops, forgot the changelog
Jeffrey Stedfast [Fri, 2 Mar 2001 19:40:08 +0000 (19:40 +0000)]
oops, forgot the changelog

23 years agoUpdated with the extended AUTH return codes.
Jeffrey Stedfast [Fri, 2 Mar 2001 19:37:02 +0000 (19:37 +0000)]
Updated with the extended AUTH return codes.

2001-03-02  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
Updated with the extended AUTH return codes.

23 years agooops, the return code is 235 on success, not 234
Jeffrey Stedfast [Fri, 2 Mar 2001 19:20:39 +0000 (19:20 +0000)]
oops, the return code is 235 on success, not 234

23 years agoDon't forget to unref the SASL object.
Jeffrey Stedfast [Fri, 2 Mar 2001 19:19:31 +0000 (19:19 +0000)]
Don't forget to unref the SASL object.

2001-03-02  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-store.c (try_auth): Don't forget to
unref the SASL object.

* providers/smtp/camel-smtp-transport.c (query_auth_types):
Implemented.
(smtp_auth): Implemented.
(smtp_helo): Don't bother parsing the authtypes if we already have
them.
(smtp_connect): call smtp_auth() here if we found any authtypes.
(smtp_disconnect): Updated as I now use a hash table for the
supported authtypes rather than a linked list.
(esmtp_get_authtypes): modify to use a hash table instead of a
linked list and also use isspace() rather than == ' '.

23 years agoUse "-f" to set the envelope from address so bounces go to the right
Dan Winship [Fri, 2 Mar 2001 15:14:51 +0000 (15:14 +0000)]
Use "-f" to set the envelope from address so bounces go to the right

* providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
sendmail_send): Use "-f" to set the envelope from address so
bounces go to the right place. Also, pass "-U" since the man page
says we're supposed to...

23 years ago#include "camel-sasl-digest-md5.h" (camel_sasl_authtype_list): add
Jeffrey Stedfast [Fri, 2 Mar 2001 02:29:08 +0000 (02:29 +0000)]
#include "camel-sasl-digest-md5.h" (camel_sasl_authtype_list): add

2001-03-01  Jeffrey Stedfast  <fejj@ximian.com>

* camel-sasl.c: #include "camel-sasl-digest-md5.h"
(camel_sasl_authtype_list): add DIGEST-MD5 stuff here.
(camel_sasl_authtype): And here too.
(camel_sasl_new): And here...

* camel-sasl-digest-md5.[c,h]: new SASL class for DIGEST-MD5 (has
been tested and proven to work).

23 years agoAdd an "authtypes" hash table to CamelImapStore recording the supported
Dan Winship [Thu, 1 Mar 2001 22:39:52 +0000 (22:39 +0000)]
Add an "authtypes" hash table to CamelImapStore recording the supported

* providers/imap/camel-imap-store.c: Add an "authtypes" hash table
to CamelImapStore recording the supported authtypes.
(connect_to_server): Record supported authtypes in the authtypes
hash rather than the capabilities bitmask, since now the IMAP code
is no longer responsible for keeping track of which authtypes we
support.
(query_auth_types): Use camel_sasl_authtype_list to get the
SASL-supported authtypes.
(try_auth): New function to try a SASL auth mechanism. Sort of
formerly imap_try_kerberos_v4_auth.
(imap_connect): Get rid of the krb4-specific bits and genericize
them for any SASL authtype.

* providers/imap/Makefile.am: Remove camel-imap-auth.[ch] (moved
into camel-imap-store.c since it's now constant size) and the
KRB4_CFLAGS and KRB4_LDFLAGS references.

23 years agoTake a GByteArray as input as well. Comment that you can pass %NULL for
Dan Winship [Thu, 1 Mar 2001 22:23:23 +0000 (22:23 +0000)]
Take a GByteArray as input as well. Comment that you can pass %NULL for

* camel-sasl.c (camel_sasl_challenge): Take a GByteArray as input
as well. Comment that you can pass %NULL for @token to get the
initial auth data for mechanisms that are client-initiated.
(camel_sasl_challenge_base64): Convenience function for protocols
that use base64-encoded SASL.
(camel_sasl_authenticated): Implement this... (it was prototyped
already)
(camel_sasl_new): Function to take a service name, a mechanism
name, and a CamelService, and return a CamelSasl for it.
(camel_sasl_authtype, camel_sasl_authtype_list): Functions to
return CamelServiceAuthType information about SASL mechanisms, to
allow providers to deal with them generically.

* camel-sasl-anonymous.c, camel-sasl-plain.c: Update/simplify for
CamelSasl changes. Both of these are single-round
(client-initiated) mechanisms, so they don't need to keep state.
(camel_sasl_plain_new): Removed; use camel_sasl_new instead.
(Can't get rid of camel_sasl_anonymous_new though...)

* camel-sasl-cram-md5.c: Update/simplify for CamelSasl changes.
(camel_sasl_cram_md5_new): Removed; use camel_sasl_new instead.
(cram_md5_challenge): Use md5_get_digest where possible, and
various other minor simplifications. CRAM-MD5 only has a single
round, so there's no need to keep track of state. This code is now
tested (against Cyrus IMAPd) and known to work.

* camel-sasl-kerberos4.h: Update/simplify for CamelSasl changes.
Make only a single #ifdef HAVE_KRB4. Remove stuff from priv that
isn't needed between rounds.
(camel_sasl_kerberos4_new): Removed; use camel_sasl_new instead
(krb4_challenge): Fix up the logic I broke in my previous "at
least make it compile" fixes, update to match other changes, and
remove IMAP-isms that shouldn't be in the generic code. This still
isn't tested, because we're stuck behind a NAT right now...

23 years agoDon't base64 encode the data, leave that up to the provider to do if it
Jeffrey Stedfast [Thu, 1 Mar 2001 18:15:23 +0000 (18:15 +0000)]
Don't base64 encode the data, leave that up to the provider to do if it

2001-03-01  Jeffrey Stedfast  <fejj@ximian.com>

* camel-sasl-anonymous.c (anon_challenge): Don't base64 encode the
data, leave that up to the provider to do if it needs to. Also
save on some memory allocations and stuff.

* camel-sasl-cram-md5.c (cram_md5_challenge): Same here. Also get
rid of the need for the temp buf as we can just write it to the
GByteArray.

23 years agoremove mime-utils header for base64 stuff.
Jeffrey Stedfast [Thu, 1 Mar 2001 18:04:07 +0000 (18:04 +0000)]
remove mime-utils header for base64 stuff.

23 years agoDon't base64 encode the data, leave that up to the provider to do if it
Jeffrey Stedfast [Thu, 1 Mar 2001 18:01:27 +0000 (18:01 +0000)]
Don't base64 encode the data, leave that up to the provider to do if it

2001-03-01  Jeffrey Stedfast  <fejj@ximian.com>

* camel-sasl-anonymous.c (anon_challenge): Don't base64 encode the
data, leave that up to the provider to do if it needs to. Also
save on some memory allocations and stuff.

* camel-sasl-cram-md5.c (cram_md5_challenge): Same here.

23 years agoReconstify variables to match iconv.
Not Zed [Thu, 1 Mar 2001 17:31:33 +0000 (17:31 +0000)]
Reconstify variables to match iconv.

2001-03-02  Not Zed  <NotZed@Ximian.com>

        * camel-mime-utils.c (rfc2047_encode_word, rfc2047_decode_word):
        Reconstify variables to match iconv.

        * camel-search-private.c (camel_ustrstrcase): Change some
        assertions back into valid returns.

23 years agocamel depends on krb4 now (where available), for camel-sasl-kerberos4.c
Dan Winship [Thu, 1 Mar 2001 17:16:32 +0000 (17:16 +0000)]
camel depends on krb4 now (where available), for camel-sasl-kerberos4.c

* Makefile.am (libcamel_la_LIBADD, INCLUDES): camel depends on
krb4 now (where available), for camel-sasl-kerberos4.c

* camel-sasl-kerberos4.[ch]: Make this at least compile. Dunno if
it works yet.

23 years agoAssert url_string != NULL.
Peter Williams [Thu, 1 Mar 2001 06:15:03 +0000 (06:15 +0000)]
Assert url_string != NULL.

2001-03-01  Peter Williams  <peterw@ximian.com>

       * camel-url.c (camel_url_new): Assert url_string != NULL.

23 years agooops, not empty string - need to base64 encode it, which is just "="
Jeffrey Stedfast [Wed, 28 Feb 2001 23:26:34 +0000 (23:26 +0000)]
oops, not empty string - need to base64 encode it, which is just "="

23 years agoAdded camel-sasl-anonymous.[c,h] to the build.
Jeffrey Stedfast [Wed, 28 Feb 2001 23:24:15 +0000 (23:24 +0000)]
Added camel-sasl-anonymous.[c,h] to the build.

2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>

* Makefile.am: Added camel-sasl-anonymous.[c,h] to the build.

* camel-sasl-anonymous.[c,h]: new SASL class for ANONYMOUS

* camel-sasl-plain.c (plain_challenge): Oops, have a state for
setting sasl->authenticated = TRUE;

* camel-sasl-cram-md5.c (cram_md5_challenge): Same here.

23 years agoA fix for broken mailers that send 2-digit years (ie "Wed, 28 Feb 01
Jeffrey Stedfast [Wed, 28 Feb 2001 21:40:51 +0000 (21:40 +0000)]
A fix for broken mailers that send 2-digit years (ie "Wed, 28 Feb 01

2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c (header_decode_date): A fix for broken
mailers that send 2-digit years (ie "Wed, 28 Feb 01
04:59:41"). Fixes bug #1633.

23 years agoA fix for broken mailers that send 2-digit years (ie "Wed, 28 Feb 01
Jeffrey Stedfast [Wed, 28 Feb 2001 21:06:44 +0000 (21:06 +0000)]
A fix for broken mailers that send 2-digit years (ie "Wed, 28 Feb 01

2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c (header_decode_date): A fix for broken
mailers that send 2-digit years (ie "Wed, 28 Feb 01
04:59:41"). Fixes bug #1633.

* camel-filter-driver.c (camel_filter_driver_filter_folder): Check
to make sure message isn't NULL.

23 years agoIf we get back 0 bytes from camel_stream_buffer_gets, that means the
Dan Winship [Wed, 28 Feb 2001 18:41:27 +0000 (18:41 +0000)]
If we get back 0 bytes from camel_stream_buffer_gets, that means the

* camel-remote-store.c (remote_recv_line): If we get back 0 bytes
from camel_stream_buffer_gets, that means the socket got
disconnected, so set an exception. (Noticed because of a message
that crashes our IMAP server when you try to look at it. :)

23 years agoAdded camel-sasl*.[c,h] to the build.
Jeffrey Stedfast [Wed, 28 Feb 2001 18:16:02 +0000 (18:16 +0000)]
Added camel-sasl*.[c,h] to the build.

2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>

* Makefile.am: Added camel-sasl*.[c,h] to the build.

* camel-sasl.[c,h]: new "abstract" SASL class

* camel-sasl-kerberos4.[c,h]: new SASL class for KERBEROS_V4

* camel-sasl-cram-md5.[c,h]: new SASL class for CRAM-MD5

* camel-sasl-plain.[c,h]: new SASL class for PLAIN

* providers/imap/camel-imap-auth.c: Removed the base64 functions.

* camel-mime-utils.c (base64_encode_simple): Moved here from
camel-imap-auth.c
(base64_decode_simple): Same.

23 years agoGroup messages into sets with the same flags and use the IMAP message set
Dan Winship [Mon, 26 Feb 2001 21:38:39 +0000 (21:38 +0000)]
Group messages into sets with the same flags and use the IMAP message set

* providers/imap/camel-imap-folder.c (imap_sync): Group messages
into sets with the same flags and use the IMAP message set
notation rather than doing a separate STORE FLAGS for each one.
This cuts the network traffic down to just a handful of commands
per sync rather than one per changed message. Removed the progress
notification stuff since it's no longer meaningful and should
hopefully be unnecessary.
(imap_copy_message_to): move the former sync_message function
into here, since it's no longer shared with imap_sync.

23 years agoMade thread-safe and moved to above the test code.
Jeffrey Stedfast [Mon, 26 Feb 2001 19:56:58 +0000 (19:56 +0000)]
Made thread-safe and moved to above the test code.

2001-02-26  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c: Made thread-safe and moved to above the test
code.

* camel-mime-message.c (camel_mime_message_init): Set the
message_id to NULL.
(camel_mime_message_finalize): Free the message_id.
(camel_mime_message_set_message_id): New function to set the
Message-Id.
(camel_mime_message_get_message_id): New function to get the
Message-Id.
(process_header): Decode the message-id.

23 years agofixed a compile warning in camel-store.
Jeffrey Stedfast [Sat, 24 Feb 2001 20:09:20 +0000 (20:09 +0000)]
fixed a compile warning in camel-store.

23 years agoinit the vTrash folder here instead of in store_init.
Jeffrey Stedfast [Sat, 24 Feb 2001 17:44:28 +0000 (17:44 +0000)]
init the vTrash folder here instead of in store_init.

2001-02-24  Jeffrey Stedfast  <fejj@ximian.com>

* camel-store.c (construct): init the vTrash folder here instead
of in store_init.
(camel_store_class_init): init service_class->construct.
(camel_store_finalize): We only need to unref the vtrash folder.
(init_trash): don't create a vstore since we don't need it.

23 years agoinit get_trash and init_trash. (camel_store_init): call the virtual
Jeffrey Stedfast [Fri, 23 Feb 2001 16:52:55 +0000 (16:52 +0000)]
init get_trash and init_trash. (camel_store_init): call the virtual

2001-02-23  Jeffrey Stedfast  <fejj@ximian.com>

* camel-store.c (camel_store_class_init): init get_trash and
init_trash.
(camel_store_init): call the virtual init_trash function.
(camel_store_finalize): unref the vtrash folder/store if present.
(camel_store_get_folder): Add the new folder to the vtrash
vfolder.
(init_trash): default implementation of init_trash.
(get_trash): default implementation of get_trash.

* camel-vee-store.c (vee_init_trash): No-op.
(vee_get_trash): return NULL

23 years agoDoh, cut and paste problem, use mlist not cc.
Michael Zucci [Fri, 23 Feb 2001 01:40:46 +0000 (01:40 +0000)]
Doh, cut and paste problem, use mlist not cc.

* camel-folder-summary.c (camel_message_info_new_from_header):
Doh, cut and paste problem, use mlist not cc.

* camel-folder.c (move_message_to):
(copy_message_to): If the source folder doesn't support a
summary, dont try and get the message info from it.

23 years agoImplement a pseudo-header "x-camel-mlist" which just looks up in the
Not Zed [Thu, 22 Feb 2001 23:32:34 +0000 (23:32 +0000)]
Implement a pseudo-header "x-camel-mlist" which just looks up in the

2001-02-23  Not Zed  <NotZed@Ximian.com>

        * camel-filter-search.c (check_header): Implement a pseudo-header
        "x-camel-mlist" which just looks up in the message info for a
        match.

        * camel-folder-search.c (check_header): Add pseudo-header
        "x-camel-mlist" which can be used to match on mailing list.

23 years agoAdd some internal progress reporting. (imap_rescan): Do some progress
Not Zed [Thu, 22 Feb 2001 22:21:28 +0000 (22:21 +0000)]
Add some internal progress reporting. (imap_rescan): Do some progress

2001-02-23  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (imap_sync): Add some
        internal progress reporting.
        (imap_rescan): Do some progress reporting.

        * camel-mime-part.c (init_header_name_table): Add the message-id
        to the formatted table, so we dont try and wrap it, and break it.

23 years agoRemove the 'FIXME: remove because this isn't required...' comment for
Jeffrey Stedfast [Thu, 22 Feb 2001 16:22:27 +0000 (16:22 +0000)]
Remove the 'FIXME: remove because this isn't required...' comment for

2001-02-22  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder.h: Remove the 'FIXME: remove because this isn't
required...' comment for copy_message_to since we now need and
cherish its existance in the filter-driver code ;-)

* camel-filter-driver.c (camel_filter_driver_filter_message): Now
takes a UID and CamelFolder arguments (which can be NULL) to allow
for possible optimizations when copying messages between folders
on the same store.
(camel_filter_driver_filter_mbox): Updated (passes NULL for both
since this case can't be optimized anyway).
(camel_filter_driver_filter_folder): Updated to pass in the uid
and folder of the message.

23 years ago#define this as the set of all IMAP system flags
Dan Winship [Thu, 22 Feb 2001 14:58:56 +0000 (14:58 +0000)]
#define this as the set of all IMAP system flags

* providers/imap/camel-imap-summary.h (CAMEL_IMAP_SERVER_FLAGS):
#define this as the set of all IMAP system flags

* providers/imap/camel-imap-folder.c (sync_message): after syncing
flags, set server_flags to (flags & CAMEL_IMAP_SERVER_FLAGS)
rather than just "flags", since any other flags won't have been
synced. Prevents the CAMEL_MESSAGE_ATTACHMENTS flag from getting
lost.

23 years agoRemoved all files.
Not Zed [Wed, 21 Feb 2001 20:30:29 +0000 (20:30 +0000)]
Removed all files.

2001-02-22  Not Zed  <NotZed@Ximian.com>

        * providers/vee/*: Removed all files.

        * camel-private.h: Move camel-vee-private.h stuff into here.

        * camel-session.c: Move the vee_provider here, and initialise it
        always as part of a session.  The vfolder provider is always
        available.

        * providers/Makefile.am: Remove "vee" from the build list, now
        built as part of the main library.

        * Makefile.am (libcamelinclude_HEADERS):
        (libcamel_la_SOURCES): Added camel-vee-store.[ch],
        camel-vee-folder.[ch].

23 years agoRemoved, not used. (camel_vee_folder_new): Removed call to build_folder.
Not Zed [Wed, 21 Feb 2001 20:13:42 +0000 (20:13 +0000)]
Removed, not used. (camel_vee_folder_new): Removed call to build_folder.

2001-02-22  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (vee_folder_build): Removed,
        not used.
        (camel_vee_folder_new): Removed call to build_folder.
        (vee_get_message): Dont try and free the mi if we didn't get it.

        * camel-folder.c (camel_folder_change_info_new): Added a hash
        table of what we have in the lists, plus moved private things into
        private pointer.
        (camel_folder_change_info_add_source): Fixed up private accesses.
        (camel_folder_change_info_add_uid): Changed to use a hashtable to
        see if we already have the uid, etc.
        (camel_folder_change_info_remove_uid): Similar.
        (change_info_remove): Likewise.
        (camel_folder_change_info_clear): Fixes for privatisations.
        (camel_folder_change_info_free): "

23 years agoFixes for IMAP4-pre-rev1 from Torsten Schulz.
Dan Winship [Wed, 21 Feb 2001 17:20:00 +0000 (17:20 +0000)]
Fixes for IMAP4-pre-rev1 from Torsten Schulz.

* providers/imap/camel-imap-folder.c (fetch_medium): Fixes for
IMAP4-pre-rev1 from Torsten Schulz.

23 years agoTake the ^Header: part out of the expression, since we look that up
Not Zed [Tue, 20 Feb 2001 00:19:16 +0000 (00:19 +0000)]
Take the ^Header: part out of the expression, since we look that up

2001-02-20  Not Zed  <NotZed@Ximian.com>

        * camel-mime-utils.c (mail_list_magic): Take the ^Header: part out
        of the expression, since we look that up ourselves.
        (header_raw_check_mailing_list): When getting the match, get match
        1, not match 0, we dont want the full string match.

        * camel-folder-summary.c (CAMEL_FOLDER_SUMMARY_VERSION): Bumped
        for summary change.
        (message_info_new): Extract the mlist info from the headers.
        (message_info_load): Load mlist from summary.
        (message_info_save): Save mlist to summary.
        (message_info_free): Save the mlist entry.
        (camel_message_info_new_from_header): Extract mailing list header.
        (camel_message_info_dup_to): Copy the mlist entry.
        (camel_message_info_free): Free mlist.
        (message_info_dump): Dump the mlist.

        * camel-folder-summary.h: Add an mlist (mailing list) string to
        the summary.

23 years agoAdded flags argument. (message_changed): Add support for the auto-update
Not Zed [Mon, 19 Feb 2001 20:59:54 +0000 (20:59 +0000)]
Added flags argument. (message_changed): Add support for the auto-update

2001-02-19  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Added
        flags argument.
        (message_changed): Add support for the auto-update flag, in which
        case we auto-match the content as it changes.
        (camel_vee_folder_init): Remoive "DYNAMIC" optionality
        (camel_vee_folder_finalise): "
        (vee_expunge): As we expunge folders, re-sync their content by
        rerunning the query.

        * providers/vee/camel-vee-store.c (vee_get_folder): Pass flags to
        folder new.

2001-02-18  Not Zed  <NotZed@Ximian.com>

        * providers/vee/Makefile.am (noinst_HEADERS): Added
        camel-vee-private.h.

        * providers/vee/camel-vee-private.h: New file to add locking stuff
        for vee folders.

        * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Add
        locking around unmatched setup.
        (camel_vee_folder_init): Setup lock.
        (camel_vee_folder_finalise): Free locks.
        (folder_changed): Add locking.
        (unmatched_finalise): "
        (message_changed): "
        (vee_folder_build): "

2001-02-17  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (vee_folder_add): Check uid
        doesn't exist before adding it.

2001-02-16  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Create
        a new virtual virtual folder UNMATCHED, to store all messages that
        dont match other vfolders.
        (unmatched_folder_changed): When a vfolder issues a changed event,
        use its info to update the unmatched folder info.
        (unmatched_finalise): When a vfolder is finalised, remove any uids
        it has as if we had a removed event for it.

23 years agoThaw the defaultfolder. (camel_filter_driver_set_default_folder): Thaw the
Jeffrey Stedfast [Sat, 17 Feb 2001 01:28:43 +0000 (01:28 +0000)]
Thaw the defaultfolder. (camel_filter_driver_set_default_folder): Thaw the

2001-02-16  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (camel_filter_driver_finalise): Thaw the
defaultfolder.
(camel_filter_driver_set_default_folder): Thaw the defaultfolder
we're about to replace, and freeze the new defaultfolder.

23 years agoEmit the folder_created signal here.
Jeffrey Stedfast [Thu, 15 Feb 2001 19:20:38 +0000 (19:20 +0000)]
Emit the folder_created signal here.

2001-02-15  Jeffrey Stedfast  <fejj@ximian.com>

* providers/vee/camel-vee-folder.c (camel_vee_folder_new): Emit
the folder_created signal here.

* providers/local/camel-local-folder.c
(camel_local_folder_construct): Emit the folder_created signal.

* providers/local/camel-local-store.c (delete_folder): On error,
free the 'name' string so we don't leak. Also emit the
folder_deleted signal.

* providers/imap/camel-imap-store.c (subscribe_folder): Emit the
folder_created signal.
(unsubscribe_folder): Emit the folder_deleted signal.

* camel-store.c (camel_store_class_init): Added folder_created and
folder_deleted signal defs.

23 years agoDeal with out-of-order References headers so they don't cause messages to
Dan Winship [Thu, 15 Feb 2001 19:16:19 +0000 (19:16 +0000)]
Deal with out-of-order References headers so they don't cause messages to

* camel-folder-thread.c (container_parent_child): Deal with
out-of-order References headers so they don't cause messages to
disappear in threaded view.

23 years agoIMAP4 (pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead in
Dan Winship [Thu, 15 Feb 2001 18:10:24 +0000 (18:10 +0000)]
IMAP4 (pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead in

* providers/imap/camel-imap-folder.c (fetch_medium): IMAP4
(pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead
in that case.

23 years agoChanged this code to match the glibc iconv signature.
Christopher James Lahey [Wed, 14 Feb 2001 23:43:38 +0000 (23:43 +0000)]
Changed this code to match the glibc iconv signature.

2001-02-14  Christopher James Lahey  <clahey@ximian.com>

* camel-mime-filter-charset.c (complete, filter),
camel-mime-utils.c (rfc2047_decode_word, rfc2047_encode_word):
Changed this code to match the glibc iconv signature.

23 years ago (create_folder): Oops, and fix bug involving namespaces
Dan Winship [Wed, 14 Feb 2001 22:26:51 +0000 (22:26 +0000)]
(create_folder): Oops, and fix bug involving namespaces

23 years agoNew method to create a folder when you don't know its full name.
Dan Winship [Wed, 14 Feb 2001 21:51:33 +0000 (21:51 +0000)]
New method to create a folder when you don't know its full name.

* camel-store.c (camel_store_create_folder): New method to create
a folder when you don't know its full name.

* providers/imap/camel-imap-store.c (create_folder): Implement.

23 years agoAdd address headers to list that we dont fold when writing. The are
Not Zed [Tue, 13 Feb 2001 00:30:45 +0000 (00:30 +0000)]
Add address headers to list that we dont fold when writing. The are

2001-02-12  Not Zed  <NotZed@Ximian.com>

        * camel-mime-part.c (init_header_name_table): Add address headers
        to list that we dont fold when writing.  The are properly
        formatted as we build them.
        (write_to_stream): DOH, lookup the header name in the formatted
        hash table, not the value, that would never have worked.

        * camel-internet-address.c
        (camel_internet_address_encode_address): Changed to take a
        parameter saying how much we've printed so far.  We now fold the
        header as we format it.  We dont fold addresses, even if they are
        too long, we simply put them on another line by themselves: this
        should make the result more parsable by mailers that can't handle
        split up addresses (which are legal).
        (internet_encode): Fix for changes to above.

23 years agombox, mh, and maildir camel-url's need absolute paths.
Jeffrey Stedfast [Tue, 13 Feb 2001 00:02:47 +0000 (00:02 +0000)]
mbox, mh, and maildir camel-url's need absolute paths.

2001-02-12  Jeffrey Stedfast  <fejj@ximian.com>

* providers/local/camel-local-provider.c: mbox, mh, and maildir
camel-url's need absolute paths.

* camel-provider.h (CAMEL_URL_PATH_IS_ABSOLUTE): New flaggy flag.

23 years agosave, THEN commit
Dan Winship [Fri, 9 Feb 2001 16:44:22 +0000 (16:44 +0000)]
save, THEN commit

23 years agoRewrite a bunch. Replace the existing folder cache stuff with much simpler
Dan Winship [Fri, 9 Feb 2001 16:43:22 +0000 (16:43 +0000)]
Rewrite a bunch. Replace the existing folder cache stuff with much simpler

* camel-store.c: Rewrite a bunch. Replace the existing folder
cache stuff with much simpler code that still handles all the
existing cases. Now the folder hash table is always created by the
base class, using hash and compare functions provided by the class
implementation. (If they are set to NULL, CamelStore won't cache
folders.) lookup_folder, cache_folder, and uncache_folder are no
longer class methods, and get_name is gone completely.

(camel_store_get_inbox): Renamed from
camel_store_get_default_folder, since that wasn't being used, and
this is what we actually need.
(camel_store_get_root_folder): Removed, since it's not needed for
anything given get_folder_info.

* camel-remote-store.c:
* providers/local/camel-local-store.c:
* providers/local/camel-mbox-store.c:
* providers/local/camel-mh-store.c:
* providers/local/camel-maildir-store.c:
* providers/nntp/camel-nntp-store.c:
* providers/pop3/camel-pop3-store.c:
* providers/vee/camel-vee-store.c: Minor updates for CamelStore
changes

* providers/imap/camel-imap-store.c (camel_imap_store_class_init):
Update for CamelStore changes.
(hash_folder_name, compare_folder_name): treat INBOX
case-insensitively, otherwise use g_str_hash and g_str_equal.

* camel-service.c (camel_service_construct): Remove
camel_service_new and create camel_service_construct (as a class
method) in its place.

* camel-session.c (camel_session_get_service): Use
camel_object_new and camel_service_construct to replace
camel_service_new.

* providers/local/camel-local-store.c (construct): Append a '/' to
the URL path if it doesn't end with one

23 years agoOops, include the camel-tcp-stream-ssl header instead of the raw one.
Jeffrey Stedfast [Thu, 8 Feb 2001 04:50:59 +0000 (04:50 +0000)]
Oops, include the camel-tcp-stream-ssl header instead of the raw one.

2001-01-31  Jeffrey Stedfast  <fejj@helixcode.com>

* camel-tcp-stream-ssl.c: Oops, include the camel-tcp-stream-ssl
header instead of the raw one.

23 years agoAdded more test rules.
Jeffrey Stedfast [Thu, 8 Feb 2001 03:53:15 +0000 (03:53 +0000)]
Added more test rules.

23 years agoChanged to push the operation into a status stack.
Not Zed [Thu, 8 Feb 2001 01:42:53 +0000 (01:42 +0000)]
Changed to push the operation into a status stack.

2001-02-07  Not Zed  <NotZed@Ximian.com>

        * camel-operation.c (camel_operation_start): Changed to push the
        operation into a status stack.
        (camel_operation_progress): Changed to only accept % complete.
        (camel_operation_reset): Free status stack as well.

        * providers/pop3/camel-pop3-folder.c (pop3_get_message): Get the
        octect count from the return line, and pass it to
        get_additional_data().
        (pop3_refresh_info): Added status stuff.

        * providers/pop3/camel-pop3-store.c
        (camel_pop3_command_get_additional_data): Added a total bytes
        expected argument for progress reporting & fixed callers.
        (camel_pop3_command_get_additional_data): Added progress
        reporting.

        * providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
        (mbox_summary_sync_quick):
        (summary_rebuild): Added progress reporting stuff.

23 years agoMacro for making comparisons easy. (camel_ustrcasecmp): Use
Jeffrey Stedfast [Wed, 7 Feb 2001 21:27:11 +0000 (21:27 +0000)]
Macro for making comparisons easy. (camel_ustrcasecmp): Use

2001-02-07  Jeffrey Stedfast  <fejj@ximian.com>

* camel-search-private.c (CAMEL_SEARCH_COMPARE): Macro for making
comparisons easy.
(camel_ustrcasecmp): Use CAMEL_SEARCH_COMPARE and check for
end-of-string before the utf-8 error check.
(camel_ustrncasecmp): Same.
(camel_search_header_match): Strip leading spaces before doing
anything else. Also use vlen and mlen so as to not need to do 500
strlen()'s.
(camel_ustrcasecmp): Don't get_utf8() for the 2 strings in the
comparison part of the loop because of short-circuit expression
evaluation. (blame JPR if this is the wrong term!)
(camel_ustrncasecmp): Same.

23 years agoMacro for making comparisons easy. (camel_ustrcasecmp): Use
Jeffrey Stedfast [Wed, 7 Feb 2001 19:36:46 +0000 (19:36 +0000)]
Macro for making comparisons easy. (camel_ustrcasecmp): Use

2001-02-07  Jeffrey Stedfast  <fejj@ximian.com>

* camel-search-private.c (CAMEL_SEARCH_COMPARE): Macro for making
comparisons easy.
(camel_ustrcasecmp): Use CAMEL_SEARCH_COMPARE and check for
end-of-string before the utf-8 error check.
(camel_ustrncasecmp): Same.
(camel_search_header_match): Strip leading spaces before doing
anything else. Also use vlen and mlen so as to not need to do 500
strlen()'s.

23 years agoRewrote using unicode_get_utf8(). (camel_ustrcasecmp): Use unicode_char_t
Jeffrey Stedfast [Tue, 6 Feb 2001 21:50:37 +0000 (21:50 +0000)]
Rewrote using unicode_get_utf8(). (camel_ustrcasecmp): Use unicode_char_t

2001-02-06  Jeffrey Stedfast  <fejj@ximian.com>

* camel-search-private.c (utf8_get): Rewrote using unicode_get_utf8().
(camel_ustrcasecmp): Use unicode_char_t
(camel_ustrncasecmp): Same.

23 years agoMade these pass char ** as the second parameter to iconv.
Christopher James Lahey [Tue, 6 Feb 2001 20:57:17 +0000 (20:57 +0000)]
Made these pass char ** as the second parameter to iconv.

2001-02-06  Christopher James Lahey  <clahey@ximian.com>

* camel-mime-filter-charset.c (complete, filter),
camel-mime-utils.c (rfc2047_decode_word, rfc2047_encode_word):
Made these pass char ** as the second parameter to iconv.

23 years agoAdded xml-* files.
Jeffrey Stedfast [Tue, 6 Feb 2001 04:33:47 +0000 (04:33 +0000)]
Added xml-* files.

2001-02-05  Jeffrey Stedfast  <fejj@ximian.com>

* .cvsignore: Added xml-* files.

23 years agoRemoved unwanted header. It was never put in for a reason. Stop fixing
Not Zed [Tue, 6 Feb 2001 02:38:19 +0000 (02:38 +0000)]
Removed unwanted header. It was never put in for a reason. Stop fixing

2001-02-06  Not Zed  <NotZed@Ximian.com>

        * camel-search-private.c: Removed unwanted header.  It was never
        put in for a reason.  Stop fixing irrelevant warnings.

        (camel_ustrstrcase): Our own strstrcase impl for utf8 strings.
        (camel_ustrcasecmp): Ditto for strcasecmp.
        (camel_ustrncasecmp): And strncasecmp.
        (utf8_get): Simpler interface to utf8 string processing.
        (camel_search_header_match): Use the new things.

2001-02-05  Not Zed  <NotZed@Ximian.com>

        * camel-folder.c (get_summary): Removed some old variables/a small
        memleak.
        (free_summary): Removed old variables.

        * camel-mime-utils.c (header_raw_check_mailing_list): New utility
        function to get the mailing list (if any) that a set of headers
        came from.