| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
2003-03-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl-gssapi.c: #include <com_err.h> instead of
#include <et/com_err.h>
svn path=/trunk/; revision=20453
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl.c: Plug in GSSAPI support.
* camel-sasl-gssapi.[c,h]: Various fixes to make it compile (fixed
type-o's mostly).
svn path=/trunk/; revision=20438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
raw 8-bit Subject data.)
* camel-mime-utils.c (header_decode_mailbox): Take a charset arg
and pass it to header_decode_string.
(header_decode_address): Take a charset arg and pass it to
header_decode_mailbox.
(header_mailbox_decode): Likewise.
(header_address_decode): Take a charset arg and pass it to
header_decode_address.
* camel-folder-summary.c (summary_format_address): Take a charset
arg and pass to header_address_decode.
(message_info_new, camel_message_info_new_from_header): Pass
charset to summary_format_address
* camel-internet-address.c (internet_decode): Update for
header_address_decode change. (Unfortunately we don't have a
charset to pass here.)
* camel-mime-message.c (camel_mime_message_build_mbox_from): Move
this here from camel-mbox-summary since the same functionality is
needed by evolution-mail too (and update for header_address_decode
change)
* providers/local/camel-mbox-summary.c
(camel_mbox_summary_build_from): Moved to CamelMimeMessage
svn path=/trunk/; revision=20430
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (process_header): Removed unused variable left
over from my previous fix.
* providers/smtp/camel-smtp-transport.c (smtp_send_to): Don't pass
'has_8bit_parts' to smtp_data() anymore.
(smtp_data): No longer takes 'has_8bit_parts' argument. Ignore
whether or not the message has 8bit parts when deciding what the
required encoding type we need to enforce. Fixes bug #39744.
svn path=/trunk/; revision=20312
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (process_header): Use
header_contentid_decode() as this new function should be safer
than the hack that we had before.
* camel-mime-utils.c (header_contentid_decode): New function to
try and parse a content-id string in such a way as to work around
some of the known bugs in other MIME implementations. Try to be as
"safe" as we can - ie. don't allow for more than 1 @ (since the
mailer uses "@@@%d" as a fake content-id value for parts without
content-ids) and don't allow for invalid content-type chars.
svn path=/trunk/; revision=20295
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c (get_uids): Don't add bogus uids to the uid
array. Might fix bug #38868 (it's the only way I can figure that
camel_folder_get_message_info() could possibly return NULL for the
Outbox folder).
svn path=/trunk/; revision=20280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-12 Not Zed <NotZed@Ximian.com>
* camel-object.c (remove_bag): removed, it was double-freeing the
key.
(save_object): Just save the object in an array.
(camel_object_bag_destroy): first save the object bag's objects in
a list, then remove them one at a time from the bag since we can't
remove hash table entries while we're in a foreach (PITA glib
shit). For #39486.
(camel_object_bag_*): killed some warnings.
svn path=/trunk/; revision=20258
|
|
|
|
| |
svn path=/trunk/; revision=20241
|
|
|
|
|
|
|
|
|
|
| |
2003-03-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-url-scanner.c (camel_url_addrspec_end): Doh! If inptr ==
pos + 1, then return FALSE (before it was checking for inptr ==
pos, but it will never be pos).
svn path=/trunk/; revision=20225
|
|
|
|
|
|
|
|
|
| |
2003-03-07 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (vee_search_by_expression): handle a null
return from search_by_expression, for bug #33786.
svn path=/trunk/; revision=20215
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_next_word):
s/g_strncasecmp/strncasecmp/g
* camel-iconv.c: Updated to be an exact copy of e-iconv (except
names changed). We don't use this yet, but we may in the future.
* camel-url.c (camel_url_new_with_base): Here too.
* camel-sasl-kerberos4.c (krb4_challenge): Use camel_strdown()
here instead of g_strdown() since the latter has been deprecated.
* providers/imap/camel-imap-utils.c (imap_parse_body): Use
camel_strdown() since g_ascii_strdown() does not do what we
thought.
* providers/imap/camel-imap-store.c:
s/strstrcase/camel_strstrcase/g
* providers/imap/camel-imap-folder.c (do_append):
s/strstrcase/camel_strstrcase/
(handle_copyuid): Same.
* string-utils.c (camel_strdown): New function because the
g_ascii_strdown interface sucks.
(camel_strstrcase): Renamed from strstrcase.
svn path=/trunk/; revision=20213
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-text-index.c (camel_utf8_next): Same as below.
* camel-search-private.c (camel_utf8_getc): Updated since not all
platforms/compiles support __inline__.
svn path=/trunk/; revision=20192
|
|
|
|
|
|
|
|
|
|
| |
2003-03-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (camel_mime_part_get_encoding): Get rid of the
const return - it mismatches the prototype and we don't need it
anyway. Fixes bug #39173.
svn path=/trunk/; revision=20191
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-06 Jeffrey Stedfast <fejj@ximian.com>
Fixes for bug #39170
* camel-store-summary.c (camel_store_info_set_string): Remove
return keyword.
* camel-session.c (camel_session_thread_msg_free): Remove return
keyword.
(camel_session_thread_wait): Same.
* camel-index.c (camel_index_cursor_reset): Remove return keyword.
svn path=/trunk/; revision=20188
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-06 Jeffrey Stedfast <fejj@ximian.com>
Fixes for bug #39168
* providers/local/camel-spool-summary.c: Get rid of the empty
private struct.
* providers/local/camel-mbox-summary.c: Get rid of the empty
private struct.
* camel-vee-store.c: Get rid of the empty private struct.
* camel-mime-filter-from.c: Get rid of the empty private struct.
2003-03-05 Jeffrey Stedfast <fejj@ximian.com>
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): Add a CRLF filter to the output stream to
convert any CRLF sequences into plain old line-feeds to work
around a bug in some local transport programs.
svn path=/trunk/; revision=20187
|
|
|
|
|
|
|
|
|
| |
2003-03-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-object.h: s/class/klass in one place so that the header is
c++-safe.
svn path=/trunk/; revision=20140
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-03 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (camel_tcp_stream_ssl_new): Updated
to use the new API from a fe commits ago for the NSS stream. This
is just to make it compile, but does not update the behaviour to
act like the NSS stream. Note that people shouldn't be using
OpenSSL anyway.
(camel_tcp_stream_ssl_new_raw): Same.
* camel-process.[c,h]: New source file containing convenience
functions for process creation/termination mainly for use with
Pipe filters but should be usable for anything we want.
* camel-io.[c,h]: New source files implementing read/write system
calls with proper error checking and cancellation
(ie. StreamFs::read/write and CamelTcpStreamRaw::read/write). No
sense duplicating the same code over and over. Now I can use this
same code easily in other i/o code (such as Pipe filters and gpg
code?).
svn path=/trunk/; revision=20132
|
|
|
|
|
|
|
|
|
|
| |
2003-03-03 Not Zed <NotZed@Ximian.com>
* camel-store.c (camel_store_unsubscribe_folder): Do similar
folder != NULL checking as for delete_folder before passing a NULL
to object_bag_remove.
svn path=/trunk/; revision=20121
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (connect_to_server): Same
as IMAP and POP.
* providers/imap/camel-imap-store.c (connect_to_server): Same as
the POP3 code.
* providers/pop3/camel-pop3-store.c (connect_to_server): Pass in
appropriate flags for camel_tcp_stream_ssl_new*() functions.
* camel-tcp-stream-ssl.c (enable_ssl): Not all ssl/tls streams
will want to allow each of SSLv2, SSLv3 and TLSv1 so use flags to
decide which to enable/disable.
(camel_tcp_stream_ssl_new): Now takes a flags argument to mask out
which SSL/TLS versions the stream should be compatable with.
(camel_tcp_stream_ssl_new_raw): Same.
svn path=/trunk/; revision=20111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-filter.c: Add a 'flushed' state variable to the
private struct.
(do_read): Set p->flushed to TRUE after we call
camel_mime_filter_complete() on all the filters.
(do_reset): Set p->flushed to FALSE.
(do_eos): Make sure the filters have been flushed before returning
that the stream is at EOS.
* camel-mime-filter-canon.c (complete): Don't add a eol -
otherwise we will fail to verify some mutt signatures that do not
have a blank line before the boundary line (and note that the last
\n before the boundary really belongs to the boundary anyway) so
#if 0 this code out for now.
svn path=/trunk/; revision=20096
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-27 Not Zed <NotZed@Ximian.com>
* camel-multipart-signed.c: Undo jeff's changes.
* providers/local/camel-spool-store.c (scan_dir): Fix a paste-o in
the object_bag_get key.
svn path=/trunk/; revision=20084
|
|
|
|
|
|
|
|
|
|
| |
2003-02-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-signed.c: Updated to use g_alloca instead of
alloca so that we can skip all the #ifdef checks and skip checking
for alloca in configure.in and all that foo.
svn path=/trunk/; revision=20081
|
|
|
|
| |
svn path=/trunk/; revision=20075
|
|
|
|
|
|
|
|
|
|
| |
2003-02-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_delete_folder): Make sure the folder
is non-NULL before trying to remove it from the store's
object-bag.
svn path=/trunk/; revision=20067
|
|
|
|
| |
svn path=/trunk/; revision=20058
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): canonicalise the
charset name (if it is an iso charset) so that our strncasecmp to
see if it is an iso-8859-# charset will be guarenteed to work on
all systems.
(canon_charset_name): New function to return the canonical iso
charset name.
(simple_data_wrapper_construct_from_parser): If the charset is
NULL *or* the charset == "us-ascii" then check that it is 7bit
clean to decide if it is rawtext (we did not check the case where
charset was "us-ascii" before).
svn path=/trunk/; revision=20057
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.c: Same as the ones below.
* camel-mime-part.c: Reverted back to pre-camel-iconv
* camel-filter-search.c: Same as below.
* camel-folder-summary.c: Reverted back to pre-camel-iconv
* camel.c (camel_init): Reverted to pre-camel-iconv
* camel-charset-map.c (camel_charset_locale_name): Removed (part
of the revert).
(camel_charset_canonical_name): Same.
* camel-mime-filter-charset.c: Revert back to using e_iconv from GAL.
* camel-mime-part-utils.c: Revert back to using e_iconv from GAL.
* camel-mime-utils.c: Revert back to using e_iconv from GAL.
* camel-sasl-digest-md5.c: Revert back to using e-iconv from GAL.
svn path=/trunk/; revision=20056
|
|
|
|
|
|
|
|
|
| |
2003-02-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_canonical_name): g_alloca
(strlen (charset) + 1) so we don't overflow the buffer.
svn path=/trunk/; revision=20047
|
|
|
|
|
|
|
|
|
| |
2003-02-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-stream.c (stream_write): Don't write
the passwd, fixes "bug" #38601.
svn path=/trunk/; revision=20045
|
|
|
|
|
|
|
|
|
| |
2003-02-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-iconv.c: Make bucket->refcount 31 bits and bucket->used 1
bit instead of having each use their own 32bit int.
svn path=/trunk/; revision=20035
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-iconv.c (iconv_cache_bucket_expire): Use g_iconv_close()
here, missed this before.
(camel_iconv): Might as well call g_iconv here even though it just
calls iconv directly.
svn path=/trunk/; revision=20034
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-iconv.c (camel_iconv_charset_name): New function...back
from the depths of hell from whence it came originally. Turns out
that g_iconv_open() is lame and can't handle all the stuff we used
to handle in e_iconv_charset_name().
(camel_iconv_open): Use camel_iconv_charset_name() on the to/from
charsets rather than camel_charset_canonical_name(). Now maybe
g_iconv_open will work for charsets such as "ks_c_5601-1987".
* providers/pop3/camel-pop3-store.c (pop3_connect): Reget the
capabilities after a successful authentication.
* providers/pop3/camel-pop3-engine.c (get_capabilities): If we are
in the TRANSACTION state and CAPA did not list UIDL as a supported
command, try checking for it the hard way.
svn path=/trunk/; revision=20033
|
|
|
|
| |
svn path=/trunk/; revision=20031
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-23 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): Do it the
same way we just made the sendmail code do it.
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): My last change but in a better way.
svn path=/trunk/; revision=20023
|
|
|
|
| |
svn path=/trunk/; revision=20001
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-22 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): Remove all
Bcc headers before sending to the smtp server.
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): Remove all Bcc headers before sending to
sendmail.
svn path=/trunk/; revision=20000
|
|
|
|
| |
svn path=/trunk/; revision=19983
|
|
|
|
| |
svn path=/trunk/; revision=19981
|
|
|
|
| |
svn path=/trunk/; revision=19980
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-20 Jeffrey Stedfast <fejj@ximian.com>
* camel.c (camel_init): Call camel_iconv_init().
(camel_shutdown): Call camel_iconv_shutdown().
* camel-sasl-digest-md5.c (digest_response): Updated to use
camel-iconv and the new camel-charset-map functions.
* camel-mime-utils.c: Updated to use camel-iconv and the new
camel-charset-map functions.
* camel-mime-part-utils.c (check_html_charset): Use
camel_charset_canonical_name() instead of e_iconv_charset_name()
which is longer available.
(convert_buffer): Use camel-iconv.
(simple_data_wrapper_construct_from_parser): Since
camel_charset_iso_to_windows() returns the charset in it's
canonical format, no need to re-canonicalise it.
* camel-mime-part.c (process_header): Use
camel_charset_canonical_name() instead of e_iconv_charset_name()
which is longer available.
* camel-mime-message.c (process_header): Use
camel_charset_canonical_name() instead of e_iconv_charset_name()
which is longer available.
* camel-mime-filter-charset.c: Use camel-iconv.
* camel-folder-summary.c (message_info_new): Use
camel_charset_canonical_name() instead of e_iconv_charset_name()
which is longer available.
(content_info_new): Use camel_charset_locale_name().
(camel_message_info_new_from_header): Same as message_info_new().
* camel-search-private.c: Use g_alloca() instead of alloca().
* camel-filter-search.c (check_header): Use
camel_charset_canonical_name() instead of e_iconv_charset_name()
which is longer available.
* camel-charset-map.c (camel_charset_locale_name): New function,
replaces e_iconv_locale_charset().
(camel_charset_canonical_name): New function, similar to
e_iconv_charset_name() but instead of returning the iconv-friendly
name, it returns the canonical name. (g_iconv will do the
iconv-friendly name conversions for us).
svn path=/trunk/; revision=19977
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (run_command): Redirect program's stdout
and stderr to /dev/null
* camel-filter-driver.c (pipe_to_system): Redirect the program's
stderr to /dev/null
(pipe_to_system): Write the pipe to a mem stream and use the mem
stream in the parser. Also, when setting an exception get the
errno from the parser so we can give more info about the error to
the user.
svn path=/trunk/; revision=19974
|
|
|
|
|
|
|
|
|
| |
2003-02-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (pipe_to_system): Redirect the program's
stderr to /dev/null
svn path=/trunk/; revision=19973
|
|
|
|
| |
svn path=/trunk/; revision=19957
|
|
|
|
|
|
|
|
|
| |
2003-02-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Fixed a type-o in the
ENABLE_IPv6 ifdef section.
svn path=/trunk/; revision=19954
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (pipe_message): New filter action that
pipes the message source to the user-program and reads back the
modified message and replaces driver->priv->message with the new
message object.
(do_copy): Check p->modified to make sure the message hasn't been
modified by the pipe-message action - if it has been modified,
default to the slower camel_folder_append_message() way of
copying.
(do_move): Same.
(pipe_to_system): Set p->modified to TRUE if the user-program gave
us back a message stream and we were able to parse it.
(camel_filter_driver_filter_message): If the message has been
modified, always use camel_folder_append_message() when appending
it to the default folder.
svn path=/trunk/; revision=19951
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (pipe_message): New filter action that
pipes the message source to the user-program and reads back the
modified message and replaces driver->priv->message with the new
message object.
svn path=/trunk/; revision=19950
|
|
|
|
|
|
|
|
|
|
| |
2003-02-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-search.c: Added a (get-size ) function to fix bug
#38073.
(search_get_size): Implemented.
svn path=/trunk/; revision=19915
|
|
|
|
| |
svn path=/trunk/; revision=19914
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-url-scanner.c (url_scanner_table_init): Mark chars with
the high-bit set as CTRL chars.
(camel_url_web_end): If the char before the start of the url is an
open-brace, watch out for the matching close-brace.
(camel_url_file_end): Same.
svn path=/trunk/; revision=19913
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-smime-context.c (smime_get_password): Same as the gpg and
pkcs7 contexts.
* camel-sasl-popb4smtp.c (popb4smtp_challenge): Updated for
camel_session_get_password().
* camel-pkcs7-context.c (get_password): Same as the gpg code.
* camel-gpg-context.c (gpg_ctx_parse_status): Updated for
camel_session_get_password().
* providers/smtp/camel-smtp-transport.c (smtp_connect): No need to
set USER_CANCEL exception here as it is done by
camel_session_get_password(). Also updated for the new
get_password() API change.
* providers/imap/camel-imap-store.c (imap_auth_loop): Updated for
camel_session_get_password() changes. We don't need to play the
"bad passwd" game here too, do we? Bah, probably should but I
don't feel like it for now. Maybe when we rewrite the IMAP
provider.
* camel-session.c (camel_session_get_password): Now takes a
'reprompt' argument that will force user-input to be given even if
we have the passwd cached.
* providers/pop3/camel-pop3-store.c (pop3_connect): Instead of
uncaching the passwd after we receive a -ERR from the POP server,
set 'reprompt' to TRUE to force user-input for the next password
prompt (ie, make sure the front-end knows not to just return the
cached value). The front-end can then decide to fill-in the
user-input field with the last passwd that the user supplied.
(pop3_try_authenticate): Now takes a reprompt argument which we
pass into camel_session_get_password().
svn path=/trunk/; revision=19912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (libcamelincludedir): Define in terms of
privincludedir.
(camellibexecdir): Define in terms of privlibexecdir
(libcamel_la_LDFLAGS): Remove -rpath. (automake will add that)
* providers/imap/Makefile.am (libcamelimapincludedir): Define in
terms of privincludedir.
(INCLUDES): Remove -I$(includedir)
* providers/local/Makefile.am: Likewise
* providers/nntp/Makefile.am: Likewise
* providers/pop3/Makefile.am: Likewise
* providers/sendmail/Makefile.am: Likewise
* providers/smtp/Makefile.am: Likewise
svn path=/trunk/; revision=19775
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-04 Not Zed <NotZed@Ximian.com>
* camel-object.c (camel_object_bag_new): Init bag->owner to 0.
2003-01-31 Not Zed <NotZed@Ximian.com>
* camel-object.c (camel_object_bag_*): Changed to use a posix
semaphore instead of a condition variable + flag to reserve the
object bag because e_mutex_cond is broken.
svn path=/trunk/; revision=19754
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-02-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_parse_body): Use
g_ascii_strdown() instead of g_strdown, since g_strdown is
deprecated.
(imap_parse_body): Same.
* providers/imap/camel-imap-folder.c (decode_internaldate): Use
strncasecmp() here too.
(parse_fetch_response): And here.
(camel_imap_folder_selected): Here too.
* providers/imap/camel-imap-utils.c (imap_namespace_decode): Use
strncasecmp() instead of g_strncasecmp() because the latter is
deprecated.
* providers/imap/camel-imap-store.c (imap_get_capability): Again here.
(hash_folder_name): Here too.
(compare_folder_name): And here.
(get_folder_online): Again.
(get_folder_offline): And again.
* providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
Same as below again.
* providers/imap/camel-imap-command.c (camel_imap_response_free):
Same as below.
* providers/smtp/camel-smtp-transport.c (smtp_data): Use
strcasecmp() because g_strcasecmp() is deprecated.
* camel-url.c (camel_url_new_with_base): Use g_ascii_strdown()
instead of g_strdown, since g_strdown is deprecated.
2003-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl-gssapi.c (gssapi_challenge): Pass in some default
flags to gss_init_sec_context() (these default flags are defined
as a MUST in rfc1964).
svn path=/trunk/; revision=19748
|
|
|
|
|
|
|
|
|
|
| |
2003-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl-gssapi.c (gssapi_challenge): Pass in some default
flags to gss_init_sec_context() (these default flags are defined
as a MUST in rfc1964).
svn path=/trunk/; revision=19676
|
|
|
|
|
|
|
|
| |
2003-01-22 Hans Petter Jansson <hpj@ximan.com>
* Makefile.am: $(libexec) -> $(libexecdir)
svn path=/trunk/; revision=19573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/Makefile.am (libcamelimapincludedir): Update to
the new $(BASE_VERSION)-versioned path.
* providers/smtp/Makefile.am (libcamelsmtpincludedir): Likewise.
* providers/sendmail/Makefile.am (libcamelsendmailincludedir):
Likewise.
* providers/pop3/Makefile.am (libcamelpop3includedir): Likewise.
* providers/nntp/Makefile.am (libcamelnntpincludedir): Likewise.
* providers/local/Makefile.am (libcamellocalincludedir): Likewise.
* camel-lock-client.c (camel_lock_helper_init): Use
CAMEL_LIBEXECDIR instead of CAMEL_SBINDIR to find
camel-lock-helper.
* Makefile.am: Install camel-lock-helper and camel-index-control
in $(libexec)/evolution/$(BASE_VERSION)/camel. Install
libcamel.la in $privlibdir.
(install-exec-hook): Update for the new location of
camel-lock-helper.
(libcamelincludedir): Version using $(BASE_VERSION).
(INCLUDES): Define CAMEL_LIBEXECDIR.
svn path=/trunk/; revision=19554
|
|
|
|
|
|
|
|
|
| |
2003-01-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-canon.c (complete): Set the backbuflen to 0 so
that calling us again won't re-flush the same data.
svn path=/trunk/; revision=19538
|
|
|
|
|
|
|
|
|
| |
2003-01-17 Larry Ewing <lewing@ximian.com>
* camel-mime-filter-enriched.c (enriched_to_html): only grow the
buffer when we are out of space.
svn path=/trunk/; revision=19513
|
|
|
|
|
|
|
|
|
|
| |
2003-01-14 Not Zed <NotZed@Ximian.com>
* camel-mime-parser.c (folder_scan_step): If we have no
content-type header, set it to text/plain explcitly, rather than
NULL, because some code doesn't handle NULL.
svn path=/trunk/; revision=19438
|
|
|
|
|
|
|
|
|
| |
2003-01-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl-gssapi.[c,h]: New source files implementing the
GSSAPI SASL mechanism.
svn path=/trunk/; revision=19437
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-01-13 Not Zed <NotZed@Ximian.com>
* camel-mime-filter-tohtml.c: fix header include order.
* camel-object.c (camel_object_bag_reserve): Add an assert to
check we're not trying to reserve the bag more than once in a
given thread.
(camel_object_bag_list): If we have reserved the bag, dont try and
cond wait. Fixes a deadlock.
svn path=/trunk/; revision=19424
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-01-13 Not Zed <NotZed@Ximian.com>
* camel-mime-filter-tohtml.c (writeln): Read the characters as
utf8, rather than as 8 bit bytes. Remove the PRESERVE_8BIT as it
has no meaning. Also change the default logic slightly so that 8
bit or greater characters are properly converted to entities.
* camel-utf8.c (camel_utf8_getc_limit): new function, gets a utf8
char, bounded by an end pointer.
svn path=/trunk/; revision=19421
|
|
|
|
|
|
|
|
|
|
| |
* camel-provider.h (CamelProvider): add a "translation_domain"
field. (NULL for all providers in the camel source tree itself).
* camel-session.c (register_provider): Translate provider strings
in the correct domain
svn path=/trunk/; revision=19265
|
|
|
|
|
|
|
|
|
| |
2003-01-06 Not Zed <NotZed@Ximian.com>
* camel-store.c (store_sync): init local exception before doing
anything. fixes a crash.
svn path=/trunk/; revision=19238
|
|
|
|
| |
svn path=/trunk/; revision=19237
|
|
|
|
|
|
|
|
|
|
|
| |
2003-01-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_send_to): Instead of
checking recipients != NULL, check that camel_address_length
(recipients) != 0 since it is illegal for recipients to be NULL
(camel_transport_send_to already checks this).
svn path=/trunk/; revision=19235
|
|
|
|
| |
svn path=/trunk/; revision=19155
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c: Replace calls to
g_string_sprintfa() with g_string_append_printf() since the former
seems to have been deprecated.
* providers/imap/camel-imap-search.c: Same.
* providers/imap/camel-imap-folder.c: Here too.
* providers/local/camel-mbox-summary.c: And here.
* providers/local/camel-local-summary.c: Replace
g_string_sprintf() with g_string_printf().
* camel-data-cache.c (data_cache_expire): Replace
g_string_sprintf() with g_string_printf().
* camel-url.c: Replace calls to g_string_sprintfa() with
g_string_append_printf() since the former seems to have been
deprecated.
* camel-service.c: Same.
* camel-mime-utils.c: Here too.
svn path=/trunk/; revision=19154
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-url.c: Replace calls to g_string_sprintfa() with
g_string_append_printf() since the former seems to have been
deprecated.
* camel-service.c: Same.
* camel-mime-utils.c: Here too.
svn path=/trunk/; revision=19153
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Detect text/html
parts that were marked as text/plain and re-tag them as text/html
parts. Note: currently just checks if the first non-lwsp char is a
'<' - but we might need to be smarter about this? *sigh* Stupid
Windows mailers.
svn path=/trunk/; revision=19143
|
|
|
|
|
|
|
|
|
|
| |
2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (camel_text_to_html): New convenience
function to replace calls to e_text_to_html() in the
mailer/composer etc.
svn path=/trunk/; revision=19128
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
* camel.h: #include some headers we had forgotten to add
previously, also added camel-mime-filter-enriched.h.
* camel-mime-filter-enriched.[c,h]: New stream filter to convert
text/enriched and text/richtext into HTML.
svn path=/trunk/; revision=19124
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart-signed.c (camel_multipart_signed_verify): Don't
apply the CANON_STRIP filter here, since we are verifying whatever
raw data we received (all we want to do is convert o the canonical
CRLF format).
svn path=/trunk/; revision=19122
|
|
|
|
|
|
|
|
|
| |
2002-12-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (html_convert): Use camel-url-scanner
instead of regex.
svn path=/trunk/; revision=19087
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-url-scanner.c (camel_url_addrspec_end): Fixed to not be
fooled in the case where the address is followed immediately by a
period.
(camel_url_web_end): Made more robust.
(camel_url_scanner_scan): Oops. We need to set the match->pattern
string pointer to the correct pattern before executing the
start/end methods (as some of them rely on this info).
svn path=/trunk/; revision=19077
|
|
|
|
|
|
|
|
|
|
| |
2002-12-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-url-scanner.c: New code to scan for patterns (used only
for url pattern matching atm, but we may find other uses for this
and thus rename it? I dunno). Uses ETrie.
svn path=/trunk/; revision=19075
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-07 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (data_cache_init): Use a bag instead of a
hashtable to track the cache streams.
(data_cache_finalise): Same.
(free_busy): No longer needed.
(data_cache_expire): use bag instead of hashtable.
(stream_finalised): No longer required.
(camel_data_cache_add): objectbagise
(camel_data_cache_get): "
(camel_data_cache_remove): "
(data_cache_path): Set the now expired date before running expiry,
so it plays better with multiple threads. Still a couple of
harmless races.
2002-12-06 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (scan_dir): folders ->
object bag.
(get_folder_info_mbox): folders -> object bag.
* providers/local/camel-mh-store.c (folder_info_new): folders ->
object bag.
* providers/local/camel-maildir-store.c (scan_dir): folders ->
object bag.
* providers/local/camel-local-store.c (rename_folder): folders ->
object bag.
* camel-private.h (CamelStorePrivate): Remove 'cache' lock,
handled by the objectbag.
* providers/imap/camel-imap-store.c (copy_folder): Removed.
(imap_store_refresh_folders): folders -> object bag.
(get_folder_counts): folders -> object bag.
* camel-vee-store.c (vee_get_folder): changes for folders
objectbag.
(vee_get_folder_info): Change to use folders objectbag. Also,
dont refresh the base folder if we're in FAST mode.
(build_info): Removed, no longer needed.
(vee_rename_folder): Fixed for folders objectbag.
* camel-store.c (camel_store_init): init the folders objectbag.
(camel_store_finalize): Destroy the folders object bag.
(folder_matches):
(folder_finalize): Removed, now handled implicitly by the
objectbag.
(camel_store_get_folder): object bag changes.
(camel_store_delete_folder): "
(get_subfolders): Removed, now handled without a callback.
(camel_store_rename_folder): Changed to use object bag of folders.
(trash_add_folder): Removed.
(init_trash): use folders object bag.
(copy_folder_cache):
(sync_folder): Removed, no longer needed. Weird arsed code anyway.
(store_sync): Use folder object bag instead of hashtable.
(camel_store_unsubscribe_folder): "
(camel_store_init): remove cache_lock init, no longer used.
(camel_store_finalize): Same for cleanup.
2002-12-05 Not Zed <NotZed@Ximian.com>
* camel-store.h (struct _CamelStore): change folders from a
hashtable into a CamelObjectBag.
* camel-object.c (camel_object_ref): Use type_lock instead of
class lock for ref counting.
(camel_object_unref): Use type_lock instead of class lock for
unref.
(camel_object_unref): If the object is 'bagged', then also look
hooks, and remove it from any bags.
(camel_object_bag_new):
(camel_object_bag_destroy):
(camel_object_bag_add):
(camel_object_bag_get):
(camel_object_bag_remove_unlocked):
(camel_object_bag_list):
(camel_object_bag_abort):
(camel_object_bag_remove): New functions to implement a utility
object which can manage a 'bag' of weakly ref'd children in an
atomic & threadsafe way.
svn path=/trunk/; revision=19056
|
|
|
|
|
|
|
|
|
|
| |
2002-12-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store-summary.c
(camel_imap_store_summary_add_from_full): Properly handle the case
where the namespace is "". Fixes bug #34975
svn path=/trunk/; revision=19002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-12-03 Jeffrey Stedfast <fejj@ximian.com>
* broken-date-parser.c (get_tzone): Fixed to not get false
positives when the token is shorter than the actual timezone
string (but matches the first little bit of it).
(datetok): Modified to properly handle when the first char of a
token is a special char (such as a '-') that is also used as a
token delimiter.
svn path=/trunk/; revision=18996
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_read): Use the new
camel_operation_cancel_prfd() function to get the cancellation fd
so we can poll on it for cancellation stuff.
(stream_write): Same.
2002-11-22 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_cancel_prfd): Implement, gets
a nspr pr filedesc to poll/wait on
(struct _CamelOperation): include a pr filedesc.
svn path=/trunk/; revision=18894
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-21 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store-summary.c
(camel_imap_store_summary_namespace_find_path): If we have a
namespace of "", then always match any path.
(camel_imap_store_summary_namespace_find_full): Same, for full
names. Should address #33309 & friends.
svn path=/trunk/; revision=18884
|
|
|
|
| |
svn path=/trunk/; revision=18841
|
|
|
|
|
|
| |
* tests/*/Makefile.am: Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)
svn path=/trunk/; revision=18839
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (imap_connect_online): If the
namespace is at/below INBOX, check for the INBOX explicitly (since
it obviously won't show up in a LSUB INBOX.*). If either INBOX is
not returned in the response or if the folder flags contain
\NoSelect, subscribe to INBOX and then try LSUB again.
svn path=/trunk/; revision=18824
|
|
|
|
|
|
|
|
|
|
| |
2002-11-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (html_convert): Rewritten. Much much
much cleaner implementation now, though uses malloc/free more
often than I'd like.
svn path=/trunk/; revision=18691
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_message_simple): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
(pop3_get_message): Same.
svn path=/trunk/; revision=18690
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
Use g_strerror when setting an exception string (we need it to be
in UTF-8).
(spool_summary_check): Here too.
* providers/local/camel-spool-store.c (construct): Use g_strerror
when setting an exception string (we need it to be in UTF-8).
(get_folder): Same.
(scan_dir): Here too.
* providers/local/camel-spool-folder.c (spool_lock): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
* providers/local/camel-mh-summary.c (mh_summary_check): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
* providers/local/camel-mh-store.c (delete_folder): Use g_strerror
when setting an exception string (we need it to be in UTF-8).
* providers/local/camel-mbox-summary.c (summary_update): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
(mbox_summary_sync_full): Here too.
(mbox_summary_sync_quick): Same.
(mbox_summary_sync): Also here.
(camel_mbox_summary_sync_mbox): Again here.
* providers/local/camel-mbox-folder.c (mbox_lock): Use g_strerror
when setting an exception string (we need it to be in UTF-8).
(mbox_append_message): Same.
(mbox_get_message): Here too.
* providers/local/camel-maildir-summary.c (maildir_summary_load):
Use g_strerror when setting an exception string (we need it to be
in UTF-8).
(maildir_summary_check): Same.
* providers/local/camel-maildir-store.c (get_folder): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
(delete_folder): Same.
(delete_folder): Here too.
* providers/local/camel-local-summary.c (local_summary_sync): Use
g_strerror when setting an exception string (we need it to be in
UTF-8).
* providers/local/camel-local-store.c (get_folder): Use g_strerror
when setting an exception string (we need it to be in UTF-8).
(create_folder): Same.
(xrename): Here too.
(rename_folder): And here.
(delete_folder): Also here.
* camel-provider.c (camel_provider_init): For debugging printfs,
we want to use normal strerror (we want locale charset, not
UTF-8).
* camel-movemail.c (camel_movemail): Use g_strerror when setting
an exception string (we need it to be in UTF-8).
(movemail_external): Same.
(camel_movemail_copy_file): Here too.
(camel_movemail_solaris): Also here.
* camel-mime-utils.c (rfc2047_decode_word): For debugging printfs,
we want to use normal strerror (we want locale charset, not
UTF-8).
(header_encode_param): Same.
* camel-mime-part-utils.c (convert_buffer): For debugging printfs,
we want to use normal strerror (we want locale charset, not
UTF-8).
* camel-lock-client.c (camel_lock_helper_init): Use g_strerror
when setting an exception string (we need it to be in UTF-8).
* camel-data-cache.c (camel_data_cache_remove): Use g_strerror
when setting an exception string (we need it to be in UTF-8).
* camel-tcp-stream-raw.c (flaky_tcp_write): For debugging printfs,
we want to use normal strerror (we want locale charset, not
UTF-8).
(flaky_tcp_read): Same.
* camel-gpg-context.c (gpg_ctx_op_step): For debugging printfs, we
want to use normal strerror (we want locale charset, not UTF-8).
* camel-service.c (camel_gethostbyname): Use g_strerror when
setting an exception string (we need it to be in UTF-8).
* camel-lock.c (camel_lock_dot): Use g_strerror when setting an
exception string (we need it to be in UTF-8).
(camel_lock_fcntl): Same.
svn path=/trunk/; revision=18689
|
|
|
|
|
|
|
|
|
| |
2002-11-07 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (camel_mime_part_set_content_type): constify
the content_type.
svn path=/trunk/; revision=18660
|
|
|
|
| |
svn path=/trunk/; revision=18639
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-i18n.h: Added.
* camel-object.h: #include camel-i18n.h instead of gnome-i18n.h
* camel-lock.c: Same.
svn path=/trunk/; revision=18638
|
|
|
|
|
|
|
|
| |
2002-11-07 Rodrigo Moya <rodrigo@ximian.com>
* camel-object.h: removed gnome-defs.h, it does not exist.
svn path=/trunk/; revision=18633
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-05 Not Zed <NotZed@Ximian.com>
* Makefile.am (camel_lock_helper_LDADD): Created temporary link
list, we need to link with something for gettext.
* camel.h: Remove gstring-util.h and hash-table-utils.h.
* camel-text-index.c:
(text_index_normalise): Changed for g_utf8_strdown api change.
* camel-search-private.c:
* camel-mime-utils.c:
* camel-mime-part-utils.c:
* camel-html-parser.c:
* camel-charset-map.c: Include glib/gunicode.h from glib instead
of gal.
* camel-filter-driver.c: Remove include of gtk/gtk.h, should never
have been there.
svn path=/trunk/; revision=18542
|
|
|
|
|
|
|
|
|
| |
2002-11-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (g_string_append_len): Removed. Glib2 has
this function.
svn path=/trunk/; revision=18499
|
|
|
|
|
|
|
|
|
| |
2002-11-01 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-store.c (delete_folder): Use
g_path_get_basename instead of g_strdup (g_basename (filename)).
svn path=/trunk/; revision=18498
|
|
|
|
|
|
|
|
|
| |
2002-11-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-uid-cache.c (camel_uid_cache_new): Use g_path_get_dirname
since g_dirname has been deprecated.
svn path=/trunk/; revision=18497
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-31 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (camel_gpg_context_class_init): Set the
virtual method pointers to the import/export methods.
(camel_gpg_context_init): Set the key_protocol string.
(gpg_hash_to_id): Handle 2 more hash types.
(gpg_id_to_hash): Same.
(gpg_ctx_op_step): Slight fixes to support import/export.
(gpg_ctx_parse_status): Fix to hack around the fact that importing
keys doesn't write to stdout.
(gpg_import_keys): Implemented.
(gpg_export_keys): Implemented.
* camel-cipher-context.c (camel_cipher_context_class_init): Hook
up default virtual methods for import/export.
(camel_cipher_import_keys): Implemented.
(camel_cipher_export_keys): Implemented.
svn path=/trunk/; revision=18475
|
|
|
|
| |
svn path=/trunk/; revision=18474
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-31 Jeffrey Stedfast <fejj@ximian.com>
* Makefile.am: Removed hash-table-utils.[c,h] from the build.
* hash-table-utils.[c,h]: Removed.
* string-util.c: Imported g_strcase[hash,equal] into here so we
can remove hash-table-utils.[c,h].
* camel-medium.c: Removed #include "hash-table-utils.h"
* camel-mime-message.c: Same here.
* camel-mime-part.c: And here.
* camel-session.c: Here too.
* providers/imap/camel-imap-store-summary.c: #include
string-utils.h instead of hash-table-utils.h
* camel-charset-map.c: Same.
* camel-folder-summary.c: Here too.
* camel-provider.c: Again here.
* camel-store-summary.c: And again...
svn path=/trunk/; revision=18473
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-31 Jeffrey Stedfast <fejj@ximian.com>
Remove a ton of useless snot.
* Makefile.am: Remove gstring-util.[c,h] from the build.
* gstring-util.[c,h]: Removed.
* string-utils.c (string_equal_for_glist): Removed.
(string_split): Removed.
(string_trim): Removed.
(string_prefix): Removed.
(string_unquote): Removed.
(strip): Removed.
* hash-table-utils.c (g_hash_table_generic_free): Removed.
g_str[n]casecmp functions are deprecated in glib2.
* string-utils.c (strstrcase): Use strncasecmp instead of
g_strncasecmp.
* hash-table-utils.c (g_strcase_equal): Use strcasecmp
instead of g_strcasecmp.
* camel-smime-utils.c (camel_smime_is_smime_v3_signed): Same.
(camel_smime_is_smime_v3_encrypted): Here too.
* camel-sasl-digest-md5.c (decode_data_type): And here.
(parse_server_challenge): Again here.
* camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): Same.
(camel_pgp_mime_is_rfc2015_encrypted): Same
* camel-mime-part-utils.c (check_html_charset): Here too.
* camel-folder-summary.c (camel_system_flag): Same.
svn path=/trunk/; revision=18472
|
|
|
|
|
|
|
|
|
|
| |
2002-10-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_ctx_parse_status): Don't prematurely
set gpg->complete to TRUE. Let gpg_ctx_op_step () set it to TRUE
when gpg closes the status-fd instead.
svn path=/trunk/; revision=18448
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-24 Not Zed <NotZed@Ximian.com>
** For bug #31647 and bug #31456.
* camel-store-summary.c (store_info_string): for STORE_INFO_NAME,
skip the leading /.
* providers/imap/camel-imap-store.c
(parse_list_response_as_folder_info): Remove jeff's last patch,
and use the store summary to create the name and path of the
folderinfo so it manages namespace issues.
(get_folder_info_online): Just pass @top directly to
build_folder_info always, since namespace is mapped to 1 tree
level.
(imap_build_folder_info): Remove jeff's last patch, dont strip
leading /'s, they shouldn't exist.
(imap_connect_online): Remove adding the INBOX here, we add it
later.
(get_subscribed_folders): Make sure INBOX is always in the list.
some imap servers dont seem to let you subscribe to it(?), so
always have it act as subscribed.
* camel-store.c (camel_folder_info_build): back out the last 2
patches from Jeff (for #31456) to get the original behaviour.
(camel_folder_info_build): When creating a fake
parent, dont strip the namespace from the full_name. malloc keys
in hash since we dont have them anymore.
(free_name): Helper to free names.
* providers/imap/camel-imap-store-summary.c
(camel_imap_store_summary_namespace_new): Canonicalise the
namespace (strip trailing dir_sep), and change the path to remove
any /'s.
(camel_imap_store_summary_namespace_find_path):
(camel_imap_store_summary_namespace_find_full): new, find
namespace by path/full name.
(camel_imap_store_summary_full_from_path): Changed to a simple
wrapper around path_to_full, after checking namespace.
(camel_imap_store_summary_add_from_full): map the namespace if
present.
(camel_imap_store_summary_path_to_full): If namespace exists,
unmap it.
svn path=/trunk/; revision=18424
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_folder):
Canonicalise the source_uri to not have a path. Fixes bug #32268.
2002-10-17 Jeffrey Stedfast <fejj@ximian.com>
Possible fix for bug #32270
* providers/pop3/camel-pop3-store.c (try_sasl): If we get an I/O
error, we should not be setting the CANT_AUTH exception but should
instead be setting the SYSTEM exception. Also check for EINTR
which signifies a USER_CANCEL exception.
(pop3_try_authenticate): If the auth mechanism isn't supported,
don't set the CANT_AUTH exception since then we will loop and try
again with the same data which will just cause an infinite loop.
(pop3_connect): Simplified a bit.
svn path=/trunk/; revision=18412
|
|
|
|
| |
svn path=/trunk/; revision=18395
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-03 Not Zed <NotZed@Ximian.com>
* camel-folder.c
(filter_filter): Do the filtering ourselves. This is so a problem
like a missing uid (which can happen legitemitely) doesn't
prematurely abort filtering. Stop on all other errors. See
#31667.
svn path=/trunk/; revision=18392
|
|
|
|
|
|
|
|
|
| |
2002-10-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (camel_certdb_nss_cert_set): If
~/.camel_certs doesn't exist, create it.
svn path=/trunk/; revision=18391
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-15 Not Zed <NotZed@Ximian.com>
* camel-tcp-stream-ssl.c (cert_fingerprint): helper, build
fingerprint.
(camel_certdb_nss_cert_get): Helper for nss certs. Lookup cert.
As well as fingerprint, the whole raw cert is checked for
validity.
(camel_certdb_nss_cert_add): Add an nss cert to a certdb, also
saves the cert by fingerprint in ~/.camel_certs/.
(ssl_bad_cert): Changed to use above functions to simplify logic.
(ssl_bad_cert): Also added non-compiled code which mimics what
mozilla does, but it doesn't work right :-/
(camel_certdb_nss_cert_set): Save the raw cert associated with a
cert.
* camel-certdb.c (certdb_cert_free): Free the raw cert data if
set.
2002-10-14 Not Zed <NotZed@Ximian.com>
* camel-file-utils.c (camel_file_util_encode_string): Encode a
length of 0 as 1, not 0, to match the decode code.
svn path=/trunk/; revision=18385
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (camel_gpg_context_new): No longer takes a
path argument.
(camel_gpg_context_fianlise): No need to free ctx->path.
(gpg_ctx_new): No longer takes a path argument either.
(gpg_ctx_free): No need to free ctx->path, it's no longer used.
(gpg_ctx_op_start): Don't stat the path anymore and change the
first arg to execvp to "gpg" so that we use the shell's
environment to find gpg.
(gpg_sign): Updated.
(gpg_verify): Updated.
(gpg_encrypt): Updated.
(gpg_decrypt): Updated.
(gpg_ctx_get_argv): Removed some debug printfs.
svn path=/trunk/; revision=18383
|
|
|
|
|
|
|
|
|
| |
2002-10-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-gpg-context.c (gpg_id_to_hash): If the hash id is NULL,
return CAMEL_CIPHER_HASH_DEFAULT. Fixes bug #32229.
svn path=/trunk/; revision=18371
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_read_response): If the
response from the IMAP server is "No", don't set the
SERVICE_UNAVAILABLE exception, this makes error reporting in the
UI for deleting IMAP folders that cannot be deleted inaccurate
(ie, it reports "Cannot delete in offline mode" which is not the
problem).
svn path=/trunk/; revision=18356
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-07 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #31752
* providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
forget to send another EHLO command to the server once we toggle
into STARTTLS mode.
(smtp_helo): Reset any flags set using the EHLO response and also
any authtypes.
svn path=/trunk/; revision=18334
|
|
|
|
|
|
|
|
|
|
| |
2002-10-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c: Fix all mailing list regex patterns to allow
any number of spaces *or* tabs as pre-padding for the header
values.
svn path=/trunk/; revision=18333
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-03 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (write_to_stream): Use the content-object's
rawtext flag to decide if it needs to be filtered through the
charset filter instead of using the mime part's rawtext flag since
this will never be set. Partial fix for bug #31655.
svn path=/trunk/; revision=18323
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-03 Not Zed <NotZed@Ximian.com>
* camel-folder.c (folder_changed): Dont get the filter driver
inside the change_lock. Its not necessary, and can cause deadlock
with the way the mailer gets the filter driver via g_mainloop.
Should fix #31572.
svn path=/trunk/; revision=18321
|
|
|
|
|
|
|
|
|
| |
2002-10-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_iso_to_windows): Map us-ascii
to windows-1252 also.
svn path=/trunk/; revision=18318
|
|
|
|
| |
svn path=/trunk/; revision=18315
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-02 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (get_matching): Set *set to
NULL if we dont get any matches.
(imap_sync_online): If we get no matches, skip any work, also
reorder some code to make it easier to skip. See #31031.
* providers/imap/camel-imap-store.c
(imap_check_folder_still_extant): Default to "TRUE", if the list
command failed, it probably means a server problem, assume the
worst. This makes imap_refresh_info not clear the exception and
crash. Fixes crash of #31000.
2002-10-01 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_refresh_info): Make
sure we pass the exception to imap_folder_selected(), otherwise
failures can be lost. See bug #31000.
2002-10-01 Not Zed <NotZed@Ximian.com>
* camel-folder.c (thaw): Add an assertion that the frozen count>0.
(freeze): Same for >= 0.
* camel-vee-folder.c (camel_vee_folder_remove_folder): Use the
unmatched freeze_count when thawing folders removed from
unmatched, rather than the folder's freeze_count. Might be
related to #27391.
svn path=/trunk/; revision=18314
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-01 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (decode_internaldate): Use
strtol when decoding the timezone (since it can be negative) and
don't forget to increment inptr to the start of the time (ie,
don't leave inptr pointing to the year when decoding the
hour:min:sec).
svn path=/trunk/; revision=18283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-30 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #31456.
* providers/imap/camel-imap-store.c (imap_connect_online): Don't
LSUB "" "*", instead get both an LSUB containing the subfolders of
the namespace and an LSUB of INBOX (assuming namespace was
non-empty). This fix really has nothing to do with bug #31456 but
is what should have been done in the first place.
(parse_list_response_as_folder_info): Simplify a tad and strip
extra leading /'s from fi->path.
(imap_build_folder_info): Strip extra leading /'s from fi->path.
* camel-store.c (camel_folder_info_build): Don't strip the
namespace from the fi->full_name when hashing or creating fake
parent folder-infos. Fixes a bug I found while trying to reproduce
bug #31456.
(camel_folder_info_build_path): Strip off extra leading dir_sep
chars from the path.
svn path=/trunk/; revision=18273
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-30 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_folder_info_build): Don't strip the
namespace from the fi->full_name when hasing or creating fake
parent folders. Fixes a bug I found while trying to reproduce bug
#31456.
svn path=/trunk/; revision=18270
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-30 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Remove
debug content_info_dump, could cause a crash, and not really
needed anymore.
* camel-folder-summary.c (camel_content_info_dump): Check ci->type
!= NULL before dereferencing it. Should fix crash #31331.
svn path=/trunk/; revision=18259
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (decode_internaldate): New
function to decode the INTERNALDATE response from an IMAP server
so we don't have to use my broken-date-parser routines.
2002-09-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (connect_to_server):
NULL-check the streams before unreffing them in the case of a
failure during ssl negotiations.
* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): Check
SSL_ResetHandshake() for errors. Also force a handshake after
we've reset the handshake state on the socket.
svn path=/trunk/; revision=18252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-27 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Use
the summary's last uid as the one to fetch from, ignoring the
cache. Use strotul instead of atoi as well.
* providers/imap/camel-imap-store.c (get_folder_counts): If we
have the folder open, and the unread count has changed, refresh
it. Should fix #30399 enough. Also in non-check-all mode, if we
have the folder open, use it anyway.
svn path=/trunk/; revision=18242
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-26 Not Zed <NotZed@Ximian.com>
* tests/folder/test2.c (main): Treat spool as a local folder, so
the ref checks work right.
* providers/local/camel-spool-store.c
(get_folder): Use creat() instead of open() to create file.
svn path=/trunk/; revision=18231
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-26 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (get_folder): Implement
FOLDER_CREATE flag.
(scan_dir): Dont free name on exception, its alloca'd.
(scan_dir): If we start scanning from a file, just add that
directly.
(scan_dir): Allow empty files to also show up in folder list, as
well as files starting with "From ".
* providers/local/camel-spool-folder.c (camel_spool_folder_new):
Check folder != NULL before writing to it.
* providers/local/camel-local-store.c (create_folder): Handle a
parent of NULL for creating top-level dirs. Part of #31186.
svn path=/trunk/; revision=18230
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-26 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c
(parse_list_response_as_folder_info): Store the folder flags in
the store summary.
(get_one_folder_offline): Set the noselect url parameter if this
is a noselect folder, from the stored summary flags. #30877.
svn path=/trunk/; revision=18229
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-23 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-charset.c (complete): Handle EILSEQ by eating
bytes in the input buffer until conversion is successful. The old
behaviour aborted when it got EILSEQ and just dumped the raw data.
(filter): Same. Fixes bug #30873.
svn path=/trunk/; revision=18228
|
|
|
|
|
|
| |
for it. input charset files should be in the form "charset-%s.%d.in" where %s is the charset name that the file is in and %d is just some number as in a sequence id. Mostly just so we can have multiple test files per charset
svn path=/trunk/; revision=18227
|
|
|
|
|
|
|
|
|
| |
2002-09-24 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (mail_list_magic[]): Changed the Mailing-List
rule to get the complete domain (* in wrong spot). #31087.
svn path=/trunk/; revision=18192
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-24 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_compress_nosync): If we have no
data written to a key, dont add it, or its partition header.
2002-09-23 Not Zed <NotZed@Ximian.com>
* camel-block-file.c (sync_nolock): Mark root block dirty if we're
going to sync it.
(camel_key_file_finalise): de-count the active list if we close
it.
* camel-text-index.c (text_index_delete): Implement.
(text_index_compress_nosync): Use index_delete when we're finished
with the old one, so it is properly deactivated.
* camel-index.c (camel_index_delete): Remove api call. Mark index
deleted in new state variable.
(camel_index_*): Wrap all calls in check for deleted state.
svn path=/trunk/; revision=18189
|
|
|
|
|
|
|
|
|
| |
2002-09-23 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c (transfer_message_to): If the original message is
deleted, reset the deleted flag when we're done. Fixes bug #30876.
svn path=/trunk/; revision=18181
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-23 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (add_message_from_data):
Decode the INTERNALDATE if we've got one.
(imap_update_summary): Instead of requesting a list of specific
headers, request HEADER.FIELDS.NOT (RECEIVED) to reduce bandwidth
usage even more.
(parse_fetch_response): Change slightly to allow HEADER.FIELDS or
HEADER.FIELDS.NOT so that we can make changes in
imap_update_summary and not need to keep changing this function to
match. Also parse an INTERNALDATE response.
svn path=/trunk/; revision=18178
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-mime-parser.c (folder_scan_drop_step): fix non-ANSI switch
statement.
* camel-service.c (service_getv): Likewise.
* providers/imap/camel-imap-store.c (imap_getv): Likewise.
* providers/pop3/camel-pop3-folder.c (cmd_builduid): Likewise.
svn path=/trunk/; revision=18157
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-20 Not Zed <NotZed@Ximian.com>
* tests/misc/split.c: New regression test for word
splitting/search input parsing code.
* tests/folder/test9.c (main): Fix for filter_driver api change.
* camel-search-private.c (camel_search_words_split): Handle "'s
and \'s to escape characters. For fat, lazy, slobs who dont like
anything changing.
svn path=/trunk/; revision=18130
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-19 Not Zed <NotZed@Ximian.com>
* camel-filter-search.c (camel_filter_search_match): Take new
session arg. Update callers.
(symbols[]): changed get-source to header-source
(header_source): Chagned from get_source. Now a boolean, returns
true if source matches one of the arguments. Uses the provider
url comparison directly for accurate checking. Makes 'filter on
source' work.
* camel-filter-driver.c (camel_filter_driver_new): Take new arg,
session.
(camel_filter_driver_finalise): Free session.
svn path=/trunk/; revision=18112
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response): Don't
increment the response pointer when deciding what type of header
response we got, this screws up the string that we strdup into the
part_spec string later. Also, instead of using the entire blob of
HEADER.FIELDS that we get in the response, shorten it to just
HEADER.FIELDS to use as the part_spec key.
svn path=/trunk/; revision=18111
|
|
|
|
| |
svn path=/trunk/; revision=18109
|
|
|
|
|
|
|
|
|
| |
2002-09-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (CAMEL_MESSAGE_INFO_HEADERS):
Include MIME-VERSION and CONTENT-TYPE.
svn path=/trunk/; revision=18108
|
|
|
|
|
|
|
|
|
|
| |
2002-09-18 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_command_response): If we get an ALERT, pass it to the
user. An rfc2060 MUST, and bug #22496.
svn path=/trunk/; revision=18107
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response):
Handle when the response is from a HEADER.FIELDS (if so, we don't
want to cache the result).
(imap_update_summary): Request specific headers when building the
CamelMessageInfo's rather than fetching the full headers.
svn path=/trunk/; revision=18102
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (process_header): If header_msgid_decode fails
for the content-id field, just grab whatever is between the <>'s
(yes, this means that the content-id is invalid - but what can ya
do?). Addresses bug #21027.
svn path=/trunk/; revision=18071
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (process_header): If header_msgid_decode fails
for the content-id field, just grab whatever is between the <>'s
(yes, this means that the content-id is invalid - but what can ya
do?). Addresses bug #21027.
svn path=/trunk/; revision=18070
|
|
|
|
|
|
|
|
|
| |
2002-09-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_encode_string): Revert a patch that I
had not meant to commit that was aimed at fixing bug #29234.
svn path=/trunk/; revision=18040
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-store-summary.c (camel_store_summary_load): Same as
below. Also save errno before closing the file so our caller can
figure out why we failed.
(camel_store_summary_save): Same here, but also flush the output
stream to disk.
* camel-folder-summary.c (camel_folder_summary_load): s/fclose(in)
== -1/fclose(in) != 0/ since fclose doesn't necessarily return -1
on fail, all we really know is that it returns 0 on success and
non-zero on fail.
* camel-certdb.c (camel_certdb_save): fsync() the stream after we
fflush it.
svn path=/trunk/; revision=18037
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (perform_content_info_save): Do proper
error checking and return -1 on fail.
(camel_folder_summary_save): Check the return of
perform_content_info_save and a few other output calls within the
message_info_save loop. If any of them fail, save errno, close the
file, and return -1. If we finish the loop without fail, fflush
the stream and then fsync (fflush only flushes user-space buffers,
you still need to fsync afterward to flush the data to disk). If
either fail, treat it as an exception by saving errno, closing the
stream, and returning -1. I suspect that this also fixes bug
#30150 because the old code would fclose if fflush or fclose
failed in the check after the loop (man fclose(3) states that any
further calls using the stream (even another call to fclose) will
have undefined behaviour no matter what the first fclose call
returned).
* providers/local/camel-local-summary.c
(camel_local_summary_init): Don't malloc a private struct of 0
size.
svn path=/trunk/; revision=18036
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c
(camel_imap_folder_fetch_data): Clear the exception even if we
failed to get the message (part) from the imap-message-cache if we
are online and able to try fetching it from the IMAP server.
svn path=/trunk/; revision=18035
|
|
|
|
|
|
|
|
|
|
| |
2002-09-10 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (data_cache_expire): Remove the hash table
entry using the right path. Related to #29731.
(camel_data_cache_remove): "
svn path=/trunk/; revision=18031
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-09 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #4224
* providers/imap/camel-imap-folder.c
(camel_imap_folder_fetch_data): Pass ex into
camel_imap_message_cache_get().
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Now takes an exception and sets it
on fail.
(camel_imap_message_cache_copy): Updated to properly handle
cache_get error conditions.
svn path=/trunk/; revision=18027
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-mime-utils.c (header_decode_date): Use e_mktime_utc.
* camel-mime-message.c (camel_mime_message_set_date): Use
e_localtime_with_offset.
* broken-date-parser.c (decode_broken_date): Use e_mktime_utc.
svn path=/trunk/; revision=17986
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-04 Not Zed <NotZed@Ximian.com>
* tests/folder/test4.c (main): clear nonfatal stuff.
* tests/folder/test6.c (main): check inbox and 'another folder'
because some servers do different things w/ inbox.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Dont try to open the directory
instead of an empty "" uid.
* providers/imap/camel-imap-folder.c (imap_get_message): we dont
want to g_return_if_fail, we need to set an exception and always
handle the case.
(get_message_simple): Set an exception if we get a construct
failure.
(imap_refresh_info): if we're refreshing inbox, force a reselect.
this is required for at least cryus. CHECK doesnt work either :(
* tests/lib/folders.c (test_folder_basic): for non-local stores,
the folder will have an extra ref for selection, take this into
account when checking ref leaks.
(test_folder_message_ops): Dont try to delete folder with messages
in it, it works generally with imap. also, change params so we
can test different mailbox types.
(test_folder_message_ops): disconnect remote services before
finishing off. doesn't need to stricly but makes ref count
checking more accurate.
(test_folder_message_ops): removed explicit remote sync, imap does
it itself now ...
* providers/imap/camel-imap-store.c:
(camel_imap_store_finalize): call service_disconnect, so it isn't
called later in the finalise chain, to properly cleanup on exit.
svn path=/trunk/; revision=17962
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-04 Not Zed <NotZed@Ximian.com>
* camel-mime-parser.c (folder_scan_content): If we fake the from
eof file boundary, also make sure we say we matched nothing. Also
make the end case a little more robust to make sure we expired all
hope of finding a sub-boundary.
svn path=/trunk/; revision=17961
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-04 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c,
providers/imap/camel-imap-folder.c: Lots of changes, too numerous
to list. Changed to use camel-imap-store-summary to cache list
requests. Changed to use a canonicalised url path with / instead
of per-store directory separator. Indirects folder name so
invalid folder names can still be accessed. Summary now stored in
a new expandable format in .ev-store-summary.
2002-08-28 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (construct): Load store
summary if it exists.
(can_work_offline): Just see if we have any folders to say whether
we can work offline or not. Should probably always just return
true.
2002-08-27 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store-summary.[ch]: New files to
handle offline definition of folders, etc.
* camel-url.h: Define CamelURL to be struct _CamelURL rather than
anonymous struct.
* camel-store-summary.[ch]: a few api tweaks. Also, the summary
header is versioned separately at each level, so that version
upgrades can be handled separately. Renamed FolderInfo ->
StoreInfo to avoid namespace with current FolderInfo code. This
should be reversed when the FolderInfo code is rationalised to
this new base.
2002-08-23 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-command.c (camel_imap_command): domt
encode folder name.
* providers/imap/camel-imap-folder.c (do_copy): dont encode folder
name.
(do_append): dont encode folder name.
* providers/imap/camel-imap-store.c (get_folder_status): don
encode folder name in imap request.
(get_folder_online): here too for creating folder.
(rename_folder): Assume the incoming 'new name' is a utf8 path,
whereas the 'old name' is as from get folder info (raw).
(create_folder): Dont encode parent_name, assume its the raw
thing.
2002-08-22 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (get_folder_online): Select
based on unconverted name.
(imap_build_folder_info): New function to create a folderinfo
properly based on raw name.
(subscribe_folder): Use above helper.
(imap_folder_effectively_unsubscribed): Same here.
(imap_forget_folder): Same here.
(get_one_folder_offline): "
2002-08-21 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c
(parse_list_response_as_folder_info): Setup path properly, as
decoded path with / separator. Setup full_name as non-decoded raw
name. Keep url as decoded path but with server separator
... (ick).
(create_folder): Dont call build_path anymore, get_folders() does
it for us.
(subscribe_folder): Build the path ourself.
(imap_folder_effectively_unsubscribed): Same here.
(get_subscribed_folders): list using %S not %F, we're using the
raw server provided name directly.
(subscribe_folder): As above, for SUBSCRIBE.
(unsubscribe_folder): Same here.
(delete_folder): Same.
(rename_folder_info): Same here for source name.
(rename_folder): And here?
(get_folders_online): Amd here.
* providers/imap/camel-imap-utils.c:
(imap_parse_list_response): Dont decode the mailbox.
* camel-utf8.[ch]: some new utf8 & utf7 utilities.
* providers/imap/camel-imap-utils.c (imap_mailbox_encode):
(imap_mailbox_decode): use camel_utf7/8* functions instead.
: Add config.h and alloca.h headers.
svn path=/trunk/; revision=17943
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-29 Not Zed <NotZed@Ximian.com>
* tests/folder/test3.c: Change the case sensitive search of
subject to expect case insensitive results, as the behaviour has
changed.
(main): Made the search content before sync nonfatal. its
something that needs to be fixed but not practical concern in
evolution.
* camel-block-file.c (block_file_validate_root): Only spit out the
invalid root warnings if the file isn't empty.
* camel-text-index.c (text_index_compress_nosync): Swap the path
as well when we compress.
* camel-mime-parser.c (folder_scan_content): Treat the end of file
as a boundary if we're scanning From lines, and drop the last \n.
(folder_scan_init_with_fd): Dont pre-read from the fd, and init eof.
(folder_scan_init_with_stream): Similar.
(folder_read): Handle eof, and set eof on 0 read.
(folder_seek): Dont pre-read after a seek, and reset eof flag.
(camel_mime_parser_init_with_fd): Fix doco, no pre-read occurs
anymore.
(camel_mime_parser_init_with_stream): Same.
* providers/local/camel-mbox-summary.c
(camel_mbox_summary_sync_mbox): Add a \n to end of content of each
message, not at start.
* providers/local/camel-mbox-folder.c (mbox_append_message):
Instead of appending "\nFrom " to a mailbox, start with "From ",
and append a \n after the message always. For better mutt/elm
compatability. Also, unlock after we've stat'd.
(mbox_append_message): Set the message's from_pos exactly as the
mbox size.
svn path=/trunk/; revision=17921
|
|
|
|
| |
svn path=/trunk/; revision=17919
|
|
|
|
|
|
|
|
|
| |
2002-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (stream_setsockopt): Fixed `set' to
hold the correct value when setting the flags.
svn path=/trunk/; revision=17913
|
|
|
|
| |
svn path=/trunk/; revision=17912
|
|
|
|
|
|
|
|
|
| |
2002-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (stream_setsockopt): Fixed `set' to hold
the correct value when setting the flags.
svn path=/trunk/; revision=17911
|
|
|
|
|
|
|
|
| |
2002-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (is_protocol): Match file: urls too.
svn path=/trunk/; revision=17900
|
|
|
|
|
|
|
|
|
|
| |
2002-08-28 Not Zed <NotZed@Ximian.com>
* tests/folder/test8.c (test_add_message): Change message number
to use hex, so its properly unique.
(worker): Same here.
svn path=/trunk/; revision=17891
|
|
|
|
|
|
|
|
| |
2002-08-28 Not Zed <NotZed@Ximian.com>
* tests/misc/utf7.c: some utf7/utf8 tests.
svn path=/trunk/; revision=17890
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-28 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-utils.c (imap_mailbox_encode): Chagned
to use camel_utf8_utf7 code.
(imap_mailbox_decode): As above, using camel_utf8_utf7. 'UTF-7'
isn't a widely support iconv() codeset, and besides the new code
is simpler.
* camel-utf8.[ch]: robust utilities for working with utf8 and utf7.
svn path=/trunk/; revision=17886
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-thread.c (camel_folder_thread_messages_new): Now
takes a third argument to specify whether or not to group messages
by subject when threading. It seems some people don't want this
feature (see bug #22791 for details).
(thread_summary): If thread_by_subject is enabled, group
un-threaded messages by subject otherwise don't bother.
svn path=/trunk/; revision=17880
|
|
|
|
| |
svn path=/trunk/; revision=17868
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_response_free_without_processing): If the response is
NULL, just return. (now works the same way as imap_response_free
which allowed a NULL response argument). Fixes bug #25491.
svn path=/trunk/; revision=17863
|
|
|
|
| |
svn path=/trunk/; revision=17862
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c:
* providers/imap/camel-imap-folder.c:
* providers/imap/camel-imap-command.c: Lock the
CamelService->priv->connect_lock instead of using our own
command_lock. This fixes bug #28177.
svn path=/trunk/; revision=17861
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-23 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_helo): If we fail to
send the EHLO/HELO command successfully, set transport->connected
to FALSE when we close the tcp connection. Also updated to work on
an IPv6 network.
(smtp_connect): transport->authtypes can be NULL, so NULL-protect
the call to g_hash_table_size() - this should fix a warning that
was reported on the evolution@ximian.com mailing list.
(smtp_set_exception): If the status message is multi-line, add a
\n between lines.
(connect_to_server): If we are going to ignore the EHLO/HELO error
as if it were non-fatal, then we should clear the exception.
svn path=/trunk/; revision=17852
|
|
|
|
|
|
|
|
|
|
| |
2002-08-22 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (imap_noop): If current_folder
is not NULL and the summary for that folder is dirty, sync the
flags rather than sending a NOOP.
svn path=/trunk/; revision=17842
|
|
|
|
|
|
|
|
|
|
| |
2002-08-22 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_parse_list_response):
Workaround for Courier imap's brokeness when LSUBing the INBOX
folder when it isn't subscribed to. Fixes bug #28929.
svn path=/trunk/; revision=17841
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-session.c (get_service): Don't register the noop timeout
here anymore, we're gonna handle all this in the mailer now.
(camel_session_register_timeout): Removed.
(camel_session_remove_timeout): Removed.
svn path=/trunk/; revision=17830
|
|
|
|
| |
svn path=/trunk/; revision=17823
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|