Jeffrey Stedfast [Thu, 20 Dec 2001 18:45:22 +0000 (18:45 +0000)]
Change the prototype for camel_address_get_type to return a CamelType
2001-12-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-address.h: Change the prototype for camel_address_get_type
to return a CamelType (since internally this is what it returns
and also in case we decide to write a replacement for the current
CamelObject it'd be easier to drop in).
* camel-internet-address.h: Same but for
camel_internet_address_get_type()
* providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
use a CamelAddress of recipients.
(smtp_send): Since smtp_send_to now takes a CamelAddress
recipients argument, our lives have been simplified and we can now
just concat To/Cc/Bcc into a recipients addr and send away.
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): Updated to use a CamelAddress of recipients.
* camel-transport.c (camel_transport_send_to): Now takes a
CamelAddress argument for the recipient list rather than a GList.
Dan Winship [Wed, 19 Dec 2001 21:10:27 +0000 (21:10 +0000)]
install in the right directory. (accidentally didn't commit these before)
Jeffrey Stedfast [Tue, 18 Dec 2001 17:59:57 +0000 (17:59 +0000)]
revert my "simplification" of the last commit, it was broken - I must have been brain-dead when I wrote it.
Jeffrey Stedfast [Tue, 18 Dec 2001 01:28:27 +0000 (01:28 +0000)]
New function to map ISO charsets to the Windows charsets.
2001-12-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_iso_to_windows): New function
to map ISO charsets to the Windows charsets.
* camel-mime-part-utils.c (broken_windows_charset): Detect Windows
charsets.
(simple_data_wrapper_construct_from_parser): Simplify a tad and
also check for iso-8859-* charsets that are really Windows
charsets. Fixes bug #12631.
Dan Winship [Mon, 17 Dec 2001 17:59:47 +0000 (17:59 +0000)]
only use major and minor version in the camel providerdir, not micro and nano
Jeffrey Stedfast [Mon, 17 Dec 2001 02:51:00 +0000 (02:51 +0000)]
Reverted my previous changes here since it doesn't actually work afterall.
2001-12-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Reverted my
previous changes here since it doesn't actually work afterall.
* providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
Update to do uudecoding when appropriate.
Jeffrey Stedfast [Mon, 17 Dec 2001 01:52:40 +0000 (01:52 +0000)]
Try to use the original boundary so luis will stop bugging me about "data
2001-12-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Try to use the
original boundary so luis will stop bugging me about "data
corruption". Also preserve other params in the multipart
content-type by dumping it to a string and setting it on the mime
part.
Jeffrey Stedfast [Mon, 17 Dec 2001 00:57:10 +0000 (00:57 +0000)]
Try to use the original boundary so luis will stop bugging me about "data
2001-12-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Try to use the
original boundary so luis will stop bugging me about "data
corruption".
Jeffrey Stedfast [Sat, 15 Dec 2001 01:07:21 +0000 (01:07 +0000)]
fix openssl linkage problem
Jeffrey Stedfast [Fri, 14 Dec 2001 23:23:06 +0000 (23:23 +0000)]
Reset the filtered_count to zero.
2001-12-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c
(camel_filter_driver_reset_filtered_count): Reset the
filtered_count to zero.
(camel_filter_driver_get_filtered_count): Return the private
filtered_count value.
(camel_filter_driver_filter_message): Increment the
filtered_count.
(camel_filter_driver_set_shell_exec_func): New function to set the
shell-exec func.
(shell_exec): New ESExp filter action callback.
Jeffrey Stedfast [Fri, 14 Dec 2001 18:06:16 +0000 (18:06 +0000)]
Removed x-inline-pgp-hack kludge because it doesn't work.
2001-12-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_verify): Removed
x-inline-pgp-hack kludge because it doesn't work.
(camel_pgp_mime_part_decrypt): Same.
Chris Toshok [Fri, 14 Dec 2001 03:02:55 +0000 (03:02 +0000)]
include stdlib.h (for alloca on freebsd) and only include alloca.h if
2001-12-13 Chris Toshok <toshok@ximian.com>
* camel-data-cache.c: include stdlib.h (for alloca on freebsd) and
only include alloca.h if HAVE_ALLOCA_H is defined.
Zbigniew Chyla [Thu, 13 Dec 2001 23:37:34 +0000 (23:37 +0000)]
Fixes #17085
2001-12-11 Zbigniew Chyla <cyba@gnome.pl>
Fixes #17085
* camel-charset-map.c: Added #include <errno.h>.
* camel-charset-map-private.h:
Recreated (following instructions from camel-charset-map.c)
Jeffrey Stedfast [Thu, 13 Dec 2001 20:58:30 +0000 (20:58 +0000)]
cast the key argument to g_hash_table_insert to a gpointer to avoid compiler warnings
Jeffrey Stedfast [Thu, 13 Dec 2001 20:38:11 +0000 (20:38 +0000)]
Keep a name-to-type hash so that we can make sure that the type has not
2001-12-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-object.c (camel_type_register): Keep a name-to-type hash
so that we can make sure that the type has not yet been registered
(prevents a race condition such as the one in bug #16559).
* camel-service.c (camel_service_connect): Make sure that the
connect_op is non-NULL before unregistering/unreffing it.
Jeffrey Stedfast [Thu, 13 Dec 2001 20:37:20 +0000 (20:37 +0000)]
added a Content-Description to the signature part - part of a merge from the 1-0 branch.
Jeffrey Stedfast [Thu, 13 Dec 2001 20:32:42 +0000 (20:32 +0000)]
merged some changes from the 1-0 branch that apparently never got merged into HEAD
Jeffrey Stedfast [Mon, 10 Dec 2001 19:14:32 +0000 (19:14 +0000)]
Protect against either of the types being NULL.
2001-12-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_content_type_simple): Protect against
either of the types being NULL.
2001-12-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): If complete() allocates
len+2 bytes for the out buffer, so should this. See bug #16371 for
an example case.
2001-12-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl-digest-md5.c: iconv() returns a size_t, not an int.
* camel-pgp-context.c: The return value of iconv() is a size_t,
not an int.
* camel-mime-part-utils.c (convert_buffer): Always use size_t args
for iconv().
* camel-mime-filter-charset.c (complete): Always use size_t args
for iconv().
(filter): Same.
* camel-mime-utils.c (header_address_fold): Make headerlen a
size_t instead of an int.
(header_fold): Same.
(base64_encode_close): We should be returning a size_t and inlen
should also be a size_t.
(base64_encode_step): Same here.
(base64_decode_step): Here too.
(base64_encode_simple): And here...
(base64_decode_simple): Same.
(uuencode_close): We should also use size_t's here...
(uuencode_step): And here too.
(uudecode_step): And also here.
(quoted_encode_close): Same idea here.
(quoted_encode_step): Again here.
(quoted_decode_step): Here too.
(quoted_encode): Input length should be a size_t.
(rfc2047_decode_word): Same.
(g_string_append_len): Here too.
(append_8bit): "
(rfc2047_encode_word): "
(quote_word): "
(hex_decode): "
(rfc2184_decode): Use size_t's with iconv().
(header_decode_param): Same.
Dan Winship [Mon, 10 Dec 2001 14:28:55 +0000 (14:28 +0000)]
Fix the tm_gmtoff case (its sign is the opposite of "timezone"). Fixes
* camel-mime-message.c (camel_mime_message_set_date): Fix the
tm_gmtoff case (its sign is the opposite of "timezone"). Fixes
#14678
Jon Trowbridge [Mon, 10 Dec 2001 03:50:36 +0000 (03:50 +0000)]
Implements marking messages as "Need Reply".
Implements marking messages as "Need Reply".
2001-12-09 Jon Trowbridge <trow@ximian.com>
* mail-need-reply.xpm: Added a really, really ugly and
awful icon to symbolize "message needs a reply".
* Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* camel-folder-summary.c: Add "NeedsReply" to the flag_names array
for CAMEL_MESSAGE_NEEDS_REPLY.
* camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* vfoldertypes.xml: Add "Needs Reply" option to different status
types.
* filtertypes.xml: Add "Needs Reply" option to different status
types.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* message-list.c: #include "art/mail-need-reply.xpm".
(ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon
if the message needs reply.
(message_list_create_extras): Adjust magic numbers to add new
icon.
(on_click): Changed to toggle between unread, read, and need reply
when the status icon is clicked.
* mail-callbacks.c (mark_as_needing_reply): Added.
(mark_as_not_needing_reply): Added. Add "set" value to struct
post_send_data.
(composer_sent_cb): Use both "flags" and "set" elements of
post_send_data when setting message flags.
(mail_reply): Clear "Needs Reply" flag when we actually reply to a
message.
* folder-browser.c: Changed flag values to be given by
bit-shifting (1<<5) vs. base-ten (32). Added
CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply"
and "Mark as Not Needing Reply" elements to context menu.
(on_right_click): Hide "Mark as (Not) Needing Reply" context menu
elements as appropriate.
Jeffrey Stedfast [Fri, 30 Nov 2001 23:43:39 +0000 (23:43 +0000)]
Don't use regex matching. Fixes bug #16227.
2001-11-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-search.c (search_body_contains): Don't use regex
matching. Fixes bug #16227.
* camel-mime-message.c (best_encoding): Check the content-object's
mime type, not the mime part types. Should fix bug #15843.
2001-11-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Return NULL if
construct_from_stream fails.
(get_message): Same.
(get_message_simple): Here too.
(add_message_from_data): And here.
4 [Fri, 30 Nov 2001 21:38:05 +0000 (21:38 +0000)]
Use the uid rather than vuid for unmatched. Also add the uid to unmatched
2001-11-14 <NotZed@Ximian.com>
* camel-vee-folder.c (folder_changed_remove_uid): Use the uid
rather than vuid for unmatched. Also add the uid to unmatched if
it wasn't in the unmatched_uids table at all.
(folder_changed_change): If checking for added, if the new ones
dont match, then try to add them to unmatched. Fixes #6893.
* camel-folder-summary.c (camel_folder_summary_index): Change lock
order, always summary_lock before ref_lock.
(camel_folder_summary_array): "
(camel_folder_summary_uid): "
(camel_folder_summary_remove_uid): " Fixes a deadlock.
Not Zed [Fri, 30 Nov 2001 03:09:38 +0000 (03:09 +0000)]
Completely new implementation of NNTP.
2001-11-30 Not Zed <NotZed@Ximian.com>
* providers/nntp/camel-nntp-*.c:
Completely new implementation of NNTP.
Doesn't support subscriptions yet (lists all folders), but should
be more reliable (faster?), and has an integrated cache.
* camel-exception.c (camel_exception_new): Use e_memchunks for
exception blocks.
(camel_exception_free): Same.
* camel-data-cache.[ch]: New object for managing on-disk caches of
anything that can be stored in a camel-stream.
* camel-file-utils.c (camel_file_util_mkdir): New function, just a
nicer place to put this (than camel-store), should be removed from
camel-store.
(camel_file_util_safe_filename): New function to url-encode a
filename.
* camel-mime-parser.c (drop_states): New func to drop the parser
state to initial state.
(folder_scan_init_with_fd):
(folder_scan_init_with_stream): Call above func to reset state if
the stream is changed on us so we can change streams to reuse a
parser object.
Not Zed [Tue, 27 Nov 2001 23:05:30 +0000 (23:05 +0000)]
If the uid doesn't have a ',' in it, fail to crash.
2001-11-25 Not Zed <NotZed@Ximian.com>
* providers/nntp/camel-nntp-folder.c (nntp_folder_get_message): If
the uid doesn't have a ',' in it, fail to crash.
* providers/nntp/camel-nntp-newsrc.c
(camel_nntp_newsrc_article_is_read): check group != NULL before scanning.
(camel_nntp_newsrc_get_highest_article_read): "
(camel_nntp_newsrc_get_num_articles_read): "
(camel_nntp_newsrc_mark_range_read): "
* providers/nntp/camel-nntp-store.c
(camel_nntp_store_get_overview_fmt): IF we dont have
nntp_list_follows, dont try and get a list response.
(nntp_store_get_folder_info): Set path part of folderinfo.
Jeffrey Stedfast [Mon, 26 Nov 2001 21:32:26 +0000 (21:32 +0000)]
Check to see that errno is non-zero before returning g_strerror. If it's
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
Check to see that errno is non-zero before returning
g_strerror. If it's 0, then we have an unknown error.
Jeffrey Stedfast [Mon, 26 Nov 2001 21:30:55 +0000 (21:30 +0000)]
For the uudecoding mode, garble up the "begin <mode> <filename>" line
2001-11-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c: For the uudecoding mode, garble up
the "begin <mode> <filename>" line before decoding.
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Add a uudecoder if
the transfer encoding is x-uuencode.
* camel-mime-part.c (write_to_stream): Handle x-uuencoded content
too.
Dan Winship [Tue, 20 Nov 2001 05:37:27 +0000 (05:37 +0000)]
Clear the password in bonobo-conf as well. Fixes ximian 14893.
* e-passwords.c (e_passwords_forget_password): Clear the password
in bonobo-conf as well. Fixes ximian 14893.
Jeffrey Stedfast [Mon, 19 Nov 2001 21:00:25 +0000 (21:00 +0000)]
Added a check to see if the operation has been cancelled. (stream_write):
2001-11-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_read): Added a check to see if
the operation has been cancelled.
(stream_write): Same.
Jeffrey Stedfast [Mon, 19 Nov 2001 19:27:46 +0000 (19:27 +0000)]
Updates for compliance with rfc2231
2001-11-19 Jeffrey Stedfast <fejj@ximian.com>
Updates for compliance with rfc2231
* camel-mime-utils.c (header_encode_param):
camel_mime_special_table[c] & IS_ESAFE should have been
!(camel_mime_special_table[c] & IS_ESAFE). Also added a few
comments for how to improve the code at some future date.
(header_decode_param): Now takes an argument rfc2184_part so our
caller can get this information as well.
(header_decode_param_list): Pass an rfc2184_part argument to
header_decode_param and also added a few comments on where to
improve on rfc2184/rfc2231 compliance.
(rfc2047_decode_word): Updated to respect the updated ABNF syntax
of rfc2047 encoded words, yay.
Jeffrey Stedfast [Fri, 16 Nov 2001 23:19:55 +0000 (23:19 +0000)]
Abort if body == NULL.
2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_parse_body): Abort if
body == NULL.
Jeffrey Stedfast [Fri, 16 Nov 2001 23:00:08 +0000 (23:00 +0000)]
New mime filter to convert plain text to html.
2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (camel_mime_filter_tohtml_new): New
mime filter to convert plain text to html.
Jeffrey Stedfast [Fri, 16 Nov 2001 22:58:53 +0000 (22:58 +0000)]
see the ChangeLog, I forget
Jeffrey Stedfast [Fri, 16 Nov 2001 22:55:45 +0000 (22:55 +0000)]
If we get a BYE response, call camel_service_disconnect() and set an
2001-11-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_command_response): If we get a BYE response, call
camel_service_disconnect() and set an exception. Also do the check
for "* BYE" first instead of passing it off imap_read_untagged()
since we'll just waste time in there mallocing left and right only
to arrive at the single response line "* BYE" again :-)
3 [Tue, 13 Nov 2001 22:51:46 +0000 (22:51 +0000)]
If we have no source string, then use undefined, which should always
2001-11-13 <NotZed@Ximian.com>
* camel-filter-search.c (get_source): If we have no source string,
then use undefined, which should always evaluate to FALSE. Fix
for #15267.
Jeffrey Stedfast [Mon, 12 Nov 2001 23:22:36 +0000 (23:22 +0000)]
Added a g_return_val_if_fail for folder_name != NULL.
2001-11-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): Added a
g_return_val_if_fail for folder_name != NULL.
Jeffrey Stedfast [Fri, 9 Nov 2001 22:00:54 +0000 (22:00 +0000)]
If any of the pipe()'s fail, clean up any pipes that may have succeeded.
2001-11-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): If any of the
pipe()'s fail, clean up any pipes that may have succeeded. Also
close the password fds.
9 [Fri, 9 Nov 2001 21:48:42 +0000 (21:48 +0000)]
If we get a user cancel and that causes us to fail to authenticate, abort
2001-11-09 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_auth_loop): If we get a
user cancel and that causes us to fail to authenticate, abort
rather than loop forever. Fix for #14951.
Jeffrey Stedfast [Fri, 9 Nov 2001 00:41:09 +0000 (00:41 +0000)]
Now takes a command-length argument so we can 1) avoid duping the command
2001-11-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_command_continuation): Now takes a command-length
argument so we can 1) avoid duping the command string yet again,
yay. 2) we now don't have to worry about embedded nul-chars
screwing us over (we still need to avoid allowing them into the
string but at least now it won't mess us up).
* providers/imap/camel-imap-folder.c (do_append): Instead of
appending a nul char to the end of the byte array and then passing
that off as if it were a string to
camel_imap_command_continuation, instead pass the byte-array
length since that function now takes a length argument. Yay. Also
encode any 8bit parts to avoid the possibility of sending embedded
nul chars to the imap server.
* providers/imap/camel-imap-store.c (try_auth): Updated to pass a
command-length argument to camel_imap_command_continuation().
Jeffrey Stedfast [Fri, 9 Nov 2001 00:38:51 +0000 (00:38 +0000)]
Oops, pass a mode argument to the open() call.
2001-11-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (save_ssl_cert): Oops, pass a mode
argument to the open() call.
* camel-tcp-stream-openssl.c (save_ssl_cert): Oops, pass a mode
argument to the open() call.
Jeffrey Stedfast [Thu, 8 Nov 2001 00:08:35 +0000 (00:08 +0000)]
Add code to kludge around any x-inline-pgp-hacks by prepending some
2001-11-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Add code to
kludge around any x-inline-pgp-hacks by prepending some content
headers to the decrypted data.
Jeffrey Stedfast [Fri, 2 Nov 2001 23:53:36 +0000 (23:53 +0000)]
Initialize our private mutex. (camel_data_wrapper_finalize): Destroy our
2001-11-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-data-wrapper.c (camel_data_wrapper_init): Initialize our
private mutex.
(camel_data_wrapper_finalize): Destroy our private mutex.
(write_to_stream): Lock around camel_stream_write_to_stream() so
that we don't get 2 threads trying to read from our stream at the
same time.
1 [Fri, 2 Nov 2001 19:33:16 +0000 (19:33 +0000)]
Move all searching operations outside of any locks except subfolder lock,
2001-11-01 <NotZed@Ximian.com>
* camel-vee-folder.c (folder_changed_change): Move all searching
operations outside of any locks except subfolder lock, same as
build_folder. Fix for #14294.
1 [Wed, 31 Oct 2001 23:55:45 +0000 (23:55 +0000)]
Same as below.
2001-10-31 <NotZed@Ximian.com>
* providers/local/camel-spool-folder.c (spool_get_message): Same
as below.
* providers/local/camel-maildir-folder.c (maildir_get_message):
Same as below.
* providers/local/camel-mbox-folder.c (mbox_get_message): Set
USER_CANCEL if failed due to EINTR.
* camel-filter-driver.c (camel_filter_driver_filter_mbox): If
construct from parser fails due to user cancel, set USER_CANCEL on
exception.
* camel-mime-part.c (construct_from_parser): Return error if the
parser had an io error.
* camel-mime-message.c (construct_from_parser): Check error on
parser/return error.
* camel-mime-parser.c (folder_scan_init): Init error number.
(camel_mime_parser_errno): New function, return errno of any io
failures.
(folder_read): Set errno if a failure occured.
(folder_seek): Same.
(folder_scan_init_with_fd): Setup errno depeding on ok/failure.
(folder_scan_init_with_stream): Same.
0 [Tue, 30 Oct 2001 18:52:00 +0000 (18:52 +0000)]
Dont setup cancel_fd. (camel_operation_cancel_fd): If cancel_fd not
2001-10-30 <NotZed@Ximian.com>
* camel-operation.c (camel_operation_new): Dont setup cancel_fd.
(camel_operation_cancel_fd): If cancel_fd not created, set it up.
(camel_operation_cancel): Set cancel flag before sending message.
(cancel_thread): Same.
0 [Tue, 30 Oct 2001 18:22:14 +0000 (18:22 +0000)]
Make sure we unref the mimeparse when we're done (successfully). This was
2001-10-30 <NotZed@Ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_mbox): Make
sure we unref the mimeparse when we're done (successfully). This
was leaking an fd every get-mail! :(
* camel-lock-client.c (camel_lock_helper_init): Close all fd's
above 2.
0 [Tue, 30 Oct 2001 12:41:17 +0000 (12:41 +0000)]
Remove the X-Evolution header before anyone else gets to see this private
2001-10-30 <NotZed@Ximian.com>
* providers/local/camel-mbox-folder.c (mbox_get_message): Remove
the X-Evolution header before anyone else gets to see this private
thing. Shoudl fix 11676 since we were inheriting flags from
X-Evolution headers we didn't want to.
0 [Tue, 30 Oct 2001 07:55:59 +0000 (07:55 +0000)]
If we can't retrieve the message, ignore it, it can't match.
2001-10-30 <NotZed@Ximian.com>
* camel-folder-search.c (match_message): If we can't retrieve the
message, ignore it, it can't match.
* providers/imap/camel-imap-search.c
(camel_imap_search_class_init): Setup parent class pointer.
(imap_body_contains): If offline, just use the parent
body_contains method which will get the messages and search them
manually.
* providers/imap/camel-imap-folder.c (imap_search_by_expression,
imap_search_by_uids): Remove offline check.
Dan Winship [Tue, 30 Oct 2001 05:23:59 +0000 (05:23 +0000)]
Fix this to match get_headers.
* camel-mime-part.c (free_headers): Fix this to match get_headers.
0 [Tue, 30 Oct 2001 05:20:50 +0000 (05:20 +0000)]
Dont try to move ibex if we have none.
2001-10-30 <NotZed@Ximian.com>
* providers/local/camel-local-store.c (rename_folder): Dont try to
move ibex if we have none.
0 [Tue, 30 Oct 2001 04:29:00 +0000 (04:29 +0000)]
Fixed compilation errors.
2001-10-30 <NotZed@Ximian.com>
* camel-tcp-stream-openssl.c (stream_write): Fixed compilation
errors.
Jeffrey Stedfast [Tue, 30 Oct 2001 04:26:28 +0000 (04:26 +0000)]
Removed unused variable.
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (camel_mime_utils_init): Removed unused
variable.
Jeffrey Stedfast [Tue, 30 Oct 2001 04:24:28 +0000 (04:24 +0000)]
fixed a compile problem and saved errno before calling fcntl() in stream_read
0 [Tue, 30 Oct 2001 03:27:28 +0000 (03:27 +0000)]
w(x) out some warnings.
2001-10-30 <NotZed@Ximian.com>
* camel-mime-utils.c (header_decode_mailbox): w(x) out some warnings.
* providers/local/camel-local-summary.c
(camel_local_summary_load): Remove the warning about not loading
summary file - its a valid case for new folders.
Jeffrey Stedfast [Tue, 30 Oct 2001 03:09:01 +0000 (03:09 +0000)]
Removed. (stream_write): Keep looping (non-blocking case) if errno is
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (my_SSL_write): Removed.
(stream_write): Keep looping (non-blocking case) if errno is
EAGAIN, EINTR or EWOULDBLOCK. For NONBLOCKing I/O, sync up with
CamelTcpStreamRaw. As with CamelTcpStreamRaw/SSL - make sure to
write out everything before returning.
(my_SSL_read): Removed.
(stream_read): Just call ssl_error_to_errno() and check the errno
values that we care about so we can keep the general look of all
this stream code the same. Also when checking the return value of
SSL_read, check for <0 instead of ==-1 since the man page for
SSL_read doesn't say it will return -1 on fail, it just says <0.
(stream_flush): Don't fsync() since syncing on a socket is a Bad
Thing (tm).
* camel-tcp-stream-ssl.c (stream_write): Make sure we write out
everything just like in camel-tcp-stream-raw.c.
* camel-stream-buffer.c (camel_stream_buffer_gets): If
camel_stream_read() returns -1, don't necessarily return -1 to our
caller since it's possible that we did actually "read" some data
(ie, we copied some pre-buffered data into the out buffer).
* camel-stream-buffer.h: Removed CAMEL_STREAM_BUFFER_NEWLINE since
it never got used anywhere and it isn't supported anyway.
0 [Tue, 30 Oct 2001 01:34:55 +0000 (01:34 +0000)]
If we get an empty name, then mark that as NoSelect. Workaround fix for
2001-10-30 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c
(parse_list_response_as_folder_info): If we get an empty name,
then mark that as NoSelect. Workaround fix for #13239.
Dan Winship [Tue, 30 Oct 2001 00:52:11 +0000 (00:52 +0000)]
Set an X-Evolution-Source header on the returned message so replies come
* providers/imap/camel-imap-folder.c (get_message_simple,
imap_get_message): Set an X-Evolution-Source header on the
returned message so replies come from the right identity.
9 [Tue, 30 Oct 2001 00:24:55 +0000 (00:24 +0000)]
If we're not going to search on a changed uid, make sure we change out
2001-10-29 <NotZed@Ximian.com>
* camel-vee-folder.c (folder_changed_change): If we're not going
to search on a changed uid, make sure we change out copy still.
Fixes #13916.
Jeffrey Stedfast [Mon, 29 Oct 2001 23:23:12 +0000 (23:23 +0000)]
Don't emit a folder_subscribed signal if we are in the process of renaming
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (subscribe_folder): Don't emit
a folder_subscribed signal if we are in the process of renaming
folders.
(unsubscribe_folder): Same here but for the unsubscribe signal.
(rename_folder): Unsubscribe from the folder being renamed and any
subfolders it may have before actually renaming. Once the folder
has been renamed, re-subscribe to it and it's subfolders with the
new name.
* camel-store.c (camel_folder_info_build): Sort the folder info's
before constructing the tree.
Jeffrey Stedfast [Mon, 29 Oct 2001 20:51:24 +0000 (20:51 +0000)]
Minor fix - should have been using a strNcmp when checking if it was an
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_param): Minor fix - should
have been using a strNcmp when checking if it was an rfc2047
encoded word.
Jeffrey Stedfast [Mon, 29 Oct 2001 18:40:12 +0000 (18:40 +0000)]
Notify the user that PGP 2.6.x is no longer supported and use
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_sign): Notify the user that PGP 2.6.x
is no longer supported and use camel_exception_set() instead of
setv() where appropriate.
(pgp_clearsign): Same.
(pgp_verify): And again here.
(pgp_encrypt): Here too.
(pgp_decrypt): And finally here.
Dan Winship [Mon, 29 Oct 2001 18:31:40 +0000 (18:31 +0000)]
Don't free the hash table key if the folder wasn't found in the hash
* providers/imap/camel-imap-store.c (unsubscribe_folder): Don't
free the hash table key if the folder wasn't found in the hash
table. I'm not sure where the bug is/was that made it possible to
add a folder to the tree after creating it failed, but now if that
happens, it won't crash if you try to delete it again. (#11492)
Dan Winship [Mon, 29 Oct 2001 18:25:42 +0000 (18:25 +0000)]
if the service is being connected and thinks it's online, but the session
* camel-disco-store.c (camel_disco_store_status): if the service
is being connected and thinks it's online, but the session is
offline, then mark the service offline as well. Fixes 13683.
9 [Mon, 29 Oct 2001 08:24:00 +0000 (08:24 +0000)]
Turn off w() -> warnings.
2001-10-29 <NotZed@Ximian.com>
* camel-mime-utils.c: Turn off w() -> warnings.
* providers/imap/camel-imap-store.c (rename_folder): Also rename
the message cache.
(rename_folder): Fix subscribed folders table with rename(s).
* providers/imap/camel-imap-folder.c (imap_rename): Implement,
rename the cache dir pointer.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_set_path): New method to set the path
used by a message cache.
9 [Mon, 29 Oct 2001 05:06:59 +0000 (05:06 +0000)]
Fix the 'is this a matching subfolder or subfolder'' logic to match
2001-10-29 <NotZed@Ximian.com>
* camel-vee-store.c (build_info): Fix the 'is this a matching
subfolder or subfolder'' logic to match camel-store
get_subfolders'.
* camel-store.c (get_subfolders): Fix the 'is this a matching
folder or subfolder' logic.
8 [Sun, 28 Oct 2001 13:05:36 +0000 (13:05 +0000)]
Changed to call ibex_move to rename it internally.
2001-10-28 <NotZed@Ximian.com>
* providers/local/camel-local-store.c (rename_folder): Changed to
call ibex_move to rename it internally.
8 [Sun, 28 Oct 2001 10:51:19 +0000 (10:51 +0000)]
Use the right variable, not info.
2001-10-28 <NotZed@Ximian.com>
* camel-store.c (camel_store_rename_folder): Use the right variable, not info.
Jeffrey Stedfast [Sun, 28 Oct 2001 09:37:36 +0000 (09:37 +0000)]
Make sure we've actually read data before checking if p[-] is '\r' or not.
2001-10-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-buffer.c (camel_stream_buffer_read_line): Make sure
we've actually read data before checking if p[-] is '\r' or not.
Jeffrey Stedfast [Sun, 28 Oct 2001 07:03:32 +0000 (07:03 +0000)]
Same.
2001-10-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (stream_write): Same.
* camel-stream-fs.c (stream_write): If errno isn't EAGAIN, just
exit with -1 and instead of using continue (which doesn't go to
the top of the do-while thus making our logic suck), just set w to
0. Still seems to be a bug in select() if it's telling us the
socket is ready for data when it really isn't but oh well.
8 [Sun, 28 Oct 2001 05:10:56 +0000 (05:10 +0000)]
Use path not protocol as the path part of the uri of the folder_created
2001-10-28 <NotZed@Ximian.com>
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Use path not protocol as the path
part of the uri of the folder_created event.
* providers/local/camel-maildir-store.c (scan_dir): If FAST is
set, dont try and scan for unread counts.
* providers/local/camel-local-store.c (create_folder): Implement,
just return the folderinfo of the folder matched, not all of it.
* camel-store.c (camel_store_rename_folder): Rename the
camelfolders before emitting the folderchanged event (otherwise
vstore fails to pick up change.
* camel-store.c (camel_store_init): Always use a default dir_sep
of '/'.
* camel-store.h (struct _CamelStore): Added a dir_sep to the base
store so rename and whatnot can work, temporary fix for mixed dir
separator in folder name api's.
* providers/imap/camel-map-store.c:
(imap_connect_online): Also set the store's dir_sep here.
(imap_connect_offline): "
Ettore Perazzoli [Sat, 27 Oct 2001 18:14:49 +0000 (18:14 +0000)]
More fixing of the license texts.
Ettore Perazzoli [Sat, 27 Oct 2001 16:59:34 +0000 (16:59 +0000)]
Fixing the license text.
7 [Sat, 27 Oct 2001 06:00:34 +0000 (06:00 +0000)]
Finished implementation.
2001-10-27 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (rename_folder): Finished
implementation.
* providers/local/camel-local-folder.c (local_rename): Implement
local rename of folder objects.
2001-10-26 <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_class_init): Hook into
rename function.
(vee_rename): Implement the veefolder rename function.
(camel_vee_folder_class_init):
(folder_changed_change): Kill a warning with a cast.
* camel-vee-store.c (vee_rename_folder): Emit a folder_renamed
event properly, also call parent to do some rename stuff.
* camel-store.h: Added a CamelRenameInfo for the rename event.
* camel-folder.c (camel_folder_rename): New function to rename a
folder object.
(camel_folder_class_init): Added a renamed event.
(folder_rename): Default impl, set full_name, and set name
assuming the dir separator is '/'.
* camel-store.c (camel_store_class_init): Added folder_renamed
event.
(camel_store_rename_folder): Rename an active folder object if we
have one, and update the folder table.
(rename_folder): Make a default implementation that handles
updating the folder tree.
Jeffrey Stedfast [Sat, 27 Oct 2001 05:12:50 +0000 (05:12 +0000)]
Don't bother checking ex since we can rely on the response being NULL on
2001-10-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Don't bother
checking ex since we can rely on the response being NULL on error.
(rename_folder): Implemented.
Ettore Perazzoli [Sat, 27 Oct 2001 00:20:37 +0000 (00:20 +0000)]
Update the licensing information to require version 2 of the GPL
(instead of version 2 or any later version).
Jeffrey Stedfast [Fri, 26 Oct 2001 23:13:20 +0000 (23:13 +0000)]
Check to make sure that the dataset is non-NULL before using and/or
2001-10-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Check to
make sure that the dataset is non-NULL before using and/or
freeing.
Jeffrey Stedfast [Fri, 26 Oct 2001 22:54:02 +0000 (22:54 +0000)]
Check for EWOULDBLOCK too? (stream_read): Same. (stream_flush): Return 0
2001-10-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (stream_write): Check for EWOULDBLOCK
too?
(stream_read): Same.
(stream_flush): Return 0 always, fsync() and tcp sockets don't
play nice :-)
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Lets try putting a
camel_stream_reset() here. Logic being that the stream may have
been read from since it was cached and thus our caller may try
reading from it and get no data from it since it is already at the
EOS. This may fix bug #12943.
Jeffrey Stedfast [Fri, 26 Oct 2001 22:52:15 +0000 (22:52 +0000)]
Check for EWOULDBLOCK too? (stream_read): Same.
2001-10-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (stream_write): Check for EWOULDBLOCK too?
(stream_read): Same.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Lets try putting a
camel_stream_reset() here. Logic being that the stream may have
been read from since it was cached and thus our caller may try
reading from it and get no data from it since it is already at the
EOS. This may fix bug #12943.
Jeffrey Stedfast [Fri, 26 Oct 2001 20:03:02 +0000 (20:03 +0000)]
Lets try putting a camel_stream_reset() here. Logic being that the stream
2001-10-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Lets try putting a
camel_stream_reset() here. Logic being that the stream may have
been read from since it was cached and thus our caller may try
reading from it and get no data from it since it is already at the
EOS. This may fix bug #12943.
5 [Fri, 26 Oct 2001 00:37:52 +0000 (00:37 +0000)]
Remove the stupid warning that should never have been there in the first
2001-10-25 <NotZed@Ximian.com>
* camel-search-private.c (utf8_get): Remove the stupid warning
that should never have been there in the first place.
* camel-sasl-digest-md5.c (digest_response): s/iconv/e_iconv/
* camel-pgp-context.c (pgp_verify): "
* camel-mime-utils.c (rfc2047_decode_word, rfc2047_decode_word,
append_8bit, rfc2047_encode_word, rfc2184_decode,
header_decode_param): "
* camel-mime-part-utils.c (convert_buffer, convert_buffer): "
* camel-mime-filter-charset.c (reset, complete, filter): "
Dan Winship [Thu, 25 Oct 2001 00:27:39 +0000 (00:27 +0000)]
Don't let fi->name be NULL.
* providers/imap/camel-imap-store.c (unsubscribe_folder): Don't
let fi->name be NULL.
Jeffrey Stedfast [Wed, 24 Oct 2001 22:15:47 +0000 (22:15 +0000)]
updated the SIMULATE_FLAKY_NETWORK code
Jeffrey Stedfast [Wed, 24 Oct 2001 21:09:35 +0000 (21:09 +0000)]
Same as in the TcpStreamRaw code. (stream_write): And again here...
2001-10-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-fs.c (stream_read): Same as in the TcpStreamRaw code.
(stream_write): And again here...
* camel-tcp-stream-raw.c (stream_read): Handle the EAGAIN error
case as well.
(stream_write): Same here, this might fix the SMTP truncation
thing? I hope?
Dan Winship [Tue, 23 Oct 2001 16:18:47 +0000 (16:18 +0000)]
Remove an extra * in one of the regexps that glibc apparently doesn't mind
* camel-mime-utils.c (mail_list_magic): Remove an extra * in one
of the regexps that glibc apparently doesn't mind but bsd does.
3 [Tue, 23 Oct 2001 06:20:06 +0000 (06:20 +0000)]
made d(x) x recompile again.
2001-10-23 <NotZed@Ximian.com>
* providers/local/camel-mbox-summary.c: made d(x) x recompile again.
2 [Mon, 22 Oct 2001 22:40:58 +0000 (22:40 +0000)]
No, use Storing, as the other code does :p (spool_summary_check): Check
2001-10-22 <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c (summary_rebuild): No, use
Storing, as the other code does :p
(spool_summary_check): Check for consistency.
Jon Trowbridge [Mon, 22 Oct 2001 22:34:46 +0000 (22:34 +0000)]
s/summarising/summarizing/. (spool_summary_check): s/summarise/summarize/.
2001-10-22 Jon Trowbridge <trow@ximian.com>
* providers/local/camel-spool-summary.c (summary_rebuild):
s/summarising/summarizing/.
(spool_summary_check): s/summarise/summarize/.
Jeffrey Stedfast [Mon, 22 Oct 2001 21:50:21 +0000 (21:50 +0000)]
If we are kludging around a inline-pgp signed part, do some charset
2001-10-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_verify): If we are
kludging around a inline-pgp signed part, do some charset
conversion to protect any 8bit text.
Michael Zucci [Mon, 22 Oct 2001 21:08:05 +0000 (21:08 +0000)]
Use search_type_mlist for mailing list searches.
* camel-filter-search.c, camel-folder-search.c (check_header): Use
search_type_mlist for mailing list searches.
* camel.c (camel_init): call camel-mime-utils-init func.
* camel-mime-utils.c: Changed mail mail_list_magic to include a
domain part, also pre-compile all the patterns. They are all
backward compatible except List-Id: which now uses the
mail-address-like <list-name.host.name> part rather than the
plain-text part (which might've been blank anyway).
(camel_mime_utils_init): Initialisation function to setup any
static data required by camel-mime-utils at run-time. We now
setup the base64/charset class tables here, so it doesn't need to
be done statically.
(camel_mime_special_table, camel_mime_base64_rank): No longer
statically initialise these.
(main): Removed + the tests at the end of the file.
(header_raw_check_mailing_list): Dont compile regex's here,
already compiled in utils_init. Use the regex patterns to remove
leading <'s from addresses. Also, if there is a domain part
matched, add that after a '@' is added.
camel-search-private.c:
(camel_search_header_match): Added SEARCH_TYPE_MLIST for mlist
search types. It ignores the domain part if either (but not both)
of the values dont have it.
Michael Zucci [Mon, 22 Oct 2001 19:12:06 +0000 (19:12 +0000)]
(camel_search_header_match): Oops, missing i=0.
Dan Winship [Mon, 22 Oct 2001 18:46:46 +0000 (18:46 +0000)]
Pass a CORBA_Environment to bonobo_config_get_string so it doesn't g_warn
* e-passwords.c (e_passwords_get_password): Pass a
CORBA_Environment to bonobo_config_get_string so it doesn't g_warn
on error. (Since the "error" is most likely just that the password
isn't cached.)
(e_passwords_remember_password, e_passwords_get_password,
e_passwords_add_password): Change "if (foo) { entire function; }"
to "if (!foo) return;"
* e-html-utils.c (special_chars): Don't allow single quote or
backtick in email addresses, or pipes following URLs.
2 [Mon, 22 Oct 2001 18:29:01 +0000 (18:29 +0000)]
Match check against all addresses in a multiple address match. Should fix
2001-10-22 <NotZed@Ximian.com>
* camel-search-private.c (camel_search_header_match): Match check
against all addresses in a multiple address match. Should fix
#13051.
Dan Winship [Mon, 22 Oct 2001 17:44:50 +0000 (17:44 +0000)]
Add a hack: if the multipart/signed part has a "x-inline-pgp-hack"
* camel-pgp-mime.c (camel_pgp_mime_part_verify): Add a hack: if
the multipart/signed part has a "x-inline-pgp-hack" parameter in
its Content-Type, don't pass the MIME headers as part of the data
to be verified.
Rodrigo Moya [Mon, 22 Oct 2001 17:10:14 +0000 (17:10 +0000)]
added $GNOME_INCLUDEDIR to INCLUDES, needed for latest libgnome, which
2001-10-22 Rodrigo Moya <rodrigo@ximian.com>
* Makefile.am: added $GNOME_INCLUDEDIR to INCLUDES, needed for latest
libgnome, which install headers in $(prefix)/gnome-1.0
Jeffrey Stedfast [Mon, 22 Oct 2001 02:08:10 +0000 (02:08 +0000)]
Only do the rawtext checks if the part is a text part, otherwise don't
2001-10-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Only do the rawtext
checks if the part is a text part, otherwise don't bother wasting
cpu cycles.
Jeffrey Stedfast [Mon, 22 Oct 2001 00:45:25 +0000 (00:45 +0000)]
Updated comments to make the code a bit more clear.
2001-10-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_folder_info_build): Updated comments to
make the code a bit more clear.
1 [Sun, 21 Oct 2001 20:27:43 +0000 (20:27 +0000)]
Dont do the macro stuff - basically so you can actually debug calls.
2001-10-21 <NotZed@Ximian.com>
* camel-store.c (CS_CLASS): Dont do the macro stuff - basically so
you can actually debug calls.
(camel_store_uri_cmp): New function to compare store objects.
* camel-vee-folder.c (vee_folder_add_info): oops, dont free the
vuid, since its alloca'd now.
(folder_changed_change): Kill a compile warning.
1 [Sun, 21 Oct 2001 18:18:51 +0000 (18:18 +0000)]
oops, dont free the vuid, since its alloca'd now.
2001-10-21 <NotZed@Ximian.com>
* camel-vee-folder.c (vee_folder_add_info): oops, dont free the
vuid, since its alloca'd now.
0 [Sat, 20 Oct 2001 01:01:06 +0000 (01:01 +0000)]
If no exception supplied, use a local one. (move_message_to): Set the seen
2001-10-20 <NotZed@Ximian.com>
* camel-folder.c (move_messages_to): If no exception supplied, use
a local one.
(move_message_to): Set the seen flag also when we delete it.
Jeffrey Stedfast [Fri, 19 Oct 2001 23:32:05 +0000 (23:32 +0000)]
If the destination folder is the vfolder source folder, then
2001-10-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-vtrash-folder.c (vtrash_move_messages_to): If the
destination folder is the vfolder source folder, then
set_message_flags on it.
9 [Fri, 19 Oct 2001 22:25:54 +0000 (22:25 +0000)]
When registering provider, translate all strings.
2001-10-19 <NotZed@Ximian.com>
* camel-session.c (register_provider): When registering provider,
translate all strings.