platform/upstream/evolution-data-server.git
22 years agoImplemented. (digest_getv): Implemented.
Jeffrey Stedfast [Wed, 8 May 2002 21:58:37 +0000 (21:58 +0000)]
Implemented. (digest_getv): Implemented.

2002-05-08  Jeffrey Stedfast  <fejj@ximian.com>

* camel-digest-store.c (digest_setv): Implemented.
(digest_getv): Implemented.

* camel-disco-store.c (disco_setv): Implemented.
(disco_getv): Implemented.

* camel-remote-store.c (remote_store_setv): Implemented.
(remote_store_getv): Implemented.

* camel-transport.c (camel_transport_class_init): Implemented.
(transport_setv): Implemented.
(transport_getv): Implemented.

* camel-store.c (store_setv): Implemented.
(store_getv): Implemented.

* camel-service.c (service_setv): Implemented.
(service_getv): Implemented.

22 years agocamel_pop3_engine_iterate doesn't return the state, it returns -1 on fail,
Jeffrey Stedfast [Wed, 8 May 2002 06:40:41 +0000 (06:40 +0000)]
camel_pop3_engine_iterate doesn't return the state, it returns -1 on fail,

2002-05-08  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-store.c (pop3_try_authenticate):
camel_pop3_engine_iterate doesn't return the state, it returns -1
on fail, 0 when finished processing request or >0 if more ops are
in the queue, so don't check status against CAMEL_POP3_STATE_OK,
instead check pcp->state against that.

22 years agos/class/klass for arguments so that c++ developers don't complain later.
Jeffrey Stedfast [Tue, 7 May 2002 20:43:05 +0000 (20:43 +0000)]
s/class/klass for arguments so that c++ developers don't complain later.

2002-05-07  Jeffrey Stedfast  <fejj@ximian.com>

* camel-object.h: s/class/klass for arguments so that c++
developers don't complain later.

22 years agoFix a crash in a g_warning.
Dan Winship [Tue, 7 May 2002 17:15:10 +0000 (17:15 +0000)]
Fix a crash in a g_warning.

* camel-object.c (camel_object_class_cast): Fix a crash in a
g_warning.

22 years agoCheck for LOGIN xxxx as well if debug is on, so we dont print passwords to
Not Zed [Tue, 7 May 2002 07:31:26 +0000 (07:31 +0000)]
Check for LOGIN xxxx as well if debug is on, so we dont print passwords to

2002-05-07  Not Zed  <NotZed@Ximian.com>

        * camel-remote-store.c (remote_send_string): Check for LOGIN xxxx
        as well if debug is on, so we dont print passwords to evolution
        logs.

        * providers/imap/camel-imap-utils.c (imap_is_atom_char): This was
        really broken.  1. isprint() is locale dependent, and 2. it looked
        up an 8 bit value in a 7 bit table without truncating it.  I've
        removed the isprint() stuff and just put it directly into the
        special table, which i've expanded to the right size too.

        * providers/imap/*: Applied patch from Preston Elder
        <prez@magick.tm> to make camel only use literals if it needs to
        for simple strings.  Changed slightly to use imap_is_atom() and
        more consistent formatting.
        providers/imap/camel-imap-utils.c (imap_is_atom): Chagned from
        imap_needs_quoting().

        ** Merged in camel-object2 branch.  Simpler camelobject
        implementation + object args interface.

        * camel.c (camel_init): Call camel_object_get_type() to make sure
        camel_object_type is initialised.

        * camel-object.h (CAMEL_OBJECT_TYPE): Changed to return global
        camel_object_type pointer, not call camel_object_get_type.

22 years agoIf the pop3 command status is -1, then we probably have a TCP error (?) so
Jeffrey Stedfast [Mon, 6 May 2002 22:35:47 +0000 (22:35 +0000)]
If the pop3 command status is -1, then we probably have a TCP error (?) so

2002-05-06  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): If
the pop3 command status is -1, then we probably have a TCP error
(?) so set a SYSTEM exception so our caller can distinguish
between a "bad password" and a "tcp error".
(pop3_connect): Only uncache the password on "bad password"
errors.

22 years agoUse CamelMimeFilterBestenc to get a more appropriate encoding rather than
Jeffrey Stedfast [Mon, 6 May 2002 22:10:24 +0000 (22:10 +0000)]
Use CamelMimeFilterBestenc to get a more appropriate encoding rather than

2002-05-06  Jeffrey Stedfast  <fejj@ximian.com>

* camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Use
CamelMimeFilterBestenc to get a more appropriate encoding rather
than just blindling assigning QP.

22 years agoCall camel_mime_message_encode_8bit_parts() which fixes bug #10885.
Jeffrey Stedfast [Mon, 6 May 2002 21:43:40 +0000 (21:43 +0000)]
Call camel_mime_message_encode_8bit_parts() which fixes bug #10885.

2002-05-06  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-folder.c (do_append): Call
camel_mime_message_encode_8bit_parts() which fixes bug #10885.

22 years agoDon't bother with counting down the timeout.
Jeffrey Stedfast [Mon, 6 May 2002 18:59:01 +0000 (18:59 +0000)]
Don't bother with counting down the timeout.

2002-05-06  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-raw.c (socket_connect): Don't bother with
counting down the timeout.

22 years agoSame fix as the tcp stream. (stream_write): Again here. Just like tcp
Jeffrey Stedfast [Fri, 3 May 2002 01:16:17 +0000 (01:16 +0000)]
Same fix as the tcp stream. (stream_write): Again here. Just like tcp

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

* camel-stream-fs.c (stream_read): Same fix as the tcp stream.
(stream_write): Again here. Just like tcp stream's stream_write(),
also make sure to save errno before calling fcntl to restore the
fd flags.

* camel-tcp-stream-raw.c (stream_read): Handle EINTR errors for
select().
(stream_write): Same and also preserve errno when setting the fd
flags back. If w == -1, return -1.

22 years agoFixed the fix for stupidly-broken-mailer bug #5 to work when multiple
Jeffrey Stedfast [Fri, 3 May 2002 00:38:45 +0000 (00:38 +0000)]
Fixed the fix for stupidly-broken-mailer bug #5 to work when multiple

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

* camel-mime-utils.c (header_decode_mailbox): Fixed the fix for
stupidly-broken-mailer bug #5 to work when multiple unescaped
characters were in a row. Fixes bug #24140.

22 years agoChange the order of some code so that we check if the select() failed
Jeffrey Stedfast [Thu, 2 May 2002 18:19:57 +0000 (18:19 +0000)]
Change the order of some code so that we check if the select() failed

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

* camel-pgp-context.c (crypto_exec_with_passwd): Change the order
of some code so that we check if the select() failed before we
check for user-cancellation.

* camel-service.c (camel_gethostbyname): Check for EINTR when
select()ing.
(camel_gethostbyaddr): Same.

22 years agoNow takes a CamelURL argument rather than a GHashTable *settings argument.
Jeffrey Stedfast [Thu, 2 May 2002 01:15:01 +0000 (01:15 +0000)]
Now takes a CamelURL argument rather than a GHashTable *settings argument.

2002-04-29  Jeffrey Stedfast  <fejj@ximian.com>

* camel-provider.c (camel_provider_auto_detect): Now takes a
CamelURL argument rather than a GHashTable *settings argument.

22 years agoWe want to set unread_count to get_unread_message_count, not
Not Zed [Mon, 29 Apr 2002 09:18:57 +0000 (09:18 +0000)]
We want to set unread_count to get_unread_message_count, not

2002-04-29  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-spool-store.c (get_folder_info): We want
        to set unread_count to get_unread_message_count, not
        get_message_count().  Might fix #17174.  Also removed FIXME: as it
        was fixed.

22 years agoDon't link to libibex.a anymore.
Jeffrey Stedfast [Sat, 27 Apr 2002 00:01:28 +0000 (00:01 +0000)]
Don't link to libibex.a anymore.

2002-04-26  Jeffrey Stedfast  <fejj@ximian.com>

* providers/local/Makefile.am: Don't link to libibex.a anymore.

* providers/nntp/Makefile.am: Same.

* providers/imap/Makefile.am: And again here.

22 years agoNo longer want to #include <libibex/ibex.h>
Jeffrey Stedfast [Fri, 26 Apr 2002 23:55:39 +0000 (23:55 +0000)]
No longer want to #include <libibex/ibex.h>

2002-04-26  Jeffrey Stedfast  <fejj@ximian.com>

* camel-store-summary.h: No longer want to #include
<libibex/ibex.h>

22 years agoNew function to auto-detect configuration settings.
Jeffrey Stedfast [Fri, 26 Apr 2002 19:52:33 +0000 (19:52 +0000)]
New function to auto-detect configuration settings.

2002-04-26  Jeffrey Stedfast  <fejj@ximian.com>

* camel-provider.c (camel_provider_auto_detect): New function to
auto-detect configuration settings.

22 years agoRemove the excessive \n's, after printfs.
Not Zed [Fri, 26 Apr 2002 05:13:45 +0000 (05:13 +0000)]
Remove the excessive \n's, after printfs.

2002-04-26  Not Zed  <NotZed@Ximian.com>

        * camel-block-file.c (block_file_validate_root): Remove the
        excessive \n's, after printfs.

        * camel-text-index.c (text_index_compress_nosync): @!#$@#$!@$#!.
        Since the rename op was fixed, this broke compression's rename,
        resulting in the index 'vanishing' after every compress
        (i.e. after every reindex).  Fix this code to account for the
        fixed rename operation.

22 years agoDon't put a space between the "RCPT TO:" and the "<recipient>" strings -
Jeffrey Stedfast [Thu, 25 Apr 2002 20:02:33 +0000 (20:02 +0000)]
Don't put a space between the "RCPT TO:" and the "<recipient>" strings -

2002-04-25  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/camel-smtp-transport.c (smtp_rcpt): Don't put a
space between the "RCPT TO:" and the "<recipient>" strings -
rfc0821 was not clear on this but it seems rfc2821 defines a
grammar excluding that SP.
(smtp_mail): Same.

22 years agoConfigure the default paths for mh, mbox, maildir, spools, etc.
Jeffrey Stedfast [Thu, 25 Apr 2002 00:25:04 +0000 (00:25 +0000)]
Configure the default paths for mh, mbox, maildir, spools, etc.

2002-04-24  Jeffrey Stedfast  <fejj@ximian.com>

* providers/local/camel-local-provider.c
(camel_provider_module_init): Configure the default paths for mh,
mbox, maildir, spools, etc.

* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum and
define some default CamelProviderConfEntry macros.

22 years agoAdd a CAMEL_PROVIDER_CONF_LABEL enum.
Jeffrey Stedfast [Wed, 24 Apr 2002 21:35:21 +0000 (21:35 +0000)]
Add a CAMEL_PROVIDER_CONF_LABEL enum.

2002-04-24  Jeffrey Stedfast  <fejj@ximian.com>

* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum.

22 years agoDon't leak the base64 encoded password buffer.
Jeffrey Stedfast [Sat, 20 Apr 2002 02:25:01 +0000 (02:25 +0000)]
Don't leak the base64 encoded password buffer.

2002-04-19  Jeffrey Stedfast  <fejj@ximian.com>

* e-passwords.c (e_passwords_get_password): Don't leak the base64
encoded password buffer.

22 years agoFree the LIST pop3 command.
Jeffrey Stedfast [Sat, 20 Apr 2002 02:22:07 +0000 (02:22 +0000)]
Free the LIST pop3 command.

2002-04-19  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Free the
LIST pop3 command.

* camel-data-cache.c (data_cache_finalise): Free the cdc->path.

22 years agoDon't g_return_val_if_fail here if the boundary is an empty string. See
Jeffrey Stedfast [Fri, 19 Apr 2002 22:02:13 +0000 (22:02 +0000)]
Don't g_return_val_if_fail here if the boundary is an empty string. See

2002-04-19  Jeffrey Stedfast  <fejj@ximian.com>

* camel-multipart.c (write_to_stream): Don't g_return_val_if_fail
here if the boundary is an empty string. See bug #23676 for
details. The way I see it, we have 2 options: 1) leave this fix
the way it is, thus allowing multipart boundaries to be
empty-strings; or 2) make camel_multipart_get_boundary() change
the boundary to something legal if the boundary is an
empty-string. Since the parser should be able to handle an
empty-string boundary *and* more importantly because we want to
keep the same boundaries as the original raw message so as to be
able to verify multipart/signed parts, I vote for solution #1.

22 years agoStart of a white-paperish document describing camel-index and older
Not Zed [Fri, 19 Apr 2002 02:04:35 +0000 (02:04 +0000)]
Start of a white-paperish document describing camel-index and older

2002-04-19  Not Zed  <NotZed@Ximian.com>

        * devel-docs/camel-index.txt: Start of a white-paperish document
        describing camel-index and older libibex.

22 years agoIf we get a failure, make sure we set an exception.
Not Zed [Thu, 18 Apr 2002 08:15:51 +0000 (08:15 +0000)]
If we get a failure, make sure we set an exception.

2002-04-18  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-store.c (rename_folder): If we get a
        failure, make sure we set an exception.

        * camel-text-index.c (camel_text_index_rename): If the file
        doesn't exist, just assume it never did, dont return failure.
        (text_index_rename): Add '.index' to the path name we're using,
        since we dont get it passed in.

22 years agoWhen doing a contains match, split the words and perform an and on it.
Not Zed [Thu, 18 Apr 2002 02:18:55 +0000 (02:18 +0000)]
When doing a contains match, split the words and perform an and on it.

2002-04-18  Not Zed  <NotZed@Ximian.com>

        * camel-folder-search.c (check_header): When doing a contains
        match, split the words and perform an and on it.
        (match_words_messages): If we have an index, but were forced to do
        a full search, first lookup a subset of messages using
        the index and a simplified word set.  Only do a manual search of
        this subset.

2002-04-17  Not Zed  <NotZed@Ximian.com>

        * camel-folder-search.c (match_message_index): Changed to take a
        utf8 string not a regex pattern.
        (match_words_index): Matches against a camel_search_words list.
        (match_words_1message): Matches a single message against a
        camel_search_words list.
        (match_words_message): Same, but gets the message from the folder
        for you.
        (match_words_messages): Matches a list of messages against a words
        list.
        (search_body_contains): Rewritten to handle multiple word
        searches.  For #23371.

        * providers/imap/camel-imap-search.c (sync_match): Split words
        when searching, to support multiple search words.  Also, try
        searching specifying charset of utf8 if we can, if that fails,
        fall back to not specifying charset.  TODO: It should translate
        the strings into the locale default charset?

        * providers/imap/camel-imap-store.c (connect_to_server): Added new
        cap - utf8_search, if set, we tell the server we're searching
        using utf8, otherwise we dont (incorrectly, since we always use
        utf8 to search).

        * camel-search-private.c (camel_ustrstrcase): Make this class public.
        (camel_search_words_split): Split a word into multiple words based
        on whitespace, and keep track of whether the word is simple
        (indexable directly), or not.
        (camel_search_words_free): Free 'em.

22 years agoIf the vee-folder is the unmatched, we don't have our own expression so we
Jeffrey Stedfast [Wed, 17 Apr 2002 22:33:33 +0000 (22:33 +0000)]
If the vee-folder is the unmatched, we don't have our own expression so we

2002-04-17  Jeffrey Stedfast  <fejj@ximian.com>

* camel-vee-folder.c (vee_search_by_expression): If the vee-folder
is the unmatched, we don't have our own expression so we cannot
merge them. Instead, just use the expression passed in. This fixes
a Null-Pointer-Read crash on Solaris systems at least.

22 years agoGet rid of an unused variable.
Jeffrey Stedfast [Wed, 17 Apr 2002 01:25:28 +0000 (01:25 +0000)]
Get rid of an unused variable.

2002-04-16  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (camel_filter_driver_filter_folder): Get
rid of an unused variable.

* providers/smtp/camel-smtp-transport.c (smtp_helo): Use
camel_gethostbyaddr since gethostbyaddr is not reentrant.

* camel-http-stream.c (http_connect): Updated after the rename of
camel_get_host_byname.

* camel-service.c (camel_gethostbyname): Renamed.
(camel_gethostbyaddr): New cancellable/reentrant version of
gethostbyaddr.

22 years agoAdded #include <sys/types.h> for dirent.h which needs it on MacOS X.
Jeffrey Stedfast [Sun, 14 Apr 2002 20:13:01 +0000 (20:13 +0000)]
Added #include <sys/types.h> for dirent.h which needs it on MacOS X.

2002-04-14  Jeffrey Stedfast  <fejj@ximian.com>

* providers/local/camel-spoold-store.c: Added #include
<sys/types.h> for dirent.h which needs it on MacOS X.

* providers/local/camel-maildir-store.c: Same.

* providers/nntp/camel-nntp-store.c: Same.

* providers/imap/camel-imap-message-cache.c: Same.

* camel-provider.c: Same.

* camel-data-cache.c: Same.

22 years agoAdded #include <sys/types.h> for dirent.h which needs it on MacOS X.
Jeffrey Stedfast [Sun, 14 Apr 2002 05:40:33 +0000 (05:40 +0000)]
Added #include <sys/types.h> for dirent.h which needs it on MacOS X.

2002-04-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-provider.c: Added #include <sys/types.h> for dirent.h
which needs it on MacOS X.

* camel-data-cache.c: Same.

22 years agofix the nntp provider makefile.am
Jeffrey Stedfast [Sun, 14 Apr 2002 00:57:35 +0000 (00:57 +0000)]
fix the nntp provider makefile.am

22 years agoTreat commas as token delimeters. (WEEKDAY_CHARS): Use full weekday names
Jeffrey Stedfast [Fri, 12 Apr 2002 22:16:42 +0000 (22:16 +0000)]
Treat commas as token delimeters. (WEEKDAY_CHARS): Use full weekday names

2002-04-12  Jeffrey Stedfast  <fejj@ximian.com>

* broken-date-parser.c (datetok): Treat commas as token
delimeters.
(WEEKDAY_CHARS): Use full weekday names in case the broken mailer
used the full names.
(MONTH_CHARS): Same as above but for months.

22 years agoIf the last message(s) were deleted, and we had any messages output,
Not Zed [Thu, 11 Apr 2002 09:00:57 +0000 (09:00 +0000)]
If the last message(s) were deleted, and we had any messages output,

2002-04-11  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-spool-summary.c (spool_summary_sync_full):
        If the last message(s) were deleted, and we had any messages
        output, account for the lost \n of the following From line by
        adding an extra \n. fix for #8214.

2002-04-10  Not Zed  <NotZed@Ximian.com>

        * camel-mime-part-utils.c (convert_buffer): If we get a 0 length
        input, return a 0 lenght output as valid - fixes bugs with some
        iconv impl and its simpler anyway.

22 years agoSet the UID_SET_LIMIT value to 4096. I ran into an issue tonight where
Jeffrey Stedfast [Thu, 11 Apr 2002 05:19:13 +0000 (05:19 +0000)]
Set the UID_SET_LIMIT value to 4096. I ran into an issue tonight where

2002-04-11  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-folder.c: Set the UID_SET_LIMIT value
to 4096. I ran into an issue tonight where apparently the IMAP
server changed the UIDVALIDITY and so Evo needed to re-fetch all
headers and it was trying to send a uid set of some 25k (yes, I
have a very large INBOX). Anyways, it was set to unlimited
before. Courier IMAPd can safely handle up to ~16k per token, but
UW IMAPd can only handle 8k per command-line, so I set it to 4k
just to be safe.

22 years agooops, after converting everything truncate the GByteArray to the correct length ...
Jeffrey Stedfast [Wed, 10 Apr 2002 20:03:51 +0000 (20:03 +0000)]
oops, after converting everything truncate the GByteArray to the correct length (in case we over-allocated)

22 years agoFixed a bug that would miscalculate how much data to copy into the
Jeffrey Stedfast [Wed, 10 Apr 2002 19:59:13 +0000 (19:59 +0000)]
Fixed a bug that would miscalculate how much data to copy into the

2002-04-10  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-part-utils.c (convert_buffer): Fixed a bug that would
miscalculate how much data to copy into the GByteArray (negative
value) thus causing a segfault. Also optimized it while I was at
it.

22 years agoMake the folder_lock recursive. See bug #22363 for details. Basically,
Jeffrey Stedfast [Wed, 10 Apr 2002 03:02:33 +0000 (03:02 +0000)]
Make the folder_lock recursive. See bug #22363 for details. Basically,

2002-04-09  Jeffrey Stedfast  <fejj@ximian.com>

* camel-store.c (camel_store_init): Make the folder_lock
recursive. See bug #22363 for details. Basically,
get_folder_info() is requesting a diary folder which in turn
connects which requests then calls get_folder() but deadlocks
because get_folder_info already holds the lock.

22 years agomade the copmment clearer
Jeffrey Stedfast [Tue, 9 Apr 2002 20:02:43 +0000 (20:02 +0000)]
made the copmment clearer

22 years agoDon't adjust the timezone offset if we used tm.tm_gmtoff because it is
Jeffrey Stedfast [Tue, 9 Apr 2002 19:57:09 +0000 (19:57 +0000)]
Don't adjust the timezone offset if we used tm.tm_gmtoff because it is

2002-04-09  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-message.c (camel_mime_message_set_date): Don't adjust
the timezone offset if we used tm.tm_gmtoff because it is already
adjusted.

22 years agoIf we get multiple Content-Type header values, change subsequent headers
Not Zed [Tue, 9 Apr 2002 13:45:44 +0000 (13:45 +0000)]
If we get multiple Content-Type header values, change subsequent headers

2002-04-09  Not Zed  <NotZed@Ximian.com>

        * camel-mime-part.c (construct_from_parser): If we get multiple
        Content-Type header values, change subsequent headers to
        X-Invalid-Content-Type so it doesn't wreck processing.  This fixes
        the reported case in #18929, but i dont know if it fixes the
        original posters problems.

2002-04-08  Not Zed  <NotZed@Ximian.com>

        * camel-vtrash-folder.c (vtrash_move_messages_to): If we find
        we're moving from the vtrash to another folder, we need to convert
        the uid from a vfolder uid to the source uid (+8).  Fix for
        #20886.  Also changed to batch multiple moves to different folders
        so they are done as efficiently as possible rather than one at a
        time.

        * camel-mime-utils.c (base64_decode_step): If we only get passed
        '=', we back track only if we actually output any data.  Fix for
        #21716.
        (quoted_decode): Pass out size_t instead of int, and use 0 instead
        of -1 for error since its not signed.  This will fix similar bug
        to above in different circumstances since the result is taken as
        unsigned.  This is only an internal func.
        (quoted_encode): Return size_t just for consistency.

        * camel-block-file.c (block_file_validate_root): Comment out the
        debug and move it into a warning when the validation fails.

22 years agoDon't count our filler when encoding our line-length octet.
Jeffrey Stedfast [Mon, 8 Apr 2002 17:34:12 +0000 (17:34 +0000)]
Don't count our filler when encoding our line-length octet.

2002-04-08  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c (uuencode_close): Don't count our filler when
encoding our line-length octet.

22 years agoDon't get the statuscode here anymore. (http_method_invoke): Use a
Jeffrey Stedfast [Sat, 6 Apr 2002 01:15:53 +0000 (01:15 +0000)]
Don't get the statuscode here anymore. (http_method_invoke): Use a

2002-04-05  Jeffrey Stedfast  <fejj@ximian.com>

* camel-http-stream.c (http_get_headers): Don't get the statuscode
here anymore.
(http_method_invoke): Use a User-Agent header and do basic proxy
authentication.
(stream_read): Handle redirects.
(camel_http_stream_set_user_agent): New function to allow client
to set the User-Agent string.
(camel_http_stream_set_proxy): New function for setting the proxy
server.
(camel_http_stream_set_proxy_authrealm): New function for setting
the proxy auth realm.
(camel_http_stream_set_proxy_authpass): New function for setting
the proxy auth password.

22 years agoIf (body-contains) is not passed any arguments, return empty/false. Fixes
Not Zed [Fri, 5 Apr 2002 08:06:47 +0000 (08:06 +0000)]
If (body-contains) is not passed any arguments, return empty/false. Fixes

2002-04-04  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-search.c (imap_body_contains): If
        (body-contains) is not passed any arguments, return empty/false.
        Fixes a crash exposed by #15001.

22 years agoSimplified since we can now decode in-reply-to without getting extra
Jeffrey Stedfast [Fri, 5 Apr 2002 00:08:23 +0000 (00:08 +0000)]
Simplified since we can now decode in-reply-to without getting extra

2002-04-04  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder-summary.c (message_info_new): Simplified since we
can now decode in-reply-to without getting extra cruft. Get rid of
the FIXME about having to check scan->id because of the
possibility of it being NULL, this can no longer happen.

* camel-mime-utils.c (header_references_inreplyto_decode): New
function to decode in-reply-to headers. Only grabs the first thing
that looks like a message-id and then returns.
(header_references_decode): Loop calling
header_references_decode_single (a new internal function).

22 years agoReset the keepalive timeout to 10 minutes rather than the 30 seconds I was
Not Zed [Thu, 4 Apr 2002 02:43:47 +0000 (02:43 +0000)]
Reset the keepalive timeout to 10 minutes rather than the 30 seconds I was

2002-04-04  Not Zed  <NotZed@Ximian.com>

        * camel-remote-store.c (remote_connect): Reset the keepalive
        timeout to 10 minutes rather than the 30 seconds I was using for
        testing.

22 years agomake service_cache be an array of CAMEL_NUM_PROVIDER_TYPES elements so you
Dan Winship [Wed, 3 Apr 2002 18:18:31 +0000 (18:18 +0000)]
make service_cache be an array of CAMEL_NUM_PROVIDER_TYPES elements so you

* camel-provider.h (CamelProvider): make service_cache be an array
of CAMEL_NUM_PROVIDER_TYPES elements so you can have a single
provider offer both stores and transports. (Eg, Exchange, NNTP)

* providers/imap/camel-imap-provider.c: Don't initialize
service_cache here. (The session code can do it itself since the
url_hash and url_equal functions are stored as part of the
provider.)

* providers/nntp/camel-nntp-provider.c: Likewise.

* providers/local/camel-local-provider.c: Likewise.

* providers/pop3/camel-pop3-provider.c: Likewise.

* providers/sendmail/camel-sendmail-provider.c: Likewise.

* providers/smtp/camel-smtp-provider.c: Likewise.

* camel-session.c (register_provider): Initialize the provider's
service cache(s) here.
(camel_session_class_init): Don't initialize.
vee_provider.service_cache here.
(camel_session_destroy_provider): Update to destroy multiple
service_caches.
(service_cache_remove, get_service): Tweak these a bit to deal
with multiple service_caches.

22 years agoTurn indexing back on, fingers crossed ...
Not Zed [Wed, 3 Apr 2002 13:28:30 +0000 (13:28 +0000)]
Turn indexing back on, fingers crossed ...

2002-04-03  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-folder.c
        (camel_local_folder_construct): Turn indexing back on, fingers
        crossed ...

        * camel-block-file.c (sync_nolock): #!@$@$#@~#$
        DF@#$!Q@$#!@$#!#%.  Well it helps if we're iterating a list to
        iterate the node pointer ...

        * camel-text-index.c (text_index_sync): Sync the key tables
        explcitly.
        (text_index_sync): Debug out frag info.
        (camel_text_index_dump): Added a (rather large, but optional) raw
        dumping mode for debugging purposes.

        * camel-partition-table.c (camel_key_table_finalise): Sync root
        block when done.

22 years agoHandle a ton more nspr i/o errno's. (stream_connect): Act as if we are
Jeffrey Stedfast [Tue, 2 Apr 2002 23:04:11 +0000 (23:04 +0000)]
Handle a ton more nspr i/o errno's. (stream_connect): Act as if we are

2002-04-02  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-ssl.c (set_errno): Handle a ton more nspr i/o
errno's.
(stream_connect): Act as if we are doing a non-blocking
connect. This is to try and work around bug #15120 where users get
an EINPROGRESS error. Maybe importing a PRFileDesc into SSL mode
automagically makes it non-blocking? I dunno.

2002-04-01  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder-summary.c (message_info_new): Updated the
construction of the references to match JWZ's updated algorithm
initialization (ie, append any In-Reply-To reference onto any
References header and never take more than a single message-id
from the In-Reply-To header since anything after the first will
probably just be email addresses). Fixes bug #1336.

22 years agoSync the key tables explcitly.
Not Zed [Tue, 2 Apr 2002 20:03:42 +0000 (20:03 +0000)]
Sync the key tables explcitly.

2002-04-03  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_sync): Sync the key tables
        explcitly.

        * camel-partition-table.c (camel_key_table_finalise): Sync root
        block when done.
        (camel_key_table_sync): New function, sync key table (root) explicitly.

2002-04-02  Not Zed  <NotZed@Ximian.com>

        * camel-block-file.c (camel_block_file_free_block): Mark root
        block dirty when we change it (this function isn't used yet
        anyway).

        * camel-text-index.c (text_index_add_name_to_word): Touch the root
        block when we modify the counts.  Also, abort processing on any
        errors.
        (text_index_sync): Fix typo in comments.  Sync the block file
        inside the lock.
        (text_index_compress_nosync): Lock the old index while we're
        compressing.
        (text_index_compress_nosync): Remove the bogus while() at the end
        of the while() loops!  Also plug a memleak - records weren't
        freed.
        (text_index_rename): Lock around rename op.
        (text_index_add_name): More typos.
        (text_index_sync): Touch root when changing it.
        (text_index_add_name): "
        (text_index_delete_name): "
        (camel_text_index_new): Touch root if we change it.
        (text_index_cursor_reset): Make sure we NULL pointers after we
        free them (nothing uses this yet).

        * camel-partition-table.c (hash_key): Remove some debug
        accidentally left in.
        (camel_partition_table_add): When linking in the next block list,
        set the right previous pointer.
        (camel_key_table_add): Simplify the 'left' calculation (it was
        already ok though).
        (camel_key_table_next): Initialise returns before processing.
        Broaden the lock slightly, and simplify validity calculations.

22 years agoPut back in the exception setup stuff i disabled for debugging.
Not Zed [Tue, 2 Apr 2002 00:43:37 +0000 (00:43 +0000)]
Put back in the exception setup stuff i disabled for debugging.

2002-04-02  Not Zed  <NotZed@Ximian.com>

* providers/imap/camel-imap-store.c (imap_keepalive): Put back in
the exception setup stuff i disabled for debugging.

22 years agoTemporarily disable indexing.
Not Zed [Mon, 1 Apr 2002 23:58:53 +0000 (23:58 +0000)]
Temporarily disable indexing.

2002-04-02  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-folder.c
        (camel_local_folder_construct): Temporarily disable indexing.

2002-03-28  Not Zed  <NotZed@Ximian.com>

        * camel-partition-table.c (camel_key_table_lookup): Change range
        checking assert to a warning.

        * providers/pop3/camel-pop3-folder.c (pop3_finalize): Make sure we
        flush out all outstanding commands before finalising, stops being
        finalised while outsanding requests are processed by the store
        finalise.
        (pop3_get_message): Instead of pre-fetching all messages, just
        pre-fetch a maxiumum number at any one time, stops us running out
        of cache fd's.

        * providers/nntp/camel-nntp-folder.c (nntp_folder_init/finalise):
        Setup priv data + locks, & free.

        * providers/imap/camel-imap-folder.c (imap_rescan): Batch all
        message_chagned events into a single folder_changed event
        (otherwise updates can be >>> expensive, like >5 hours for 80K
        messages changing!).  Alternately it could use folder
        freeze/unfreeze perhaps.

2002-03-27  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-store.c (imap_keepalive): Pass an
        exception to called code so it behaves properly since it uses the
        passed exception to check returns.

22 years ago#include appropriate headers for mkdir
Jeffrey Stedfast [Mon, 1 Apr 2002 20:33:02 +0000 (20:33 +0000)]
#include appropriate headers for mkdir

22 years agoUse -avoid-version instead of -version-info 0:0:0, and specify -module.
Dan Winship [Mon, 1 Apr 2002 16:17:04 +0000 (16:17 +0000)]
Use -avoid-version instead of -version-info 0:0:0, and specify -module.

* providers/imap/Makefile.am (libcamelimap_la_LDFLAGS): Use
-avoid-version instead of -version-info 0:0:0, and specify
-module. (From Max Horn <max@quendi.de>).

* providers/local/Makefile.am (libcamellocal_la_LDFLAGS): Likewise.

* providers/nntp/Makefile.am (libcamelnntp_la_LDFLAGS): Likewise.

* providers/sendmail/Makefile.am (libcamelsendmail_la_LDFLAGS):
Likewise.

* providers/smtp/Makefile.am (libcamelsmtp_la_LDFLAGS): Likewise.

* providers/pop3/Makefile.am (libcamelpop3_la_LDFLAGS): Likewise.
Also remove $(KRB4_LDFLAGS) since KPOP is gone.
(INCLUDES): and $(KRB4_CFLAGS)

22 years agoWe now have to check to make sure that p->message is non-NULL because we
Jeffrey Stedfast [Fri, 29 Mar 2002 00:04:28 +0000 (00:04 +0000)]
We now have to check to make sure that p->message is non-NULL because we

2002-03-28  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (do_copy): We now have to check to make
sure that p->message is non-NULL because we only load the message
when we have to.
(do_move): Same here.

22 years agoChange the message arg to a CamelMimeMessage instead of a CamelMedium.
Dan Winship [Thu, 28 Mar 2002 23:20:09 +0000 (23:20 +0000)]
Change the message arg to a CamelMimeMessage instead of a CamelMedium.

* camel-transport.c (camel_transport_send_to): Change the message
arg to a CamelMimeMessage instead of a CamelMedium. Even the NNTP
provider returns CamelMimeMessages, and we're never going to
support anything more exotic than that. Also do a few more
g_return_if_fails here instead of in the providers.
(camel_transport_can_send): No longer needed.
(camel_transport_send): Remove this too. It wasn't being used any
more, and it doesn't behave exactly the same in sendmail and smtp.

* providers/smtp/camel-smtp-transport.c (smtp_send,
smtp_can_send): Gone.
(smtp_send_to): Update for arg change.
(smtp_data): Make this take a CamelMimeMessage too.

* providers/sendmail/camel-sendmail-transport.c (sendmail_send,
sendmail_can_send): Gone.
(sendmail_send_to): Update for arg change, and merge in the part
that used to be shared with sendmail_send.

22 years agoConstruct the source_url the right way. The previous way was generating
Jeffrey Stedfast [Wed, 27 Mar 2002 19:38:08 +0000 (19:38 +0000)]
Construct the source_url the right way. The previous way was generating

2002-03-27  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (camel_filter_driver_filter_folder):
Construct the source_url the right way. The previous way was
generating urls like pop://fejj@ximian.com;keep_on_server/inbox
which is wrong.

22 years agoChanged to use just g_utf8_strdown instead of utf8_normalise, to match the
Not Zed [Mon, 25 Mar 2002 22:58:13 +0000 (22:58 +0000)]
Changed to use just g_utf8_strdown instead of utf8_normalise, to match the

2002-03-26  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_normalise): Changed to use just
        g_utf8_strdown instead of utf8_normalise, to match the indexing
        code.  utf8_normalise is just far too expensive (saves approx 25%
        total processing).

22 years agoupdated
Jeffrey Stedfast [Mon, 25 Mar 2002 21:47:36 +0000 (21:47 +0000)]
updated

22 years agoWhen we add a new name, up all of the cache limits, because we're probably
Not Zed [Mon, 25 Mar 2002 12:11:44 +0000 (12:11 +0000)]
When we add a new name, up all of the cache limits, because we're probably

2002-03-25  Not Zed  <NotZed@Ximian.com>

        * camel-text-index.c (text_index_add_name): When we add a new
        name, up all of the cache limits, because we're probably going to
        be adding more.
        (text_index_sync): Drop the cache limits back down again, we dont
        need them when looking words up.

        ** MERGE camel_index branch.

        * camel-text-index.[ch]: Added files i forgot to add (eep nearly
        lost all this work!)

        * camel-block-file.c (sync_nolock): Fix an infinite loop in syncing.

22 years agoUse the date in the received header for the received_date.
Jeffrey Stedfast [Fri, 22 Mar 2002 00:19:58 +0000 (00:19 +0000)]
Use the date in the received header for the received_date.

2002-03-21  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder-summary.c (camel_message_info_new_from_header): Use
the date in the received header for the received_date.

22 years agoFix this to work right. We need to convert the input buffer to the charset
Jeffrey Stedfast [Tue, 19 Mar 2002 23:29:41 +0000 (23:29 +0000)]
Fix this to work right. We need to convert the input buffer to the charset

2002-03-19  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-utils.c (header_encode_param): Fix this to work
right. We need to convert the input buffer to the charset we claim
in the encoded param (duh).

22 years agoUpdated to use the same logic as the POP code.
Jeffrey Stedfast [Mon, 18 Mar 2002 21:59:54 +0000 (21:59 +0000)]
Updated to use the same logic as the POP code.

2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Updated to use the same logic as the
POP code.

22 years agoNo longer takes a stls_supported argument since we no longer need it with
Jeffrey Stedfast [Mon, 18 Mar 2002 21:31:25 +0000 (21:31 +0000)]
No longer takes a stls_supported argument since we no longer need it with

2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

* providers/pop3/camel-pop3-store.c (connect_to_server): No longer
takes a stls_supported argument since we no longer need it with
the new logic.
(connect_to_server_wrapper): New logic: First try connecting to
the SSL port (995 by default), if that fails with
SERVICE_UNAVAILABLE, then we attempt to connect (to port 110 by
default) and try to use STARTTLS.

22 years agoDon't allow any empty structs. If !ENABLE_THREADS, provide a gpointer
Jeffrey Stedfast [Fri, 15 Mar 2002 19:06:30 +0000 (19:06 +0000)]
Don't allow any empty structs. If !ENABLE_THREADS, provide a gpointer

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

* camel-private.h: Don't allow any empty structs. If
!ENABLE_THREADS, provide a gpointer dummy member. Fixes bug #6382.

22 years agoAdded a work-around for SMTP servers that can't read the RFCs and thus
Jeffrey Stedfast [Wed, 13 Mar 2002 23:44:29 +0000 (23:44 +0000)]
Added a work-around for SMTP servers that can't read the RFCs and thus

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

* providers/smtp/camel-smtp-transport.c (smtp_auth): Added a
work-around for SMTP servers that can't read the RFCs and thus
implement SASL incorrectly. Oh well, that's life in the world of
mail clients I guess.

22 years agoreverted my USER/PASS quoting fix
Jeffrey Stedfast [Wed, 13 Mar 2002 21:55:53 +0000 (21:55 +0000)]
reverted my USER/PASS quoting fix

22 years agoQuote the USER and PASS arguments since some people have spaces in their
Jeffrey Stedfast [Wed, 13 Mar 2002 20:47:00 +0000 (20:47 +0000)]
Quote the USER and PASS arguments since some people have spaces in their

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

* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Quote
the USER and PASS arguments since some people have spaces in their
user-names and/or passwords.

22 years agoNow takes a url argument.
Jeffrey Stedfast [Tue, 12 Mar 2002 20:36:08 +0000 (20:36 +0000)]
Now takes a url argument.

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

* camel-digest-store.c (camel_digest_store_new): Now takes a url
argument.

* camel-digest-folder.c (digest_add_multipart): Fixed some memory
corruption and also modified to use CAMEL_IS_MIME_MESSAGE() rather
than comparing content-type strings.
(digest_get_message): Fixed a logic blooper.

* camel-folder-summary.c (camel_message_info_new_from_header): Set
the date fields of the CamelMessageInfo as well. This may even fix
some filter-related bugs where the user was trying to compare
dates.

22 years agodo the typedef's in camel-types.h and include camel-digest-store.h in camel.h
Jeffrey Stedfast [Tue, 12 Mar 2002 00:55:53 +0000 (00:55 +0000)]
do the typedef's in camel-types.h and include camel-digest-store.h in camel.h

22 years agoA pretty empty store implementation to be the parent store of a
Jeffrey Stedfast [Tue, 12 Mar 2002 00:24:03 +0000 (00:24 +0000)]
A pretty empty store implementation to be the parent store of a

2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>

* camel-digest-store.c: A pretty empty store implementation to be
the parent store of a CamelDigestFolder.

* camel-digest-folder.c: Updated to reference it's parent store.

22 years agoAllow any leaf part to be a message/rfc822 part. (digest_get_uids):
Jeffrey Stedfast [Mon, 11 Mar 2002 23:38:42 +0000 (23:38 +0000)]
Allow any leaf part to be a message/rfc822 part. (digest_get_uids):

2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>

* camel-digest-folder.c (camel_digest_folder_new): Allow any leaf
part to be a message/rfc822 part.
(digest_get_uids): Recurse the mime structure and add all
message/rfc822 parts and use a uid scheme similar to IMAP's mime
part naming convention.
(digest_get_message): Decode the uid to get the correct mime part.

22 years agoChange the order of the mailing list magic patterns so that the more
Ettore Perazzoli [Mon, 11 Mar 2002 19:25:42 +0000 (19:25 +0000)]
Change the order of the mailing list magic patterns so that the more

* camel-mime-utils.c: Change the order of the mailing list magic
patterns so that the more mailing-list specific ones are on the
top.

22 years agooops, musta backspaced over a brace?
Jeffrey Stedfast [Mon, 11 Mar 2002 17:06:27 +0000 (17:06 +0000)]
oops, musta backspaced over a brace?

22 years agoThese fixes should fix bug #21737.
Jeffrey Stedfast [Mon, 11 Mar 2002 17:01:15 +0000 (17:01 +0000)]
These fixes should fix bug #21737.

2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>

These fixes should fix bug #21737.

* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Same as with the POP code.

* providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
Slight restructuring of the if-statements for the USE_SSL_ALWAYS
case so that we can't possibly return TRUE unless we really did
connect successfully.

22 years ago Rename the OpenSSL implementation of things to match the NSS
Dan Winship [Mon, 11 Mar 2002 02:33:27 +0000 (02:33 +0000)]
Rename the OpenSSL implementation of things to match the NSS
        implementation so that callers don't need to care which one is
being used.

* camel-tcp-stream-openssl.c: Implement CamelTcpStreamSSL, not
CamelTcpStreamOpenSSL. Rename methods as well. Replace the
camel-tcp-stream-openssl.h include with camel-tcp-stream-ssl.h.

        * camel-tcp-stream-openssl.h: Gone.

        * camel-tcp-stream-ssl.c: Add a note explaining that this
implementation is only used for NSS, and that OpenSSL's
implementation is in another file. (Should probably do some CVS
renaming magic at some point.)

        * camel-http-stream.c (http_connect): Remove OpenSSL refs; the
        previously-NSS-specific code works for both now.

        * camel-remote-store.c: Likewise.

        * providers/smtp/camel-smtp-transport.c: Likewise.

        * providers/pop3/camel-pop3-store.c: Likewise.

        * Makefile.am (libcamelinclude_HEADERS): Remove
camel-tcp-stream-openssl.h

22 years agoRemove this: it couldn't be generically used, because different subclasses
Dan Winship [Mon, 11 Mar 2002 00:53:49 +0000 (00:53 +0000)]
Remove this: it couldn't be generically used, because different subclasses

        * camel-tcp-stream.c (camel_tcp_stream_get_socket): Remove this:
it couldn't be generically used, because different subclasses
returned entirely different types of data.
(camel_tcp_stream_get_local_address,
camel_tcp_stream_get_remote_address): Add these to replace what
get_socket was being used for.
(camel_tcp_address_new, camel_tcp_address_free): Utility functions
for get_{local,remote}_address.

* providers/smtp/camel-smtp-transport.c: Change localaddr to a
        CamelTcpAddress *.
        (connect_to_server): Call camel_tcp_stream_get_local_address to
get the local IP address.
        (smtp_disconnect): free localaddr.
        (smtp_helo): Update for localaddr change.

        * camel-tcp-stream-raw.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.

* camel-tcp-stream-ssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.

        * camel-tcp-stream-openssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.

22 years agoDon't call camel_remote_store_get_authtypes since we no longer subclass
Jeffrey Stedfast [Fri, 8 Mar 2002 23:43:43 +0000 (23:43 +0000)]
Don't call camel_remote_store_get_authtypes since we no longer subclass

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

* providers/pop3/camel-pop3-provider.c
(camel_provider_module_init): Don't call
camel_remote_store_get_authtypes since we no longer subclass
camel-remote-store.

* providers/pop3/camel-pop3-engine.c: Added STARTTLS to the
capabilities to look for.
(camel_pop3_engine_reget_capabilities): New function to re-get
capabilities.

* providers/pop3/camel-pop3-store.c: Updated to not subclass
CamelRemoteStore.
(connect_to_server): Rewritten to not depend on CamelRemoteStore's
connect implementation. Also added support for STLS (aka
STARTTLS).

22 years agoAdd support for hash type RIPEMD160.
Jeffrey Stedfast [Thu, 7 Mar 2002 20:11:35 +0000 (20:11 +0000)]
Add support for hash type RIPEMD160.

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

* camel-pgp-mime.c (camel_pgp_mime_part_sign): Add support for
hash type RIPEMD160.

* camel-cipher-context.h: Add RIPEMD160 hash type.

* camel-pgp-context.c (pgp_sign): Updated to consider hash
function for pgp5 and pgp6.
(pgp_clearsign): Same.

22 years agoAdd a timeout on the select. (stream_write): Same.
Jeffrey Stedfast [Thu, 7 Mar 2002 16:24:19 +0000 (16:24 +0000)]
Add a timeout on the select. (stream_write): Same.

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

* camel-tcp-stream-openssl.c (stream_read): Add a timeout on the
select.
(stream_write): Same.

22 years agoFix to work with OpenSSL.
Jeffrey Stedfast [Thu, 7 Mar 2002 00:15:44 +0000 (00:15 +0000)]
Fix to work with OpenSSL.

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

* providers/smtp/camel-smtp-transport.c (connect_to_server): Fix
to work with OpenSSL.

22 years agocompile fixes. (camel_tcp_stream_openssl_enable_ssl): Check to make sure
Jeffrey Stedfast [Wed, 6 Mar 2002 22:32:17 +0000 (22:32 +0000)]
compile fixes. (camel_tcp_stream_openssl_enable_ssl): Check to make sure

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

* camel-tcp-stream-openssl.c: compile fixes.
(camel_tcp_stream_openssl_enable_ssl): Check to make sure that the
sockfd != -1, it's not enough to check that it is non-zero. Also
set the sockfd to -1 on fail (open_ssl_connection will close the
sockfd on fail).

22 years agoMake this compile.
Dan Winship [Wed, 6 Mar 2002 19:14:50 +0000 (19:14 +0000)]
Make this compile.

* providers/smtp/camel-smtp-transport.c (smtp_construct): Make
this compile.

22 years agotreat "" as "always" to maintain compatablity with old config settings
Jeffrey Stedfast [Wed, 6 Mar 2002 01:43:22 +0000 (01:43 +0000)]
treat "" as "always" to maintain compatablity with old config settings

22 years agoRemoved. Glory glory hallelujah! (ssl_bad_cert): No longer calls
Jeffrey Stedfast [Wed, 6 Mar 2002 00:54:22 +0000 (00:54 +0000)]
Removed. Glory glory hallelujah! (ssl_bad_cert): No longer calls

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

* camel-tcp-stream-ssl.c (save_ssl_cert): Removed. Glory glory
hallelujah!
(ssl_bad_cert): No longer calls ssl_save_cert or
ssl_cert_is_saved.

22 years agoStart the ssl stream off in non-ssl mode (useful for STARTTLS).
Jeffrey Stedfast [Wed, 6 Mar 2002 00:33:37 +0000 (00:33 +0000)]
Start the ssl stream off in non-ssl mode (useful for STARTTLS).

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

* camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_new_raw):
Start the ssl stream off in non-ssl mode (useful for STARTTLS).
(camel_tcp_stream_openssl_enable_ssl): New function to toggle an
ssl stream into ssl mode.
(open_ssl_connection): Close the sockfd on fail so our caller
doesn't have to - this also allows us to save the original errno.
(stream_connect): If we want ssl mode, do our ssl stuff.
(camel_tcp_stream_openssl_class_init): Init some SSL stuff here
instead of in open_ssl_connection since these only ever need to be
called once.
(stream_read): Only use SSL_read if we are in ssl mode.
(stream_write): Only use SSL_write if we are in ssl mode.

* providers/smtp/camel-smtp-transport.c (smtp_helo): Check for the
STARTTLS extension.
(connect_to_server): Try to use STARTTLS whenever possible rather
than the old way of doing things.
(connect_to_server_wrapper): Wrapper around connect_to_server() to
first try STARTTLS and then attempt normal SSL mode if we can't
connect via STARTTLS.

* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): New
function to toggle an ssl stream into ssl mode.
(camel_tcp_stream_ssl_new_raw): Start the ssl stream off in
non-ssl mode (useful for STARTTLS).
(stream_connect): Only connect in SSL mode if required.

22 years agoAdd c++ armoring.
Jeffrey Stedfast [Fri, 1 Mar 2002 21:39:17 +0000 (21:39 +0000)]
Add c++ armoring.

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

* camel-vtrash-folder.h:
* camel-vee-store.h:
* camel-vee-folder.h:
* camel-stream-null.h:
* camel-stream-filter.h:
* camel-store-summary.h:
* camel-news-address.h:
* camel-mime-utils.h:
* camel-mime-parser.h:
* camel-mime-filter-save.h:
* camel-mime-filter-linewrap.h:
* camel-mime-filter-index.h:
* camel-mime-filter-html.h:
* camel-mime-filter.h:
* camel-mime-filter-from.h:
* camel-mime-filter-crlf.h:
* camel-mime-filter-chomp.h:
* camel-mime-filter-charset.h:
* camel-mime-filter-bestenc.h:
* camel-mime-filter-basic.h:
* camel-internet-address.h:
* camel-folder-thread.h:
* camel-folder-summary.h:
* camel-folder-search.h:
* camel-filter-driver.h:
* camel-charset-map.h:
* camel-address.h: Add c++ armoring.

* camel-object.h: s/class/klass

22 years agoReverted my pgp/mime fixes here too.
Jeffrey Stedfast [Fri, 1 Mar 2002 20:30:15 +0000 (20:30 +0000)]
Reverted my pgp/mime fixes here too.

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

* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Reverted my
pgp/mime fixes here too.

* camel-mime-part.c (write_to_stream): Removed my pgp/mime raw
stream hack, this is causing problems such as some messages to not
displaying, view->source not working at all, etc.

22 years agoChanged offset variables from int's to off_t's since the system may
Jeffrey Stedfast [Thu, 28 Feb 2002 20:56:42 +0000 (20:56 +0000)]
Changed offset variables from int's to off_t's since the system may

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

* camel-mime-parser.c: Changed offset variables from int's to
off_t's since the system may support large files.

22 years agoRearrange the save filter stuff so that we save raw streams for all mime
Jeffrey Stedfast [Thu, 28 Feb 2002 20:37:11 +0000 (20:37 +0000)]
Rearrange the save filter stuff so that we save raw streams for all mime

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

* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Rearrange the
save filter stuff so that we save raw streams for all mime
parts. If the mime part turns out to be a multupart, then don't
bother saving the raw stream, we only need to save the raw stream
for leaf parts.

22 years agoonly save raw streams for leaf parts.
Jeffrey Stedfast [Thu, 28 Feb 2002 03:09:07 +0000 (03:09 +0000)]
only save raw streams for leaf parts.

22 years agoDon't #include camel-mime-filter-save.h, we don't use it.
Jeffrey Stedfast [Thu, 28 Feb 2002 02:28:12 +0000 (02:28 +0000)]
Don't #include camel-mime-filter-save.h, we don't use it.

2002-02-27  Jeffrey Stedfast  <fejj@ximian.com>

* camel-folder-summary.h: Don't #include camel-mime-filter-save.h,
we don't use it.

* camel-file-utils.c: Fixed a few 'might be used uninitialized'
warnings which were real problems.

* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Save the raw mime
stream for any/all signed parts.

* camel-mime-part.c (camel_mime_part_init): Initialize our raw
stream to NULL.
(camel_mime_part_finalize): Unref our raw stream, if we have one.
(write_to_stream): If we have a raw stream, write that out instead
of re-encoding.

* camel-mime-filter-save.[c,h]: Rewritten to save to a stream
rather than a file.

22 years agoUse the FOLD_SIZE as a recommended folding size, but add a new
Not Zed [Thu, 28 Feb 2002 01:09:05 +0000 (01:09 +0000)]
Use the FOLD_SIZE as a recommended folding size, but add a new

2002-02-28  Not Zed  <NotZed@Ximian.com>

        * camel-mime-utils.c (header_fold): Use the FOLD_SIZE as a
        recommended folding size, but add a new FOLD_MAX_SIZE (=998, the
        smtp max line size) as the hard limit for any output.

22 years agoNew stream filter that chomps excess trailing whitespace from the end of
Jeffrey Stedfast [Wed, 27 Feb 2002 23:45:28 +0000 (23:45 +0000)]
New stream filter that chomps excess trailing whitespace from the end of

2002-02-27  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-filter-chomp.c (camel_mime_filter_chomp_new): New
stream filter that chomps excess trailing whitespace from the end
of the stream. This is needed to update the PGP/MIME code to
comply with rfc3156.

* camel-pgp-mime.c (camel_pgp_mime_part_verify): Don't attach a
from filter, if it ain't from-filtered already, then we'll just be
breaking stuff. To become rfc3156 compliant, add a chomp filter
here.
(camel_pgp_mime_part_sign): Add a chomp filter here too.

22 years agoChanged header formatted table to contain a pointer to an output function,
Not Zed [Wed, 27 Feb 2002 03:21:51 +0000 (03:21 +0000)]
Changed header formatted table to contain a pointer to an output function,

2002-02-27  Not Zed  <NotZed@Ximian.com>

        * camel-mime-part.c (init_header_name_table): Changed header
        formatted table to contain a pointer to an output function, and
        added in-reply-to and references headers.
        (write_references): New function to write out references header,
        folded properly.  It only approximates based on the last >, but it
        should be adequate and will also handle invalid headers.
        (write_fold): Function to write out headers folded.  Since this is
        the default it isn't required.
        (write_raw): Write out an already formatted header, e.g. most of
        the rest.
        (write_to_stream): Lookup header output function, if we have one,
        use that, otherwise fold header using basic (dumb) function.

        This is all for #14779.  A better fix is probably do have the
        headers always stored formatted, but that can wait.

22 years agoAllow all multiparts that contain message/rfc822 attachments.
Jeffrey Stedfast [Mon, 25 Feb 2002 21:26:24 +0000 (21:26 +0000)]
Allow all multiparts that contain message/rfc822 attachments.

2002-02-25  Jeffrey Stedfast  <fejj@ximian.com>

* camel-digest-folder.c (camel_digest_folder_new): Allow all
multiparts that contain message/rfc822 attachments.
(digest_get_uids): Only assign uids to message parts.

22 years agoSet the 'name' parameter on the Content-Type too. Fixes bug #20779.
Jeffrey Stedfast [Fri, 22 Feb 2002 22:37:09 +0000 (22:37 +0000)]
Set the 'name' parameter on the Content-Type too. Fixes bug #20779.

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

* camel-mime-part.c (camel_mime_part_set_filename): Set the 'name'
parameter on the Content-Type too. Fixes bug #20779.

22 years agoPass --always-trust to gpg (requested by users). (pgp_clearsign): Same.
Jeffrey Stedfast [Thu, 14 Feb 2002 23:44:21 +0000 (23:44 +0000)]
Pass --always-trust to gpg (requested by users). (pgp_clearsign): Same.

2002-02-14  Jeffrey Stedfast  <fejj@ximian.com>

* camel-pgp-context.c (pgp_sign): Pass --always-trust to gpg
(requested by users).
(pgp_clearsign): Same.
(pgp_encrypt): Here too.

22 years agoXimian is spelled Ximian, not Ximain. :-)
Jeffrey Stedfast [Thu, 14 Feb 2002 19:13:09 +0000 (19:13 +0000)]
Ximian is spelled Ximian, not Ximain. :-)

22 years agoSince the AUTH token sometimes uses '=' instead of whitespace, don't use
Jeffrey Stedfast [Tue, 12 Feb 2002 20:39:54 +0000 (20:39 +0000)]
Since the AUTH token sometimes uses '=' instead of whitespace, don't use

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

* providers/smtp/camel-smtp-transport.c (smtp_helo): Since the
AUTH token sometimes uses '=' instead of whitespace, don't use
smtp_token_next here.