| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (imap_noop): Override the
default noop implementation.
* camel-store.c (camel_store_noop): New virtual method to ping a
store.
* camel-session.c (get_service): Register a timeout that calls
camel_store_noop() every 10 minutes.
svn path=/trunk/; revision=17822
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-19 Peter Williams <peterw@ximian.com>
Plug some large leaks in the indexing code.
* camel-mime-filter-index.c (camel_mime_filter_index_set_index): Unref
the old index if necessary.
* camel-text-index.c (camel_text_index_get_type): Give it the correct
parent type so that finalize handlers chain.
(camel_text_index_name_get_type): Here too.
(camel_text_index_cursor_get_type): Here too.
(camel_text_index_key_cursor_get_type): Here too.
svn path=/trunk/; revision=17820
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (get_folders): Don't let the
minimum recursive depth be negative.
(get_folders): Pass flags & CAMEL_FOLDER_INFO_SUBSCRIBED as the
`lsub' argument to get_folders_online() otherwise we'll end up
doing a LIST when we really wanted to do an LSUB.
svn path=/trunk/; revision=17819
|
|
|
|
|
|
|
|
|
| |
2002-08-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-session.c: Set CAMEL_URL_NEED_PATH for the vFolder
provider.
svn path=/trunk/; revision=17817
|
|
|
|
|
|
|
|
|
|
| |
2002-08-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c: Changed the STOREINFO_VERSION
- should fix bug #28571, but if it doesn't - oh well, I don't
care. I'm considering it fixed no matter what.
svn path=/trunk/; revision=17809
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_sign): If the diagnostics are empty,
just explain that gpg failed to execute.
(gpg_encrypt): Same.
(gpg_decrypt): And here too.
svn path=/trunk/; revision=17807
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-19 Jeffrey Stedfast <fejj@ximian.com>
* tests/lib/camel-test.c (camel_test_init): Updated to pass the
needed arguments to camel_init() and to init gthreads before camel
(since camel expectes it to be initialised already).
* tests/lib/session.c: #include <config.h> needed for
ENABLE_THREADS so that sizeof (CamelSessionClass) gives the
correct size.
* tests/*: Updated to work with camel API changes.
svn path=/trunk/; revision=17805
|
|
|
|
|
|
|
|
| |
* camel-session.c (get_service): If the passed-in URL contains a
path, but the service doesn't allow paths, then the path part must
be a folder name, and we should ignore it here. #29010
svn path=/trunk/; revision=17797
|
|
|
|
| |
svn path=/trunk/; revision=17791
|
|
|
|
|
|
|
|
|
|
| |
2002-08-16 Chris Toshok <toshok@ximian.com>
* camel-arg.h: remove the outer parens from the expansion of
camel_argv_{start,end} since at least on freebsd va_end is
#defined to be nothing, so (va_end(..)) causes a syntax error.
svn path=/trunk/; revision=17790
|
|
|
|
|
|
| |
wrong.
svn path=/trunk/; revision=17784
|
|
|
|
|
|
|
|
|
|
| |
2002-08-16 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (get_folders): Fix the logic
check for working out if we add inbox or not, we do it if we
listed the namespace.
svn path=/trunk/; revision=17783
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-15 Not Zed <NotZed@Ximian.com>
* camel-store.h (CamelFolderInfo): added a flags field, defined
some flags, currently only used by imap. This and below is first
step to getting incremental folder tree loading.
* providers/imap/camel-imap-store.c (get_subscribed_folders): If
the subscribed list is empty, always add inbox.
(imap_connect_offline): If the 'storeinfo' namespace isn't the
same as our own (if its set), then ignore it, assume we changed
settings. Otherwise you can't change the namespace ...
(get_folders): allow the env variable CAMEL_IMAP_MAX_DEPTH to
override the default maximum recursion depth if 10 levels.
(camel_imap_store_readline): Dont depend the log debug on d(x)
being defined.
(get_folder_info_online): changed to use new functions/names.
2002-08-14 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (get_subscribed_folders):
Removed the by_hand sillyness. Return an array instead.
(get_folders): New method to get folders recursively without
having to use '*'. Uses '%', and stops if it gets too deep
(current max of 10).
(get_folder_counts): New method to fill out unread counts on
folderinfo tree.
(get_subscribed_folders): Fix some failure logic.
* providers/imap/camel-imap-utils.[ch]: Changed IMAP_LIST_FLAGS to
use the new CamelFolderInfoFlags directly.
svn path=/trunk/; revision=17777
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-02 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (get_temp_uid): New function,
generate a UID that has better chances of being unique.
(imap_append_offline): Use it here.
(imap_transfer_offline): And here.
svn path=/trunk/; revision=17757
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-09 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c
(get_folder_info_online): Tweak how we build the tree based on whether
a full tree or a subtree is being requested. Fixes subscribe dialog
on UW servers.
(get_one_folder_offline): Don't add folders that we're not subscribed
to; fixes UW folders that weren't being marked as NoSelect because
the storeinfo doesn't record that information.
svn path=/trunk/; revision=17755
|
|
|
|
|
|
|
|
|
| |
2002-08-09 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rename): When renaming our
cache, add the "/folders" to the path.
svn path=/trunk/; revision=17752
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_init): Set
some default permanent_flags. This is the other cause of bug
#28038.
(imap_refresh_info): After calling camel_imap_command() with a
NULL format value (this is a shortcut to change the current_folder
by SELECTing it), call camel_imap_folder_selected(). This may have
been why permanent_flags never got set on the folder even after
going online in bug #28038.
(imap_update_summary): Same here. Also NULL-guard
camel_imap_response_free().
svn path=/trunk/; revision=17743
|
|
|
|
|
|
|
|
|
|
| |
2002-08-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (camel_imap_folder_init): Set
some default permanent_flags. This is the other cause of bug
#28038.
svn path=/trunk/; revision=17741
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_encode_param): Oops - outbuf pointed
to alloca'd memory but we were g_free'ing it after using
it. Instead use g_malloc for this outbuf buffer since it may be
kinda large. Also don't depend on a single byte to nul-terminate
the outbuf buffer so as to be safe with charsets such as UCS2 and
UCS4, instead keep a pointer to the end of the buffer.
svn path=/trunk/; revision=17737
|
|
|
|
|
|
|
|
|
| |
2002-08-07 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response): Only
add the stream to the gdatalist if it is non-NULL.
svn path=/trunk/; revision=17735
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): If writing to the sendmail pipe fails, wait
for the sendmail process to exit before returning. Fixes bug
#19636.
svn path=/trunk/; revision=17711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-06 Not Zed <NotZed@Ximian.com>
* providers/pop3/camel-pop3-folder.c (cmd_list): Add messageinfo
to id table, and store array index in messageinfo too.
(fi_to_index): Removed, use index member of messageinfo, fixed
callers.
(cmd_builduid): Parse the headers of the data, and ignore any
status or x-status headers.
(uid_to_fi): Removed, use the hashtable instead.
(id_to_fi): Same.
(cmd_uidl): Add messageinfo to uid table.
(pop3_refresh_info): Setup hash tables, and fill out uid table for
nonuid capable servers.
(pop3_finalize): Destroy hash tables. Only free resources if the
uids table is not null (if finalised before we ran refresh info).
(id_to_fi): Removed. Use id hash table instead, fixed caller.
svn path=/trunk/; revision=17706
|
|
|
|
|
|
|
|
|
| |
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* camel.c (camel_init): Always set a g_atexit handler to
flush/save the camel-certdb.
svn path=/trunk/; revision=17700
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (get_folder_info_online): If
we are asking for the toplevel folders, use the IMAP store's
namespace as the toplevel folder rather than an empty
string. Fixes bug #28574.
(imap_forget_folder): Rearrange the code so that name can never be
used uninitialised.
* providers/imap/camel-imap-utils.c (imap_namespace_concat):
Removed.
svn path=/trunk/; revision=17699
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-folder-summary.h (CamelMessageFlags): Add
CAMEL_MESSAGE_ANSWERED_ALL, for folders that can distinguish a
reply-to-sender from a reply-to-all. (eg, Exchange)
* providers/local/camel-local-folder.c (local_init): Add
ANSWERED_ALL to permanent_flags too.
svn path=/trunk/; revision=17694
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-02 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #26237.
* providers/imap/camel-imap-command.c
(imap_command_strdup_vprintf): Don't prepend any namespace shit in
the %F case.
* providers/imap/camel-imap-utils.c (imap_parse_list_response):
Don't strip off the namespace.
svn path=/trunk/; revision=17693
|
|
|
|
|
|
|
|
|
| |
2002-08-01 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): If the folder
name contains the directory separator, reject it.
svn path=/trunk/; revision=17690
|
|
|
|
|
|
|
|
|
| |
2002-08-02 Not Zed <NotZed@Ximian.com>
* providers/local/camel-mbox-summary.c (mbox_summary_check): Clear
the summary after building the 'removed uid' list.
svn path=/trunk/; revision=17686
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-02 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c (message_info_load): revert jeff's patch
below, and do it slightly differently, and stop the auto-reformatting
bullshit.
2002-08-02 Not Zed <NotZed@Ximian.com>
* providers/local/camel-maildir-summary.c (message_info_new): If
we get a duplicate, just re-use the old info.
(remove_summary): Add any removed to a change list.
(maildir_summary_check): If we find new ones in 'cur' track them
in the change list. Removed FIXME about it. For #18348.
svn path=/trunk/; revision=17685
|
|
|
|
|
|
|
|
|
|
| |
2002-08-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_load): Do more error
checking to prevent crashing if we fail to read a string for
example.
svn path=/trunk/; revision=17672
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-29 Peter Williams <peterw@ximian.com>
Fix bug #28238
* providers/imap/camel-imap-store.c (imap_forget_folder): New
function, breaking out the code in delete_folder() to handle when
a folder is removed.
(imap_folder_effectively_unsubscribed): New function, breaking out
the code in unsubscribe_folder() to handle when a folder is
unsubscribed.
(imap_check_folder_still_extant): New function, check whether a
folder exists by LIST'ing it.
(imap_store_refresh_folders): Add code here to check if the folder
still exists if we're unable to refresh its info. If so, pretend
that it was unsubscribed (to get the mailer to remove it from
the tree) and delete its cache. If somehow this goofs up, the
worst that can happen is that we must redownload the headers.
(get_folder_status): If we can't get the status, behave as above.
(delete_folder): Call imap_forget_folder() where the bulk of this
code has gone.
(unsubscribe_folder): Call imap_folder_effectively_unsubscribed()
where the bulk of this code has gone.
mail:
2002-07-31 Peter Williams <peterw@ximian.com>
* mail-folder-cache.c: Add another bitfield "unsub"
(real_flush_updates): If unsubscribing, manually remove the folder
from the shell.
(unset_folder_info): Add another parameter which is used to set
the unsub member.
(store_folder_unsubscribed): Pass true for @unsub.
(unset_folder_info_hash): Pass false for @unsub.
* subscribe-dialog.c (fe_done_subscribing): Don't notify the shell
here. The folder cache does it now, and it was broken to make the
CORBA call in another thread anyway.
svn path=/trunk/; revision=17669
|
|
|
|
|
|
|
|
|
|
| |
2002-07-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response):
Disable my fix to not cache headers as it means that each time we
load the message, we've got to re-fecth the headers.
svn path=/trunk/; revision=17665
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-31 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (is_addr_char): Don't use
"isprint(c)" to mean "c >= 32 && c < 128" since it doesn't in most
locales.
(is_url_char): Same.
(is_trailing_garbage): Same.
(is_domain_name_char): New macro for dns-valid characters
(email_address_extract): Use is_domain_name_char rather than
is_addr_char for the part after the @.
svn path=/trunk/; revision=17660
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-30 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream.c (camel_tcp_address_new): Update the comment.
* camel-tcp-stream-raw.c (socket_connect): If building with IPv6
support and the address is an IPv6 address, connect using a
sockaddr_in6 otherwise use the standard IPv4 sockaddr_in
structure.
(stream_get_local_address): Fix to work with IPv6 addresses.
(stream_get_remote_address): Same.
* camel-tcp-stream-openssl.c (socket_connect): Same as above.
(stream_get_local_address): Fix to work with IPv6 addresses.
(stream_get_remote_address): Same.
* camel-tcp-stream-ssl.c (stream_connect): If building with IPv6
support and the address is an IPv6 address, initialise the
PRNetAddr accordingly.
(stream_get_local_address): Fix to work with IPv6 addresses.
(stream_get_remote_address): Same.
svn path=/trunk/; revision=17651
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-30 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (ssl_verify): X509_digest() needs a
pointer to an int len. Also fixed some other compiler errors.
* camel-certdb.h: #include <stdio.h>
svn path=/trunk/; revision=17647
|
|
|
|
| |
svn path=/trunk/; revision=17644
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-30 Jeffrey Stedfast <fejj@ximian.com>
* camel-certdb.c: New source file implementing a very basic
certificate database. This is mostly just here because the Mozilla
NSS certdb seems to not be working for everyone's Evolution
install (works fine for me and Ettore but not many other people).
* camel-tcp-stream-ssl.c (ssl_bad_cert): If we have this
certificate in our own CamelCertDB, then get the trust value from
that and only prompt the user if the trust is unknown.
* camel-tcp-stream-openssl.c (ssl_verify): Same.
* camel.c (camel_init): Create our default certdb.
svn path=/trunk/; revision=17642
|
|
|
|
|
|
|
|
|
|
| |
2002-07-30 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (imap_transfer_offline): Use
the same command-counter mojo that the append code uses in case
the use tries to copy the same message to the folder repeatedly.
svn path=/trunk/; revision=17641
|
|
|
|
|
|
|
|
|
| |
2002-07-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (unset_flag): New filter action to unset a
system flag. The exact opposite of set_flag.
svn path=/trunk/; revision=17625
|
|
|
|
|
|
|
|
|
|
| |
2002-07-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-store.c (get_folder): If the path
exists and is a directory, return non-NULL. Missed this before
which is how we could return NULL even on success. Oops.
svn path=/trunk/; revision=17618
|
|
|
|
|
|
|
|
|
|
| |
2002-07-26 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-summary.c
(camel_imap_summary_add_offline_uncached): The flags'n'tags
copy was unnecessary. Removed it.
svn path=/trunk/; revision=17607
|
|
|
|
|
|
|
|
|
| |
2002-07-26 Peter Williams <peterw@ximian.com>
* Revert Jeff's previous change, it broke local
folders. Uninitialized exceptions or something.
svn path=/trunk/; revision=17605
|
|
|
|
| |
svn path=/trunk/; revision=17600
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-25 Jeffrey Stedfast <fejj@ximian.com>
If we're gonna do an elite hack, lets do it right.
* providers/local/camel-local-store.c (get_folder): On success,
return non-NULL so that our caller doesn't have to depend on 'ex'
being non-NULL in order to work correctly.
* providers/local/camel-mbox-store.c (get_folder): Don't bother
checking if an exception was set, just use the return value of
camel-local-store's get_folder.
* providers/local/camel-maildir-store.c (get_folder): Same as the
mbox change.
* providers/local/camel-mh-store.c (get_folder): Here too.
svn path=/trunk/; revision=17599
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-25 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-summary.h
(camel_imap_summary_add_offline_uncached): Prototype.
* providers/imap/camel-imap-summary.c
(camel_imap_summary_add_offline_uncached): New function to add an
uncached message to the summary while offline.
* providers/imap/camel-imap-store.c (imap_connect_online): Only
refresh the folders if the disco diary is empty (ie, we're not
resyncing.)
* providers/imap/camel-imap-folder.c (imap_transfer_offline): Emit
an event for the source if deleting its originals. Also, if we
can't load the message, still process it, using the new imap
summary function.
svn path=/trunk/; revision=17596
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c: Remove "possibly
non-fatal" exception strings, all exceptions are fatal unless
their caller decides otherwise.
(connect_to_server): If smtp_helo() fails due to us getting
disconnected, treat the exception as fatal.
(smtp_connect): Abort if smtp_helo() fails and we got
disconnected.
(smtp_send_to): If smtp_mail() fails, abort the send operation.
(smtp_set_exception): If respbuf was NULL, then we got
disconnected and so update our state accordingly.
(smtp_disconnect): Only send a QUIT if we are still in the
connected state (or, at least think we are).
svn path=/trunk/; revision=17595
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-24 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (imap_expunge_uids_resyncing): It
would help to mark the UIDs as deleted before we try to expunge them
(in the case when no other UIDs were marked deleted this didn't happen.)
Also fix an FMR.
(imap_expunge_uids_offline): Trigger a folder_changed event with our
own changeinfo because camel_imap_response_free won't be able to do that
for us.
svn path=/trunk/; revision=17589
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_shell): Renamed from
shell_exec(). Also, we now want to pass argc/argv on to the
CamelFilterDriverShellFunc.
(camel_filter_driver_set_shell_func): Renamed a bit.
* camel-filter-search.c (pipe_message): Renamed from shell_exec().
svn path=/trunk/; revision=17583
|
|
|
|
|
|
|
|
|
| |
2002-07-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (run_command): Use execv ("sh", "-c",
command) rather than execing the command directly.
svn path=/trunk/; revision=17582
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-25 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c (camel_folder_summary_save): When writing
the summary, use TRUNC flag, duh. Also, write to a temp file
first, and rename when closed successfully, and check ferror() and
fclose() against 0 rather than -1.
* providers/local/camel-mbox-summary.c (summary_update): Decrement
i if we remove the summary item so we dont skip every 2nd one.
* camel-mime-utils.c (header_decode_mailbox): Use
rfc2047_decode_word explicitly incase we just found an encoded
word. Stops us re-decoding the string twice, which fixes memory
corruption in #26330 when the HUGE string is used later.
2002-07-24 Not Zed <NotZed@Ximian.com>
* camel-partition-table.c (camel_key_table_next): Didn't unlock if
we exited on an empty key list.
svn path=/trunk/; revision=17570
|
|
|
|
|
|
|
|
|
|
| |
2002-07-24 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
Sync before doing an expunge if we dont have uidplus. See #25766.
(imap_expunge_uids_resyncing): Same here.
svn path=/trunk/; revision=17562
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-24 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (get_folder_online): Move
folders to a subdirectory of storage_path, rather than in it.
Bye bye everyones settings. See 24947.
(get_folder_offline): And here too.
(delete_folder): And here too.
(rename_folder): and here too.
(get_folder_info_offline): And here too. I love code reuse.
svn path=/trunk/; revision=17561
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-24 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (get_folder_info_online):
Duplicated the very much hack in imap_store_refresh_folders() to
avoid a deadlock in #27959. A decent fix has to wait for a
rewrite.
svn path=/trunk/; revision=17560
|
|
|
|
|
|
|
|
| |
2002-07-23 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream.c: #include <string.h> for memcpy.
svn path=/trunk/; revision=17541
|
|
|
|
| |
svn path=/trunk/; revision=17535
|
|
|
|
|
|
|
|
|
| |
2002-07-22 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (vee_set_message_user_tag): Oops, forgot to
implement this. Fixes #24604.
svn path=/trunk/; revision=17522
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-crlf.c (filter): Only add a \r if the
character before the \n wasn't already a \r - this covers for when
people add DOS files as attachments. Fixes bug #28056.
`
svn path=/trunk/; revision=17521
|
|
|
|
|
|
|
|
|
| |
2002-07-19 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (convert_buffer): Changed to use a
different length calculator.
svn path=/trunk/; revision=17519
|
|
|
|
|
|
|
|
|
|
| |
#include <glib.h>
#include <libgnome/gnome-defs.h>
apparently needed for gnome-i18n.h
svn path=/trunk/; revision=17501
|
|
|
|
| |
svn path=/trunk/; revision=17500
|
|
|
|
|
|
|
|
| |
2002-07-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-lock.c: Add the appropriate #include for the _() macro.
svn path=/trunk/; revision=17499
|
|
|
|
|
|
|
|
|
|
| |
2002-07-17 Not Zed <NotZed@Ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Got
rid of the stupid "tryagain" semantics, which didn't work.
(pop3_connect): Fixed here to only retry under proper conditions.
svn path=/trunk/; revision=17488
|
|
|
|
|
|
|
|
|
|
| |
2002-07-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-canon.c (filter): When CRLF encoding, "empty"
(after stripping trailing whitespace characters) lines need to end
in CRLF also, not just lines with data in them.
svn path=/trunk/; revision=17485
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-16 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (imap_sync_online): Clean
up some improper usage of CamelExceptions (looking at
camel_exception_is_set when ex = NULL).
* providers/imap/camel-imap-store.c (get_folder_online): Here too.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_new): Nothing sets the exception so
don't bother to check it at the end of this function. Prevents
a warning about checking a NULL exception's value.
svn path=/trunk/; revision=17482
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_helo): Make the
standard AUTH format take priority over the AUTH= priority, since
sometimes servers only list a subset of the supported authtypes in
the AUTH= response while they list all authtypes in the standard
AUTH response. Fixes "bug" #27841.
svn path=/trunk/; revision=17479
|
|
|
|
|
|
|
|
|
| |
2002-07-15 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): If we're
not online and the message isn't in our cache, give up.
svn path=/trunk/; revision=17475
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-15 Not Zed <NotZed@Ximian.com>
* camel-filter-search.c (get_label): Removed.
(get_score): Removed. Labels & scores are stored in tags, we
already have a function to get tags.
(user_tag): Fail if we dont get valid arguments, it must be a
string type.
(system_flag): Same here.
svn path=/trunk/; revision=17471
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_msgid_generate): Try to get the FQDN
from the results of gethostname(). If that fails, then fall back
to the results gotten from gethostname() or if that fails just use
"localhost.localdomain". Addresses bug #17416.
(header_decode_param): Protect against a NULL value.
svn path=/trunk/; revision=17470
|
|
|
|
|
|
|
|
|
|
| |
2002-07-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): Get rid of
the constant 'required' variable, just use the value when calling
set_best_encoding.
svn path=/trunk/; revision=17465
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c: Changed the mbox and
spool provider descriptions to try and be more clear. I'm not sure
I like the mention of Evolution in the mbox provider description,
but there was no other way to make it clear that it MOVED mail out
of the mbox folder into a folder managed by Evolution without
mentioning Evolution. *sigh* Anyways, to me "retrieve" means move,
but apparently this isn't clear to the weak minded.
svn path=/trunk/; revision=17464
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-15 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): >= is not appropriate
here because the sequences are 1-based; so seq = summary_len is valid.
Hopefully addresses 15646, because this caused the last message in a folder
to be reloaded, replacing its CamelMessageInfo, and the tree view was using
the old CamelMessageInfo.
svn path=/trunk/; revision=17460
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-13 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c
(camel_folder_summary_info_new_from_message): Only assign a uid if
indexing is enabled. This stops us always assigning a uid in the
imap folder and disco folder?
* providers/imap/camel-imap-folder.c (imap_update_summary): Also
check the uid is set at all, another bit of a fix for #15667.
2002-07-09 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Check
for existing messages of the same uid before doing anything. If
it exists, do nothing (perhaps it should merge?). A dirty hack for
#15667.
svn path=/trunk/; revision=17450
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
On error, do not unref the parts gotten using
camel_multipart_get_part() since that function does not ref the
parts. Also don't forget to reset the decrypted stream before
trying to parse it ;-)
svn path=/trunk/; revision=17445
|
|
|
|
|
|
|
|
|
|
| |
2002-07-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart.c (camel_multipart_class_init): Updated to not
use camel_type_get_global_classfuncs() since this is just a cast
macro now.
svn path=/trunk/; revision=17436
|
|
|
|
| |
svn path=/trunk/; revision=17435
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-12 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Handle
multipart/encrypted parts too.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Handle
multipart/encrypted types too.
svn path=/trunk/; revision=17434
|
|
|
|
|
|
|
|
|
| |
2002-07-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): Don't let any
parts have a binary encoding.
svn path=/trunk/; revision=17433
|
|
|
|
| |
svn path=/trunk/; revision=17429
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-11 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #27672
* camel-mime-filter-bestenc.c: Conditionally #include <config.h>
* camel-mime-filter-linewrap.c: Same here... although we could
probably just get rid of this filter? We don't seem to use it
anywhere since we try to QP/Base64 encode any text parts with long
lines. Besides, we couldn't use this filter for SMTP anyway since
we can't risk possibly linewrapping a binary mime part. I dunno,
maybe this could be useful in the composer though? *shrug*
* providers/smtp/camel-smtp-transport.c (smtp_data): Always call
camel_mime_message_set_best_encoding() even if the server allows
8BITMIME and even if we don't have any 8bit parts because we may
have parts with long lines (>998 octets) which also need to be
encoded.
* camel-mime-message.c (check_8bit): Don't forget to check for the
binary encoding here as well.
svn path=/trunk/; revision=17428
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response): If we
are fetching HEADERs, don't cache the stream - instead just create
a mem-stream and return that. This reduces a significant amount of
overhead due to disk i/o.
svn path=/trunk/; revision=17424
|
|
|
|
|
|
|
|
|
|
| |
2002-07-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
Don't forget to set an appropriate exception before returning
NULL.
svn path=/trunk/; revision=17418
|
|
|
|
|
|
|
|
|
| |
2002-07-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (get_message_cb): Make sure message is
non-NULL before setting the source on it.
svn path=/trunk/; revision=17415
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c: Renamed stdin to stdin_fd, stdout to
stdout_fd, and stderr to stderr_fd in struct _GpgCtx since
Solaris' stdin/stdout/etderr variables seem to be macros and are
thus breaking the compilation.
svn path=/trunk/; revision=17409
|
|
|
|
|
|
|
|
|
| |
2002-07-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/nntp/camel-nntp-provider.c: Set the IS_SOURCE provider
flag.
svn path=/trunk/; revision=17369
|
|
|
|
|
|
|
|
|
|
| |
2002-07-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c: Change all exceptions to
report which POP server failed (and tried to make a few of the
exceptions a bit more clear).
svn path=/trunk/; revision=17367
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-03 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (vee_sync): If we get an exception from the
child sync, update the exception string so we know where it really
was.
* camel-vee-store.c (change_folder): Util to emit created/deleted
events.
(vee_get_folder): If the folder has path elements, and its parents
dont exist, create dummy no-select nodes. This is for bug #4246.
(vee_delete_folder): Use change_folder() to save code.
* providers/local/camel-mbox-folder.c (mbox_set_message_flags):
Only set xevchange if we're storing status headers in pine format,
so we dont do a full sync every time any flag changes.
svn path=/trunk/; revision=17360
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-27 Not Zed <NotZed@Ximian.com>
* camel-object.c (camel_object_hook_event): Take a void object arg.
(camel_object_remove_event): "
(camel_object_unhook_event): "
(camel_object_trigger_event): ", also, execute events in the same
order they were added, i.e. reverse hook-list order.
svn path=/trunk/; revision=17359
|
|
|
|
|
|
|
|
|
|
| |
2002-06-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_get_argv): Don't use
--no-auto-key-retrieve, this option has apparently been deprecated
in gpg 1.0.7.
svn path=/trunk/; revision=17321
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_op_step): Loop on our reads while
errno is EINTR or EAGAIN. Also make sure to completely read stdout
and stderr by keeping better state.
(gpg_ctx_parse_status): In the case of a NODATA response from gpg,
try to use the diagnostics that gpg may have written to its
stderr.
(gpg_verify): Check that the gpg process has not exited.
(gpg_ctx_op_wait): Make sure we haven't already exited (as by
gpg_ctx_op_is_exited()) and if we have, retrieve the exit status
from the gpg context.
svn path=/trunk/; revision=17320
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_op_step): Loop on our reads while
errno is EINTR or EAGAIN. Also make sure to completely read stdout
and stderr by keeping better state.
(gpg_ctx_parse_status): In the case of a NODATA response from gpg,
try to use the diagnostics that gpg may have written to its
stderr.
svn path=/trunk/; revision=17319
|
|
|
|
|
|
|
|
|
|
| |
2002-06-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_op_step): Loop on our reads while
errno is EINTR or EAGAIN. Also make sure to completely read stdout
and stderr by keeping better state.
svn path=/trunk/; revision=17311
|
|
|
|
|
|
|
|
|
| |
2002-06-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_op_step): Loop on our reads while
errno is EINTR or EAGAIN.
svn path=/trunk/; revision=17307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.[c,h]: Removed.
* camel-pgp-mime.c (pgp_mime_part_sign_restore_part): Removed.
(pgp_mime_part_sign_prepare_part): Removed.
(camel_pgp_mime_part_sign): Removed.
(camel_pgp_mime_part_verify): Removed.
(camel_pgp_mime_part_encrypt): Removed.
(camel_pgp_mime_part_decrypt): Removed.
(camel_pgp_mime_is_rfc2015_signed): Documented.
(camel_pgp_mime_is_rfc2015_encrypted): Same.
svn path=/trunk/; revision=17303
|
|
|
|
|
|
|
|
|
| |
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt):
Oops, this needs to take a userid argument.
svn path=/trunk/; revision=17299
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_clearsign): Removed (never did anything
anyway).
* camel-pgp-context.c (pgp_clearsign): Removed.
* camel-cipher-context.c (camel_cipher_clearsign): Removed unused
method.
svn path=/trunk/; revision=17297
|
|
|
|
|
|
|
|
|
|
| |
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-encrypted.[c,h]: New class implementing the
multipart/encrypted content type. Contains methods for encrypting
and decrypting a multipart/encrypted MIME object.
svn path=/trunk/; revision=17296
|
|
|
|
|
|
|
|
|
| |
2002-06-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_parse_status): Check for NODATA
too.
svn path=/trunk/; revision=17295
|
|
|
|
|
|
|
|
|
| |
2002-06-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c: Remove the #include for
camel-spoold-store.h
svn path=/trunk/; revision=17285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-26 Not Zed <NotZed@Ximian.com>
* camel-gpg-context.c: Include <sys/time.h> for struct timeval.
* providers/local/camel-local-provider.c
(camel_provider_module_init): Removed spoold provider. The spool
provider does it now.
2002-06-25 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-folder.c (camel_spool_folder_new):
Support a new xstatus option - folders update/honour the
Status/X-Status headers in addition to X-Evolution.
* providers/local/camel-local-summary.c
(camel_local_summary_write_headers): If supplied with an
additional status or xstatus arg, write a Status header and/or
X-Status. Also fix the case of properly terminating the headers
if an xev line isn't supplied.
* providers/local/Makefile.am (libcamellocalinclude_HEADERS,SOURCES):
Removed spoold-store.[ch].
* providers/local/camel-local-provider.c
(camel_provider_module_init): For the spoold type, just use the
spool store instead.
* providers/local/camel-spool-store.h: Added a type field, so the
1 store can implement different types without having to subclass.
* providers/local/camel-spool-store.c
(camel_spool_store_get_toplevel_dir): Removed, inherits from local
store now.
(construct): If we're pointing to a file, treat it as mbox mode,
otherwise treat it as 'elm' mode.
(get_folder): Only test for INBOX in mbox mode.
(get_folder_info_elm):
(get_folder_info_mbox): Two alternatives for getting folder info,
depending on the type of folder we're looking at.
(get_folder_info_mbox): Make the url include the protocol.
(scan_dir): "
* providers/local/camel-spoold-store.c
(camel_spoold_store_get_toplevel_dir): Removed, inherits from
local store now.
* camel-folder.c (get_message_user_tag): Dont use a
g_return_if_fail for info==NULL. This is not an error.
(set_message_user_tag): And same here.
(set_message_user_flag): Sigh, and here.
(get_message_user_flag): And here.
(set_message_flags): and here ...
(get_message_flags): Dum de dum, de done at last.
* providers/local/camel-mbox-folder.c (mbox_get_message): Check
for new messages whenever we retrieve one. In the common
no-update case, this is a single stat.
(mbox_get_message): If we need to rescan, then force a full rescan
to make sure it does the right thing.
(mbox_get_message): Cleanup the exception handling a bit, if we do
get an error, propagate any folder changes anyway as well.
(mbox_set_message_user_flag): Argh more of these stupid g_returns
taht shouldn't be.
(mbox_set_message_user_tag): Here too.
(mbox_set_message_flags): If the read flag is being changed, mark
it as an xevchange (i.e. Status line change).
* providers/local/camel-mbox-summary.c (summary_rebuild): Merged
into summary_update.
(summary_update): Changed to allow it to update existing lists of
messages without clearing out the summary.
(mbox_summary_check): Dont clear the summary, just re-scan.
(message_info_new): Attempt to support the 'Status: RO' elm/pine
thing.
(camel_mbox_summary_encode_status):
(camel_mbox_summary_decode_status): Util functions for
creating/parsing the Status line.
(camel_mbox_summary_sync_mbox): Write out the status line if we're
going to try support it.
(camel_mbox_summary_xstatus): Implement option to control
read/write of (x-)status.
(message_info_new): Do x-status stuff based on run-time option.
(camel_mbox_summary_sync_mbox): "
(mbox_summary_add): If x-status enabled, then always add
status/x-status headers to message.
* camel-folder-summary.c (summary_assign_uid): If the messageinfo
is already in the summary, AND is the same messageinfo, dont do
anything, return a value to indicate this.
(camel_folder_summary_add): Do nothing if this info already in the
summary, so we can perform updates.
2002-06-24 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-summary.c
(camel_local_summary_check_force): New method to force the next
summary check to be a full check, set if a mismatch occurs.
* camel-folder-summary.c (camel_folder_summary_load): If we have
no summary path set, dont do any i/o, rather than abort.
(camel_folder_summary_save): "
(camel_folder_summary_header_load): "
* providers/local/camel-spool-store.h: Inherit from camel mbox
store, even if we override almost everything.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): If the base path points to a file,
use that as the folder path as well.
* providers/local/camel-spool-folder.h: Inherit from
camel-mbox-folder.
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
Use camel_mbox_summary_sync_mbox to do most of the work.
* providers/local/camel-spool-summary.[ch]: Make spool-summary
inherit from mbox summary rather than foldersummary.
* providers/local/camel-mbox-summary.c (mbox_summary_sync): Make
sync_full/quick virtual methods.
(camel_mbox_summary_sync_mbox): The full sync method put into a
simple function that sync's from fd to fd.
(mbox_summary_sync_full): Use summary_sync_mbox to do the real
work.
(mbox_summary_check): Create removed events if the folder gets
cleared. Also, dont clear the summary before a rebuild, try to
merge.
svn path=/trunk/; revision=17284
|
|
|
|
|
|
|
|
| |
2002-06-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c: #include <sys/time.h>
svn path=/trunk/; revision=17283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_hash_str): Return the option as
--digest-algo=<micalg>
(gpg_ctx_parse_status): Decode more status information and keep
track of trust and such.
(gpg_ctx_op_complete): Make sure we aren't waiting for gpg to
write data to stdout (such as encrypted/decrypted data or a
signature).
(gpg_encrypt): Remove the fejj@stampede.org hard-coded value
(which had only meant to be for testing).
svn path=/trunk/; revision=17271
|
|
|
|
| |
svn path=/trunk/; revision=17269
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_get_argv): Use --command-fd rather
than --passphrase-fd since what we really want is an interactive
mode (besides, --passphrase-fd requires a passphrase to be sent
before --status-fd will send a NEED_PASSPHRASE status message).
(gpg_ctx_parse_status): When we encounter a BAD_PASSPHRASE, tell
the session to uncache it.
svn path=/trunk/; revision=17268
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_get_argv): Use --command-fd rather
than --passphrase-fd since what we really want is an interactive
mode (besides, --passphrase-fd requires a passphrase to be sent
before --status-fd will send a NEED_PASSPHRASE status message).
svn path=/trunk/; revision=17267
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-23 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_parse_status): Check for ERRSIG
also.
(gpg_ctx_op_step): Don't try writing a passphrase unless our
operation requires it.
svn path=/trunk/; revision=17263
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_encrypt): Return -1 on error.
(gpg_decrypt): Same.
(gpg_sign): Again here.
(gpg_ctx_op_step): Only attenmpt to read from the status-fd if we
are not already 'complete'.
* camel-pgp-mime.c (camel_pgp_mime_part_encrypt): Flush the
filtered stream.
svn path=/trunk/; revision=17257
|
|
|
|
|
|
| |
is running out of memory for me? not sure if that is a gpg or evo bug
svn path=/trunk/; revision=17256
|
|
|
|
|
|
|
|
| |
getting very close to working now... I think that as soon as I debug this
segfault, it will work. Probably dereferencing a NULL pointer or something
stupid like that.
svn path=/trunk/; revision=17255
|
|
|
|
| |
svn path=/trunk/; revision=17252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.[c,h]: New source files implementing the
CamelCipherContext class for gnupg.
* camel-pgp-context.c (camel_pgp_context_new): Return a
CamelCipherContext.
* camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Take a
CamelCipherContext argument rather than a CamelPgpContext since we
now have a CamelGpgContext also.
(camel_pgp_mime_part_encrypt): Same.
(camel_pgp_mime_part_verify): Same.
(camel_pgp_mime_part_sign): Same.
svn path=/trunk/; revision=17251
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-folder.c: Updated to support searching as well as
making it use CamelDigestSummary.
* camel-digest-summary.[c,h]: New class to handle the summary for
CamelDigestFolder.
* camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should
map to ETIMEDOUT and not EAGAIN.
(stream_connect): Reset the PR_Poll() timeout back to 2 minutes as
this wasn't the problem afterall.
svn path=/trunk/; revision=17249
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should
map to ETIMEDOUT and not EAGAIN.
(stream_connect): Reset the PR_Poll() timeout back to 2 minutes as
this wasn't the problem afterall.
svn path=/trunk/; revision=17246
|
|
|
|
|
|
|
|
|
| |
2002-06-19 Not Zed <NotZed@Ximian.com>
* camel-mime-parser.c (folder_scan_drop_step): Drop back to
initial state if we came from eof state.
svn path=/trunk/; revision=17245
|
|
|
|
|
|
|
|
|
|
| |
2002-06-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Set the poll timeout to
be PR_INTERVAL_MIN, this one shouldn't need to be 2 minutes (plus
it blocks my connection at home for far too long).
svn path=/trunk/; revision=17234
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_refresh_info): Make
sure we hold the command_lock before accessing current_folder.
(imap_append_online): Same.
(imap_transfer_online): Same.
* providers/imap/camel-imap-store.c (delete_folder): We need to
hold the command_lock before we can set the current_folder to
NULL.
(rename_folder): Same.
(get_folder_info_online): We need to make sure we hold the
command_lock in order to use current_folder.
(everywhere): Same.
svn path=/trunk/; revision=17233
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_connect): Don't
bother trying to authenticate (and thus don't throw up an error
dialog) unless the server is an ESMTP server and supports
authentication.
* camel-sasl-plain.c: Change the user-friendly name to PLAIN, this
is what it should be. Not "Password" because user's immediately
think that they need authentication when they see "Password" even
if they don't need it at all.
svn path=/trunk/; revision=17232
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-vee-folder.c (camel_vee_folder_add_folder): Update the
freeze state of the new source folder.
(camel_vee_folder_remove_folder): Undo any freeze state that we
have imposed on this source folder.
svn path=/trunk/; revision=17216
|
|
|
|
| |
svn path=/trunk/; revision=17209
|
|
|
|
|
|
|
|
|
| |
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-vee-folder.c (vee_freeze): Freeze source folders.
(vee_thaw): Thaw all source folders. Fixes bug #24317.
svn path=/trunk/; revision=17189
|
|
|
|
|
|
|
|
|
|
| |
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_sync_online): Unlock
the command_lock after each UID STORE command so that other
(probably more important) threads can send their requests.
svn path=/trunk/; revision=17188
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-arg.c:
* camel-disco-diary.c:
* camel-index-control.c:
* camel-mime-part.c:
* camel-pgp-mime.c:
* camel-store.c:
* camel-tcp-stream-ssl.c:
* camel-text-index.c: Fixed compiler warnings.
svn path=/trunk/; revision=17187
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-signed.c: Updated to use ctx->sign_protocol
rather than ctx->protocol.
* camel-cipher-context.h: Add an ecnryption protocol member.
* camel-pgp-context.c (camel_pgp_context_init): Set the encryption
protocol.
svn path=/trunk/; revision=17186
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-11 Not Zed <NotZed@Ximian.com>
* camel-vtrash-folder.c (camel_vtrash_folder_class_init): Our
parent class is camel_vee_folder, not camel_folder, fix setting of
parent folder (unused anyway, but removes a run-time warning).
2002-06-06 Not Zed <NotZed@Ximian.com>
* camel-folder-thread.c (thread_summary): Do the work here.
(camel_folder_thread_messages_remove): Implement. Remove some
uid's from the tree. Disalbe from build, for now.
(remove_uid_node_rec): Actually do the work.
(camel_folder_thread_messages_add): Implement. Add some summary
items to the tree. Disable from build though.
(camel_folder_thread_messages_apply): Make a thread tree built
using camel_folder_thread_new() map to a new set of uids,
preserving some order. Meant primarily to manage deleted + added
uids in a user-friendly manner.
svn path=/trunk/; revision=17164
|
|
|
|
|
|
|
|
|
| |
2002-06-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-signed.c (camel_multipart_signed_verify): Use
CAMEL_EXCEPTION_SYSTEM rather than '1' for clarity.
svn path=/trunk/; revision=17151
|
|
|
|
|
|
|
|
|
| |
2002-06-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Up the timeout on the
connect code to 2 minutes.
svn path=/trunk/; revision=17140
|
|
|
|
|
|
|
|
|
|
| |
2002-06-07 Not Zed <NotZed@Ximian.com>
* camel-pgp-context.c (camel_pgp_context_init): Duh! The protocol
is application/pgp-signature. TODO: need to have a signed and an
encrypted protocol specified separately.
svn path=/trunk/; revision=17139
|
|
|
|
|
|
|
|
| |
* camel-mime-utils.c (header_decode_mailbox): Parse
"From: Dan Winship <danw>" (with no domain) in the way the sender
meant it, even though it's completely wrong.
svn path=/trunk/; revision=17137
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-04 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-provider.c: Remove the
CONF_DEFAULT_PATH entry, as this is handled by the url config
stuff. This made it basically impossible to configure any local
folder from the gui.
* providers/local/camel-local-folder.c (local_refresh_info): Force
a refresh. Should work for all local folders to force them to
refresh.
* providers/local/camel-maildir-folder.c (maildir_refresh_info):
Removed, moved into camel-local-folder.
* providers/local/camel-mh-summary.c (mh_summary_next_uid_string):
Once we assign or get a uid, tell the summary of this, so the next
uid we get will be higher than any previously.
* camel-object.c (camel_object_ref, camel_object_unref): I got
sick of casting, these now take void * like they should, and
perform their own run-time type checking.
* providers/local/camel-mh-store.c (recursive_scan): Changed to
use stat, not lstat (*shrug* maybe someone wants to softlink their
maildir tree?).
(inode_hash):
(inode_equal):
(inode_free): Copied from camel-maildir store (should put into
camel-local-store or utils?).
(recursive_scan): Changed to check for re-visiting inodes. Also,
it builds the tree itself, rather than using folder_info_build.
(add_folder): Changed to folder_info_new.
(recursive_scan): Properly honour the recursive flag. Also,
lookup unread count from folder.
(folder_info_new): Init unread message count to -1, since we dont
know yet.
(folder_info_new): Take the name as an argument, and perform the
merging here.
(folders_update): Util func to add/remove folders from .folders
file. I'm assuming its sorted.
(get_folder): Add the folder to .folders if we created a new one,
and if it exists.
(delete_folder): Remove from .folders, etc.
(folders_scan): If we have a .folders file, read and use that
instead.
(recursive_scan): Handle scanning from a particular directory
properly.
(rename_folder): Implement so we can track any changes to the
.folders file if its turned on.
** Applied patch below from Greg Hudson.
2002-05-10 Greg Hudson <ghudson@mit.edu>
* camel-mh-store.c (get_inbox, get_folder_info, recursive_scan,
add_folder): Implement support for MH stores.
* camel-mh-summary.c (mh_summary_check, sort_uid_cmp): Sort MH
messages by message number (uid), like we sort maildir messages by
date.
* camel-local-provider.c (mh_provider): Turn on source and store
flags.
svn path=/trunk/; revision=17130
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-03 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_add_folder):
(folder_changed_change):
(folder_changed_remove_uid):
(folder_changed_add_uid):
(vee_folder_build_folder): Check that any unmatched operation is
not concerning any vfolder. Other vfolders should never be part of any
unmatched handling. For #24615, and others probably.
svn path=/trunk/; revision=17075
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-02 Not Zed <NotZed@Ximian.com>
* camel-sasl.c (camel_sasl_new):
(camel_sasl_finalize): setup/free the mech string.
* camel-sasl.h: Added 'mech' mechanism string.
2002-06-01 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_getv): Implement. Only
the object_description arg.
(camel_imap_folder_get_type): Init parent_class holder.
* providers/local/camel-local-folder.c (local_getv): Implement,
object_description arg.
* camel-folder.c (folder_getv): Implement, add a bunch of args you
can get -> camel_folder_get_unread_count etc will be going RSN i
hope.
(camel_folder_finalize): Free cached description string.
* camel-object.c (cobject_getv): Implement
CAMEL_OBJECT_ARG_DESCRIPTION, just return the classname of the
object.
(camel_object_getv):
(camel_object_get):
(camel_object_setv):
(camel_object_set): Take object = void *, to simplify usage.
(camel_object_setv): Removed unecessary locals.
(camel_object_getv): Same.
(camel_object_free): New method, free an arg, upto implementations
whether args are static/const or not.
(cobject_free): Implement a dummy do nothing free.
2002-05-31 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_get_location): new function
to get the real location (folder) (and uid) of a vfolder object.
Using the folderinfo, since we already have it, maybe it should
use the uid.
svn path=/trunk/; revision=17073
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): When the part
is a multipart/signed, make sure to free the part_spec before
returning (the other types already did this properly).
svn path=/trunk/; revision=17066
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Free the path buffer when we're
done with it.
* providers/imap/camel-imap-folder.c (imap_update_summary): Free
the final tagged response buffer.
svn path=/trunk/; revision=17065
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_read_untagged): If we
fail to read a literal, free the temporary string buffer.
svn path=/trunk/; revision=17063
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Revert my fix
from the other day since camel_imap_command_response() doesn't
guarentee that resp will be set to NULL on error.
* providers/imap/camel-imap-command.c
(camel_imap_command_response): Use a different variable to get the
return of imap_parse_untagged so that we don't lose the pointer to
the original malloc'd respbuf buffer.
svn path=/trunk/; revision=17061
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* camel-data-cache.c (camel_data_cache_get): If we fail to be able
to create a stream to insert into the cache, then free the 'real'
path.
svn path=/trunk/; revision=17060
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-30 Not Zed <NotZed@Ximian.com>
* camel-cipher-context.h: Added a protocol field for users to use.
* camel-stream-filter.c (do_read): Sigh, the pre-size is READ_PAD
not READ_SIZE. Big difference.
(READ_PAD): Bumped upto 128 from 64, so we can fit a typical line
in full.
* providers/imap/camel-imap-folder.c (get_content): Changed to
load multipart/signed as an opaque block into the right kind of
object.
* camel-multipart.h (struct _CamelMultipart): Removed the boundary
field. It wans't actually used anywhere.
* camel-seekable-substream.c
(camel_seekable_substream_new_with_seekable_stream_and_bounds):
Shortened this stupidly long name to just :new(), its the only way
its ever used. Fixed all callers.
* camel-multipart-signed.[ch]: new wrapper for multipart/signed
types. We need to treat the entire content as a blob of data for
transport purposes. This also cleans up a lot of the sign/verify
handling.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Just call
camel_multipart_construct_from_parser for multipart parts, also
use a multipart_signed for multipart/signed types.
* camel-multipart.c (camel_multipart_construct_from_parser): New
virtual function for multiparts to buld themselves.
(construct_from_parser): Implement for normal multiparts.
(toplevel): Got rid of a warning, it'll never be an abstract
class.
* camel-pgp-context.c (pgp_hash_to_id):
(pgp_id_to_hash): Implement.
(camel_pgp_context_init): Init the pgp protocol specifier.
* camel-cipher-context.c (camel_cipher_id_to_hash):
(camel_cipher_hash_to_id): Util virtual methods to handle the
cipher id string.
* camel-mime-filter-canon.[ch]: A new filter, end/start of line
canonicalisation filter. Can escape "From " and strip trailing
whitespace, and canonicalise the end of line to crlf or to lf.
2002-05-29 Not Zed <NotZed@Ximian.com>
* camel-multipart.h (struct _CamelMultipart): Removed the
'parent', nothing used it, anywhere. Cleaned up some formatting
slightly.
svn path=/trunk/; revision=17057
|
|
|
|
|
|
|
|
|
| |
2002-05-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_store_readline):
On error, don't leak the GByteArray buffer.
svn path=/trunk/; revision=17054
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Free the
response before checking for errors. I'm not sure this'll actually
fix the memory leak here, but it might? Certainly can't hurt.
* camel-block-file.c (camel_block_file_finalise): Destroy the
blocks hash table.
svn path=/trunk/; revision=17053
|
|
|
|
|
|
|
|
|
| |
2002-05-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (connect_to_server): Only free
the LOGOUT response if it is non-NULL.
svn path=/trunk/; revision=17036
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-28 Not Zed <NotZed@Ximian.com>
* providers/local/camel-maildir-folder.c (maildir_refresh_info):
Implement. Run a summary check to update for any newly arrived
messages.
* providers/local/camel-maildir-store.c (scan_dir): If we have a
folder, execute a refresh_info on it, to suck in any new stuff.
svn path=/trunk/; revision=17029
|
|
|
|
|
|
|
|
|
|
| |
2002-05-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_log): Use the
CamelMessageInfo rather than the CamelMimeMessage because the
message may not have been loaded (thus NULL).
svn path=/trunk/; revision=17025
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/pop3/camel-pop3-store.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/imap/camel-imap-store.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types):
Our parent class is no longer CamelRemoteStore.
(nntp_store_init): Same.
(camel_nntp_store_get_type): Here too.
(nntp_connect): Rewritten to try to connect via SSL. Also remove
code using CamelRemoteStore.
(camel_nntp_command): Don't call camel_remote_store_connected().
svn path=/trunk/; revision=17022
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (content_info_get_part_spec):
Helps if we allocate enough space here. Also, start smoking the
same purple flavoured IMAP crack when counting parts (parts don't
count if their parent part is a message/* part with a parent
part). Fixes bug #25260.
svn path=/trunk/; revision=17014
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_read_untagged): Use
the new readline function.
* providers/imap/camel-imap-store.c (connect_to_server): Use the
new camel_imap_store_readline() function which doesn't suck quite
as bad as the original camel_remote_store_recv_line() function.
(camel_imap_store_readline): New function to replace
camel_remote_store_recv_line(). This function is at least safe
with embedded nul chars. Not that any of our callers use it
*sigh*.
svn path=/trunk/; revision=17012
|
|
|
|
|
|
|
|
|
| |
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (connect_to_server): Added
some NULL protection fixes.
svn path=/trunk/; revision=16997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c: Removed from the build. Glory glory
hallelujah.
* camel-disco-store.c: Updated to inherit from
CamelStore rather than CamelRemoteStore.
* providers/imap/camel-imap-command.c (imap_command_start): Don't
use the camel-remote-store shit to send a string. Just use
camel_stream_printf for chrissakes.
* providers/imap/camel-imap-store.c: Updated to not depend on
CamelRemoteStore and to handle STARTTLS.
(imap_disconnect_online): Unref the streams.
(imap_keepalive): Removed.
(camel_imap_store_connected): New function to replace
camel_remote_store_connected().
(camel_imap_store_finalize): Unref the streams.
(camel_imap_store_recv_line): New function to replace
camel_remote_store_recv_line().
(imap_get_capability): Renamed from connect_to_server
(connect_to_server): New function to try and connect to the
server.
(connect_to_server_wrapper): New wrapper function around
connect_to_server that takes the ssl modes into consideration.
(query_auth_types): Don't bother calling our parent's
implementation of query_auth_types() since CamelDiscoStore doesn't
have any anyway.
(imap_get_name): New method to implement CamelService::get_name
svn path=/trunk/; revision=16975
|
|
|
|
|
|
|
|
|
| |
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (get_folder_offline): Don't
call some retarded function to simply set an exception.
svn path=/trunk/; revision=16970
|
|
|
|
|
|
|
|
|
| |
2002-05-18 Not Zed <NotZed@Ximian.com>
* camel-search-private.c (camel_utf8_getc): If we get an invalid
start char, just ignore it and goto the next character.
svn path=/trunk/; revision=16960
|
|
|
|
|
|
|
|
|
| |
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (get_label): New e-sexp callback function
to get a user_tag label value.
svn path=/trunk/; revision=16937
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c
(imap_parse_namespace_response): New function to parse a NAMESPACE
response properly.
(imap_namespaces_destroy): New function to destroy the returned
structure from the above function.
svn path=/trunk/; revision=16927
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (service_setv): Only reconnect if we are already
connected, if we are in a disconnected state then no need to
reconnect.
svn path=/trunk/; revision=16924
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): If the
part_spec is an empty string for a leaft part, use "1" since we
don't actually want to get the raw message headers too.
svn path=/trunk/; revision=16923
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (refresh_folder_info): removed.
(imap_store_refresh_folders): Copy the folders first, then refresh
them, outside of the cache_lock, which could cause deadlocks
because of a workaround for crappo exchange.
(imap_disconnect_online): Dont pass an exception to LOGOUT
command. The required response 'BYE' always sets an exception
when we call LOGOUT. This also interfered with a lot of other
processing causing partial failures and messed up offline/online
state.
* camel-disco-folder.c (disco_prepare_for_offline): Do progress
reporting.
svn path=/trunk/; revision=16797
|
|
|
|
| |
svn path=/trunk/; revision=16795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-14 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #24136.
* providers/imap/camel-imap-folder.c (content_info_get_part_spec):
New function to take a CamelMessageContentInfo and generate a
part-specification string.
(get_content): Stop passing around part_spec strings and use
content_info_get_part_spec instead.
* camel-folder-summary.c (camel_content_info_dump): Made this into
a public debugging function.
* providers/imap/camel-imap-utils.c (imap_parse_body): Make sure
to set the parent of any message/rfc822 subparts.
svn path=/trunk/; revision=16793
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Previous
fix reverted.
svn path=/trunk/; revision=16790
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Previous
fix reverted.
(get_content): Handle the case where a multipart's parent is a
message/rfc822 part. Fixes bug #24136.
svn path=/trunk/; revision=16789
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_store_class_init):
Overload the setv/getv CamelObject virtual methods.
(imap_setv): Implemented.
(imap_getv): Implemented.
svn path=/trunk/; revision=16771
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-folder.c (camel_folder_append_message): Add a "char
**appended_uid" argument, for the caller to optionally pass in a
variable to receive the UID of the appended message (if the
provider knows it).
(camel_folder_transfer_messages_to): Likewise, add "GPtrArray
**transferred_uids"
(transfer_messages_to): Update default implementation to handle
transferred_uids.
* camel-disco-folder.c (disco_append_message,
disco_transfer_messages_to): Update for API changes.
* camel-disco-diary.c (camel_disco_diary_replay): Update the
diary's temporary uid->real uid map when replaying appends and
transfers.
* providers/imap/camel-imap-folder.c (imap_append_offline,
imap_append_online, imap_transfer_offline): Pass back the new
UIDs, when requested and available.
(imap_append_resyncing): Pass back the new UIDs when requested and
available. Remove the diary uidmap managing code since
CamelDiscoDiary can handle that itself now.
(imap_transfer_online, imap_transfer_resyncing): Update for new
APIs, but don't actually pass back the new UIDs yet. (It's tricky
since the COPYUID response may not be in the same order as the
input uids.)
* providers/local/camel-maildir-folder.c (maildir_append_message):
Pass back the new UID if requested.
* providers/local/camel-mbox-folder.c (mbox_append_message):
Likewise.
* providers/local/camel-mh-folder.c (mh_append_message): Likewise.
* providers/local/camel-spool-folder.c (spool_append_message):
Likewise.
* camel-digest-folder.c (digest_append_message,
digest_transfer_messages_to): Update for API changes.
* camel-filter-driver.c (camel_filter_driver_filter_message,
do_copy, do_move): Update for API changes.
* camel-vee-folder.c (vee_append_message,
vee_transfer_messages_to): Likewise.
* camel-vtrash-folder.c (vtrash_append_message,
vtrash_transfer_messages_to): Likewise.
svn path=/trunk/; revision=16765
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Not Zed <NotZed@Ximian.com>
* camel-folder-thread.c
(camel_folder_thread_messages_new_summary):
(camel_folder_thread_messages_new): Since the fix for #3357 uses
'order=0' to indicate tree structure nodes, make sure we dont
actually set order=0 for valid messages, otherwise we silently
lose duplicates of the first message (i==0). Fixes #19920.
svn path=/trunk/; revision=16764
|
|
|
|
|
|
|
|
|
|
| |
2002-05-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Fetch the
BODYSTRUCTURE rather than BODY since BODY seems to be lacking some
of the data we need. This fixes bug #24131.
svn path=/trunk/; revision=16762
|
|
|
|
|
|
|
|
|
| |
2002-05-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-transport.c (camel_transport_get_type): Might help if we
called camel_transport_class_init.
svn path=/trunk/; revision=16761
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-folder.c (camel_folder_transfer_messages_to): Replace
copy_messages_to and move_messages_to with a single function that
just takes a "delete_originals" flag. Also, use the vtrash
implementation if *either* folder is a vtrash.
(transfer_messages_to): Make this use camel_operation_progress
(previously move_messages_to did but copy_messages_to didn't), and
freeze/thaw the folder(s) if doing multiple messages.
* camel-vtrash-folder.c (vtrash_transfer_messages_to): Update for
move/copy merge. Move the "move messages into vtrash" code here
from mail-ops.c. Now all of the vtrash move/copy special casing is
in camel instead of half of it being here and half in mail/. (This
should also make it so that "Move to Trash" will work in filter
rules.)
* camel-vee-folder.c (vee_transfer_messages_to): Make this just
return an exception, since it will only be called when trying to
move/copy messages from one vfolder to another.
(vee_append_message): Add this too so we get a nicer error message
than the default "unimplemented" one in camel-folder.c.
* camel-digest-folder.c: Replace copy_messages_to and
move_messages_to with transfer_messages_to.
* camel-disco-folder.c: Likewise
* camel-disco-diary.c (camel_disco_diary_log,
camel_disco_diary_replay): replace MOVE/COPY with TRANSFER.
* providers/imap/camel-imap-folder.c (imap_transfer_offline,
imap_transfer_online, imap_transfer_resyncing): Update for
changes. (This ends up being a bit more complicated than it was
before for now, but later disconnected operation changes should
resimplify it.)
* camel-filter-driver.c (camel_filter_driver_filter_message,
do_copy, do_move): Use transfer_messages_to instead of copy.
svn path=/trunk/; revision=16744
|
|
|
|
|
|
|
|
|
|
| |
2002-05-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (shell_exec): New filter function to pipe
a message to another program.
(run_command): Fixed some bugs to make this work.
svn path=/trunk/; revision=16742
|
|
|
|
|
|
|
|
|
| |
2002-05-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (shell_exec): New filter function to pipe
a message to another program.
svn path=/trunk/; revision=16740
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-09 Not Zed <NotZed@Ximian.com>
* camel-service.c (camel_service_disconnect): Instead of testing
for SERVICE_CONNECTED, we need to also handle SERVICE_CONNECTING
too, as it will often have setup some details before it failed.
Make it !DISCONNECTED (and !DISCONNECTING for recursive calls,
which happen). Fixes #23782, and maybe also #21604 and many other
random crashes.
svn path=/trunk/; revision=16730
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-store.c (digest_setv): Implemented.
(digest_getv): Implemented.
* camel-disco-store.c (disco_setv): Implemented.
(disco_getv): Implemented.
* camel-remote-store.c (remote_store_setv): Implemented.
(remote_store_getv): Implemented.
* camel-transport.c (camel_transport_class_init): Implemented.
(transport_setv): Implemented.
(transport_getv): Implemented.
* camel-store.c (store_setv): Implemented.
(store_getv): Implemented.
* camel-service.c (service_setv): Implemented.
(service_getv): Implemented.
svn path=/trunk/; revision=16729
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate):
camel_pop3_engine_iterate doesn't return the state, it returns -1
on fail, 0 when finished processing request or >0 if more ops are
in the queue, so don't check status against CAMEL_POP3_STATE_OK,
instead check pcp->state against that.
svn path=/trunk/; revision=16719
|
|
|
|
|
|
|
|
|
| |
2002-05-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-object.h: s/class/klass for arguments so that c++
developers don't complain later.
svn path=/trunk/; revision=16712
|
|
|
|
|
|
|
| |
* camel-object.c (camel_object_class_cast): Fix a crash in a
g_warning.
svn path=/trunk/; revision=16705
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-07 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (remote_send_string): Check for LOGIN xxxx
as well if debug is on, so we dont print passwords to evolution
logs.
* providers/imap/camel-imap-utils.c (imap_is_atom_char): This was
really broken. 1. isprint() is locale dependent, and 2. it looked
up an 8 bit value in a 7 bit table without truncating it. I've
removed the isprint() stuff and just put it directly into the
special table, which i've expanded to the right size too.
* providers/imap/*: Applied patch from Preston Elder
<prez@magick.tm> to make camel only use literals if it needs to
for simple strings. Changed slightly to use imap_is_atom() and
more consistent formatting.
providers/imap/camel-imap-utils.c (imap_is_atom): Chagned from
imap_needs_quoting().
** Merged in camel-object2 branch. Simpler camelobject
implementation + object args interface.
* camel.c (camel_init): Call camel_object_get_type() to make sure
camel_object_type is initialised.
* camel-object.h (CAMEL_OBJECT_TYPE): Changed to return global
camel_object_type pointer, not call camel_object_get_type.
svn path=/trunk/; revision=16701
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): If
the pop3 command status is -1, then we probably have a TCP error
(?) so set a SYSTEM exception so our caller can distinguish
between a "bad password" and a "tcp error".
(pop3_connect): Only uncache the password on "bad password"
errors.
svn path=/trunk/; revision=16700
|
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Use
CamelMimeFilterBestenc to get a more appropriate encoding rather
than just blindling assigning QP.
svn path=/trunk/; revision=16699
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (do_append): Call
camel_mime_message_encode_8bit_parts() which fixes bug #10885.
svn path=/trunk/; revision=16698
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (socket_connect): Don't bother with
counting down the timeout.
svn path=/trunk/; revision=16690
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-fs.c (stream_read): Same fix as the tcp stream.
(stream_write): Again here. Just like tcp stream's stream_write(),
also make sure to save errno before calling fcntl to restore the
fd flags.
* camel-tcp-stream-raw.c (stream_read): Handle EINTR errors for
select().
(stream_write): Same and also preserve errno when setting the fd
flags back. If w == -1, return -1.
svn path=/trunk/; revision=16673
|
|
|
|
|
|
|
|
|
|
| |
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_mailbox): Fixed the fix for
stupidly-broken-mailer bug #5 to work when multiple unescaped
characters were in a row. Fixes bug #24140.
svn path=/trunk/; revision=16672
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Change the order
of some code so that we check if the select() failed before we
check for user-cancellation.
* camel-service.c (camel_gethostbyname): Check for EINTR when
select()ing.
(camel_gethostbyaddr): Same.
svn path=/trunk/; revision=16666
|
|
|
|
|
|
|
|
|
| |
2002-04-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c (camel_provider_auto_detect): Now takes a
CamelURL argument rather than a GHashTable *settings argument.
svn path=/trunk/; revision=16661
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-29 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (get_folder_info): We want
to set unread_count to get_unread_message_count, not
get_message_count(). Might fix #17174. Also removed FIXME: as it
was fixed.
svn path=/trunk/; revision=16629
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/Makefile.am: Don't link to libibex.a anymore.
* providers/nntp/Makefile.am: Same.
* providers/imap/Makefile.am: And again here.
svn path=/trunk/; revision=16609
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-store-summary.h: No longer want to #include
<libibex/ibex.h>
svn path=/trunk/; revision=16608
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c (camel_provider_auto_detect): New function to
auto-detect configuration settings.
svn path=/trunk/; revision=16599
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Not Zed <NotZed@Ximian.com>
* camel-block-file.c (block_file_validate_root): Remove the
excessive \n's, after printfs.
* camel-text-index.c (text_index_compress_nosync): @!#$@#$!@$#!.
Since the rename op was fixed, this broke compression's rename,
resulting in the index 'vanishing' after every compress
(i.e. after every reindex). Fix this code to account for the
fixed rename operation.
svn path=/trunk/; revision=16591
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_rcpt): Don't put a
space between the "RCPT TO:" and the "<recipient>" strings -
rfc0821 was not clear on this but it seems rfc2821 defines a
grammar excluding that SP.
(smtp_mail): Same.
svn path=/trunk/; revision=16588
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c
(camel_provider_module_init): Configure the default paths for mh,
mbox, maildir, spools, etc.
* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum and
define some default CamelProviderConfEntry macros.
svn path=/trunk/; revision=16580
|
|
|
|
|
|
|
|
| |
2002-04-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum.
svn path=/trunk/; revision=16575
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Free the
LIST pop3 command.
* camel-data-cache.c (data_cache_finalise): Free the cdc->path.
svn path=/trunk/; revision=16550
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart.c (write_to_stream): Don't g_return_val_if_fail
here if the boundary is an empty string. See bug #23676 for
details. The way I see it, we have 2 options: 1) leave this fix
the way it is, thus allowing multipart boundaries to be
empty-strings; or 2) make camel_multipart_get_boundary() change
the boundary to something legal if the boundary is an
empty-string. Since the parser should be able to handle an
empty-string boundary *and* more importantly because we want to
keep the same boundaries as the original raw message so as to be
able to verify multipart/signed parts, I vote for solution #1.
svn path=/trunk/; revision=16539
|
|
|
|
|
|
|
|
|
| |
2002-04-19 Not Zed <NotZed@Ximian.com>
* devel-docs/camel-index.txt: Start of a white-paperish document
describing camel-index and older libibex.
svn path=/trunk/; revision=16531
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-18 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-store.c (rename_folder): If we get a
failure, make sure we set an exception.
* camel-text-index.c (camel_text_index_rename): If the file
doesn't exist, just assume it never did, dont return failure.
(text_index_rename): Add '.index' to the path name we're using,
since we dont get it passed in.
svn path=/trunk/; revision=16505
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-18 Not Zed <NotZed@Ximian.com>
* camel-folder-search.c (check_header): When doing a contains
match, split the words and perform an and on it.
(match_words_messages): If we have an index, but were forced to do
a full search, first lookup a subset of messages using
the index and a simplified word set. Only do a manual search of
this subset.
2002-04-17 Not Zed <NotZed@Ximian.com>
* camel-folder-search.c (match_message_index): Changed to take a
utf8 string not a regex pattern.
(match_words_index): Matches against a camel_search_words list.
(match_words_1message): Matches a single message against a
camel_search_words list.
(match_words_message): Same, but gets the message from the folder
for you.
(match_words_messages): Matches a list of messages against a words
list.
(search_body_contains): Rewritten to handle multiple word
searches. For #23371.
* providers/imap/camel-imap-search.c (sync_match): Split words
when searching, to support multiple search words. Also, try
searching specifying charset of utf8 if we can, if that fails,
fall back to not specifying charset. TODO: It should translate
the strings into the locale default charset?
* providers/imap/camel-imap-store.c (connect_to_server): Added new
cap - utf8_search, if set, we tell the server we're searching
using utf8, otherwise we dont (incorrectly, since we always use
utf8 to search).
* camel-search-private.c (camel_ustrstrcase): Make this class public.
(camel_search_words_split): Split a word into multiple words based
on whitespace, and keep track of whether the word is simple
(indexable directly), or not.
(camel_search_words_free): Free 'em.
svn path=/trunk/; revision=16501
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-vee-folder.c (vee_search_by_expression): If the vee-folder
is the unmatched, we don't have our own expression so we cannot
merge them. Instead, just use the expression passed in. This fixes
a Null-Pointer-Read crash on Solaris systems at least.
svn path=/trunk/; revision=16500
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_folder): Get
rid of an unused variable.
* providers/smtp/camel-smtp-transport.c (smtp_helo): Use
camel_gethostbyaddr since gethostbyaddr is not reentrant.
* camel-http-stream.c (http_connect): Updated after the rename of
camel_get_host_byname.
* camel-service.c (camel_gethostbyname): Renamed.
(camel_gethostbyaddr): New cancellable/reentrant version of
gethostbyaddr.
svn path=/trunk/; revision=16484
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-spoold-store.c: Added #include
<sys/types.h> for dirent.h which needs it on MacOS X.
* providers/local/camel-maildir-store.c: Same.
* providers/nntp/camel-nntp-store.c: Same.
* providers/imap/camel-imap-message-cache.c: Same.
* camel-provider.c: Same.
* camel-data-cache.c: Same.
svn path=/trunk/; revision=16466
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c: Added #include <sys/types.h> for dirent.h
which needs it on MacOS X.
* camel-data-cache.c: Same.
svn path=/trunk/; revision=16463
|
|
|
|
| |
svn path=/trunk/; revision=16460
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-12 Jeffrey Stedfast <fejj@ximian.com>
* broken-date-parser.c (datetok): Treat commas as token
delimeters.
(WEEKDAY_CHARS): Use full weekday names in case the broken mailer
used the full names.
(MONTH_CHARS): Same as above but for months.
svn path=/trunk/; revision=16456
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-11 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
If the last message(s) were deleted, and we had any messages
output, account for the lost \n of the following From line by
adding an extra \n. fix for #8214.
2002-04-10 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (convert_buffer): If we get a 0 length
input, return a 0 lenght output as valid - fixes bugs with some
iconv impl and its simpler anyway.
svn path=/trunk/; revision=16438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c: Set the UID_SET_LIMIT value
to 4096. I ran into an issue tonight where apparently the IMAP
server changed the UIDVALIDITY and so Evo needed to re-fetch all
headers and it was trying to send a uid set of some 25k (yes, I
have a very large INBOX). Anyways, it was set to unlimited
before. Courier IMAPd can safely handle up to ~16k per token, but
UW IMAPd can only handle 8k per command-line, so I set it to 4k
just to be safe.
svn path=/trunk/; revision=16436
|
|
|
|
|
|
| |
length (in case we over-allocated)
svn path=/trunk/; revision=16429
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c (convert_buffer): Fixed a bug that would
miscalculate how much data to copy into the GByteArray (negative
value) thus causing a segfault. Also optimized it while I was at
it.
svn path=/trunk/; revision=16428
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_init): Make the folder_lock
recursive. See bug #22363 for details. Basically,
get_folder_info() is requesting a diary folder which in turn
connects which requests then calls get_folder() but deadlocks
because get_folder_info already holds the lock.
svn path=/trunk/; revision=16419
|
|
|
|
| |
svn path=/trunk/; revision=16413
|
|
|
|
|
|
|
|
|
|
| |
2002-04-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.c (camel_mime_message_set_date): Don't adjust
the timezone offset if we used tm.tm_gmtoff because it is already
adjusted.
svn path=/trunk/; revision=16412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-09 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (construct_from_parser): If we get multiple
Content-Type header values, change subsequent headers to
X-Invalid-Content-Type so it doesn't wreck processing. This fixes
the reported case in #18929, but i dont know if it fixes the
original posters problems.
2002-04-08 Not Zed <NotZed@Ximian.com>
* camel-vtrash-folder.c (vtrash_move_messages_to): If we find
we're moving from the vtrash to another folder, we need to convert
the uid from a vfolder uid to the source uid (+8). Fix for
#20886. Also changed to batch multiple moves to different folders
so they are done as efficiently as possible rather than one at a
time.
* camel-mime-utils.c (base64_decode_step): If we only get passed
'=', we back track only if we actually output any data. Fix for
#21716.
(quoted_decode): Pass out size_t instead of int, and use 0 instead
of -1 for error since its not signed. This will fix similar bug
to above in different circumstances since the result is taken as
unsigned. This is only an internal func.
(quoted_encode): Return size_t just for consistency.
* camel-block-file.c (block_file_validate_root): Comment out the
debug and move it into a warning when the validation fails.
svn path=/trunk/; revision=16394
|
|
|
|
|
|
|
|
|
| |
2002-04-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (uuencode_close): Don't count our filler when
encoding our line-length octet.
svn path=/trunk/; revision=16390
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (http_get_headers): Don't get the statuscode
here anymore.
(http_method_invoke): Use a User-Agent header and do basic proxy
authentication.
(stream_read): Handle redirects.
(camel_http_stream_set_user_agent): New function to allow client
to set the User-Agent string.
(camel_http_stream_set_proxy): New function for setting the proxy
server.
(camel_http_stream_set_proxy_authrealm): New function for setting
the proxy auth realm.
(camel_http_stream_set_proxy_authpass): New function for setting
the proxy auth password.
svn path=/trunk/; revision=16367
|
|
|
|
|
|
|
|
|
|
| |
2002-04-04 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-search.c (imap_body_contains): If
(body-contains) is not passed any arguments, return empty/false.
Fixes a crash exposed by #15001.
svn path=/trunk/; revision=16362
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Simplified since we
can now decode in-reply-to without getting extra cruft. Get rid of
the FIXME about having to check scan->id because of the
possibility of it being NULL, this can no longer happen.
* camel-mime-utils.c (header_references_inreplyto_decode): New
function to decode in-reply-to headers. Only grabs the first thing
that looks like a message-id and then returns.
(header_references_decode): Loop calling
header_references_decode_single (a new internal function).
svn path=/trunk/; revision=16361
|
|
|
|
|
|
|
|
|
|
| |
2002-04-04 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (remote_connect): Reset the keepalive
timeout to 10 minutes rather than the 30 seconds I was using for
testing.
svn path=/trunk/; revision=16336
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-provider.h (CamelProvider): make service_cache be an array
of CAMEL_NUM_PROVIDER_TYPES elements so you can have a single
provider offer both stores and transports. (Eg, Exchange, NNTP)
* providers/imap/camel-imap-provider.c: Don't initialize
service_cache here. (The session code can do it itself since the
url_hash and url_equal functions are stored as part of the
provider.)
* providers/nntp/camel-nntp-provider.c: Likewise.
* providers/local/camel-local-provider.c: Likewise.
* providers/pop3/camel-pop3-provider.c: Likewise.
* providers/sendmail/camel-sendmail-provider.c: Likewise.
* providers/smtp/camel-smtp-provider.c: Likewise.
* camel-session.c (register_provider): Initialize the provider's
service cache(s) here.
(camel_session_class_init): Don't initialize.
vee_provider.service_cache here.
(camel_session_destroy_provider): Update to destroy multiple
service_caches.
(service_cache_remove, get_service): Tweak these a bit to deal
with multiple service_caches.
svn path=/trunk/; revision=16330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-03 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Turn indexing back on, fingers
crossed ...
* camel-block-file.c (sync_nolock): #!@$@$#@~#$
DF@#$!Q@$#!@$#!#%. Well it helps if we're iterating a list to
iterate the node pointer ...
* camel-text-index.c (text_index_sync): Sync the key tables
explcitly.
(text_index_sync): Debug out frag info.
(camel_text_index_dump): Added a (rather large, but optional) raw
dumping mode for debugging purposes.
* camel-partition-table.c (camel_key_table_finalise): Sync root
block when done.
svn path=/trunk/; revision=16329
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (set_errno): Handle a ton more nspr i/o
errno's.
(stream_connect): Act as if we are doing a non-blocking
connect. This is to try and work around bug #15120 where users get
an EINPROGRESS error. Maybe importing a PRFileDesc into SSL mode
automagically makes it non-blocking? I dunno.
2002-04-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Updated the
construction of the references to match JWZ's updated algorithm
initialization (ie, append any In-Reply-To reference onto any
References header and never take more than a single message-id
from the In-Reply-To header since anything after the first will
probably just be email addresses). Fixes bug #1336.
svn path=/trunk/; revision=16327
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-03 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_sync): Sync the key tables
explcitly.
* camel-partition-table.c (camel_key_table_finalise): Sync root
block when done.
(camel_key_table_sync): New function, sync key table (root) explicitly.
2002-04-02 Not Zed <NotZed@Ximian.com>
* camel-block-file.c (camel_block_file_free_block): Mark root
block dirty when we change it (this function isn't used yet
anyway).
* camel-text-index.c (text_index_add_name_to_word): Touch the root
block when we modify the counts. Also, abort processing on any
errors.
(text_index_sync): Fix typo in comments. Sync the block file
inside the lock.
(text_index_compress_nosync): Lock the old index while we're
compressing.
(text_index_compress_nosync): Remove the bogus while() at the end
of the while() loops! Also plug a memleak - records weren't
freed.
(text_index_rename): Lock around rename op.
(text_index_add_name): More typos.
(text_index_sync): Touch root when changing it.
(text_index_add_name): "
(text_index_delete_name): "
(camel_text_index_new): Touch root if we change it.
(text_index_cursor_reset): Make sure we NULL pointers after we
free them (nothing uses this yet).
* camel-partition-table.c (hash_key): Remove some debug
accidentally left in.
(camel_partition_table_add): When linking in the next block list,
set the right previous pointer.
(camel_key_table_add): Simplify the 'left' calculation (it was
already ok though).
(camel_key_table_next): Initialise returns before processing.
Broaden the lock slightly, and simplify validity calculations.
svn path=/trunk/; revision=16323
|
|
|
|
|
|
|
|
|
| |
2002-04-02 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): Put back in
the exception setup stuff i disabled for debugging.
svn path=/trunk/; revision=16320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-02 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Temporarily disable indexing.
2002-03-28 Not Zed <NotZed@Ximian.com>
* camel-partition-table.c (camel_key_table_lookup): Change range
checking assert to a warning.
* providers/pop3/camel-pop3-folder.c (pop3_finalize): Make sure we
flush out all outstanding commands before finalising, stops being
finalised while outsanding requests are processed by the store
finalise.
(pop3_get_message): Instead of pre-fetching all messages, just
pre-fetch a maxiumum number at any one time, stops us running out
of cache fd's.
* providers/nntp/camel-nntp-folder.c (nntp_folder_init/finalise):
Setup priv data + locks, & free.
* providers/imap/camel-imap-folder.c (imap_rescan): Batch all
message_chagned events into a single folder_changed event
(otherwise updates can be >>> expensive, like >5 hours for 80K
messages changing!). Alternately it could use folder
freeze/unfreeze perhaps.
2002-03-27 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): Pass an
exception to called code so it behaves properly since it uses the
passed exception to check returns.
svn path=/trunk/; revision=16319
|
|
|
|
| |
svn path=/trunk/; revision=16313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/Makefile.am (libcamelimap_la_LDFLAGS): Use
-avoid-version instead of -version-info 0:0:0, and specify
-module. (From Max Horn <max@quendi.de>).
* providers/local/Makefile.am (libcamellocal_la_LDFLAGS): Likewise.
* providers/nntp/Makefile.am (libcamelnntp_la_LDFLAGS): Likewise.
* providers/sendmail/Makefile.am (libcamelsendmail_la_LDFLAGS):
Likewise.
* providers/smtp/Makefile.am (libcamelsmtp_la_LDFLAGS): Likewise.
* providers/pop3/Makefile.am (libcamelpop3_la_LDFLAGS): Likewise.
Also remove $(KRB4_LDFLAGS) since KPOP is gone.
(INCLUDES): and $(KRB4_CFLAGS)
svn path=/trunk/; revision=16305
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_copy): We now have to check to make
sure that p->message is non-NULL because we only load the message
when we have to.
(do_move): Same here.
svn path=/trunk/; revision=16280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-transport.c (camel_transport_send_to): Change the message
arg to a CamelMimeMessage instead of a CamelMedium. Even the NNTP
provider returns CamelMimeMessages, and we're never going to
support anything more exotic than that. Also do a few more
g_return_if_fails here instead of in the providers.
(camel_transport_can_send): No longer needed.
(camel_transport_send): Remove this too. It wasn't being used any
more, and it doesn't behave exactly the same in sendmail and smtp.
* providers/smtp/camel-smtp-transport.c (smtp_send,
smtp_can_send): Gone.
(smtp_send_to): Update for arg change.
(smtp_data): Make this take a CamelMimeMessage too.
* providers/sendmail/camel-sendmail-transport.c (sendmail_send,
sendmail_can_send): Gone.
(sendmail_send_to): Update for arg change, and merge in the part
that used to be shared with sendmail_send.
svn path=/trunk/; revision=16278
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_folder):
Construct the source_url the right way. The previous way was
generating urls like pop://fejj@ximian.com;keep_on_server/inbox
which is wrong.
svn path=/trunk/; revision=16260
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-26 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_normalise): Changed to use just
g_utf8_strdown instead of utf8_normalise, to match the indexing
code. utf8_normalise is just far too expensive (saves approx 25%
total processing).
svn path=/trunk/; revision=16250
|
|
|
|
| |
svn path=/trunk/; revision=16249
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-25 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_add_name): When we add a new
name, up all of the cache limits, because we're probably going to
be adding more.
(text_index_sync): Drop the cache limits back down again, we dont
need them when looking words up.
** MERGE camel_index branch.
* camel-text-index.[ch]: Added files i forgot to add (eep nearly
lost all this work!)
* camel-block-file.c (sync_nolock): Fix an infinite loop in syncing.
svn path=/trunk/; revision=16242
|
|
|
|
|
|
|
|
|
| |
2002-03-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (camel_message_info_new_from_header): Use
the date in the received header for the received_date.
svn path=/trunk/; revision=16225
|
|
|
|
|
|
|
|
|
|
| |
2002-03-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_encode_param): Fix this to work
right. We need to convert the input buffer to the charset we claim
in the encoded param (duh).
svn path=/trunk/; revision=16214
|
|
|
|
|
|
|
|
|
|
| |
2002-03-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Updated to use the same logic as the
POP code.
svn path=/trunk/; revision=16203
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (connect_to_server): No longer
takes a stls_supported argument since we no longer need it with
the new logic.
(connect_to_server_wrapper): New logic: First try connecting to
the SSL port (995 by default), if that fails with
SERVICE_UNAVAILABLE, then we attempt to connect (to port 110 by
default) and try to use STARTTLS.
svn path=/trunk/; revision=16202
|
|
|
|
|
|
|
|
|
| |
2002-03-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-private.h: Don't allow any empty structs. If
!ENABLE_THREADS, provide a gpointer dummy member. Fixes bug #6382.
svn path=/trunk/; revision=16174
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_auth): Added a
work-around for SMTP servers that can't read the RFCs and thus
implement SASL incorrectly. Oh well, that's life in the world of
mail clients I guess.
svn path=/trunk/; revision=16152
|
|
|
|
| |
svn path=/trunk/; revision=16148
|
|
|
|
|
|
|
|
|
|
| |
2002-03-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Quote
the USER and PASS arguments since some people have spaces in their
user-names and/or passwords.
svn path=/trunk/; revision=16144
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-store.c (camel_digest_store_new): Now takes a url
argument.
* camel-digest-folder.c (digest_add_multipart): Fixed some memory
corruption and also modified to use CAMEL_IS_MIME_MESSAGE() rather
than comparing content-type strings.
(digest_get_message): Fixed a logic blooper.
* camel-folder-summary.c (camel_message_info_new_from_header): Set
the date fields of the CamelMessageInfo as well. This may even fix
some filter-related bugs where the user was trying to compare
dates.
svn path=/trunk/; revision=16126
|
|
|
|
| |
svn path=/trunk/; revision=16117
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-store.c: A pretty empty store implementation to be
the parent store of a CamelDigestFolder.
* camel-digest-folder.c: Updated to reference it's parent store.
svn path=/trunk/; revision=16113
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-folder.c (camel_digest_folder_new): Allow any leaf
part to be a message/rfc822 part.
(digest_get_uids): Recurse the mime structure and add all
message/rfc822 parts and use a uid scheme similar to IMAP's mime
part naming convention.
(digest_get_message): Decode the uid to get the correct mime part.
svn path=/trunk/; revision=16111
|
|
|
|
|
|
|
|
| |
* camel-mime-utils.c: Change the order of the mailing list magic
patterns so that the more mailing-list specific ones are on the
top.
svn path=/trunk/; revision=16101
|
|
|
|
| |
svn path=/trunk/; revision=16098
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-11 Jeffrey Stedfast <fejj@ximian.com>
These fixes should fix bug #21737.
* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Same as with the POP code.
* providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
Slight restructuring of the if-statements for the USE_SSL_ALWAYS
case so that we can't possibly return TRUE unless we really did
connect successfully.
svn path=/trunk/; revision=16097
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation so that callers don't need to care which one is
being used.
* camel-tcp-stream-openssl.c: Implement CamelTcpStreamSSL, not
CamelTcpStreamOpenSSL. Rename methods as well. Replace the
camel-tcp-stream-openssl.h include with camel-tcp-stream-ssl.h.
* camel-tcp-stream-openssl.h: Gone.
* camel-tcp-stream-ssl.c: Add a note explaining that this
implementation is only used for NSS, and that OpenSSL's
implementation is in another file. (Should probably do some CVS
renaming magic at some point.)
* camel-http-stream.c (http_connect): Remove OpenSSL refs; the
previously-NSS-specific code works for both now.
* camel-remote-store.c: Likewise.
* providers/smtp/camel-smtp-transport.c: Likewise.
* providers/pop3/camel-pop3-store.c: Likewise.
* Makefile.am (libcamelinclude_HEADERS): Remove
camel-tcp-stream-openssl.h
svn path=/trunk/; revision=16093
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-tcp-stream.c (camel_tcp_stream_get_socket): Remove this:
it couldn't be generically used, because different subclasses
returned entirely different types of data.
(camel_tcp_stream_get_local_address,
camel_tcp_stream_get_remote_address): Add these to replace what
get_socket was being used for.
(camel_tcp_address_new, camel_tcp_address_free): Utility functions
for get_{local,remote}_address.
* providers/smtp/camel-smtp-transport.c: Change localaddr to a
CamelTcpAddress *.
(connect_to_server): Call camel_tcp_stream_get_local_address to
get the local IP address.
(smtp_disconnect): free localaddr.
(smtp_helo): Update for localaddr change.
* camel-tcp-stream-raw.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.
* camel-tcp-stream-ssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.
* camel-tcp-stream-openssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.
svn path=/trunk/; revision=16092
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-provider.c
(camel_provider_module_init): Don't call
camel_remote_store_get_authtypes since we no longer subclass
camel-remote-store.
* providers/pop3/camel-pop3-engine.c: Added STARTTLS to the
capabilities to look for.
(camel_pop3_engine_reget_capabilities): New function to re-get
capabilities.
* providers/pop3/camel-pop3-store.c: Updated to not subclass
CamelRemoteStore.
(connect_to_server): Rewritten to not depend on CamelRemoteStore's
connect implementation. Also added support for STLS (aka
STARTTLS).
svn path=/trunk/; revision=15998
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_sign): Add support for
hash type RIPEMD160.
* camel-cipher-context.h: Add RIPEMD160 hash type.
* camel-pgp-context.c (pgp_sign): Updated to consider hash
function for pgp5 and pgp6.
(pgp_clearsign): Same.
svn path=/trunk/; revision=15969
|
|
|
|
|
|
|
|
|
|
| |
2002-03-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (stream_read): Add a timeout on the
select.
(stream_write): Same.
svn path=/trunk/; revision=15963
|
|
|
|
|
|
|
|
|
| |
2002-03-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (connect_to_server): Fix
to work with OpenSSL.
svn path=/trunk/; revision=15959
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c: compile fixes.
(camel_tcp_stream_openssl_enable_ssl): Check to make sure that the
sockfd != -1, it's not enough to check that it is non-zero. Also
set the sockfd to -1 on fail (open_ssl_connection will close the
sockfd on fail).
svn path=/trunk/; revision=15953
|
|
|
|
|
|
|
| |
* providers/smtp/camel-smtp-transport.c (smtp_construct): Make
this compile.
svn path=/trunk/; revision=15946
|
|
|
|
| |
svn path=/trunk/; revision=15939
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (save_ssl_cert): Removed. Glory glory
hallelujah!
(ssl_bad_cert): No longer calls ssl_save_cert or
ssl_cert_is_saved.
svn path=/trunk/; revision=15938
|