| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=13288
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13281
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
svn path=/trunk/; revision=13276
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
svn path=/trunk/; revision=13264
|
|
|
|
|
|
|
|
|
| |
* 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).
svn path=/trunk/; revision=13257
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13251
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13240
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13237
|
|
|
|
|
|
|
|
|
| |
2001-09-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a
CamelFolder is not a CamelFolderClass.
svn path=/trunk/; revision=13217
|
|
|
|
|
|
|
|
|
| |
* 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.
svn path=/trunk/; revision=13213
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
svn path=/trunk/; revision=13209
|
|
|
|
| |
svn path=/trunk/; revision=13206
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13205
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13201
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13199
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
svn path=/trunk/; revision=13191
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13169
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13168
|
|
|
|
| |
svn path=/trunk/; revision=13166
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13165
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13163
|
|
|
|
|
|
|
|
| |
2001-09-26 Jeffrey Stedfast <fejj@ximian.com>
* Makefile.am: Fix Ettore's fix.
svn path=/trunk/; revision=13154
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13138
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13137
|
|
|
|
|
|
|
|
|
| |
2001-09-25 <NotZed@Ximian.com>
* camel-folder.c (get_unread_message_count): Only unref info if we
got it.
svn path=/trunk/; revision=13130
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13125
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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?
svn path=/trunk/; revision=13121
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 ...
svn path=/trunk/; revision=13115
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13106
|
|
|
|
|
|
|
|
|
| |
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!
svn path=/trunk/; revision=13101
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=13096
|
|
|
|
| |
svn path=/trunk/; revision=13090
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-23 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (ssl_verify): Don't even try to alert
the user if the session isn't interactive.
(errlib_error_to_errno): Make the default errno EINTR so that we
act just like CamelTcpStreamSSL.
* camel-pgp-context.c (pgp_sign): When the password is not
provided, set the exception to USER_CANCEL.
(pgp_clearsign): Same.
(pgp_encrypt): And here.
(pgp_decrypt): Here too.
svn path=/trunk/; revision=13088
|
|
|
|
|
|
|
|
|
| |
2001-09-21 <NotZed@Ximian.com>
* camel-store.c (create_folder): Set the exception if
create_folder isn't implemented.
svn path=/trunk/; revision=13056
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-21 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): Go back to
not using camel_folder_info_build() here because this seems to
break folder creation (returning nodes from the root path when it
shouldn't be?).
svn path=/trunk/; revision=13054
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-21 <NotZed@Ximian.com>
* camel-vee-store.c (vee_get_folder_info): Force a refresh of
vfolders before storing their count. This essentially makes
'get_folderinfo' refresh all vfolders, so that get-mail works as
expected.
* camel-vee-folder.c (camel_vee_folder_finalise): Clear lists.
(folder_changed): If we're not autoupdating the folder, then
add this folder to the list of 'changed' folders for this vfolder.
(camel_vee_folder_set_expression): Reset the folders_changed list.
(camel_vee_folder_remove_folder): Remove the folder from the
folders_changed list.
(camel_vee_folder_set_folders): If we have a folder already, but
its changed, use this opportunity to update it.
(vee_sync): Remove any synced folders from the folders_changed
list.
(vee_refresh_info): Refresh folder, re-run queries on any changed
folders.
svn path=/trunk/; revision=13045
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-folder-summary.c (camel_folder_summary_header_load): New
function to just load the summary. Not much use yet, until unread
counts are stored in the summary (which now looks like too much
work!).
* camel-mime-utils.c (header_decode_mailbox): Crappy fix for
stupid mailers. If we get 'name b. name <foo>' then treat it as
'"name b. name" <foo>'. See 8147.
(header_decode_mailbox): Another fix for really broken mailers
that have things that look like addresses followed by <address>
bits.
(rfc2047_encode_word): Escape ??= to avoid some bizarre warning
about trigraphs.
(scan_dir): If we dont have the folder open, then scan the 'new'
and 'cur' folders for new and unread messages to count instead.
svn path=/trunk/; revision=13040
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Setup unread count properly, and
also setup the url properly.
(scan_dir): Dont include empty host part in url for folder.
(scan_dir): Lookup folder counts for any folders we currenty have
open.
svn path=/trunk/; revision=13035
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-20 <NotZed@Ximian.com>
* providers/local/camel-maildir-store.c (camel_folder_info_new):
Build the path on the folderinfo.
* providers/local/camel-spool-store.c (get_folder_info): If we
have this folder open, then set unread from the folder itself.
(get_folder_info): Change the INBOX path to not include the
leading /.
* providers/local/camel-spool-folder.c
(camel_spool_folder_construct): Fix path.
(camel_spool_folder_construct): Properly setup the url field when
we say we've got a new folder created.
* providers/imap/camel-imap-store.c (unsubscribe_folder): Build
path on folderinfo.
* camel-store.c (camel_folder_info_build_path): Prepend / to path.
* camel-vee-folder.c (camel_vee_folder_construct): Use macro for
unmatched folder name.
(camel_vee_folder_new): "
* camel-vee-store.c (vee_get_folder_info): Use macro for unmatched
folder name.
(vee_delete_folder): "
(vee_rename_folder): "
(vee_get_folder): Prepend / onto path.
(vee_delete_folder): Setup path in folderinfo.
(vee_get_folder_info): Fix path in folderinfo.
* camel-vee-folder.h (CAMEL_UNMATCHED_NAME): New define for
unmatched (internal) name.
svn path=/trunk/; revision=13022
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-spool-folder.c
(camel_spool_folder_construct): And finally here.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): And here.
* camel-vee-store.c (vee_get_folder): ANd here too.
(vee_get_folder_info): And here.
* providers/imap/camel-imap-store.c (create_folder): Use
camel_folder_info_build() and do better error checking.
(subscribe_folder): Set the path on the folder info.
* camel-store.c (camel_folder_info_build): Set the folder-info
path if it hasn't already been set by the caller.
(camel_folder_info_free): Free the path.
* camel-store.h: Added a path member to the FolderInfo type.
svn path=/trunk/; revision=13019
|
|
|
|
|
|
| |
* camel-charset-map.c (camel_charset_to_iconv): Nuke debug warning.
svn path=/trunk/; revision=13009
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c: Updated exception strings to be more clear.
* camel-pgp-mime.c (pgp_mime_part_sign_restore_part): Stupid
mistake, fixes bug #9975.
svn path=/trunk/; revision=13001
|
|
|
|
|
|
|
|
|
|
| |
2001-09-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Oops, don't fail if
`data' isn't a CamelService...cuz it's not supposed to be! It's a
CamelTcpStreamSSL object...doh!
svn path=/trunk/; revision=12992
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-19 <NotZed@Ximian.com>
* General cleanup of camel debug printfs.
* camel-lock.c (camel_lock_fcntl): Changed to return 'success' if
the error indicates file locking isn't supported on this
filesystem. Still return a warning just incase (if its the first
time). Might fix a lot of reported bugs.
* providers/local/camel-spool-store.c (get_folder_info): Dont
include the empty // host part in the uri. This 'breaks' the
service lookup.
svn path=/trunk/; revision=12973
|
|
|
|
| |
svn path=/trunk/; revision=12962
|
|
|
|
|
|
|
|
| |
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c: Match mailing-list header List-Owner.
svn path=/trunk/; revision=12959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-18 <NotZed@Ximian.com>
* providers/local/camel-maildir-folder.c
(camel_maildir_folder_new): If filter inbox is set on the store,
and we're opening inbox '', then enable filtering on new messages.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): After loading the summary, check
it, and only abort if that fails. Also maintain the changes
count.
* providers/local/camel-local-summary.c
(camel_local_summary_load): Remove summary_check code from here.
(camel_local_summary_check): Sync index/summary here, if we were
successful.
* providers/local/camel-spool-folder.c
(camel_spool_folder_new): If we have filter-new-messages-on-inbox
set and we just opened inbox, turn on filtering on this folder.
(camel_spool_folder_construct): Keep track of changes for the
folder, so that filter-new-messages works right (?)
* providers/local/camel-spool-store.c (get_folder): Pass 'INBOX'
as the folder name, not the path.
* camel-folder-search.c (search_not): Modified patch from
<peterw@ximian.com> since the summary is messageinfo's, not
strings.
** Ok so the problem with the stuff below is that maildir/spool
'summary_load' throws away all events, including recents, joy eh?
* providers/local/camel-maildir-summary.c (maildir_summary_check):
Add new messages to the recent changeinfo.
* providers/local/camel-spool-summary.c: Mark 'new' message as
recent, for later processing if required (i.e. 'filter new
messages').
* camel-store.c (construct): new function, cascade up construct
method and check for 'filter' param, and set accordingly for any
one that might want it.
* providers/imap/camel-imap-store.c (construct): map the
param_filter_inbox flag to the store->flags as
CAMEL_STORE_FILTER_INBOX.
* camel-store.h (CAMEL_STORE_FILTER_INBOX): new flag to tell it to
filter inbox.
* providers/imap/camel-imap-folder.h: Removed do_filtering flag
from CamelImapFolder.
* providers/imap/camel-imap-folder.c (imap_update_summary): Remove
the 'recents' parameter, use the 'changes' parameter instead to
convey this info.
(camel_imap_folder_changed): Changed for update_summary api
change. Now always just emit the changed event if we have any
changes to report, filtering code removed, handled upstream.
(filter_proc):
(filter_free): Removed old filtering code.
(camel_imap_folder_new): Set the filter_recent flag on the folder
if we're the inbox and filtering of inbox is enabled.
* camel-folder.c (folder_changed): If we have 'recent' messages,
and are set to filter recents, then freeze the folder and launch a
thread to do the processing (or similar if threading not enabled).
(thaw): Make sure we emit the changed signal outside of owning the
lock and if things have changed. Also, no longer bother
downgrading folder_changed events to message_changed events.
* camel-folder.h (struct _CamelFolder): Added filter_recent flag
-> signifies all recent messages in folder should be filtered.
* camel-session.c: (camel_session_thread_msg_new,
camel_session_thread_msg_free, camel_session_thread_queue,
camel_session_thread_wait): code to handle async operations as
part of camel processing.
(camel_session_finalise): free thread_lock, destroy thread, active
hash, etc.
(camel_session_init): init thread, active hash, etc.
(camel_session_class_init): Init virtual functions.
(session_thread_msg_new, session_thread_msg_free,
session_thread_destroy, session_thread_received,
session_thread_queue, session_thread_wait): default implementation
of session threads stuff.
2001-09-17 <NotZed@Ximian.com>
* camel-folder.c (camel_folder_change_info_recent_uid): New
function to add a 'recent' uid to the change info.
(camel_folder_change_info_clear): Clear recent list.
(camel_folder_change_info_free): Free recent list.
(camel_folder_change_info_new): Setup recent list.
* camel-folder.h: Added a uid_recent item to the folder_changed
event data.
* providers/local/camel-maildir-store.c (scan_dir): Free new in
the right block.
* providers/local/camel-local-provider.c: Add local config entries
to filter on new messages in spool and maildir provider.
* camel-vee-folder.c (vee_folder_construct): Remove the assertion
which stops ? in names from being allowed.
svn path=/trunk/; revision=12956
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-data-wrapper.c (camel_data_wrapper_is_offline): Virtualize
this.
* camel-medium.c (is_offline): A medium is offline if its content
object is offline.
* camel-multipart.c (is_offline): A multipart is offline if any of
its subparts are offline.
svn path=/trunk/; revision=12948
|
|
|
|
|
|
|
|
| |
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c: Added korean charset conversion.
svn path=/trunk/; revision=12946
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Don't process
the ImapResponse data, we don't want to block forever on data we
don't care about...
(create_folder): Use get_folders_online() instead of
get_folder_info_online().
svn path=/trunk/; revision=12932
|
|
|
|
|
|
|
|
|
|
| |
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Don't process
the ImapResponse data, we don't want to block forever on data we
don't care about...
svn path=/trunk/; revision=12918
|
|
|
|
|
|
|
|
| |
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c: Reverted previous changes.
svn path=/trunk/; revision=12907
|
|
|
|
|
|
|
|
| |
2001-09-17 JP Rosevear <jpr@ximian.com>
* Makefile.am: Helpful install-exec-hook debugging output
svn path=/trunk/; revision=12901
|
|
|
|
|
|
|
|
|
|
| |
2001-09-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c (camel_folder_get_uri): New function to get the
URI of a folder.
(get_uri): Default implementation.
svn path=/trunk/; revision=12860
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-14 <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_set_folders): New function,
set the complete list of folders on a vfolder, all at once.
(camel_vee_folder_set_expression): If we set the query to be the
same thing, dont do anything.
* camel-vee-store.c (camel_vee_store_init): Turn off vtrash for
this store.
* camel-store.c (camel_store_init): Enable vtrash by default via
flags.
(camel_store_get_trash): REturn NULL if the store doesn't support
vtrash.
(init_trash): Dont init if store doesn't support vtrash.
* camel-store.h: Add a new flags CAMEL_STORE_VTRASH -> store
supports vtrash.
2001-09-13 <NotZed@Ximian.com>
* camel-vee-store.c (vee_get_folder_info): Implement.
(build_info): Used to build a folder record from the folders
hashtable.
(vee_delete_folder): Implemented, remove folder from hashtable.
(vee_rename_folder): Implemented, remove old folder from
hashtable, add new one and rename its guts too.
* camel-store.c (camel_store_rename_folder): Do nothing if we're
not asked to actually change names. Also dont do the renamed
cache check till after we've called the subclass.
(camel_store_delete_folder): Call the subclass delete firs,t then
make sure the cache is right.
* camel-vee-folder.c (vee_folder_construct): Remove support for
name?query syntax to setup vfolder. Abort if such syntax is used.
(camel_vee_folder_new): Removed code that handles ? syntax, etc.
(vee_folder_build_folder): Handle unset expression, treat it as an
empty search.
(camel_vee_folder_set_expression): Oops, actually set the
expression.
* camel-vtrash-folder.c (camel_vtrash_folder_new): Dont use
name?query syntax to setup vfolder, but set the expression
directly. Also fixes a small memleak.
2001-09-12 <NotZed@Ximian.com>
* camel-store.c (camel_store_delete_folder): Fixed warnings with a cast.
(camel_store_rename_folder): "
svn path=/trunk/; revision=12854
|
|
|
|
|
|
|
|
|
| |
2001-09-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-url.c (camel_url_set_param): Use g_datalist_set_data_full
so that the data will be free'd when we clear the list.
svn path=/trunk/; revision=12838
|
|
|
|
|
|
|
|
| |
* camel-file-utils.c (camel_file_util_encode_string,
camel_file_util_decode_string): Don't claim failure when
reading/writing the empty string.
svn path=/trunk/; revision=12829
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-14 JP Rosevear <jpr@ximian.com>
* Makefile.am: use install hook instead of install rule to
guarantee we run after installation
2001-09-14 JP Rosevear <jpr@ximian.com>
* configure.in: remove unneeded conditionals
svn path=/trunk/; revision=12825
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_folder): Don't
reuse the exception if it has already been set.
(camel_filter_driver_filter_message): Same here. Also use the new
return value from camel_filter_search_match().
* camel-filter-search.c (camel_filter_search_match): Return an
integer (matched, no-match, or error).
svn path=/trunk/; revision=12819
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-mbox-folder.c (mbox_append_message): Do
error-checking based on function return values rather than
exceptions as it's possible for them to be NULL.
(mbox_get_message): Same.
svn path=/trunk/; revision=12814
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_append_offline): Pass
an exception to the cache.
(imap_append_online): Same.
(imap_append_resyncing): Here too.
(imap_copy_offline): And here.
(handle_copyuid): Pass NULL as the exception here...
(parse_fetch_response): And finally here.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_insert):
(insert_setup):
(camel_imap_message_cache_insert_stream):
(camel_imap_message_cache_insert_wrapper):
(camel_imap_message_cache_copy): Take an exception argument and
set it on error.
svn path=/trunk/; revision=12813
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Convert the charset
to the iconv-friendly name.
* camel-charset-map.c (camel_charset_to_iconv): Add code to
convert windows-[cp]#### charsets to their iconv-friendly format
of cp####.
svn path=/trunk/; revision=12804
|
|
|
|
|
|
|
|
|
| |
2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Return -1 on
failure.
svn path=/trunk/; revision=12799
|
|
|
|
|
|
|
|
|
| |
2001-09-12 Larry Ewing <lewing@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_mbox): free
the source url in the nonfailure case.
svn path=/trunk/; revision=12782
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-12 <NotZed@Ximian.com>
* camel-folder-search.h: Change the 'not' virtual method from an
immediate e-sexp function to a non-immediate one, which is what it
should be.
* camel-folder-search.c (search_not): Implement a 'not' function
ourselves. If 'not' on a vector value, then not over all items
in the summary.
(builtings[]): Change the 'not' builtin to be a non-immediate
function.
svn path=/trunk/; revision=12781
|
|
|
|
|
|
|
|
|
| |
2001-09-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_mbox): Unref
the message info.
svn path=/trunk/; revision=12776
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-10 <NotZed@Ximian.com>
* providers/local/camel-maildir-store.c (get_folder_info): Pass in
a hashtalbe used for finding visited nodes.
(inode_hash):
(inode_equal):
(inode_free): Helper functions for visited node checks, hashes on
inode + device number.
(scan_dir): Dont re-visited directories we've already visited, use
inodes + device number.
Also, if the folder doesn't contain cur/tmp/new, mark it as
noselect, but continue to recurse folders, if asked.
svn path=/trunk/; revision=12760
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-10 <NotZed@Ximian.com>
* camel-folder.c (move_messages_to): Progress reporting while
moving messages.
* camel-store.c (camel_store_delete_folder): Make sure we remove
the folder from our vtrash, if we have it in our opened set, and
also remove it from our hashtable.
(camel_store_rename_folder): Remove the old folder name from the
folder cahce, if it is there.
svn path=/trunk/; revision=12758
|
|
|
|
|
|
|
|
|
| |
2001-09-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_to_iconv): Get rid of the
g_warning, we no longer really need that.
svn path=/trunk/; revision=12739
|
|
|
|
|
|
|
|
|
| |
2001-09-10 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_msg_new): Forgot
to return the newly allocated msg.
svn path=/trunk/; revision=12729
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-08 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c (spool_summary_sync_full): Likewise.
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full): Fix the wording.
* camel-tcp-stream-raw.c (stream_read): Save errno around fcntl
call in cancellable read case. Also, loop while we get EINTR.
This might fix some weird reconnect behaviour with pop.
(stream_write): "
svn path=/trunk/; revision=12700
|
|
|
|
|
|
|
|
|
|
| |
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): #if 0 out the code that
was hopefully going to fix bug #5325 because the functions I used
seem to have been deprecated. *sigh*.
svn path=/trunk/; revision=12699
|
|
|
|
|
|
|
|
|
|
| |
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (camel_remote_store_finalise): Disconnect
from the service here otherwise the locks will be destroyed and by
the time CamelService finalizes we'll crash or hang.
svn path=/trunk/; revision=12692
|
|
|
|
|
|
|
|
|
| |
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): Make sure to
unref the mime filters when we finish with them.
svn path=/trunk/; revision=12689
|
|
|
|
|
|
|
|
|
| |
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
s/Synchronising/Synchronizing/.
(mbox_summary_sync_quick): Likewise.
(summary_rebuild): s/Summarising/Summarizing/.
svn path=/trunk/; revision=12683
|
|
|
|
| |
svn path=/trunk/; revision=12682
|
|
|
|
|
|
|
|
|
|
| |
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Reuse the
original boundary instead of generating our own.
svn path=/trunk/; revision=12681
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-06 <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (filter_proc): Thread
function to perform filtering.
(filter_free): Free the filter object.
(camel_imap_folder_changed): If we have threads enabled, then
queue up a request to perform filtering. For bug #4422.
* providers/imap/camel-imap-store.c (camel_imap_msg_new): Create a
new 'imap msg'.
(camel_imap_msg_queue): Queue an 'imap msg'.
(async_received): Handle receiving of imap msg in async thread.
(async_destroy): Handle destroying of imap msg.
(camel_imap_store_finalize): Destroy thread when done.
(camel_imap_store_init): Setup thread.
* providers/imap/camel-imap-store.h: Added an ethread to the
store, for async processing.
svn path=/trunk/; revision=12666
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_recv_line): Use
camel_stream_buffer_read_line() instead of duplicationing the
functionality. Also, the previous way was broken anyway. What if a
line was the same length as our buffer? Then we'd go and read a
second line and a third and so on until they weren't the same
length, leaving \r's in the middle of the buffer.
svn path=/trunk/; revision=12662
|
|
|
|
|
|
|
|
|
|
| |
* providers/pop3/camel-pop3-store.c (pop3_get_response): Fix this
to always set an exception if it returns POP3_FAIL, as documented.
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Revert.
svn path=/trunk/; revision=12654
|
|
|
|
|
|
|
|
|
| |
2001-09-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Set an exception on POP3_FAIL as well.
svn path=/trunk/; revision=12653
|
|
|
|
|
|
|
|
| |
* providers/pop3/camel-pop3-provider.c: #ifdef out the "delete
after N days" option in pop3_conf_entries, since it won't be done
for 1.0.
svn path=/trunk/; revision=12651
|
|
|
|
|
|
|
|
|
|
| |
2001-09-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_disconnect): Too late to sync the
folders here... if this is gonna happen at all it should be done
in the provider.
svn path=/trunk/; revision=12596
|
|
|
|
|
|
|
|
| |
2001-09-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (camel_service_finalize): Do a clean disconnect.
svn path=/trunk/; revision=12593
|
|
|
|
|
|
|
|
|
|
| |
2001-08-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-spool-store.c (get_inbox): Return the
default folder (ie. INBOX) rather than saying we don't support an
inbox.
svn path=/trunk/; revision=12535
|
|
|
|
|
|
|
|
|
| |
2001-08-30 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c: #include pk11func.h.
(ssl_bad_cert): Use CERT_GetDefaultCertDB.
svn path=/trunk/; revision=12530
|
|
|
|
| |
svn path=/trunk/; revision=12520
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Special-case
message/rfc822 mime parts - don't set an encoding on these,
instead traverse into their subparts and set the encodings for
those.
(pgp_mime_part_sign_restore_part): Reverse any operations done to
message/rfc822 parts in the above prepare_part() function and also
take a pointer to a GSList of encodings instead of just a GSList
so we can properly keep track of which encoding we are on.
svn path=/trunk/; revision=12519
|
|
|
|
|
|
|
|
|
|
| |
2001-08-29 Not Zed <NotZed@Ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_sync): Add progress
reporting to deleting messages. Dont change the calculation to a
bloody float. Bug #6189.
svn path=/trunk/; revision=12512
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Initialize buf
and diag_buf to NULL, hopefully this fixes the crash if the
select() times out.
(pgp_encrypt): Argh. What was I thinking? Don't use "-r recipient"
as an argument, instead use "-r" and "recipient" as 2 separate
arguments to pgp. This might fix the "gpg only encrypts to my
private key" bug?
svn path=/trunk/; revision=12510
|
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Initialize buf
and diag_buf to NULL, hopefully this fixes the crash if the
select() times out.
svn path=/trunk/; revision=12508
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): Whoops.
Double-free and FMR = bad.
svn path=/trunk/; revision=12505
|
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Peter Williams <peterw@ximian.com>
* camel-remote-store.c (remote_send_string): Don't reveal the
user's IMAP password if their server supports LITERALPLUS. Also
add some more dashes to make it line up nicely :-)
svn path=/trunk/; revision=12503
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): If the user accepts the
certificate, add it to the database as a trusted CA.
svn path=/trunk/; revision=12502
|
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Peter Williams <peterw@ximian.com>
* camel-object.c (camel_object_unref): Make the locking more
fine-grained on destruction; specifically, don't hold the
type lock while calling the finalize functions.
svn path=/trunk/; revision=12501
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c: Changed the
description/names of some of the local providers to try and
clarify the meanings.
* providers/pop3/camel-pop3-provider.c: Simplify the POP
description - we want short but sweet.
* providers/imap/camel-imap-provider.c: s/IMAPv4/IMAP
svn path=/trunk/; revision=12486
|
|
|
|
|
|
|
|
| |
2001-08-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-provider.c: s/IMAPv4/IMAP
svn path=/trunk/; revision=12485
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-27 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (convert_buffer): re-read the iconv man
page, and treat the return value properly. It returns the number
of non-reversible conversions performed, not the number of output
characters, sigh.
(check_html_charset): Changed to just take a buffer of data, and
not the mime parser.
(simple_data_wrapper_construct_from_parser): Since we dont need
the charset till we have all the data, search for the charset
after we've read the data, if we have html data with no charset in
the header.
(simple_data_wrapper_construct_from_parser): Remove the
seekable_source stuff.
* Re-apply patches from before.
svn path=/trunk/; revision=12481
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-25 Not Zed <NotZed@Ximian.com>
["Summarising" and "Synchronising" are spelt with a "s" in
ENGLISH]
* providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
s/Synchronizing/Synchronising/.
* providers/local/camel-mbox-summary.c (summary_rebuild):
s/Summarizing/Summarising/
svn path=/trunk/; revision=12470
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-disco-diary.c (camel_disco_diary_replay): Use fseek
instead of fseeko since we want to be portable and use ftell
rather than ftello for the same reason.
(camel_disco_diary_empty): Same here.
svn path=/trunk/; revision=12469
|
|
|
|
|
|
|
|
|
| |
2001-08-24 Peter Williams <peterw@ximian.com>
* Revert Not Zed's previous commits as they apparently can
cause serious data loss for POP3 users.
svn path=/trunk/; revision=12461
|
|
|
|
|
|
|
|
|
|
| |
* providers/local/camel-mbox-summary.c (mbox_summary_sync_quick):
s/Synchronising/Synchronizing/.
* providers/local/camel-mbox-summary.c (summary_rebuild):
s/Summarising/Summarizing/
svn path=/trunk/; revision=12444
|
|
|
|
|
|
|
|
|
|
| |
2001-08-24 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (convert_buffer): Limit the maximum
output buffer size. iconv bugs? returns E2BIG forever on some
(valid) data?
svn path=/trunk/; revision=12432
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-24 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c (summary_rebuild): Likewise.
* providers/local/camel-mbox-summary.c (summary_rebuild):
Summarising is spelt with an s.
2001-08-23 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (write_to_stream): If we have rawtext, then
dont do any charset conversion, only encoding/crlf conversion.
* camel-data-wrapper.h (struct _CamelDataWrapper): Added 'rawtext'
member, says the character encoding is raw, not utf8.
* providers/local/camel-spool-summary.c
(spool_summary_sync_quick): Synchronising is spelt with an s, not a z.
(spool_summary_sync_full): "
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
No, synchronising is spelt with an s.
(mbox_summary_sync_quick): "
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Remove the
warnings which aren't going anywhere fast.
(convert_buffer): Function to convert a bytearray of textual
content from one charset to another. If the charset doesn't exist
or fails, then do no conversion.
(simple_data_wrapper_construct_from_parser): First, read in data,
then try and convert it using the specified charset if supplied.
If that fails, then dont do any conversion, and leave as raw.
Also, if we have any x-* charsets, then dont do any processing.
svn path=/trunk/; revision=12429
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-23 Peter Williams <peterw@ximian.com>
* providers/local/camel-mbox-summary.c (summary_rebuild): Add a
missing \n to the end of a printf.
* providers/local/camel-spool-summary.c (summary_rebuild): Same.
svn path=/trunk/; revision=12421
|
|
|
|
| |
svn path=/trunk/; revision=12386
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-22 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_generate_uids):
Oops. Fixed a mis-use of GPtrArray. If we set_size, then using
g_ptr_array_add will assume `size' elements have already been
initialized and will start appending on to the end.
svn path=/trunk/; revision=12385
|
|
|
|
|
|
|
|
|
|
| |
2001-08-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Turn on --batch and reenable
gpg keyserver lookups.
(pgp_decrypt): Disable keyserver lookups if we are disconnected.
svn path=/trunk/; revision=12372
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-folder-thread.c
(camel_folder_thread_messages_new_summary): Fix the duplicate
message check so it doesn't mess up threading when a reply appears
in the folder before the message it's a reply to. Fixes bug #3357.
(camel_folder_thread_messages_new): Likewise, although I don't
think this function is used any more.
svn path=/trunk/; revision=12341
|
|
|
|
|
|
|
|
| |
2001-08-20 JP Rosevear <jpr@ximian.com>
* Makefile.am: build a static camel for the addressbook conduit
svn path=/trunk/; revision=12287
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
s/Synchronising/Synchronizing/.
(mbox_summary_sync_quick): Likewise.
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
Likewise.
(spool_summary_sync_quick): Likewise.
svn path=/trunk/; revision=12269
|
|
|
|
| |
svn path=/trunk/; revision=12261
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): Get the
entire directory structure for the folder we just created, meaning
if we created a folder named "test.mailbox" where test didn't
previously exist, get the listing for "test" and "test.mailbox".
* providers/imap/camel-imap-utils.c (imap_parse_folder_name): New function.
svn path=/trunk/; revision=12258
|
|
|
|
|
|
|
|
| |
2001-08-19 Chris Toshok <toshok@ximian.com>
* camel-store.h: #include <sys/types.h> for mode_t on freebsd.
svn path=/trunk/; revision=12228
|
|
|
|
|
|
|
|
|
|
| |
2001-08-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_generate_uids): Make
sure the generated UID is non-NULL before appending it to the
array of UIDs. How would this even happen? I have no clue...
svn path=/trunk/; revision=12225
|
|
|
|
| |
svn path=/trunk/; revision=12219
|
|
|
|
|
|
|
|
|
|
| |
2001-08-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Start
scanning new messages at maxuid + 1 rather than uidval + 1? Maybe
I'm missing the logic, but anyways...this might fix bug #5348.
svn path=/trunk/; revision=12170
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): If we are
online and message flags have changed in the current folder, sync
the flags else do a NOOP. This fixes bug #4666. Also lock around
the NOOP command.
* providers/imap/camel-imap-folder.c (imap_sync_online): Don't
ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like
this (and maybe others too?) so what we'll do instead is to send
"STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear
all the flags (since this is in essence what we want to do
anyway).
svn path=/trunk/; revision=12136
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_sync_online): Don't
ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like
this (and maybe others too?) so what we'll do instead is to send
"STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear
all the flags (since this is in essence what we want to do
anyway).
svn path=/trunk/; revision=12131
|
|
|
|
|
|
|
|
|
|
| |
2001-08-16 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (imap_connect_online): Fix this
again. Sigh. Problem of namespace = "" may not yet be completely
solved.
svn path=/trunk/; revision=12095
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-15 Peter Williams <peterw@ximian.com>
* camel-tcp-stream-openssl.c (ssl_error_to_errno): New function. Try
to approximate the SSL error into errno.
(errlib_error_to_errno): New function, try to approximate OpenSSl's
error library's error (ERR_*) into errno.
(stream_read): Try to set errno using ssl_error_to_errno.
(stream_write): Same.
(open_ssl_connection): Same.
svn path=/trunk/; revision=12065
|
|
|
|
|
|
|
|
|
| |
2001-08-15 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (imap_connect_online): Oh crap,
huge killer typo.
svn path=/trunk/; revision=12048
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-14 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (imap_connect_online):
Canonicalize store->namespace to end in store->dir_sep, once both
values are known. The %F-related code makes this
assumption. Probably fixes a bug reported on the mailing list.
svn path=/trunk/; revision=12040
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): After talking to NotZed,
it turns out I was wrong after all.
(store_sync): Create a copy of the folder-cache that owns a ref on
each of the folders so that if one of the folders get's finalized
inside store_sync(), we don't run into any locking issues. This is
mostly meant to solve a problem in IMAP (#6089).
svn path=/trunk/; revision=12032
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): We need to be ref'ing
the folder if/when we add it to the hash. This may fix bug #6089?
(camel_store_get_folder): Nevermind, reverted the fix.
(camel_store_get_folder): No, I wasn't on crack before after
all...if we don't ref here, then we're open to a race condition
later.
svn path=/trunk/; revision=11973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-13 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Fix a leak.
* providers/imap/camel-imap-utils.c (imap_namespace_concat): Bleah,
handle when namespace = NULL (can happen upon initial open of mailbox.)
* providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
Don't crash when %F'ing with an empty folder name and NULL namespace.
svn path=/trunk/; revision=11971
|
|
|
|
|
|
|
|
|
|
| |
2001-08-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): We need to be ref'ing
the folder if/when we add it to the hash. This may fix bug #6089?
(camel_store_get_folder): Nevermind, reverted the fix.
svn path=/trunk/; revision=11969
|
|
|
|
|
|
|
|
|
| |
2001-08-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): We need to be ref'ing
the folder if/when we add it to the hash. This may fix bug #6089?
svn path=/trunk/; revision=11968
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/local/camel-spool-summary.c (summary_rebuild):
s/summarising/summarizing/.
(summary_rebuild): Likewise.
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
s/summarise/summarize/.
(mbox_summary_sync_quick): Likewise.
(summary_rebuild): Likewise.
(mbox_summary_check): Likewise.
svn path=/trunk/; revision=11919
|
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_quote_string): Added an
assert - at this point a backtrace would be more useful than a
transaction log for debugging.
svn path=/trunk/; revision=11902
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_command_start): Return
FALSE here, not NULL.
svn path=/trunk/; revision=11893
|
|
|
|
|
|
|
|
|
| |
tedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Don't
g_strdup() the uid into the trigger_event call.
svn path=/trunk/; revision=11892
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Don't
g_strdup() the uid into the trigger_event call.
svn path=/trunk/; revision=11891
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Set the total bytes expected to 0 if the response is empty too.
(pop3_refresh_info): Return of there was an error generating pop3
uids.
svn path=/trunk/; revision=11886
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Set the total bytes expected to 0 if the response is empty too.
svn path=/trunk/; revision=11885
|
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_raw_check_mailing_list): regfree the
pattern before continue'ing. This was showing up quite a bit under
purify.
svn path=/trunk/; revision=11867
|
|
|
|
|
|
|
|
|
|
| |
2001-08-09 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_parse_string_generic): A
quoted string cannot contain \n's so check for those as well.
(imap_atom_specials): Update this to fix bug #6553.
svn path=/trunk/; revision=11845
|
|
|
|
|
|
|
|
|
|
| |
2001-08-08 Jon Trowbridge <trow@ximian.com>
* camel-filter-search.c (get_source): Remove trailing stuff from
URLs before returning. (Done in an evil way, not in the good way
suggested by fejj. :)) (Bug #4876)
svn path=/trunk/; revision=11808
|
|
|
|
|
|
|
|
|
| |
2001-08-08 jacob berkman <jacob@ximian.com>
* camel-search-private.c (camel_search_header_match): check for
NULL name and addr (fixes a bug i was about to report)
svn path=/trunk/; revision=11786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-08 Not Zed <NotZed@Ximian.com>
* camel-filter-search.c (check_header): Properly determine match
type to pass to header_match.
(address_matches_exactly): Removed, effectively added to
camel_search_header_match.
* camel-folder-search.c (check_header): Properly determine the
match type to pass to header_match.
* camel-search-private.c (camel_search_header_match): Add a new
parameter 'type' which is the type of header we're matching
against. ASIS means utf8 format, ADDRESS means an internet
address ('formatted'), ADDRESS_ENCODED means a raw address header,
ENCODED means rfc 2047 encoded text.
(header_match): Move original logic here, have search_header_match
call it as appropriate for the 'type' of match.
2001-08-07 Not Zed <NotZed@Ximian.com>
* camel-session.c (camel_session_class_init): Only init the vee
provider struct once (if we're subclassed this will get called
multiple times).
* camel-object.c (obj_finalize): Removed a bit of a debug that
crept in with jacob's poolv patch (?).
svn path=/trunk/; revision=11772
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (address_matches_exactly): New function to
do danw's address "is" comparison (as specified in bug #5886.
(check_header): Special-case address-type headers when we are
doing an exact match to use the address_matches_exactly function.
svn path=/trunk/; revision=11738
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
Modify to take a headers_only argument which will then only fetch
message headers.
(pop3_generate_uids): Pass in TRUE for headers_only.
(pop3_get_message): Pass in FALSE for headers_only and move the
camel_operation() stuff out of get_message_stream and in to here
instead.
(pop3_generate_uids): We also need to be using i+ 1 as the id
since we are starting at 0.
svn path=/trunk/; revision=11722
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_get_message_stream):
New internal function to get a message stream by message sequence
id (so that we can share code between pop3_get_message and
pop3_generate_uids).
(pop3_get_message): Use pop3_get_message_stream.
(pop3_generate_uids): New function to generate UIDs based on the
message - this fixes bug #1256.
(pop3_refresh_info): If the server doesn't support UIDL, call
pop3_generate_uids to get our list of UIDs.
* providers/imap/camel-imap-store.c (get_folder_info_online):
Don't strstr for noselect=yes, that's just plain broken.
svn path=/trunk/; revision=11721
|
|
|
|
|
|
|
|
|
| |
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (get_folder_info_online):
Don't strstr for noselect=yes, that's just plain broken.
svn path=/trunk/; revision=11714
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-folder.c (imap_rescan): Fix off-by-one
error in cleaning up deleted messages at the end of the folder.
Fixes bug #5585 and maybe others.
svn path=/trunk/; revision=11712
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-store.c (get_folder_info_online): Do a
refresh_info on the selected folder before looking at its unread
count. Should fix bug #4944.
svn path=/trunk/; revision=11710
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-06 Peter Williams <peterw@ximian.com>
Completely hide the namespace from everything external to the IMAP
code, which Dan W says is the way it should be.
* providers/imap/camel-imap-command.c
(imap_command_strdup_vprintf): Add a new %F argument, which is like
%S but will add the namespace (for folder names).
(camel_imap_command): Use %F here.
* providers/imap/camel-imap-utils.c (imap_parse_list_response):
Changed to strip out the namespec when returning *folder. In order
to do this we need to be passed the CamelImapStore.
(imap_concat): Move to here from camel-imap-store.c, un-static
(imap_namespace_concat): New function, adds the namespace to the
folder name, unless it's INBOX.
* providers/imap/camel-imap-utils.h: Prototypes.
* providers/imap/camel-imap-store.c (imap_connect_online): Extra
arg to imap_parse_list_response.
(imap_connect_offline): Here too.
(get_folder_status): Use %F.
(get_folder_online): Here too.
(delete_folder): Here too.
(create_folder): Here too, and arg to imap_parse_list_response.
(parse_list_response_as_folder_info): Arg to i_p_l_r.
(get_subscribed_folders_by_hand): Use %F.
(get_folders_online): Here too.
(get_folder_info_online): Instead of checking for NULL @name, check
for name = NULL or "", and set to "" instead of namespace. Pass ""
instead of namespace to camel_folder_info_build.
(subscribe_folder): Use %F.
(unsubscribe_folder): Here too.
* providers/imap/camel-imap-folder.c (imap_get_full_name): This
now just returns folder->full_name.
(do_append): Use %F
(do_copy): Here too.
svn path=/trunk/; revision=11705
|
|
|
|
|
|
|
|
| |
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Always do --no-auto-key-retrieve.
svn path=/trunk/; revision=11703
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-03 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Minor changes to the iconv
code so that it does the check in the return value of iconv() just
like the code in camel-mime-utils.c in case this fixes Bo Rosen's
gpg bugs (but I doubt this will change anything?).
svn path=/trunk/; revision=11622
|
|
|
|
|
|
|
|
|
|
| |
2001-08-03 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_connect): First
check to make sure that service->url->authmech is non-NULL before
passing it into strcmp to avoid a segfault.
svn path=/trunk/; revision=11618
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-03 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_decrypt): Sigh, if gpg returns '1' it
means that the key is bad but it did succeede in decrypting the
block so to make users happy (even though I find this a
questionable action) we are going to ignore the error and show it
to the user anyway. This fixes bug #6136.
svn path=/trunk/; revision=11617
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-03 Not Zed <NotZed@Ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_connect): special
case popb4smtp auth before we try and connect, and do the magic
here first.
2001-08-02 Not Zed <NotZed@Ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_connect): Check for
POPB4SMTP separate to the esmtp auth list.
(smtp_auth): If creating the sasl object means it is
already authenticated, then exit early. Sort of 'clean hack' to
help popb4smtp work.
(smtp_auth): Unref the sasl object, clean up a memleak i think.
* providers/smtp/camel-smtp-provider.c
(camel_provider_module_init): Added POPB4SMTP auth type.
* camel-sasl.c (camel_sasl_authtype): Added POPB4SMTP type.
* camel-sasl-popb4smtp.c: New file for pop before smtp
'authentication'.
* Makefile.am (libcamel_la_SOURCES, HEADERS): Add
camel-sasl-popb4smtp.[ch].
svn path=/trunk/; revision=11615
|
|
|
|
|
|
|
|
|
|
| |
2001-08-01 Not Zed <NotZed@Ximian.com>
* providers/local/camel-mbox-folder.c (mbox_lock): If we fail to
get the lock, make sure we close our locking fd, and reset it.
Fixes the crash part of 5095.
svn path=/trunk/; revision=11538
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-01 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Slightly re-arranged filter/change notification logic. If we;re
filtering, freeze the folder till we're finished to smooth the ui
for new mail.
2001-07-31 Not Zed <NotZed@Ximian.com>
* camel-folder.c (camel_folder_init): Chagned mutexes to
e_mutexes, folder lock recursive. This fixes the imap filtering
bug, or at least some cases of it.
(camel_folder_finalize): Free mutexes.
* camel-private.h (CamelFolderPrivate): Changed mutexes to
e_mutexes.
2001-07-25 Not Zed <NotZed@Ximian.com>
* camel-folder.c (camel_folder_change_info_*): Change the
return if fail's into asserts.
(camel_folder_change_info_free): Don't let it accept a NULL
argument. This isn't g_lib so we dont have to.
svn path=/trunk/; revision=11537
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_param): Fix the fix that fixes
broken mailer behavior. We want to make sure that the user's
locale charset is non-NULL before we pass it off to
iconv_open(). If it *is* NULL, we want to use iso-8859-1.
svn path=/trunk/; revision=11448
|
|
|
|
|
|
|
|
|
| |
2001-07-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-url.c (camel_url_free): Allow the url to be NULL just like
the libc free convention.
svn path=/trunk/; revision=11437
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-command.c (camel_imap_command_start):
Send an IMAP command, but don't wait for responses.
(camel_imap_command_response): Read a single line of response from
the server.
(camel_imap_command, etc): Reimplement in terms of the new code.
* providers/imap/camel-imap-folder.c (imap_rescan): Use
camel_imap_command_start and camel_imap_command_response, and
call camel_operation_progress after each line read from the
server.
(imap_update_summary): Likewise, although with more fudging on the
precentages... Also, fix this so that if none of the new messages
are cached, it only does a single FETCH, and if some of them are
cached, it does two FETCHes (one to get the UIDs, FLAGS, and
SIZEs, and another to get the bodies of all of the messages that
aren't cached now that it knows the relevant UIDs). This should
speed up startup a bunch (especially if you have high bandwidth
but also high latency to the IMAP server).
svn path=/trunk/; revision=11430
|
|
|
|
|
|
|
| |
* camel-mime-utils.c (mail_mlist_magic): Add another Sender
pattern.
svn path=/trunk/; revision=11399
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-24 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Change the break into a continue, we should process as many as we
can find.
* camel-folder.c (camel_folder_move_messages_to): If we have no
uid's to copy, exit here before going any further. Some code
internally [imap] assumes there are uids to copy otherwise it can
segfault.
(camel_folder_copy_messages_to): Same.
svn path=/trunk/; revision=11392
|
|
|
|
| |
svn path=/trunk/; revision=11363
|
|
|
|
|
|
|
|
|
|
| |
2001-07-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_param): Handle broken mailers
that send unencoded 8bit header params. And there was much
rejoicing. Rah.
svn path=/trunk/; revision=11362
|
|
|
|
|
|
|
|
|
| |
2001-07-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-url.h (CAMEL_URL_HIDE_ALL): New #define, and there was
much rejoicing. Rah.
svn path=/trunk/; revision=11351
|
|
|
|
|
|
|
|
|
| |
2001-07-24 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_register, unregister): Added
some warnings for bad cases.
svn path=/trunk/; revision=11333
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-24 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_register, unregister): Added
some warnings for bad cases.
2001-07-23 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_register): Only insert a hash
entry if we haven't already.
(camel_operation_unregister): Only remove the has entry if the id
is a real thread.
svn path=/trunk/; revision=11329
|
|
|
|
|
|
|
|
|
|
| |
2001-07-23 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_move): Slight fix for when source ==
destination (we don't want to do this action because on-demand
filtering would then delete the messages it supposedly "moved").
svn path=/trunk/; revision=11304
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-23 Not Zed <NotZed@Ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_auth, smtp_helo,
send_to): Added some operation progress reporting. Actual data
transfer is 'tricky' because of the layers used.
(smtp_auth): Instead of checking exception_is_set, use
challenge==NULL to test if sasl_challenge_base64 failed.
* providers/local/camel-mbox-summary.c (mbox_summary_sync): Remove
peters changes below and put in a better fix. These functions
already return -1 on error, just use that, and not worry about
building our own exception redundantly.
* camel-service.c (camel_get_host_byname): Turn the progress into
a transient event.
svn path=/trunk/; revision=11301
|
|
|
|
|
|
|
|
|
|
| |
2001-07-20 Peter Williams <peterw@ximian.com>
* providers/local/camel-mbox-summary.c (mbox_summary_sync): More
usage fixes for CamelException. Check our own exception for
summary_update and xfer it out if an error occurred.
svn path=/trunk/; revision=11273
|
|
|
|
|
|
|
|
| |
2001-07-20 JP Rosevear <jpr@ximian.com>
* Pull up test fixes to get them building again
svn path=/trunk/; revision=11270
|
|
|
|
|
|
|
|
|
| |
2001-07-20 Not Zed <NotZed@Ximian.com>
* camel-charset-map.c (camel_charset_get_iconv_friendly_name):
renamed to camel_charset_to_iconv() to make it just a little more
svn path=/trunk/; revision=11254
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-charset.c
(camel_mime_filter_charset_new_convert): Convert to the
iconv-friendly charset names.
* providers/imap/camel-imap-store.c (create_folder): Fixed a
compiler warning about returning without a value in a non-void
function. Blah.
* camel-mime-part.c (process_header): Pass the locale charset as
the default_charset to header_decode_string().
* camel-folder-summary.c (camel_folder_summary_format_string):
Pass the locale charset as the default_charset to
header_decode_string().
(content_info_new): Same.
* camel-mime-message.c (process_header): Pass the locale charset
as the default_charset to header_decode_string().
* camel-mime-utils.c (append_8bit): New helper function who's
purpose is similar to append_latin1() but for 8bit text that we
are assuming is not latin1.
(header_decode_text): Now takes a default_charset parameter and
calls append_8bit when appropriate.
(header_decode_string): Also takes a default_charset parameter
now.
(header_decode_mailbox): Pass NULL as the default_charset to
header_decode_string().
svn path=/trunk/; revision=11250
|
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): Fixed a
compiler warning about returning without a value in a non-void
function. Blah.
svn path=/trunk/; revision=11247
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Modified to treat the return
value from camel_charset_locale_name() as a const char*.
* camel-sasl-digest-md5.c (digest_response): Modified to treat the
return value from camel_charset_locale_name() as a const char*.
* camel-charset-map.c (camel_charset_locale_name): Modify to
return const char* by returning the static locale_charset which is
created inside of camel_charset_map_init().
(camel_charset_map_init): Find the locale charset here and set the
static variable.
svn path=/trunk/; revision=11245
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Peter Williams <peterw@ximian.com>
Policy change: NULL url's are no longer allowed in CamelFolderInfos. They used
to signify that the folder was, in IMAP jargon, NoSelect; now the same effect
is achieved by adding a "noselect=yes" parameter to the end of the URL. As far
as I know, IMAP is the only affected provider.
* providers/imap/camel-imap-store.c (delete_folder): New function. Implement
folder deletion.
(camel_imap_store_class_init): Set the delete_folder class function here.
(get_folder_status): New function. Utility wrapper around the STATUS command.
(create_folder): If the parent folder is NoSelect but is empty, delete it
and recreate it as a a subfolder-containing folder. If it is NoSelect but
contains messages, set an exception.
(parse_list_response_as_folder_info): Always set the FolderInfo's URL, but
add a NoSelect parameter if it isn't selectable.
(get_folder_info_online): Change logic of removing the namespace to reflect
URL change. Same for logic of checking unread counts.
(get_folder_info_online): Use get_folder_status to simplify this.
* camel-store.c (camel_folder_info_build): When creating
dummy parents, copy the child's URL and set the NoSelect
parameter.
In mail:
2001-07-19 Peter Williams <peterw@ximian.com>
Track the NoSelect changes in Camel.
* mail-callbacks.c (create_folders): We don't need to check if
the URL is NULL or not anymore.
* component-factory.c (create_noselect_control): New
function. Create a dummy control for folders that can't contain
messages (ie \NoSelect)
(create_view): If the URI says the folder is noselect, make a
dummy control. FIXME: still should merge in the global UI
elements.
(xfer_folder): Don't allow the operation if the destination is
NoSelect.
(destination_folder_handle_motion): Ditto.
(destination_folder_handle_drop): Ditto.
svn path=/trunk/; revision=11237
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): No need for
`acharset' anymore.
(check_html_charset): Return a const char* and also use
camel_charset_get_iconv_friendly_name() internally.
svn path=/trunk/; revision=11236
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (rfc2047_decode_word): Remove my iso8859-1 ->
iso-8859-1 hack and use camel_charset_get_iconv_friendly_name()
instead.
(rfc2184_decode): Use camel_charset_get_iconv_friendly_name()
* camel.c (camel_init): Call camel_charset_map_init().
* camel-charset-map.c (camel_charset_map_init): New function to
initialize the charset-equivalent lookup table. To be called by
camel_init().
(camel_charset_get_iconv_friendly_name): New function to try and
convert a charset into something that iconv is more likely to
accept.
svn path=/trunk/; revision=11235
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Peter Williams <peterw@ximian.com>
* Revert 7/11/2001 patch for IMAP INBOX filtering at NotZed's
request.
svn path=/trunk/; revision=11226
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-17 Peter Williams <peterw@ximian.com>
Clean up some exception misusage.
* providers/imap/camel-imap-command.c (camel_imap_command): Use
our own internal exception for sending the string and transfer it
to @ex if anything goes wrong.
(imap_read_response): Use our own internal exception for reading
the untagged responses and blah blah blah.
* camel-session.c (get_service): Use our own internal exception
when constructing the service and transfer it to @ex if anything
goes wrong.
* camel-remote-store.c (remote_recv_line): Instead of having
gboolean exception, use our own internal exception and copy
it to @ex if anything goes wrong.
* camel-store.c (store_sync): Create an internal exception
because sync_folder() checks it for validity. Transfer it to
@ex when done.
* camel-exception.c (camel_exception_get_description): If @ex is
NULL, complain - passing NULL exceptions to Camel is okay, but
there should be no circumstances under which they're then
examined.
(camel_exception_get_id): Same here,
(camel_exception_xfer): NULL-protect and warn if transferring from
a NULL exception.
svn path=/trunk/; revision=11177
|
|
|
|
|
|
|
|
|
|
| |
2001-07-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (init_trash): Use CAMEL_VTRASH_NAME.
* camel-vtrash-folder.h: #define CAMEL_VTRASH_NAME
svn path=/trunk/; revision=11158
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-command.c (camel_imap_response_free):
Given:
* 4 EXISTS
* 1 EXPUNGE
We have to pass 3, not 4 to camel_imap_folder_changed for the
exists count. Fixes ximian bug #2112 (finally!).
svn path=/trunk/; revision=11133
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
If the message info for an expunged message is NULL, then just
break out - maybe a message was expunged that we were never
notified even existed?
svn path=/trunk/; revision=11106
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (rfc2047_decode_word): Added a hack to
convert charsets in the format iso8859-1 to iso-8859-1 because it
seems to be more iconv friendly. It has been reported that on some
systems, iconv doesn't know about iso8859-1 while it *does* know
about iso-8859-1. See bug #4530.
svn path=/trunk/; revision=11094
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-13 Peter Williams <peterw@ximian.com>
* Makefile.am (install-exec-local): Let people install as non-root,
but give them a bigass warning so they're not allowed to complain when
it doesn't work right.
* camel-remote-store.c (sync_remote_folder): New function:
hash table callback.
(remote_disconnect): If cleanly disconnecting, sync our folders. Fixes
deadlocks on exit (folders syncing after store disconnects) and also makes
sense.
svn path=/trunk/; revision=11090
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-uid-cache.c (camel_uid_cache_new): We now use a structure
as the bucket data rather than just a cache level so set the save
state to TRUE.
(maybe_write_uid): We only save the uid if the cache levels are
the same *and* if the save state is TRUE.
(free_uid): Free the state value.
(camel_uid_cache_get_new_uids): New uids that get added to the
cache start with a save state of FALSE.
(camel_uid_cache_save_uid): Set the save state of the uid to
TRUE. What should we do if the uid isn't already in the cache?
Currently I make it add the uid, but maybe it shouldn't?
* providers/imap/camel-imap-folder.c (imap_filter_timeout): Update
to reflect CamelFilterDriver API changes.
* camel-filter-driver.c (camel_filter_driver_filter_folder): Take
a cache argument so we can tell the cache whether or not the uid
should be saved (meaning we have successfully filtered it).
svn path=/trunk/; revision=11084
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_message):
Okay, I've decided that that user is just on crack. We don't want
to allow filtering of deleted messages or we could get some
unexpected behavior.
(do_move): Oops. My last fix needs to be after the if-statement,
not inside it.
(do_copy): And here too.
svn path=/trunk/; revision=11068
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_message):
Okay, I've decided that that user is just on crack. We don't want
to allow filtering of deleted messages or we could get some
unexpected behavior.
svn path=/trunk/; revision=11048
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_move): Only set p->copied and
p->deleted if the messages are copied without an exception.
(do_copy): Same - but obviously we don't set the p->deleted here
at all.
(camel_filter_driver_filter_message): Since users complained that
they couldn't filter deleted messages for "safe keeping" (WTF?
safe keeping? why were they deleted in the first place then??), I
have taken out the code that optimized filtering by not allowing
deleted messages to be filtered. This fixes bug #4473.
Note: Users have a warped sense of logic.
svn path=/trunk/; revision=11047
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-12 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (extract_metatag_charset): Removed.
(check_html_charset): Replaced with this.
(simple_data_wrapper_construct_from_parser): Call
check_html_charset if we dont have a charset on the content-type,
and we have text/html data.
(check_html_charset): We also need to do qp/base64 decoding
ourselves, sigh.
* camel-mime-utils.c (html_meta_param_list_decode): Removed. This
was very wrong, the rules for mail headers vastly different from
rules for decoding html elements.
(rfc2184_decode): Move the malloc inside the iconv_open worked,
otherwise we have a memleak.
* camel-mime-filter-html.c (camel_mime_filter_html_finalize, init,
run, reset): Changed to use camelhtmlparser, and fixed a tiny
memleak.
* camel-html-parser.c: Made the html indexer tokeniser re-usable.
ONLY TO BE USED INTERNAL TO CAMEL HOWEVER.
(tokenise_step): Slight fix to non-quoted values.
svn path=/trunk/; revision=11028
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-12 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c
(camel_folder_summary_info_new_from_message): Removed some code i
wasn't supposed to commit.
* providers/local/camel-local-summary.c (local_summary_add): Only
set info->size if it is not zero.
(local_summary_add): If we dont get a size from the info passed
in, calculate it using a null stream write. Should do #4392.
svn path=/trunk/; revision=11025
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c (extract_metatag_charset): New function
to extract a meta-tag charset value if it exists.
(simple_data_wrapper_construct_from_parser): Along the same lines
as the code I previously ripped out, but this time use the
mime-parser's seek ability to help us along. Currently I read up
to a 2k buffer size - this is probably overkill, 1k is probably
plenty.
* camel-mime-utils.c (html_meta_param_list_decode): When we get to
an `=', we must skip past it before trying to grab the param
value. duh.
svn path=/trunk/; revision=11021
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Ripped out my code
since it was never being used since the mime parser is not using a
seekable stream (ever?) which pretty much means my code needs to
be done someplace else.
svn path=/trunk/; revision=11016
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-11 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Run the filter in its own thread to prevent locking issues.
(imap_filter_timeout): New function that does the filtering called
as a CamelSession timeout.
svn path=/trunk/; revision=11011
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-11 Not Zed <NotZed@Ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_mbox): Create
the messageinfo itself, so we can properly set the size.
* camel-movemail.c (camel_movemail_solaris): Write out the from
line between each message.
2001-07-10 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-summary.c (local_summary_add): Copy
the size across from the source message info if supplied.
* camel-stream-null.c: Added a 'written' member which keeps track
of how much has been written to the stream.
* camel-movemail.c (camel_movemail): If we have BROKEN_SPOOL
defined, then use the solaris movemail to quote from lines that
sendmail didn't.
(camel_movemail_solaris): Compile this in if BROKEN_SPOOL defined.
svn path=/trunk/; revision=10989
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (html_meta_param_list_decode): New function
to parse an HTML meta-tag.
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): If the Content-Type
did not contain a charset parameter and it's also a text/html
part, we have 1 last place to look - in the META html tags. *sigh*
* camel-mime-message.c (camel_mime_message_get_source):
s/gint/unsigned since that's what it should be.
svn path=/trunk/; revision=10976
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_sign): Forget the passphrase if the
user has set that option.
(pgp_clearsign): Same.
(pgp_encrypt): And here...
(pgp_decrypt): And finally here.
(camel_pgp_context_new): Take a `remember' argument.
svn path=/trunk/; revision=10932
|
|
|
|
|
|
|
|
|
| |
2001-07-09 Not Zed <NotZed@Ximian.com>
* providers/local/camel-maildir-summary.c (maildir_summary_sync):
Oops, e_poolv_set free's it for us, so dont double-free here.
svn path=/trunk/; revision=10902
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_finalise): Changed so we
dont have the list changing under us, just going to the next node
before we call a function that might change the list is
potentially dangerous (slight mod of peters fix). Hmm, i think it
would've double-unref'd it too(?)
svn path=/trunk/; revision=10900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-08 Chris Toshok <toshok@ximian.com>
* camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize):
openssl_table is gone. we now store/get the stream from the
SSL_CTX's app_data.
(stream_read): rework the non-blocking case to account for SSL
possibly buffering data (in which case select will block even
though data is ready to be read), and to account for FreeBSD's
strange behavior of returning -1/EAGAIN even though select said
the fd was ready to be read.
(ssl_verify): openssl_table is gone.
(open_ssl_connection): set the SSL_CTX's app_data to be the
stream, remove the openssl_table code.
svn path=/trunk/; revision=10894
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_encode_param): Don't allow in to be
NULL, so instead of doing if (in == NULL) return;, make it a
g_return_val_if_fail and later we can make it an assert or
something.
svn path=/trunk/; revision=10868
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-maildir-store.c (get_inbox): Fixes bug
#1138.
svn path=/trunk/; revision=10860
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-mbox-summary.c
(camel_mbox_summary_build_from): Make the `day-of-month' digit
take up 2 chars by using "%2d". Fixes bug #3989 for lame mailers
like Pine.
svn path=/trunk/; revision=10858
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Set the pipe fd's
to nonblocking.
svn path=/trunk/; revision=10847
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Peter Williams <peterw@ximian.com>
* camel-object.c (camel_object_unref): Make sure that after the
finalization event has happened and the finalization functions
have been called that the object still has a zero refcount.
svn path=/trunk/; revision=10844
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Joe Shaw <joe@ximian.com>
* providers/nntp/camel-nntp-grouplist.c: Add locking to
camel_nntp_get_grouplist_from_server().
* providers/nntp/camel-nntp-resp-codes.h: Added
NNTP_EXTENSIONS_SUPPORTED (202).
* providers/nntp/camel-nntp-store.c (camel_nntp_store_get_extensions):
Check for both NNTP_LIST_FOLLOWS and NNTP_EXTENSIONS_SUPPORTED from
a LIST EXTENSIONS request. (Dunno if NNTP_LIST_FOLLOWS ever comes
out of this, but that's what was already there...) Also, put some
locking around it.
(finalize): e_mutex_destroy() the command lock
(camel_nntp_store_init): e_mutex_new() the command lock.
* providers/nntp/camel-nntp-store.h: Add locking macros.
svn path=/trunk/; revision=10838
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (camel_message_info_string): Added an
assert to make sure that `mi' isn't NULL.
(camel_message_info_set_string): Same.
* providers/imap/camel-imap-command.c (camel_imap_response_free):
Create and use a temporary CamelException for use with
camel_imap_folder_changed.
svn path=/trunk/; revision=10834
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Send the
--no-auto-key-retrieve argument to gpg if we are in offline mode
so that we don't have to worry about gpg hanging if it can't
connect to the key servers, because now it shouldn't even attempt
to.
svn path=/trunk/; revision=10831
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_verify): Send the
--no-auto-key-retrieve argument to gpg so that we don't have to
worry about gpg hanging if it can't connect to the key servers,
because now it shouldn't even attempt to.
svn path=/trunk/; revision=10827
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Chris Toshok <toshok@ximian.com>
* camel-tcp-stream-openssl.c (ssl_verify): use
X509_STORE_CTX_get_ex_data to get at the SSL* - don't use the
X509_STORE_CTX to look up our stream, since it's not what we used
to insert our stream into the hashtable.
(open_ssl_connection): insert the stream into the hashtable before
calling SSL_connect, as this can cause ssl_verify to be called,
and we need to look up the stream there. remove the stream from
the hashtable if there's an error connecting.
(stream_connect): pass the CamelTcpStreamOpenSSL* to
open_ssl_connection since it handles the hashtable stuff. remove
hashtable stuff from here.
svn path=/trunk/; revision=10819
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c (camel_folder_copy_messages_to): if source ==
dest, just no-op.
svn path=/trunk/; revision=10817
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Peter Williams <peterw@ximian.com>
* camel-vee-folder.c (camel_vee_folder_finalise): Move this before the
camel_vee_folder_remove_folder because that function modifies p->folders
messing up our iteration.
(camel_vee_folder_finalise): Don't unref our summary; camel-folder now
does this.
* camel-object.h (CamelObject): Add a 'destroying' flag to CamelObject.
* camel-object.c (obj_init): Clear 'destroying'.
(camel_object_unref): If 'destroying' then do not send the finalize
event and do not call finalize functions. Otherwise, set destroying
so just in case we get refed (eg event code) we don't get doubly
finalized.
svn path=/trunk/; revision=10811
|
|
|
|
|
|
|
| |
e_poolv_cpy() call, since it may allocaote a new poolv if the
lengths do not match.
svn path=/trunk/; revision=10790
|
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Not Zed <NotZed@Ximian.com>
* camel-mime-filter-basic.c (filter): Fix the assertion slightly,
if we have a little bit of input the output size could be larger,
since we store upto 3 chars in the state.
svn path=/trunk/; revision=10786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-05 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c
(camel_folder_summary_info_new_from_message): When indexing a new
record, create a pseudo word 'ibexindexed' so we can always tell
that a message has already been idnexed, even if it contains no
words of its own. Things like maildir use this check to see if
its already been processed, and it matters if it is incorrect in
this case (not just wasted cycles).
(camel_folder_summary_info_new_from_parser): And same here.
* providers/local/camel-maildir-summary.c (maildir_summary_sync):
Changed the logicfor epoolv code to be different, we dont need to
update hash references or any tricky stuff.
(maildir_summary_check): Samehere.
* camel-folder-summary.h: Removed include of e-memory.h.
svn path=/trunk/; revision=10785
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-03 Joe Shaw <joe@ximian.com>
* providers/nntp/camel-nntp-resp-codes.h: Added NNTP_NO_PERMISSION
(502) to the list of response codes.
* providers/nntp/camel-nntp-store.c (nntp_store_connect): If we
receive a NNTP_NO_PERMISSION, don't get into an infinite loop trying
to reconnect, get extensions, etc. Just give up and return FALSE.
svn path=/trunk/; revision=10769
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_clear): Doh. Don't remove things from
the hash table while foreach'ing it. (And can't use foreach_remove
either because we have to remove them in a weird order). Fixes
#3618.
* providers/imap/camel-imap-folder.c (imap_get_message): If the
server returns OK from the FETCH BODY, but there's no parseable
BODY response, it's probably because there's an UN-parseable BODY
response, implying the message is badly formatted, MIMEwise. In
that case, fall back to fetching the message as a single part.
svn path=/trunk/; revision=10748
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-02 Sam Creasey <sammy@oh.verio.com>
* providers/nntp/camel-nntp-folder.c: Implemented
nntp_folder_search_by_expression and
nntp_folder_search_free. Basic search functionality e.g. unread
marking now works for NNTP folders.
* camel_filter_search.c (get_size): Added get-size sexp directive
to get the size of a message for filters.
* providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new):
Always check with the NNTP server after summary load -- this
function now always expires old summary entries and syncs with
the news server.
* providers/nntp/camel-nntp-utils.c (camel_nntp_get_headers):
Only fetch headers for articles not already logged in
the summary file.
* providers/nntp/camel-nntp-grouplist.c
(camel_nntp_get_grouplist_from_*): change from g_list_append()
to g_list_prepend() + g_list_reverse. Traversing 40,000
element linked lists sucks.
* providers/nntp/camel-nntp-store.c (camel_nntp_command):
Should the NNTP connection die with
CAMEL_EXCEPTION_SERVICE_NOT_CONNECTED, make a single retry
attempt. Timing out the NNTP link is less painful this way.
svn path=/trunk/; revision=10716
|
|
|
|
|
|
|
|
|
| |
2001-07-02 Peter Williams <peterw@ximian.com>
* README (Introduction): Add comment noting that Camel actually
exists now :-)
svn path=/trunk/; revision=10696
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-session.c (camel_session_get_filter_driver): new method to
get an application-initialized filter driver.
* camel-filter-driver.c (camel_filter_driver_new): Remove the
get_folder function and data args from here...
(camel_filter_driver_set_folder_func): ...and add this function to
set/change them.
* providers/imap/camel-imap-folder.c (camel_imap_folder_new): If
this folder is INBOX and we're filtering INBOX, set a flag on the
folder for later.
(imap_update_summary): Add another argument (GPtrArray *recents),
and if it's non-NULL, add the uids of any \Recent new messages to
it.
(camel_imap_folder_changed): If doing filtering in this folder,
create a recents array and pass it to imap_update_summary. Then
get a filter driver and use it to filter the recent messages.
* providers/imap/camel-imap-summary.h:
* providers/imap/camel-imap-utils.c (imap_parse_flag_list): Add
support for the \Recent flag.
* providers/imap/camel-imap-provider.c (imap_conf_entries): enable
the "filter" option.
* camel-types.h: add CamelFilterDriver typedef here
svn path=/trunk/; revision=10681
|
|
|
|
|
|
|
|
|
| |
2001-07-02 Not Zed <NotZed@Ximian.com>
* camel-lock-client.c (camel_lock_helper_init): properly return
error if we can't create pipes.
svn path=/trunk/; revision=10677
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-02 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c (summary_build_content_info): re-enable
html indexing.
* camel-mime-filter-html.c: Completely re-implemented using a
custom parser.
svn path=/trunk/; revision=10676
|
|
|
|
|
|
|
| |
* tests/misc/url.c (main): Change a camel_exception_clear to
camel_exception_init to fix a sometimes-crash
svn path=/trunk/; revision=10675
|
|
|
|
|
|
|
|
|
| |
2001-06-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c: Added Originator: header as a header to look
for when looking for the mailing list.
svn path=/trunk/; revision=10603
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-29 Jeffrey Stedfast <fejj@ximian.com>
* tests/mime-filter/Makefile.am: Build the test-crlf test program.
* tests/mime-filter/test-crlf.c: New test suite for the crlf
filter.
* camel-mime-filter-crlf.c (filter): Fixed to correctly encode and
decode dots.
svn path=/trunk/; revision=10602
|
|
|
|
| |
svn path=/trunk/; revision=10592
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by sendmail to strip the BCC from the email while still sending to the BCC
recipients.
camel:
2001-06-28 Peter Williams <peterw@ximian.com>
* camel-mime-filter-stripheader.c: New file. Filter that strips a
header from mime output.
* camel-mime-filter-stripheader.h: New file. Header for the above.
* providers/smtp/camel-smtp-transport.c (smtp_data): Use the stripheader
filter to remove the "Bcc" header.
* Makefile.am: Add the stripheader files.
* tests/lib/Makefile.am (INCLUDES): Get this to compile again.
* tests/mime-filter/test-stripheader.c: New file. Test suite for
the CamelMimeFilterStripHeader.
* tests/mime-filter/Makefile.am: New test section: mime filters.
mail:
2001-06-28 Peter Williams <peterw@ximian.com>
* mail-ops.c (mail_send_message): Revert fejj's Bcc header removal;
this unsets the BCC recipients and so doesn't send to the Bcc'd
people at all.
svn path=/trunk/; revision=10576
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_param_list): Fix a memory
leak. Also if the decoded value is NULL, that means it wasn't
encoded so we don't want to toss the old value.
(header_param_list_format_append): Correctly wrap long parameter
values according to rfc2184.
svn path=/trunk/; revision=10566
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-folder.c (imap_refresh_info): If the
folder is frozen, don't refresh, just record that we need to do it
later.
(imap_append_online): If the APPEND doesn't trigger an immediate
EXISTS response (because the folder isn't the selected folder, or
because the server doesn't do that until the next command), call
imap_refresh_info on the folder.
(imap_copy_online): Likewise. (Replacing the unconditional NOOP
that was there before, which absolutely killed filter performance
by forcing the IMAP provider to switch back and forth between
folders after every copy or move.)
(imap_thaw): If the folder needs a refresh, do it.
* camel-folder.c (camel_folder_is_frozen): New method
svn path=/trunk/; revision=10565
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-transport.c (camel_transport_init): Initialize the private
send_lock.
(camel_transport_finalize): Free the private send_lock.
(camel_transport_get_type): Set the init and finalize functions.
(camel_transport_send): Lock the transport.
(camel_transport_send_to): Same.
* camel-private.h: Add CAMEL_TRANSPORT_(UN)LOCK macros.
svn path=/trunk/; revision=10547
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-27 Jeffrey Stedfast <fejj@ximian.com>
* tests/folder/test9.c (main): Updated to match the current API.
* tests/folder/test3.c: #include <gtk/gtk.h> since we use
gtk_init().
svn path=/trunk/; revision=10546
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-internet-address.c
(camel_internet_address_encode_address): Use the new
header_address_fold.
* camel-mime-utils.c: Removed some old #if 0'd code of mine.
(rfc2047_encode_word): If enclen is 0, don't write an encoded word
token (=?iso-8859-7?Q??= would be an invalid token).
(header_address_fold): New function to wrap address headers -
header_fold() was force-wrapping rfc2047 encoded words which was
making the test suite fail. The *real* solution, however, is to
not create rfc2047 encoded words longer than 72 chars.
svn path=/trunk/; revision=10545
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (open_folder): Since we want an error
opening a folder to result in the message being copied to Inbox
(assuming no other filters get a chance to `move` it), don't
record any exceptions that may occur in this function.
svn path=/trunk/; revision=10515
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-folder.c (camel_imap_folder_selected,
imap_append_offline, imap_append_online,
camel_imap_folder_changed): lock the cache around accesses
* providers/imap/camel-imap-store.c (get_folder_online): ref the
newly-created folder (as current_folder) before calling
camel_imap_folder_selected, in case that needs to do something
that causes another folder to become current...
svn path=/trunk/; revision=10509
|
|
|
|
|
|
|
| |
* camel-service.c (camel_service_get_url): D'oh.
s/FALSE/CAMEL_URL_HIDE_PASSWORD/
svn path=/trunk/; revision=10505
|
|
|
|
|
|
| |
* camel-url.c (camel_url_encode): constify args
svn path=/trunk/; revision=10503
|
|
|
|
|
|
| |
* camel-url.c (camel_url_encode): constify args
svn path=/trunk/; revision=10501
|
|
|
|
|
|
|
|
|
|
| |
2001-06-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (get_source): g_strdup() the message
source here or we will have problems later when we go to free the
result ;-)
svn path=/trunk/; revision=10498
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-store.c (try_auth): Fix this: IMAP
doesn't allow an extra argument to AUTHENTICATE to avoid a useless
round trip like some other SASL bindings do.
* providers/imap/camel-imap-command.c (imap_read_response): Deal
with IMAP servers that (incorrectly) return "+\r\n" rather than
"+ \r\n" for an empty continuation response.
(camel_imap_response_extract_continuation): Likewise.
svn path=/trunk/; revision=10480
|
|
|
|
|
|
| |
helixcode.com with ximian.com all over the place.
svn path=/trunk/; revision=10440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (word_types_compatable): New function that
decides if 2 word types are mergeable. An atom and a qstring are
mergeable; 2 qstrings are mergeable; and 2 encoded words are
mergeable.
(header_encode_phrase_merge_words): If 2 words are merged, the new
word type is the MAX of the combined types. This means that if we
merge a qstring and an atom, the resulting word type is a
qstring.
* camel-internet-address.c (internet_format):
s/g_string_sprintfa/g_string_append since this makes more sense in
this particular case.
(internet_encode): Same here.
svn path=/trunk/; revision=10377
|
|
|
|
|
|
|
|
|
|
| |
2001-06-21 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_send): Use
camel_address_length() rather than casting and accessing data
members.
svn path=/trunk/; revision=10365
|
|
|
|
|
|
|
|
|
|
| |
2001-06-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_raw_check_mailing_list): If the first
char of the mailing-list name is '<', chop it off to make Ettore
happy. Fixes bug #2153.
svn path=/trunk/; revision=10347
|
|
|
|
| |
svn path=/trunk/; revision=10297
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-19 Not Zed <NotZed@Ximian.com>
* camel-lock-helper.c (unlock_id): Fixed a bug when not running
setuid it wouldn't unlock.
* camel-movemail.c (camel_movemail): use new
locking daemon, also return an error code.
svn path=/trunk/; revision=10287
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-18 Jeffrey Stedfast <fejj@ximian.com>
Note: Except for the info_free(), the NULL checks are
g_return's. I felt that since g_free() handles NULL that our
_free() functions should also.
* camel-folder.c (camel_folder_change_info_free): Check to make
sure that the info pointer isn't NULL.
(camel_folder_change_info_change_uid): Same.
(camel_folder_change_info_changed): Same.
(camel_folder_change_info_remove_uid): Same.
(camel_folder_change_info_add_uid): Same.
(camel_folder_change_info_build_diff): Same.
(camel_folder_change_info_cat): Same.
(camel_folder_change_info_add_source): Same.
(camel_folder_change_info_add_source_list): Same.
(camel_folder_change_info_add_update): Same.
(camel_folder_change_info_add_update_list): Same.
svn path=/trunk/; revision=10280
|
|
|
|
|
|
|
|
|
|
| |
* tests/stream/Makefile.am (LDADD):
* tests/smime/Makefile.am (LDADD):
* tests/misc/Makefile.am (LDADD):
* tests/message/Makefile.am (LDADD):
* tests/folder/Makefile.am (LDADD): Remove DB3_LDADD
svn path=/trunk/; revision=10272
|
|
|
|
|
|
|
| |
* Makefile.am (install-exec-local): Set camel-lock-help setgid or
setuid as needed
svn path=/trunk/; revision=10267
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-06-18 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c
(camel_folder_summary_info_new_from_parser): Only create a missing
uid if we have indexing turned on.
* camel-lock-helper.c (setup_process): Function to setup
process/sanity/security checks. Change to the real uid as soon as
we can.
(lock_path): First try to lock as the real uid, if that fails, try
the root uid.
(unlock_id): Unlock as the uid we created the lock as.
* Makefile.am (INCLUDES): Added -DCAMEL_SBINDIR for lock helper
location.
* providers/local/camel-spool-folder.c (spool_lock): Implemented,
using lock helper locking. Need to work out if the locking
requires a root created lock?
(spool_unlock): Likewise.
2001-06-15 Not Zed <NotZed@Ximian.com>
* camel-lock-helper.c: Setuid Lock helper process. Creates and manages
.locks, keeping them active, removing them, etc. What real perms it
needs is a little system dependent.
2001-06-14 Not Zed <NotZed@Ximian.com>
* providers/local/camel-maildir-store.c (get_folder_info): Implement.
(scan_dir): Does the work of scanning for maildir directories.
2001-06-13 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (get_folder_info):
Implemented, just returns a hardcoded INBOX folder.
(free_folder_info): implemented, free's the 1 possible level of
folder info.
* providers/local/camel-spool-folder.c
(camel_spool_folder_construct): Set the real unread message
count on the folder_created thing.
svn path=/trunk/; revision=10261
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_max_uid): Return the largest real UID in
the cache (as an integer). Eventually to be used for an
optimization in the new-message fetch code.
(cache_put): Keep track of max_uid.
svn path=/trunk/; revision=10254
|
|
|
|
|
|
|
|
|
| |
2001-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c: Added Mailing-List header regex so that we
can do mlist magic on that header.
svn path=/trunk/; revision=10242
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-05-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_param): Properly handle
correct and incorrect (for the common case, ie Outlook and
Netscape/Mozilla) rfc2184 values.
(header_decode_rfc2184_param): Get the param name and see if we
should expect a rfc2184 parameter value.
(rfc2184_decode): Decode a rfc2184 value.
(hex_decode): hex decode a string.
(header_decode_param_list): Handle rfc2184 encoded parameters (ie
parameters that have been split and perhaps encoded).
(header_param_list_format_append): Encode the value before seeing
if it will fit on the line. If the value does get encoded, be sure
to put a '*' before the equal-sign.
(header_encode_param): New function to rfc2184 encode a parameter
value (maybe it should be renamed?)
apparently with my last commit, I had also commit'd this but didn't realise it.
svn path=/trunk/; revision=10241
|
|
|
|
|
|
|
|
|
| |
2001-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (init_header_name_table): Don't try to format
the Reply-To header - we don't want to wrap the reply-to address.
svn path=/trunk/; revision=10231
|