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.
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.
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.
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)
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.
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.
Jeffrey Stedfast [Tue, 9 Apr 2002 20:02:43 +0000 (20:02 +0000)]
made the copmment clearer
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
Jeffrey Stedfast [Mon, 1 Apr 2002 20:33:02 +0000 (20:33 +0000)]
#include appropriate headers for mkdir
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)
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.
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.
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.
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).
Jeffrey Stedfast [Mon, 25 Mar 2002 21:47:36 +0000 (21:47 +0000)]
updated
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.
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.
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).
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.
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.
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.
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.
Jeffrey Stedfast [Wed, 13 Mar 2002 21:55:53 +0000 (21:55 +0000)]
reverted my USER/PASS quoting fix
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.
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.
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
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.
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.
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.
Jeffrey Stedfast [Mon, 11 Mar 2002 17:06:27 +0000 (17:06 +0000)]
oops, musta backspaced over a brace?
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.
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
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.
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).
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.
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.
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.
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).
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.
Jeffrey Stedfast [Wed, 6 Mar 2002 01:43:22 +0000 (01:43 +0000)]
treat "" as "always" to maintain compatablity with old config settings
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.
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.
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
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.
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.
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.
Jeffrey Stedfast [Thu, 28 Feb 2002 03:09:07 +0000 (03:09 +0000)]
only save raw streams for leaf parts.
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.
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.
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.
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.
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.
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.
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.
Jeffrey Stedfast [Thu, 14 Feb 2002 19:13:09 +0000 (19:13 +0000)]
Ximian is spelled Ximian, not Ximain. :-)
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.
Not Zed [Sat, 9 Feb 2002 11:31:18 +0000 (11:31 +0000)]
Duh, when we grab the apop stamp it needs to include the <> as well, I
2002-02-09 Not Zed <NotZed@Ximian.com>
* providers/pop3/camel-pop3-engine.c (get_capabilities): Duh, when
we grab the apop stamp it needs to include the <> as well, I even
read the rfc, silly me.
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Doh,
when iterating the authtype list, it helps to goto the next node.
Found with help from miles.
Michael Zucci [Fri, 8 Feb 2002 02:15:56 +0000 (02:15 +0000)]
Removed some <<< stuff i missed.
Not Zed [Fri, 8 Feb 2002 02:10:46 +0000 (02:10 +0000)]
The day number has to be 2 chars wide, space filled to work properly with
2002-02-08 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c
(camel_spool_summary_build_from): The day number has to be 2 chars
wide, space filled to work properly with pine, etc.
* providers/local/camel-spoold-store.[ch]: new type of provider
'spool directory', which lets you view external mbox dirs without
adding any extra cruft. Perhaps it should use . files to store
summaries? Still a bit experimental, there's a warning when you
select it in the account editor. Finished off most of #1185.
Can't rename or move folders.
* camel-mime-utils.c (header_decode_date): If the date is
100->1900 then we actually want to use it as the year in the tm
struct, not year+100. e.g. year 102 -> 2002, not 2102.
2002-02-07 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (get_folder): Pass path into
spool_folder_new.
* providers/local/camel-spool-folder.c (camel_spool_folder_new):
(camel_spool_folder_construct): Take the full path to the folder
and use that as the file path, independent of the full_name we
use.
2002-02-07 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-provider.c: Added new type, spoold
provider, spoold: for local directories.
* providers/imap/camel-imap-store.c (get_one_folder_offline):
Create offline uri's in a compatible manner to online ones.
Dan Winship [Fri, 8 Feb 2002 01:56:45 +0000 (01:56 +0000)]
Implementation of NTLM (aka "Secure Password Authentication") auth, taken
* camel-sasl-ntlm.c: Implementation of NTLM (aka "Secure Password
Authentication") auth, taken from soup.
* Makefile.am (libcamel_la_SOURCES, libcamel_la_HEADERS): Add
camel-sasl-ntlm.
* camel-sasl.c: Add refs to camel-sasl-ntlm.
* providers/imap/camel-imap-store.c (try_auth): Use
imap_next_word() to skip over the "+ " of the continuation rather
than just "resp + 2" since Exchange (incorrectly) returns "+"
instead of "+ " for an empty continuation response.
Jeffrey Stedfast [Thu, 7 Feb 2002 00:42:30 +0000 (00:42 +0000)]
Remove the CAMEL_MESSAGE_NEEDS_REPLY flag, we no longer will be using
2002-02-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.h: Remove the CAMEL_MESSAGE_NEEDS_REPLY
flag, we no longer will be using this.
Jeffrey Stedfast [Tue, 5 Feb 2002 00:42:52 +0000 (00:42 +0000)]
Use camel_mime_parser_read to read internal parser data.
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (stream_read): Use camel_mime_parser_read to
read internal parser data.
(camel_http_stream_get_content_type): Implemented.
(http_method_invoke): Use HTTP/1.0 instead of 1.1
Jeffrey Stedfast [Tue, 5 Feb 2002 00:21:14 +0000 (00:21 +0000)]
Use camel_mime_parser_read to read internal parser data.
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (stream_read): Use camel_mime_parser_read to
read internal parser data.
(camel_http_stream_get_content_type): Implemented.
* camel-mime-utils.c (header_decode_int): Made public.
Jeffrey Stedfast [Mon, 4 Feb 2002 19:59:33 +0000 (19:59 +0000)]
Added. New stream for HTTP requests (currently supported are GET and
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.[c,h]: Added. New stream for HTTP requests
(currently supported are GET and HEAD).
* camel-tcp-stream-ssl.c (stream_connect): Call set_errno
appropriately.
Jeffrey Stedfast [Mon, 4 Feb 2002 19:58:02 +0000 (19:58 +0000)]
Call set_errno appropriately.
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Call set_errno
appropriately.
Not Zed [Thu, 31 Jan 2002 02:30:36 +0000 (02:30 +0000)]
Oops, this was converting foo@[blah] to foo@[ blah ], fixed.
2002-01-31 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (header_decode_domain): Oops, this was
converting foo@[blah] to foo@[ blah ], fixed.
Jeffrey Stedfast [Wed, 30 Jan 2002 23:05:36 +0000 (23:05 +0000)]
Use "pop" instead of "pop3" so current configurations continue to work.
2002-01-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-provider.c: Use "pop" instead of
"pop3" so current configurations continue to work.
Not Zed [Wed, 30 Jan 2002 05:14:48 +0000 (05:14 +0000)]
Changed name from "NT Login" to simply "Login".
2002-01-30 Not Zed <NotZed@Ximian.com>
* camel-sasl-login.c: Changed name from "NT Login" to simply
"Login".
* providers/pop3/*: Entirely new pop implmentation, supporting
pipelining.
2002-01-29 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (free_busy): We dont want to unref the
stream, instead, stop listening to the finalised events, and free
the path only.
2002-01-25 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (stream_finalised): Remove the object from
the busy_stream hashtable, not the busy_path hashtable.
Jeffrey Stedfast [Tue, 29 Jan 2002 23:13:36 +0000 (23:13 +0000)]
Added more kludge to an existing Exchange IMAP 5.5 kludge to work around
2002-01-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Added
more kludge to an existing Exchange IMAP 5.5 kludge to work around
it returning multiple messages with the same UIDs.
Jeffrey Stedfast [Tue, 29 Jan 2002 04:38:08 +0000 (04:38 +0000)]
Handle Resent headers too.
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.c (process_header): Handle Resent headers
too.
* camel-mime-message.h: Added Resent-* #defines.
Jeffrey Stedfast [Tue, 29 Jan 2002 03:48:18 +0000 (03:48 +0000)]
Added Resent-* #defines.
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.h: Added Resent-* #defines.
Jeffrey Stedfast [Tue, 29 Jan 2002 01:33:51 +0000 (01:33 +0000)]
Use while (node->next) instead of while (node)
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_remove_rule_by_name):
Use while (node->next) instead of while (node)
Jeffrey Stedfast [Tue, 29 Jan 2002 00:31:58 +0000 (00:31 +0000)]
New function to decode an enhanced status code. (smtp_set_exception): Sets
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_decode_status_code):
New function to decode an enhanced status code.
(smtp_set_exception): Sets an exception based on the
Enhanced-Status-Code.
(esmtp_get_authtypes): Don't diplicate the key in the hash since
the key and value are the same.
(smtp_rcpt): Include the failed recipient in the error message to
be more helpful to the user.
* camel-mime-utils.c (hex_decode): Make sure to allocate enough
for the NUL byte.
Jeffrey Stedfast [Mon, 28 Jan 2002 22:10:44 +0000 (22:10 +0000)]
Use flags rather than a bunch of gboolean variables. (smtp_connect): Same.
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_construct):
(connect_to_server): Use flags rather than a bunch of gboolean
variables.
(smtp_connect): Same.
(smtp_mail): Here too. Use the enhanced status codes if available.
(smtp_data): And again here.
(smtp_helo): Finally here. Also detect the ENHANCEDSTATUSCODES
extension.
(smtp_rcpt): Use the enhanced status codes if available.
(smtp_rset): Here too.
(smtp_quit): And finally here.
* camel-transport.h: Removed gboolean supports_8bit since this is
pretty local to only SMTP for now.
Ettore Perazzoli [Sun, 27 Jan 2002 17:21:20 +0000 (17:21 +0000)]
Final cleanup for the CFLAGS and LIBS in the Makefiles.
Ettore Perazzoli [Thu, 24 Jan 2002 23:44:00 +0000 (23:44 +0000)]
Remove some old cruft.
* Makefile.am: Remove some old cruft.
Ettore Perazzoli [Thu, 24 Jan 2002 23:16:13 +0000 (23:16 +0000)]
Clean up some of the Makefiles so we dont' link every library multiple
times, causing big libtool 1.4 pain.
Jeffrey Stedfast [Thu, 24 Jan 2002 21:04:17 +0000 (21:04 +0000)]
Call the beep callback function.
2002-01-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_beep): Call the beep callback
function.
(camel_filter_driver_set_system_beep_func): New function to set
the beep callback.
Jeffrey Stedfast [Wed, 23 Jan 2002 00:10:42 +0000 (00:10 +0000)]
New function to remove a filter rule by name.
2002-01-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_remove_rule_by_name):
New function to remove a filter rule by name.
Jeffrey Stedfast [Mon, 21 Jan 2002 23:28:20 +0000 (23:28 +0000)]
As a temporary solution, just printf ("\a"); to make a beep :-)
2002-01-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_beep): As a temporary solution, just
printf ("\a"); to make a beep :-)
* providers/imap/camel-imap-command.c
(imap_command_strdup_vprintf): Encode the mailbox to UTF-7 here.
* providers/imap/camel-imap-utils.c (imap_parse_list_response):
Decode the mailbox name as we parse the list response.
(imap_mailbox_decode): It's only an illegal mailbox name if it
didn't switch back to US-ASCII mode.
Jeffrey Stedfast [Sat, 19 Jan 2002 00:03:05 +0000 (00:03 +0000)]
New function to decode an IMAP mailbox name from modified UTF-7 encoding
2002-01-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_mailbox_decode): New
function to decode an IMAP mailbox name from modified UTF-7
encoding to UTF-8.
(imap_mailbox_encode): New function to convert a mailbox name from
UTF-8 to IMAP's modified UTF-7 encoding.
Jeffrey Stedfast [Thu, 17 Jan 2002 19:21:11 +0000 (19:21 +0000)]
Stop uudecoding once the CAMEL_UUDECODE_STATE_END state bit gets set. Set
2002-01-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): Stop uudecoding once the
CAMEL_UUDECODE_STATE_END state bit gets set. Set the
CAMEL_UUDECODE_STATE_BEGIN state bit once we find the begin line.
(reset): No longer have uu_begin or uulen state variables, these
are now stuffed into a single state variable.
* camel-mime-utils.c (uudecode_step): No longer needs a uulen
argument and also keeps track of whether or not the end of the
encoded data has been found in 'state'.
(uuencode_step): Now stuffs uulen into state so that the uulen
argument is no longer needed.
(uuencode_close): Same.
Jeffrey Stedfast [Wed, 16 Jan 2002 23:38:32 +0000 (23:38 +0000)]
If we don't want to corrupt the uuencoded data by overwriting it with
2002-01-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): If we don't want to corrupt
the uuencoded data by overwriting it with base64 decoded data
afterward, we need to add a break statement!
* camel-folder-summary.c (summary_build_content_info): Add code to
add a uu filter.
(camel_folder_summary_finalize): Unref the uuencode filter.
Jeffrey Stedfast [Wed, 16 Jan 2002 21:44:54 +0000 (21:44 +0000)]
Fixed slight logic error to find the uuencode begin line. Fixes bug
2002-01-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): Fixed slight logic error to
find the uuencode begin line. Fixes bug #18754.
Jeffrey Stedfast [Tue, 15 Jan 2002 19:22:14 +0000 (19:22 +0000)]
Updated to match the new send_to API. (smtp_send): Get the from address
2002-01-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
match the new send_to API.
(smtp_send): Get the from address and pass that along to
smtp_send_to().
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): Updated to match the new send_to API.
* camel-transport.c (camel_transport_send_to): Now takes a from
argument too.
Jeffrey Stedfast [Tue, 15 Jan 2002 18:58:24 +0000 (18:58 +0000)]
Sort the needheaders UID array and fixed to respect the UID_SET_LIMIT.
2002-01-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Sort
the needheaders UID array and fixed to respect the
UID_SET_LIMIT. This should now finish the fixification of bug
#2529. There's still the possible issue that a command-line (The
only command-line I can think of that can still be too long is a
SEARCH command, but this can't possibly be fixed until we rewrite
the imap code to use Zucchi's ImapEngine idea).
Jeffrey Stedfast [Mon, 14 Jan 2002 20:14:15 +0000 (20:14 +0000)]
Updated to use the new imap_uid_array_to_set() interface.
2002-01-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
Updated to use the new imap_uid_array_to_set() interface.
(imap_expunge_uids_resyncing): Same.
(do_copy): Here too.
(imap_update_summary): Added a FIXME comment to rewrite allowing
for a uid-set limitation.
(get_matching): Copy some of the logic over from
imap_uid_adday_to_set() to limit the length of the uid-set string.
(imap_sync_online): Added a comment to explain what is going on
with get_matching() since the behavior has changed slightly.
* providers/imap/camel-imap-utils.c (imap_uid_array_to_set):
Modify the interface so that we can limit the size of the uid set
string returned.
Not Zed [Mon, 14 Jan 2002 09:35:52 +0000 (09:35 +0000)]
Rewritten to use a cache for body searches when online. Will need some
2002-01-14 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-search.c (imap_body_contains):
Rewritten to use a cache for body searches when online. Will need
some heavy testing but so far seems to be beneficial.
* providers/imap/camel-imap-folder.c (imap_search_by_expression,
search_by_uids): dont initialise search object here.
(camel_imap_folder_new): Setup search object here with pointer to
cache dir.
2001-12-01 Not Zed <NotZed@Ximian.com>
* camel-store-summary.[ch]: New class to store a store's folder
list in. Not yet completed.