platform/upstream/evolution-data-server.git
22 years ago Typo, srlen aint right.
Michael Zucci [Fri, 19 Oct 2001 07:03:50 +0000 (07:03 +0000)]
Typo, srlen aint right.

22 years agocamel-vee-folder.c: (folder_changed_change_uid): Use alloca for vuid, and
Michael Zucci [Fri, 19 Oct 2001 06:39:54 +0000 (06:39 +0000)]
camel-vee-folder.c: (folder_changed_change_uid): Use alloca for vuid, and

camel-vee-folder.c:
(folder_changed_change_uid): Use alloca for vuid, and not
sprintf(".lengths")
(vee_search_by_expression): Dont use sprintf for vuid.
(vee_search_by_uids): "
(vee_folder_add_info): "
(folder_changed_remove_uid): "
(folder_changed_change): "
(folder_changed_change_uid): Also check folder_unmatched for
changed uid's so we properly update/propagate unmatched changes.

22 years agoLock the right lock for unmatched subfolder list stuff. If the sub folder
9 [Fri, 19 Oct 2001 05:33:21 +0000 (05:33 +0000)]
Lock the right lock for unmatched subfolder list stuff. If the sub folder

2001-10-19    <NotZed@Ximian.com>

* camel-vee-folder.c (camel_vee_folder_remove_folder): Lock the
right lock for unmatched subfolder list stuff.  If the sub folder
is deleted & part of unmatched, or the last ref to the sub folder
is gone from unmatched, blow it away completely from unmatched,
but only do it once.
(vee_folder_remove_folder): Added arg to kill unmatched
unconditionally.  Also handle deleted folders, always remove
stuff.
(folder_changed_change): Lock subfolder lock for entirety of
operation, and also check to see if the subfolder is still there
before doing any fancy work (incase it got removed while we were
waiting to execute).

* camel-store.c (camel_store_unsubscribe_folder): If we are
unsubscribing from a folder we have loaded, set the folder
deleted, as with the delete_folder case.

22 years agoIf a charset isn't specified or claims to be utf-8, check the validity of
Jeffrey Stedfast [Fri, 19 Oct 2001 02:34:13 +0000 (02:34 +0000)]
If a charset isn't specified or claims to be utf-8, check the validity of

2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>

* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): If a charset isn't
specified or claims to be utf-8, check the validity of the text
and if it's invalid, set the rawtext bit to TRUE. If the charset
is x-unknown or some other x- charset, always set the rawtext bit
to TRUE.

22 years agoAdded CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko
8 [Fri, 19 Oct 2001 01:54:42 +0000 (01:54 +0000)]
Added CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko

2001-10-18    <NotZed@Ximian.com>

        * providers/(imap|local|pop3|sendmail|smtp)/Makefile.am: Added
        CAMEL_CFLAGS so we get the right iconv stuff, patch from Yanko
        Kaneti <yaneti@declera.com>

22 years agoMake sure the cancel_fd isn't -1.
Jeffrey Stedfast [Fri, 19 Oct 2001 00:30:36 +0000 (00:30 +0000)]
Make sure the cancel_fd isn't -1.

2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>

* camel-pgp-context.c (crypto_exec_with_passwd): Make sure the
cancel_fd isn't -1.

22 years agoFlush the stream here, not sure it really matters but it might (hopefully)
Jeffrey Stedfast [Thu, 18 Oct 2001 23:15:34 +0000 (23:15 +0000)]
Flush the stream here, not sure it really matters but it might (hopefully)

2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-message-cache.c (insert_finish): Flush
the stream here, not sure it really matters but it might
(hopefully) fix bug #12943.

22 years agoMake user-cancellable.
Jeffrey Stedfast [Thu, 18 Oct 2001 22:48:26 +0000 (22:48 +0000)]
Make user-cancellable.

2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>

* camel-pgp-context.c (crypto_exec_with_passwd): Make
user-cancellable.

22 years agoString cleanup for bug #6640.
Jeffrey Stedfast [Thu, 18 Oct 2001 22:26:06 +0000 (22:26 +0000)]
String cleanup for bug #6640.

2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>

* providers/local/camel-local-provider.c: String cleanup for bug
#6640.

22 years agoFix my Cyrus imapd workaround...instead of checking to see if info->flags
Jeffrey Stedfast [Thu, 18 Oct 2001 20:38:45 +0000 (20:38 +0000)]
Fix my Cyrus imapd workaround...instead of checking to see if info->flags

2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>

* providers/imap/camel-imap-folder.c (imap_sync_online): Fix my
Cyrus imapd workaround...instead of checking to see if info->flags
== FLAGGED, just check to see if it contains any IMAP flags.

22 years agoUse '.' as the inbox name for filter new messages test.
7 [Wed, 17 Oct 2001 22:59:15 +0000 (22:59 +0000)]
Use '.' as the inbox name for filter new messages test.

2001-10-17    <NotZed@Ximian.com>

        * providers/local/camel-maildir-folder.c
        (camel_maildir_folder_new): Use '.' as the inbox name for filter
        new messages test.

22 years agoNew function to clone a folderinfo tree.
7 [Wed, 17 Oct 2001 22:44:27 +0000 (22:44 +0000)]
New function to clone a folderinfo tree.

2001-10-17    <NotZed@Ximian.com>

        * camel-store.c (camel_folder_info_clone): New function to clone a
        folderinfo tree.

22 years agoSame as maildir and mbox append-message.
Jeffrey Stedfast [Wed, 17 Oct 2001 22:23:29 +0000 (22:23 +0000)]
Same as maildir and mbox append-message.

2001-10-17  Jeffrey Stedfast  <fejj@ximian.com>

* providers/local/camel-mh-folder.c (mh_append_message): Same as
maildir and mbox append-message.

* providers/local/camel-maildir-folder.c (maildir_append_message):
Same as mbox append.

* camel-exception.c (camel_exception_set): Make sure the new
description isn't the same as the old description pointer before
freeing the old one.
(camel_exception_setv): Don't free the old description until we
set the new one this way we can reuse the old description in the
new description.

* providers/local/camel-mbox-folder.c (mbox_append_message): If
errno == EINTR, then we got a user-cancel so set the exception
appropriately so that we don't make the user shit his pants.

22 years agoMake sure the new description isn't the same as the old description
Jeffrey Stedfast [Wed, 17 Oct 2001 22:16:46 +0000 (22:16 +0000)]
Make sure the new description isn't the same as the old description

2001-10-17  Jeffrey Stedfast  <fejj@ximian.com>

* camel-exception.c (camel_exception_set): Make sure the new
description isn't the same as the old description pointer before
freeing the old one.
(camel_exception_setv): Don't free the old description until we
set the new one this way we can reuse the old description in the
new description.

* providers/local/camel-mbox-folder.c (mbox_append_message): If
errno == EINTR, then we got a user-cancel so set the exception
appropriately so that we don't make the user shit his pants.

22 years agoAdd an optimization for when destination folder is the same as the source
Jeffrey Stedfast [Wed, 17 Oct 2001 21:33:41 +0000 (21:33 +0000)]
Add an optimization for when destination folder is the same as the source

2001-10-17  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (do_copy): Add an optimization for when
destination folder is the same as the source folder.

22 years agoPatch from Danw, Use unread count of -1 to mark unflagged messages. Make
7 [Wed, 17 Oct 2001 20:38:15 +0000 (20:38 +0000)]
Patch from Danw, Use unread count of -1 to mark unflagged messages. Make

2001-10-17    <NotZed@Ximian.com>

        * providers/imap/camel-imap-store.c (get_folder_info_online):
        (parse_list_response_as_folder_info): Patch from Danw, Use unread
        count of -1 to mark unflagged messages.  Make sure any folder we
        dont lookup explicitly is marked as -1.  Should fix #9947 and
        friends.

        * providers/local/camel-mbox-summary.c (mbox_summary_sync): Only
        touch the summary if the timestamp or size changed.

22 years agoSet the DELETED flag on directly on the info if the source folder doesn't
Jeffrey Stedfast [Wed, 17 Oct 2001 20:23:42 +0000 (20:23 +0000)]
Set the DELETED flag on directly on the info if the source folder doesn't

2001-10-17  Jeffrey Stedfast  <fejj@ximian.com>

* camel-filter-driver.c (camel_filter_driver_filter_message): Set
the DELETED flag on directly on the info if the source folder
doesn't have summary capability.

22 years agoAs below.
Not Zed [Wed, 17 Oct 2001 04:09:17 +0000 (04:09 +0000)]
As below.

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

        * camel-tcp-stream-raw.c (stream_write): As below.

        * camel-stream-fs.c (stream_write): If not checking cancellation,
        make sure we write out everything asked of us.

22 years agoRearange the order of the gpg options slightly otherwise it might try to
Jeffrey Stedfast [Wed, 17 Oct 2001 00:12:33 +0000 (00:12 +0000)]
Rearange the order of the gpg options slightly otherwise it might try to

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

* camel-pgp-context.c (pgp_verify): Rearange the order of the gpg
options slightly otherwise it might try to use "--no-tty" as the
filename to verify :-)

22 years agoIf CAMEL_DEBUG is defined, print some useful ref/unref info.
Jeffrey Stedfast [Tue, 16 Oct 2001 21:47:34 +0000 (21:47 +0000)]
If CAMEL_DEBUG is defined, print some useful ref/unref info.

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

* camel-object.[c,h]: If CAMEL_DEBUG is defined, print some useful
ref/unref info.

* providers/imap/camel-imap-store.c (delete_folder): Fixed an
assignment warning.

* camel-uid-cache.c (camel_uid_cache_new): Make sure that the
parent directory exists before trying to open the filename, if it
doesn't, create it.

22 years agoIf no content, dont try and decode further and spit meaningless warnings.
6 [Tue, 16 Oct 2001 20:35:49 +0000 (20:35 +0000)]
If no content, dont try and decode further and spit meaningless warnings.

2001-10-16    <NotZed@Ximian.com>

        * camel-mime-utils.c (header_address_decode): If no content, dont
        try and decode further and spit meaningless warnings.

22 years agoOnly perform the operation on the folder if the folder has summary
Jeffrey Stedfast [Tue, 16 Oct 2001 19:03:16 +0000 (19:03 +0000)]
Only perform the operation on the folder if the folder has summary

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

* camel-filter-driver.c (do_flag): Only perform the operation on
the folder if the folder has summary capability, else just poke
the info directly. Fixes the "Filters don't work" bug.
(do_score): Same.
(do_colour): And here too.

22 years agoSave the errno before calling fcntl so fcntl doesn't overwrite errno in
Jeffrey Stedfast [Mon, 15 Oct 2001 22:10:19 +0000 (22:10 +0000)]
Save the errno before calling fcntl so fcntl doesn't overwrite errno in

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

* camel-stream-fs.c (stream_read): Save the errno before calling
fcntl so fcntl doesn't overwrite errno in case of a previous
error.
(stream_write): Same.

22 years agoReplace the Bcc headers in a single location and don't flush the data
Jeffrey Stedfast [Sat, 13 Oct 2001 18:21:31 +0000 (18:21 +0000)]
Replace the Bcc headers in a single location and don't flush the data

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

* providers/smtp/camel-smtp-transport.c (smtp_data): Replace the
Bcc headers in a single location and don't flush the data unless
the write was successful.

22 years agooops, it should remove the bcc header, not the cc header
Jeffrey Stedfast [Fri, 12 Oct 2001 23:09:34 +0000 (23:09 +0000)]
oops, it should remove the bcc header, not the cc header

22 years agoRemove the stripheader filter from the build.
Jeffrey Stedfast [Fri, 12 Oct 2001 22:45:10 +0000 (22:45 +0000)]
Remove the stripheader filter from the build.

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

* Makefile.am: Remove the stripheader filter from the build.

* camel-mime-filter-stripheader.[c,h]: Removed.

* providers/smtp/camel-smtp-transport.c (smtp_data): Check the
return value of camel_stream_flush to make sure it flushed the
data successfully before continuing. Don't use the stripheader
filter, it was completely broken - instead remove the header and
set it again after we send.

22 years agoUnhook from all events before removing folder.
2 [Fri, 12 Oct 2001 22:27:56 +0000 (22:27 +0000)]
Unhook from all events before removing folder.

2001-10-12    <NotZed@Ximian.com>

        * camel-vee-folder.c (camel_vee_folder_remove_folder): Unhook from
        all events before removing folder.
        (camel_vee_folder_add_folder): Hook onto delete event.
        (camel_vee_folder_finalise): Unhook from deleted event for suibfolder.
        (subfolder_deleted): When the folder is deleted, remove it from
        the vfolder automagically.

22 years agonew parameter to e_passwords_init, and add prototype for
Chris Toshok [Fri, 12 Oct 2001 22:19:34 +0000 (22:19 +0000)]
new parameter to e_passwords_init, and add prototype for

2001-10-12  Chris Toshok  <toshok@ximian.com>

* e-passwords.h: new parameter to e_passwords_init, and add
prototype for e_passwords_clear_component_passwords.

* e-passwords.c (e_passwords_init): copy off the component name.
(e_passwords_shutdown): free/NULL the component name.
(e_passwords_clear_component_passwords): new function.  remove the
subtree rooted at /Passwords/<ComponentName>.
(e_passwords_remember_password): use component_name when building
up the path.
(e_passwords_get_password): same.
(e_passwords_add_password): remove/free the currently stored
session password for this key if there is one, before adding the
new one.

22 years agochange prototype for e_passwords_get_password.
Chris Toshok [Fri, 12 Oct 2001 02:01:38 +0000 (02:01 +0000)]
change prototype for e_passwords_get_password.

2001-10-11  Chris Toshok  <toshok@ximian.com>

* e-passwords.h: change prototype for e_passwords_get_password.

* e-passwords.c (e_passwords_get_password): remove 'const' from
return type - the return type is now allocated and must be freed
by the caller.

22 years agoconvert the uids list to a subset appropriate for each subfolder before
1 [Thu, 11 Oct 2001 23:39:08 +0000 (23:39 +0000)]
convert the uids list to a subset appropriate for each subfolder before

2001-10-11    <NotZed@Ximian.com>

        * camel-vee-folder.c (vee_search_by_uids): convert the uids list
        to a subset appropriate for each subfolder before trying to search
        on it.

22 years agoRemoved charset/locale charset lookup and iconv_open/close functions,
1 [Thu, 11 Oct 2001 22:08:20 +0000 (22:08 +0000)]
Removed charset/locale charset lookup and iconv_open/close functions,

2001-10-11    <NotZed@Ximian.com>

        * camel-charset-map.[ch]: Removed charset/locale charset lookup
        and iconv_open/close functions, moved to gal.  Fixed all callers.

22 years agoSame.
Jeffrey Stedfast [Thu, 11 Oct 2001 21:57:20 +0000 (21:57 +0000)]
Same.

2001-10-11  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-ssl.c (ssl_cert_is_saved): Same.

* camel-tcp-stream-openssl.c (ssl_cert_is_saved): Instead of
opening the file, stat it and make sure that it belongs to us.

22 years agoopen the bonobo config db for our passwords. (e_passwords_shutdown): sync
Chris Toshok [Thu, 11 Oct 2001 20:13:23 +0000 (20:13 +0000)]
open the bonobo config db for our passwords. (e_passwords_shutdown): sync

2001-10-11  Chris Toshok  <toshok@ximian.com>

* e-passwords.c (e_passwords_init): open the bonobo config db for
our passwords.
(e_passwords_shutdown): sync and unref the bonobo db, and clear
out the per session hash.
(e_passwords_forget_passwords): remove the bonobo config db
/Passwords path, and free up the session hash (but don't destroy
it).
(e_passwords_remember_password): remove the key/value from the
session hash, after inserting it into the bonobo db.
(e_passwords_get_password): look up a session password for the
uri, and if it's not there, consult the bonobo db.
(e_passwords_ask_password): quiet gcc's warnings, and only consult
the toggle button state if we actaully created it.

22 years agoSame hack as below.
Jeffrey Stedfast [Wed, 10 Oct 2001 22:13:05 +0000 (22:13 +0000)]
Same hack as below.

2001-10-10  Jeffrey Stedfast  <fejj@ximian.com>

* camel-tcp-stream-openssl.c (ssl_verify): Same hack as below.

* camel-tcp-stream-ssl.c (ssl_bad_cert): Hack around the fact that
adding a cert to nss's certdb seems to not work.

22 years agoOnly re-build the folder if we're expunging. Also only clear out the
0 [Wed, 10 Oct 2001 21:50:42 +0000 (21:50 +0000)]
Only re-build the folder if we're expunging. Also only clear out the

2001-10-10    <NotZed@Ximian.com>

        * camel-vee-folder.c (vee_sync): Only re-build the folder if we're
        expunging.  Also only clear out the changed folders list if we're
        expungung and everything worked.

22 years ago slight wording changes, mainly LGPL=>GPL
Michael Zucci [Wed, 10 Oct 2001 21:50:30 +0000 (21:50 +0000)]
slight wording changes, mainly LGPL=>GPL

22 years agoAdded a hack for Solaris systems.
Jeffrey Stedfast [Wed, 10 Oct 2001 21:36:22 +0000 (21:36 +0000)]
Added a hack for Solaris systems.

2001-10-10  Jeffrey Stedfast  <fejj@ximian.com>

* camel-charset-map.c (camel_charset_map_init): Added a hack for
Solaris systems.

22 years agooops, we want get_unread_message_count, not get_message_count!
0 [Wed, 10 Oct 2001 19:48:27 +0000 (19:48 +0000)]
oops, we want get_unread_message_count, not get_message_count!

2001-10-10    <NotZed@Ximian.com>

        * providers/local/camel-maildir-store.c (scan_dir): oops, we want
        get_unread_message_count, not get_message_count!

2001-10-09    <NotZed@Ximian.com>

        * camel-service.c (camel_service_disconnect): Duplicate connect
        code that unregisters a cancel op if we created one.

22 years agoupdated
Jeffrey Stedfast [Wed, 10 Oct 2001 19:03:29 +0000 (19:03 +0000)]
updated

22 years agoAnother go at getting the logic right again. Make transients only update
9 [Tue, 9 Oct 2001 23:36:31 +0000 (23:36 +0000)]
Another go at getting the logic right again. Make transients only update

2001-10-09    <NotZed@Ximian.com>

        * camel-operation.c (camel_operation_progress): Another go at
        getting the logic right again.  Make transients only update after
        5 seconds (CAMEL_OPERATION_TRANSIENT_DELAY)
        (camel_operation_end): Likewise.

22 years ago Forgot a little bit of debug.
Michael Zucci [Tue, 9 Oct 2001 23:13:21 +0000 (23:13 +0000)]
Forgot a little bit of debug.

22 years agoImplement.
9 [Tue, 9 Oct 2001 22:26:01 +0000 (22:26 +0000)]
Implement.

2001-10-09    <NotZed@Ximian.com>

        * providers/local/camel-spool-folder.c (spool_search_by_uids):
        Implement.

        * providers/imap/camel-imap-search.c (imap_body_contains): If
        searching a sub-set of the total message count, then use a UID
        range to search only specific messages.

        * camel-vee-folder.c (vee_folder_change_match): Removed.
        (folder_changed_add_uid): Helper func for changed code.
        (folder_changed_remove_uid): "
        (folder_changed_change_uid): "
        (folder_changed): Rewritten.  Supports proper auto-updating of
        changes, but not removals till a sync occurs.
        (vee_search_by_uids): Implement.
        (folder_changed): Changed to call an async threaded function to do
        the actual folder updating.

        * camel-folder-summary.c (camel_flag_list_copy): New func to copy
        a whole list of flags.
        (camel_tag_list_copy): New func to copy a whole list of flags.

        * providers/imap/camel-imap-folder.c (imap_search_by_uids):
        Implement.

        * providers/local/camel-local-folder.c (local_search_by_uids):
        Implement.

        * camel-folder.c (camel_folder_search_by_uids): New function,
        search a subset of uid's.
        (search_by_uids): Default impl, return error.

22 years agoreplace the ever-growing list of gbooleans with a single guint32 for
Dan Winship [Tue, 9 Oct 2001 03:07:39 +0000 (03:07 +0000)]
replace the ever-growing list of gbooleans with a single guint32 for

* camel-folder.h (struct _CamelFolder): replace the ever-growing
list of gbooleans with a single guint32 for flags.

* camel-folder.c: Update folder flag setting/checking.

* providers/pop3/camel-pop3-folder.c (camel_pop3_folder_init):
* providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new):
* providers/local/camel-spool-folder.c (spool_init,
camel_spool_folder_new):
* providers/local/camel-maildir-folder.c (camel_maildir_folder_new):
* providers/local/camel-local-folder.c (local_init):
* providers/imap/camel-imap-folder.c (camel_imap_folder_init,
camel_imap_folder_new):
* camel-vtrash-folder.c (camel_vtrash_folder_init):
* camel-vee-folder.c (camel_vee_folder_init):
* camel-digest-folder.c (camel_digest_folder_init): update folder
flag setting.

22 years agoUnlock the store before returning error. (noted by NotZed)
Dan Winship [Mon, 8 Oct 2001 16:29:32 +0000 (16:29 +0000)]
Unlock the store before returning error. (noted by NotZed)

* providers/imap/camel-imap-store.c (get_folder_online): Unlock
the store before returning error. (noted by NotZed)

22 years agoFix a slight error in logic. Just because the last word was an encoded
Jeffrey Stedfast [Sat, 6 Oct 2001 23:44:46 +0000 (23:44 +0000)]
Fix a slight error in logic. Just because the last word was an encoded

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

* camel-mime-utils.c (header_decode_text): Fix a slight error in
logic. Just because the last word was an encoded word doesn't mean
we ignore the lwsp padding, we only ignore it if the last word and
*this* word are encoded.

22 years agoImplemented uuencoding and decoding. (complete): Implemented uuencoding
Jeffrey Stedfast [Sat, 6 Oct 2001 07:19:41 +0000 (07:19 +0000)]
Implemented uuencoding and decoding. (complete): Implemented uuencoding

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

* camel-mime-filter-basic.c (filter): Implemented uuencoding and
decoding.
(complete): Implemented uuencoding and decoding.

* camel-mime-utils.c (uuencode_close): New function to flush the
uu encoder.
(uuencode_step): New function to uuencode a block of data.

22 years agoUse a folder_subscribed event rather than a folder_created one.
5 [Fri, 5 Oct 2001 21:49:17 +0000 (21:49 +0000)]
Use a folder_subscribed event rather than a folder_created one.

2001-10-05    <NotZed@Ximian.com>

        * providers/imap/camel-imap-store.c (subscribe_folder): Use a
        folder_subscribed event rather than a folder_created one.
        (unsubscribe_folder): Similarly for unsubscribed/deleted.
        (create_folder): Emit a folder_created event on the folders we
        added.  Not sure hsould probably check which ones are new and
        which ones are just existing ones?
        (delete_folder): Emit a folder_deletd event when we've deleted the
        folder.  Part of fix for #11831.

        * camel-store.c (camel_store_class_init): Added
        folder_subscribed/unsubscribed events.

22 years agoTurn off warnings. (get_name): Same.
Jeffrey Stedfast [Fri, 5 Oct 2001 19:38:24 +0000 (19:38 +0000)]
Turn off warnings. (get_name): Same.

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

* camel-service.c (camel_service_finalize): Turn off warnings.
(get_name): Same.

* camel-sasl.c (sasl_challenge): Turn off warnings.

* camel-tcp-stream.c (tcp_connect): Turn off warnings.
(tcp_getsockopt): Same.
(tcp_setsockopt): Here too.
(tcp_get_socket): And here.

* camel-folder.c (folder_sync): Turn off warnings.
(expunge): Same.
(append_message): Here too.
(get_message): And here.
(search_by_expression): And again here.
(folder_changed): Here too.

* camel-store.c (get_folder): Set an exception and turn off
debugging g_warnings.
(create_folder): Same.
(delete_folder): Here too.
(rename_folder): And here.
(get_trash): And here.
(get_folder_info): Same.
(free_folder_info): And again here.
(camel_folder_info_build): Here too.
(folder_subscribed): Same.
(subscribe_folder): Here too.
(unsubscribe_folder): And here.

22 years agoTry harder to get broken names out of addresses. Unencoded ,'s in names
5 [Fri, 5 Oct 2001 18:52:21 +0000 (18:52 +0000)]
Try harder to get broken names out of addresses. Unencoded ,'s in names

2001-10-05    <NotZed@Ximian.com>

* camel-mime-utils.c (header_decode_mailbox): Try harder to get
broken names out of addresses.  Unencoded ,'s in names will still
break it, but well what can you do eh?
(header_decode_mailbox): Always add .'s into address we've scanned
past a '.', even if we can't decode the next part.  Fix for some
annoying bug #.

22 years agoChange the order of execution slightly. We delete the folder first, then
4 [Fri, 5 Oct 2001 18:08:22 +0000 (18:08 +0000)]
Change the order of execution slightly. We delete the folder first, then

2001-10-04    <NotZed@Ximian.com>

        * camel-store.c (camel_store_delete_folder): Change the order of
        execution slightly.  We delete the folder first, then call the
        classes delete folder, then cleanup the hashtable afterwards.
        This is so deletes of vfolders work, since vee-store uses the
        folder hashtable to store all of is vfolders :-/

22 years agotedfast <fejj@ximian.com>
Jeffrey Stedfast [Thu, 4 Oct 2001 18:12:36 +0000 (18:12 +0000)]
tedfast <fejj@ximian.com>

tedfast  <fejj@ximian.com>

* camel-service.c (camel_service_connect): Unregister the
operation before unreffing it.

22 years agoUnregister the operation before unreffing it.
Jeffrey Stedfast [Thu, 4 Oct 2001 18:12:22 +0000 (18:12 +0000)]
Unregister the operation before unreffing it.

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

* camel-service.c (camel_service_connect): Unregister the
operation before unreffing it.

22 years agoMake this dup the strings it's passed. (*) Add lots of docs.
Dan Winship [Thu, 4 Oct 2001 17:45:42 +0000 (17:45 +0000)]
Make this dup the strings it's passed. (*) Add lots of docs.

* e-passwords.c (e_passwords_add_password): Make this dup the
strings it's passed.
(*) Add lots of docs.

22 years agoRemove now unused 'recents' array/freeing func.
3 [Wed, 3 Oct 2001 23:57:41 +0000 (23:57 +0000)]
Remove now unused 'recents' array/freeing func.

2001-10-03    <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
        Remove now unused 'recents' array/freeing func.

        * camel-object.c (camel_object_trigger_event): Oops, always run
        the prep function, even if we have no hooks listening.  Causes
        incoming imap recents to get ignored bythe camel-folder filter
        inbox code.

22 years agoDont explicitly save metadata, its saved in summary_sync.
3 [Wed, 3 Oct 2001 23:05:06 +0000 (23:05 +0000)]
Dont explicitly save metadata, its saved in summary_sync.

2001-10-03    <NotZed@Ximian.com>

        * providers/local/camel-local-folder.c (local_sync): Dont
        explicitly save metadata, its saved in summary_sync.

        * providers/local/camel-mh-summary.c: Call superclass.
        (mh_summary_check): Dont save ibex.

        * providers/local/camel-maildir-summary.c: Call superclass method.
        (maildir_summary_check): Dont save ibex explictly.

        * providers/local/camel-mbox-summary.c: Call super-class sync when
        done, saves summary/ibex, etc.
        (mbox_summary_check): Dont save ibex.
        (mbox_summary_sync): Call summary_check rather than trying to
        update from our known position.

        * providers/local/camel-local-summary.c
        (camel_local_summary_check): Dont save the summary or index here.
        (local_summary_sync): Save the summary/index here.

22 years agoAdded MATCH_NEWLINE flag, -> REG_NEWLINE.
3 [Wed, 3 Oct 2001 22:17:10 +0000 (22:17 +0000)]
Added MATCH_NEWLINE flag, -> REG_NEWLINE.

2001-10-03    <NotZed@Ximian.com>

* camel-search-private.c (camel_search_build_match_regex): Added
MATCH_NEWLINE flag, -> REG_NEWLINE.

* camel-lock-helper.c: Include <string.h> to kill some warnings.

* camel-filter-search.c (get_full_header): Put \n's between each
line we generate.
(header_full_regex): Dont drop the first argument to the command
-> empty matches!
(header_full_regex): Set match_newline for building regex.
(body_regex): And here too.  These all fix #9877.

22 years agoCall camel_folder_delete() on the folder if it's "alive".
Jeffrey Stedfast [Wed, 3 Oct 2001 21:25:04 +0000 (21:25 +0000)]
Call camel_folder_delete() on the folder if it's "alive".

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

* camel-store.c (camel_store_delete_folder): Call
camel_folder_delete() on the folder if it's "alive".

* camel-folder.c (camel_folder_delete): Mark the folder as
deleted, perform any folder specific cleanup and emit the deleted
event.
(camel_folder_sync): Only sync the folder if it hasn't been
deleted.
(camel_folder_expunge): Same.

22 years agoStrange are the ways of alloca. Fixes 11543.
Dan Winship [Wed, 3 Oct 2001 15:50:58 +0000 (15:50 +0000)]
Strange are the ways of alloca. Fixes 11543.

* providers/local/camel-local-provider.c (local_url_equal):
Strange are the ways of alloca. Fixes 11543.

22 years agoremove unused variable
Jeffrey Stedfast [Wed, 3 Oct 2001 02:56:40 +0000 (02:56 +0000)]
remove unused variable

22 years agoImport the certificate if the user accepts it.
Jeffrey Stedfast [Wed, 3 Oct 2001 02:55:50 +0000 (02:55 +0000)]
Import the certificate if the user accepts it.

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

* camel-tcp-stream-ssl.c (ssl_bad_cert): Import the certificate if
the user accepts it.

22 years agofor hashing/comparing local url's, we ignore trailing /'s in paths (maybe
2 [Wed, 3 Oct 2001 01:56:44 +0000 (01:56 +0000)]
for hashing/comparing local url's, we ignore trailing /'s in paths (maybe

2001-10-02    <NotZed@Ximian.com>

        * providers/local/camel-local-provider.c (local_url_hash,
        local_url_equal): for hashing/comparing local url's, we ignore
        trailing /'s in paths (maybe shuld handle multiple /'s too).
        (camel_provider_module_init): Use local_url_hash/equal for all functions.

22 years agoChange to camel_charset_iconv_open/close.
2 [Wed, 3 Oct 2001 00:12:49 +0000 (00:12 +0000)]
Change to camel_charset_iconv_open/close.

2001-10-02    <NotZed@Ximian.com>

        * camel-sasl-digest-md5.c (digest_response):  Change to
        camel_charset_iconv_open/close.

        * camel-pgp-context.c (pgp_verify): Change to
        camel_charset_iconv_open/close.

        * camel-mime-part-utils.c (convert_buffer): Change to
        camel_charset_iconv_open().

        * camel-mime-filter-charset.c
        (camel_mime_filter_charset_new_convert, finalise): Change to
        camel_charset_iconv_open, etc.

        * camel-mime-utils.c: Use the camel_charset_iconv_open/close()
        functions to open/close it.

        * camel-charset-map.c (camel_charset_iconv_open): New function,
        wrap iconv_open, so we can cache ic's.
        (camel_charset_iconv_close): Likewise for close.
        (camel_charset_map_init,shutdown): Init/free iconv cache.

22 years agoRevert my x-unknown special-case hack - this may mask other problems.
Jeffrey Stedfast [Tue, 2 Oct 2001 23:32:14 +0000 (23:32 +0000)]
Revert my x-unknown special-case hack - this may mask other problems.

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

* camel-charset-map.c (camel_charset_to_iconv): Revert my
x-unknown special-case hack - this may mask other problems.

* camel-mime-utils.c (rfc2047_decode_word): If the iconv
conversion fails, for whatever reason, retry using the user's
locale charset.

22 years agoGo back to using the store url's path, not the toplevel_dir thing.
2 [Tue, 2 Oct 2001 22:03:13 +0000 (22:03 +0000)]
Go back to using the store url's path, not the toplevel_dir thing.

2001-10-02    <NotZed@Ximian.com>

        * providers/local/camel-maildir-store.c (get_folder_info): Go back
        to using the store url's path, not the toplevel_dir thing.

        * camel-operation.c (camel_operation_progress): Fix the progress
        logic, so we dont update too often.

22 years agoChange the lock to a recursive e-mutex. (camel_object_hook_event):
2 [Tue, 2 Oct 2001 20:33:11 +0000 (20:33 +0000)]
Change the lock to a recursive e-mutex. (camel_object_hook_event):

2001-10-02    <NotZed@Ximian.com>

        * camel-object.c (camel_object_get_hooks): Change the lock to a
        recursive e-mutex.
        (camel_object_hook_event): Maintain list length of hook list.
        (camel_object_unhook_event): "
        (camel_object_unhook_event): If we are in an event, just mark the
        pair as removed, without removing it.
        (camel_object_trigger_event): Before running events, copy the
        list, and also ignore 'removed' events.  After running events, if
        we're all out of events, then free up any pending-removed events.
        (camel_object_free_hooks): Add some new assertions on the state of
        the hook structure.
        Removed the #error if threads not defined.  It _should_ actually
        work without threads.
        (camel_object_free_hooks): Free mutex when done.

22 years agoShoo! Shoo!
Dan Winship [Tue, 2 Oct 2001 19:13:36 +0000 (19:13 +0000)]
Shoo! Shoo!

22 years agoRemove any cached messages that belonged to the deleted folder.
Jeffrey Stedfast [Mon, 1 Oct 2001 22:33:24 +0000 (22:33 +0000)]
Remove any cached messages that belonged to the deleted folder.

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

* providers/imap/camel-imap-store.c (delete_folder): Remove any
cached messages that belonged to the deleted folder.
(subscribe_folder): Don't ever let the info->name be NULL and
don't use the stupid concat kludge to generate the URL, just use a
CamelURL to do it. This way we don't risk breaking stuff by having
a url like imap://fejj@imap//folder

22 years agoIf the charset is x-unknown, return the locale_charset.
Jeffrey Stedfast [Mon, 1 Oct 2001 20:31:03 +0000 (20:31 +0000)]
If the charset is x-unknown, return the locale_charset.

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

* camel-charset-map.c (camel_charset_to_iconv): If the charset is
x-unknown, return the locale_charset.

22 years agoFix up the provider flags to specify things more completely so we don't
Dan Winship [Mon, 1 Oct 2001 19:43:14 +0000 (19:43 +0000)]
Fix up the provider flags to specify things more completely so we don't

* camel-provider.h: Fix up the provider flags to specify things
more completely so we don't have to hardcode provider names in the
mailer.

* providers/local/camel-local-provider.c: MH, mbox, and Maildir
are LOCAL. MH and mbox are no longer STORAGE by the new
definition.

* camel-session.c (vee_provider): The vfolder store is a STORAGE.

22 years agoDon't munge the URL; CamelSession's caching relies on it not changing.
Dan Winship [Mon, 1 Oct 2001 18:09:53 +0000 (18:09 +0000)]
Don't munge the URL; CamelSession's caching relies on it not changing.

* providers/local/camel-local-store.c (construct): Don't munge the
URL; CamelSession's caching relies on it not changing. Instead,
add a toplevel_dir field to CamelLocalStore, and set that to the
path, but always ending with /.
(camel_local_store_finalize): Free toplevel_dir
(camel_local_store_get_toplevel_dir): Return toplevel_dir rather
than url->path.

* providers/local/*: Lots of s/url->path/toplevel_dir/

* providers/local/camel-spool-store.c (construct): Likewise, don't
try to strip a trailing / from url->path here, but I didn't make
the corresponding toplevel_dir change, because there's no good
reason someone should expect "/var/spool/mail/danw/" to work since
that's not a directory.

22 years agoNew, copied/renamed from mailer and gnome-libs.
Dan Winship [Mon, 1 Oct 2001 16:27:02 +0000 (16:27 +0000)]
New, copied/renamed from mailer and gnome-libs.

* e-passwords.c (e_passwords_ask_password): New, copied/renamed
from mailer and gnome-libs.

22 years agoif STAT returns 0, don't bother sending UIDL. Speeds things up slightly
Dan Winship [Mon, 1 Oct 2001 13:52:24 +0000 (13:52 +0000)]
if STAT returns 0, don't bother sending UIDL. Speeds things up slightly

* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): if STAT
returns 0, don't bother sending UIDL. Speeds things up slightly
and also works around a bug in a particular random POP server.
(ximian bug 11369).

22 years agocopy/rename the mail specific password stuff here.
Chris Toshok [Sun, 30 Sep 2001 05:16:25 +0000 (05:16 +0000)]
copy/rename the mail specific password stuff here.

2001-09-30  Chris Toshok  <toshok@ximian.com>

* e-passwords.c: copy/rename the mail specific password stuff
here.

* e-passwords.h: same.

22 years agoAdd --no-secmem-warning and --no-greeting to the gpg command-line options.
Jeffrey Stedfast [Sat, 29 Sep 2001 23:47:04 +0000 (23:47 +0000)]
Add --no-secmem-warning and --no-greeting to the gpg command-line options.

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

* camel-pgp-context.c (pgp_sign): Add --no-secmem-warning and
--no-greeting to the gpg command-line options.
(pgp_clearsign): Same.
(pgp_verify): Here too.
(pgp_encrypt): And here.
(pgp_decrypt): And finally here.

22 years agoSame here.
Jeffrey Stedfast [Fri, 28 Sep 2001 23:31:42 +0000 (23:31 +0000)]
Same here.

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

* camel-filter-search.c (get_source): Same here.

* camel-mime-message.c (camel_mime_message_set_source): Don't use
the e_url_shroud hack, use CamelURL functions instead.

22 years agoInit the nntp url hash and url_equal functions.
Jeffrey Stedfast [Fri, 28 Sep 2001 22:38:08 +0000 (22:38 +0000)]
Init the nntp url hash and url_equal functions.

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

* providers/nntp/camel-nntp-provider.c
(camel_provider_module_init): Init the nntp url hash and url_equal
functions.

* providers/sendmail/camel-sendmail-provider.c
(camel_provider_module_init): Init the sendmail url hash and
url_equal functions.

* providers/smtp/camel-smtp-provider.c
(camel_provider_module_init): Init the smtp url hash and url_equal
functions.

* providers/pop3/camel-pop3-provider.c
(camel_provider_module_init): Init the pop3 url hash and url_equal
functions.

* providers/imap/camel-imap-provider.c
(camel_provider_module_init): Init the imap url hash and url_equal
functions.

* providers/local/camel-local-provider.c
(camel_provider_module_init): Init the local url hash and
url_equal functions.

* camel-session.c (camel_session_class_init): Init the vfolder url
hash and url_equal functions.

* camel-provider.h: Added url_hash and url_equal function pointers
to the structure.

* camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a
CamelFolder is not a CamelFolderClass.

22 years agoOops, a CamelFolder is not a CamelFolderClass.
Jeffrey Stedfast [Fri, 28 Sep 2001 18:27:46 +0000 (18:27 +0000)]
Oops, a CamelFolder is not a CamelFolderClass.

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

* camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a
CamelFolder is not a CamelFolderClass.

22 years agoMake this take an SSL * instead of a CamelTcpStreamSSL *, since it can get
Dan Winship [Fri, 28 Sep 2001 14:36:44 +0000 (14:36 +0000)]
Make this take an SSL * instead of a CamelTcpStreamSSL *, since it can get

* camel-tcp-stream-openssl.c (ssl_error_to_errno): Make this take
an SSL * instead of a CamelTcpStreamSSL *, since it can get called
from open_ssl_connection, when the CamelTcpStreamSSL isn't set up
right yet. Fixes a crash on connection failure.

22 years agoGrab the store's command_lock before grabbing the folder's cache_lock to
Dan Winship [Fri, 28 Sep 2001 02:37:53 +0000 (02:37 +0000)]
Grab the store's command_lock before grabbing the folder's cache_lock to

* providers/imap/camel-imap-folder.c
(camel_imap_folder_fetch_data): Grab the store's command_lock
before grabbing the folder's cache_lock to prevent deadlock if
another thread is processing an EXPUNGE response.

* providers/imap/camel-imap-folder.c
(imap_expunge_uids_resyncing): Fix a compiler warning that might
point out a real bug...

* providers/imap/camel-imap-folder.c (get_content): and one that
doesn't

22 years ago Minor style change to operation_registered.
Michael Zucci [Thu, 27 Sep 2001 23:34:33 +0000 (23:34 +0000)]
Minor style change to operation_registered.

22 years agoDont re-register the connect_op if we got it by calling
7 [Thu, 27 Sep 2001 23:24:01 +0000 (23:24 +0000)]
Dont re-register the connect_op if we got it by calling

2001-09-27    <NotZed@Ximian.com>

* camel-service.c (camel_service_connect): Dont re-register the
connect_op if we got it by calling 'operation_registered', which
returns an already-registered one.
(camel_service_disconnect): Likewise here.
This removes all the re-registered warnings.

22 years agoFill the finalised data with nonsense, rather than 0's - more easily
7 [Thu, 27 Sep 2001 22:36:53 +0000 (22:36 +0000)]
Fill the finalised data with nonsense, rather than 0's - more easily

2001-09-27    <NotZed@Ximian.com>

* camel-object.c (camel_object_unref): Fill the finalised data
with nonsense, rather than 0's - more easily detect bad data.
(camel_object_new): Clear instance data when we retrieve it off
the list.

* camel-object.h (_CamelObject): Added an event lock pointer for
uh, locking event stuff.  Also change the hooklist hashtable into
a list.  Changed all the code to handle it.  Result: thread-safe
events, event-hooks, and save memory too, and SHOULD FINALLY FIX
THAT UNREAD COUNT PROBLEM.

22 years agoCRLF decode the stream before parsing it into a MIME part. This fixes bug
Jeffrey Stedfast [Thu, 27 Sep 2001 22:32:11 +0000 (22:32 +0000)]
CRLF decode the stream before parsing it into a MIME part. This fixes bug

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

* camel-pgp-mime.c (camel_pgp_mime_part_decrypt): CRLF decode the
stream before parsing it into a MIME part. This fixes bug #10521.

* camel-store.c: Remove the old folder from the vTrash folder.

22 years agoChange "gboolean connected" to "CamelServiceConnectionStatus status",
Dan Winship [Thu, 27 Sep 2001 14:39:39 +0000 (14:39 +0000)]
Change "gboolean connected" to "CamelServiceConnectionStatus status",

* camel-service.c: Change "gboolean connected" to
"CamelServiceConnectionStatus status", which can be disconnected,
connecting, connected, or disconnecting.
(camel_service_init, camel_service_finalize): create/destroy the
connect_op_lock. Refer to service->status rather than
service->connected.
(camel_service_connect): When connecting, note the current
operation (and create a new one if there's none registered) and
mark the connection "connecting" until we succeed or fail.
(camel_service_disconnect): Likewise in reverse.
(camel_service_cancel_connect): New function to cancel a
connection attempt.
(cancel_connect): Default implementation: Call
camel_operation_cancel on the connect_op.

* camel-disco-store.c (disco_connect): Only call
CamelRemoteStore's connect func if we're online.
(disco_cancel_connect): Fall back to offline if a connection gets
cancelled.
(disco_get_folder_info): Kludge: call connect explicitly before
deciding whether to do the online or offline version, so if the
connect fails, we fall back correctly.

* camel-session.c (camel_session_get_service_connected):
s/svc->connected/svc->status/

* camel-remote-store.c (camel_remote_store_finalise):
Change service->connected check to service->status check.
(remote_connect): Don't set service->connected here:
camel_service_connect() itself does that.

* camel-operation.c (camel_operation_registered): Deal with the
possibility that there's no registered op.

22 years agoIf we get a search error, just abort, dont try and fall back and copy to
6 [Wed, 26 Sep 2001 21:30:19 +0000 (21:30 +0000)]
If we get a search error, just abort, dont try and fall back and copy to

2001-09-26    <NotZed@Ximian.com>

        * camel-filter-driver.c (camel_filter_driver_filter_message): If
        we get a search error, just abort, dont try and fall back and copy
        to inbox.
        (camel_filter_driver_filter_message): Make sure we ALWAYS use
        exceptions for important things - like moving messages to inbox!
        (camel_filter_driver_filter_message): If we have the source
        folder, use camel_folder_set_message_flags rather then poking the
        info directly, which skips changed events.  This means filtering
        immediate doesn't lose changed events.
        (do_flag): Same here.
        (do_colour): Same thing but using set_tag.
        (do_score): Same again.
        (camel_filter_driver_filter_folder): Use ~0 as the 'set' arg to
        set_flags, just saves typing.
        (open_folder): We cache folders that we couldn't open as well as
        those ones we could.  Use magic token FOLDER_INVALID =
        (void *)~0 as the marker.
        (close_folder): Handle FOLDER_INVALID case properly.

22 years agoNew function to convenience Larry ;-) (check_content_id): Oops, return
Jeffrey Stedfast [Wed, 26 Sep 2001 21:04:13 +0000 (21:04 +0000)]
New function to convenience Larry ;-) (check_content_id): Oops, return

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

* camel-mime-message.c
(camel_mime_message_get_part_by_content_id): New function to
convenience Larry ;-)
(check_content_id): Oops, return !found instead of found. This
callback has to return whether or not to keep searching, not
whether or not it found what it's looking for. Do'h!

* camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): block out
some code if ENABLE_PEDANTIC_PGPMIME is not defined.

22 years agofixed merge conflicts
Jeffrey Stedfast [Wed, 26 Sep 2001 20:51:19 +0000 (20:51 +0000)]
fixed merge conflicts

22 years agoNew function to convenience Larry ;-)
Jeffrey Stedfast [Wed, 26 Sep 2001 20:50:58 +0000 (20:50 +0000)]
New function to convenience Larry ;-)

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

* camel-mime-message.c
(camel_mime_message_get_part_by_content_id): New function to
convenience Larry ;-)

* camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): block out
some code if ENABLE_PEDANTIC_PGPMIME is not defined.

22 years agoEmptied VeeStorePrivate, member wasn't used.
6 [Wed, 26 Sep 2001 20:18:54 +0000 (20:18 +0000)]
Emptied VeeStorePrivate, member wasn't used.

2001-09-26    <NotZed@Ximian.com>

        * camel-vee-store.c: Emptied VeeStorePrivate, member wasn't used.

        * camel-vee-folder.c (camel_vee_folder_set_expression): Lock
        changed list separately.
        (camel_vee_folder_remove_folder): "
        (camel_vee_folder_set_folders): Use changed_lock for changed list.
        (vee_refresh_info): Use changed_lock, also just grab the list,
        reset it in the lock, and do the work unlocked.
        (vee_sync): Use changed lock for changed list.
        (folder_changed): ".  All this kills a deadlock with sync/expunge.

        * camel-private.h (CamelVeeFolderPrivate): Added a new lock for
        the folders-changed list.
        (CamelVeeStorePrivate): Removed, defined in camel-vee-store.c,
        thanks to a pedantic.

22 years agoFix Ettore's fix.
Jeffrey Stedfast [Wed, 26 Sep 2001 18:24:49 +0000 (18:24 +0000)]
Fix Ettore's fix.

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

* Makefile.am: Fix Ettore's fix.

22 years agoNo longer takes a remember argument. (pgp_sign): Only uncache the
Jeffrey Stedfast [Wed, 26 Sep 2001 00:08:17 +0000 (00:08 +0000)]
No longer takes a remember argument. (pgp_sign): Only uncache the

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

* camel-pgp-context.c (camel_pgp_context_new): No longer takes a
remember argument.
(pgp_sign): Only uncache the passphrase on failure.
(pgp_clearsign): Same.
(pgp_encrypt): Here too.
(pgp_decrypt): And here.
(pass_free): New function to zero the passphrase before freeing
it.

22 years ago[Patch for Automake 1.5 compatibility pointed out by Richard
Ettore Perazzoli [Tue, 25 Sep 2001 23:43:55 +0000 (23:43 +0000)]
[Patch for Automake 1.5 compatibility pointed out by Richard
Boulton <richard@tartarus.org>, as per #9258.]

* providers/nntp/Makefile.am: Remove some commented parts that
make Automake 1.5 choke.

* Makefile.am (camel-lock-helper): Add $(EXEEXT) for Automake 1.5
compatibility.

22 years agoOnly unref info if we got it.
5 [Tue, 25 Sep 2001 22:19:40 +0000 (22:19 +0000)]
Only unref info if we got it.

2001-09-25    <NotZed@Ximian.com>

* camel-folder.c (get_unread_message_count): Only unref info if we
got it.

22 years agoFix for !threads enabled not ccompiling. (camel_operation_ref): Assert
5 [Tue, 25 Sep 2001 22:09:04 +0000 (22:09 +0000)]
Fix for !threads enabled not ccompiling. (camel_operation_ref): Assert

2001-09-25    <NotZed@Ximian.com>

        * camel-operation.c (camel_operation_unref): Fix for !threads
        enabled not ccompiling.
        (camel_operation_ref): Assert refcount > 0.
        (struct _CamelOperation): Removed the lock.  On further
        investigation, I dont think this will always work, the
        registration operations assume that a lookup in the
        operation_active table will return a ref, that will remain valid
        until we ref it, which needn't be the case.  So now i'm using a
        single global lock, since we'd need to do that for unref anyway,
        and every operation is fast & memory-bound.  Changed all the code
        to handle this.
        (camel_operation_progress_count): Since the code is identical,
        just call progress() for now.
        (camel_operation_register): No longer refcount, use unref to
        check/clear the active table.
        (camel_operation_unregister): Same here.
        (camel_operation_unref): Check if operation is in active table, if
        so, warn, remove.

22 years agocall SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure
Dan Winship [Tue, 25 Sep 2001 21:14:09 +0000 (21:14 +0000)]
call SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure

* camel-tcp-stream-openssl.c (my_SSL_read, my_SSL_write): call
SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure
there's a perfectly good reason that the API works this way. No,
really.
(stream_read, stream_write): use my_SSL_read and my_SSL_write.
Fixes at least ximian 8593, and probably 6024 and maybe 10366,
at least for OpenSSL. There may be a parallel NSS bug?

22 years agoA "safe write" function that always writes out all data asked of it, till
5 [Tue, 25 Sep 2001 19:48:11 +0000 (19:48 +0000)]
A "safe write" function that always writes out all data asked of it, till

2001-09-25    <NotZed@Ximian.com>

        * camel-stream-buffer.c (stream_write_all): A "safe write"
        function that always writes out all data asked of it, till
        finished.
        (stream_write): Rewritten.  What was i on when i wrote that
        originally, how did it ever work with tcp streams ...

22 years agoSet the exception to FOLDER_INVALID rather than making out it worked. A
4 [Tue, 25 Sep 2001 00:58:34 +0000 (00:58 +0000)]
Set the exception to FOLDER_INVALID rather than making out it worked. A

2001-09-24    <NotZed@Ximian.com>

        * camel-folder.c (append_message): Set the exception to
        FOLDER_INVALID rather than making out it worked.  A fix for #7025.
        (search_by_expression): Here too.

22 years agoIn the 'lose' case, free messages, not fetch_data twice!
4 [Mon, 24 Sep 2001 21:27:21 +0000 (21:27 +0000)]
In the 'lose' case, free messages, not fetch_data twice!

2001-09-24    <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (imap_update_summary): In the
        'lose' case, free messages, not fetch_data twice!

22 years agoIf the type is encoded, get the fallback charset from the message
4 [Mon, 24 Sep 2001 19:31:07 +0000 (19:31 +0000)]
If the type is encoded, get the fallback charset from the message

2001-09-24    <NotZed@Ximian.com>

        * camel-filter-search.c (check_header): If the type is encoded,
        get the fallback charset from the message content-type.

        * camel-mime-part-utils.c (check_html_charset): Dont check for
        charset==null before calling charset_to_iconv.
        (simple_data_wrapper_construct_from_parser): "

        * camel-mime-message.c (process_header): Try use content-type
        charset param as the fallback charset.

        * camel-charset-map.c (camel_charset_to_iconv): Handle name ==
        NULL, return NULL.

        * camel-folder-summary.c (camel_folder_summary_format_address):
        (camel_folder_summary_format_string): Made private again, removed
        #warning about it.  Renamed to s/camel_folder//.
        (summary_format_string): Take default charset param.
        (camel_message_info_new_from_header, message_info_new): Decode
        content-type field to get the charset parameter to use as the
        default charset for decoding strings.

        * camel-search-private.c (camel_search_header_match): Pass NULL as
        the charset, the locale charset is always tried.
        (camel_search_header_match): Supply a default_charset parameter to
        be used with TYPE_ENCODED params.

        * camel-mime-utils.c
        (header_param): get rid of the g_strcasecmp crap.
        (header_set_param): Same here.
        (header_decode_param_list): And here.
        (header_decode_text): Totally rewritten.  30% of its size.  If the
        word is not rfc2047 encoded, always try default_charset if
        supplied, if that fails, try locale charset if it exists, if that
        fails then assume latin1/7 bit ascii.
        (append_8bit): Changed to return FALSE if we can't convert for
        whatever reason, and dont append anything.

        * camel-mime-part.h (struct _CamelMimePart): Move content_type and
        headers out of the 'private' section.

        * camel-mime-part.c (get_headers): Dont do any conversion on the
        header.
        (process_header): Get the content-type charset as the fallback
        charset for decode_string.
        (construct_from_parser): IF we have a content-type header, process
        it before doing anything else, so we have access to a fallback
        charset for invalid headers.

22 years agofixed compile warning
Jeffrey Stedfast [Mon, 24 Sep 2001 00:39:24 +0000 (00:39 +0000)]
fixed compile warning