| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-04 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-provider.c: Remove the
CONF_DEFAULT_PATH entry, as this is handled by the url config
stuff. This made it basically impossible to configure any local
folder from the gui.
* providers/local/camel-local-folder.c (local_refresh_info): Force
a refresh. Should work for all local folders to force them to
refresh.
* providers/local/camel-maildir-folder.c (maildir_refresh_info):
Removed, moved into camel-local-folder.
* providers/local/camel-mh-summary.c (mh_summary_next_uid_string):
Once we assign or get a uid, tell the summary of this, so the next
uid we get will be higher than any previously.
* camel-object.c (camel_object_ref, camel_object_unref): I got
sick of casting, these now take void * like they should, and
perform their own run-time type checking.
* providers/local/camel-mh-store.c (recursive_scan): Changed to
use stat, not lstat (*shrug* maybe someone wants to softlink their
maildir tree?).
(inode_hash):
(inode_equal):
(inode_free): Copied from camel-maildir store (should put into
camel-local-store or utils?).
(recursive_scan): Changed to check for re-visiting inodes. Also,
it builds the tree itself, rather than using folder_info_build.
(add_folder): Changed to folder_info_new.
(recursive_scan): Properly honour the recursive flag. Also,
lookup unread count from folder.
(folder_info_new): Init unread message count to -1, since we dont
know yet.
(folder_info_new): Take the name as an argument, and perform the
merging here.
(folders_update): Util func to add/remove folders from .folders
file. I'm assuming its sorted.
(get_folder): Add the folder to .folders if we created a new one,
and if it exists.
(delete_folder): Remove from .folders, etc.
(folders_scan): If we have a .folders file, read and use that
instead.
(recursive_scan): Handle scanning from a particular directory
properly.
(rename_folder): Implement so we can track any changes to the
.folders file if its turned on.
** Applied patch below from Greg Hudson.
2002-05-10 Greg Hudson <ghudson@mit.edu>
* camel-mh-store.c (get_inbox, get_folder_info, recursive_scan,
add_folder): Implement support for MH stores.
* camel-mh-summary.c (mh_summary_check, sort_uid_cmp): Sort MH
messages by message number (uid), like we sort maildir messages by
date.
* camel-local-provider.c (mh_provider): Turn on source and store
flags.
svn path=/trunk/; revision=17130
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-03 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_add_folder):
(folder_changed_change):
(folder_changed_remove_uid):
(folder_changed_add_uid):
(vee_folder_build_folder): Check that any unmatched operation is
not concerning any vfolder. Other vfolders should never be part of any
unmatched handling. For #24615, and others probably.
svn path=/trunk/; revision=17075
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-06-02 Not Zed <NotZed@Ximian.com>
* camel-sasl.c (camel_sasl_new):
(camel_sasl_finalize): setup/free the mech string.
* camel-sasl.h: Added 'mech' mechanism string.
2002-06-01 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-folder.c (imap_getv): Implement. Only
the object_description arg.
(camel_imap_folder_get_type): Init parent_class holder.
* providers/local/camel-local-folder.c (local_getv): Implement,
object_description arg.
* camel-folder.c (folder_getv): Implement, add a bunch of args you
can get -> camel_folder_get_unread_count etc will be going RSN i
hope.
(camel_folder_finalize): Free cached description string.
* camel-object.c (cobject_getv): Implement
CAMEL_OBJECT_ARG_DESCRIPTION, just return the classname of the
object.
(camel_object_getv):
(camel_object_get):
(camel_object_setv):
(camel_object_set): Take object = void *, to simplify usage.
(camel_object_setv): Removed unecessary locals.
(camel_object_getv): Same.
(camel_object_free): New method, free an arg, upto implementations
whether args are static/const or not.
(cobject_free): Implement a dummy do nothing free.
2002-05-31 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_get_location): new function
to get the real location (folder) (and uid) of a vfolder object.
Using the folderinfo, since we already have it, maybe it should
use the uid.
svn path=/trunk/; revision=17073
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): When the part
is a multipart/signed, make sure to free the part_spec before
returning (the other types already did this properly).
svn path=/trunk/; revision=17066
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_get): Free the path buffer when we're
done with it.
* providers/imap/camel-imap-folder.c (imap_update_summary): Free
the final tagged response buffer.
svn path=/trunk/; revision=17065
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_read_untagged): If we
fail to read a literal, free the temporary string buffer.
svn path=/trunk/; revision=17063
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Revert my fix
from the other day since camel_imap_command_response() doesn't
guarentee that resp will be set to NULL on error.
* providers/imap/camel-imap-command.c
(camel_imap_command_response): Use a different variable to get the
return of imap_parse_untagged so that we don't lose the pointer to
the original malloc'd respbuf buffer.
svn path=/trunk/; revision=17061
|
|
|
|
|
|
|
|
|
|
| |
2002-05-31 Jeffrey Stedfast <fejj@ximian.com>
* camel-data-cache.c (camel_data_cache_get): If we fail to be able
to create a stream to insert into the cache, then free the 'real'
path.
svn path=/trunk/; revision=17060
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-30 Not Zed <NotZed@Ximian.com>
* camel-cipher-context.h: Added a protocol field for users to use.
* camel-stream-filter.c (do_read): Sigh, the pre-size is READ_PAD
not READ_SIZE. Big difference.
(READ_PAD): Bumped upto 128 from 64, so we can fit a typical line
in full.
* providers/imap/camel-imap-folder.c (get_content): Changed to
load multipart/signed as an opaque block into the right kind of
object.
* camel-multipart.h (struct _CamelMultipart): Removed the boundary
field. It wans't actually used anywhere.
* camel-seekable-substream.c
(camel_seekable_substream_new_with_seekable_stream_and_bounds):
Shortened this stupidly long name to just :new(), its the only way
its ever used. Fixed all callers.
* camel-multipart-signed.[ch]: new wrapper for multipart/signed
types. We need to treat the entire content as a blob of data for
transport purposes. This also cleans up a lot of the sign/verify
handling.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Just call
camel_multipart_construct_from_parser for multipart parts, also
use a multipart_signed for multipart/signed types.
* camel-multipart.c (camel_multipart_construct_from_parser): New
virtual function for multiparts to buld themselves.
(construct_from_parser): Implement for normal multiparts.
(toplevel): Got rid of a warning, it'll never be an abstract
class.
* camel-pgp-context.c (pgp_hash_to_id):
(pgp_id_to_hash): Implement.
(camel_pgp_context_init): Init the pgp protocol specifier.
* camel-cipher-context.c (camel_cipher_id_to_hash):
(camel_cipher_hash_to_id): Util virtual methods to handle the
cipher id string.
* camel-mime-filter-canon.[ch]: A new filter, end/start of line
canonicalisation filter. Can escape "From " and strip trailing
whitespace, and canonicalise the end of line to crlf or to lf.
2002-05-29 Not Zed <NotZed@Ximian.com>
* camel-multipart.h (struct _CamelMultipart): Removed the
'parent', nothing used it, anywhere. Cleaned up some formatting
slightly.
svn path=/trunk/; revision=17057
|
|
|
|
|
|
|
|
|
| |
2002-05-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_store_readline):
On error, don't leak the GByteArray buffer.
svn path=/trunk/; revision=17054
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_rescan): Free the
response before checking for errors. I'm not sure this'll actually
fix the memory leak here, but it might? Certainly can't hurt.
* camel-block-file.c (camel_block_file_finalise): Destroy the
blocks hash table.
svn path=/trunk/; revision=17053
|
|
|
|
|
|
|
|
|
| |
2002-05-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (connect_to_server): Only free
the LOGOUT response if it is non-NULL.
svn path=/trunk/; revision=17036
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-28 Not Zed <NotZed@Ximian.com>
* providers/local/camel-maildir-folder.c (maildir_refresh_info):
Implement. Run a summary check to update for any newly arrived
messages.
* providers/local/camel-maildir-store.c (scan_dir): If we have a
folder, execute a refresh_info on it, to suck in any new stuff.
svn path=/trunk/; revision=17029
|
|
|
|
|
|
|
|
|
|
| |
2002-05-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_log): Use the
CamelMessageInfo rather than the CamelMimeMessage because the
message may not have been loaded (thus NULL).
svn path=/trunk/; revision=17025
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/pop3/camel-pop3-store.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/imap/camel-imap-store.c (connect_to_server): On
connection failure, unref the tcp stream.
* providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types):
Our parent class is no longer CamelRemoteStore.
(nntp_store_init): Same.
(camel_nntp_store_get_type): Here too.
(nntp_connect): Rewritten to try to connect via SSL. Also remove
code using CamelRemoteStore.
(camel_nntp_command): Don't call camel_remote_store_connected().
svn path=/trunk/; revision=17022
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (content_info_get_part_spec):
Helps if we allocate enough space here. Also, start smoking the
same purple flavoured IMAP crack when counting parts (parts don't
count if their parent part is a message/* part with a parent
part). Fixes bug #25260.
svn path=/trunk/; revision=17014
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c (imap_read_untagged): Use
the new readline function.
* providers/imap/camel-imap-store.c (connect_to_server): Use the
new camel_imap_store_readline() function which doesn't suck quite
as bad as the original camel_remote_store_recv_line() function.
(camel_imap_store_readline): New function to replace
camel_remote_store_recv_line(). This function is at least safe
with embedded nul chars. Not that any of our callers use it
*sigh*.
svn path=/trunk/; revision=17012
|
|
|
|
|
|
|
|
|
| |
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (connect_to_server): Added
some NULL protection fixes.
svn path=/trunk/; revision=16997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c: Removed from the build. Glory glory
hallelujah.
* camel-disco-store.c: Updated to inherit from
CamelStore rather than CamelRemoteStore.
* providers/imap/camel-imap-command.c (imap_command_start): Don't
use the camel-remote-store shit to send a string. Just use
camel_stream_printf for chrissakes.
* providers/imap/camel-imap-store.c: Updated to not depend on
CamelRemoteStore and to handle STARTTLS.
(imap_disconnect_online): Unref the streams.
(imap_keepalive): Removed.
(camel_imap_store_connected): New function to replace
camel_remote_store_connected().
(camel_imap_store_finalize): Unref the streams.
(camel_imap_store_recv_line): New function to replace
camel_remote_store_recv_line().
(imap_get_capability): Renamed from connect_to_server
(connect_to_server): New function to try and connect to the
server.
(connect_to_server_wrapper): New wrapper function around
connect_to_server that takes the ssl modes into consideration.
(query_auth_types): Don't bother calling our parent's
implementation of query_auth_types() since CamelDiscoStore doesn't
have any anyway.
(imap_get_name): New method to implement CamelService::get_name
svn path=/trunk/; revision=16975
|
|
|
|
|
|
|
|
|
| |
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (get_folder_offline): Don't
call some retarded function to simply set an exception.
svn path=/trunk/; revision=16970
|
|
|
|
|
|
|
|
|
| |
2002-05-18 Not Zed <NotZed@Ximian.com>
* camel-search-private.c (camel_utf8_getc): If we get an invalid
start char, just ignore it and goto the next character.
svn path=/trunk/; revision=16960
|
|
|
|
|
|
|
|
|
| |
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (get_label): New e-sexp callback function
to get a user_tag label value.
svn path=/trunk/; revision=16937
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c
(imap_parse_namespace_response): New function to parse a NAMESPACE
response properly.
(imap_namespaces_destroy): New function to destroy the returned
structure from the above function.
svn path=/trunk/; revision=16927
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (service_setv): Only reconnect if we are already
connected, if we are in a disconnected state then no need to
reconnect.
svn path=/trunk/; revision=16924
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): If the
part_spec is an empty string for a leaft part, use "1" since we
don't actually want to get the raw message headers too.
svn path=/trunk/; revision=16923
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-15 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (refresh_folder_info): removed.
(imap_store_refresh_folders): Copy the folders first, then refresh
them, outside of the cache_lock, which could cause deadlocks
because of a workaround for crappo exchange.
(imap_disconnect_online): Dont pass an exception to LOGOUT
command. The required response 'BYE' always sets an exception
when we call LOGOUT. This also interfered with a lot of other
processing causing partial failures and messed up offline/online
state.
* camel-disco-folder.c (disco_prepare_for_offline): Do progress
reporting.
svn path=/trunk/; revision=16797
|
|
|
|
| |
svn path=/trunk/; revision=16795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-14 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #24136.
* providers/imap/camel-imap-folder.c (content_info_get_part_spec):
New function to take a CamelMessageContentInfo and generate a
part-specification string.
(get_content): Stop passing around part_spec strings and use
content_info_get_part_spec instead.
* camel-folder-summary.c (camel_content_info_dump): Made this into
a public debugging function.
* providers/imap/camel-imap-utils.c (imap_parse_body): Make sure
to set the parent of any message/rfc822 subparts.
svn path=/trunk/; revision=16793
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Previous
fix reverted.
svn path=/trunk/; revision=16790
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Previous
fix reverted.
(get_content): Handle the case where a multipart's parent is a
message/rfc822 part. Fixes bug #24136.
svn path=/trunk/; revision=16789
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_store_class_init):
Overload the setv/getv CamelObject virtual methods.
(imap_setv): Implemented.
(imap_getv): Implemented.
svn path=/trunk/; revision=16771
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-folder.c (camel_folder_append_message): Add a "char
**appended_uid" argument, for the caller to optionally pass in a
variable to receive the UID of the appended message (if the
provider knows it).
(camel_folder_transfer_messages_to): Likewise, add "GPtrArray
**transferred_uids"
(transfer_messages_to): Update default implementation to handle
transferred_uids.
* camel-disco-folder.c (disco_append_message,
disco_transfer_messages_to): Update for API changes.
* camel-disco-diary.c (camel_disco_diary_replay): Update the
diary's temporary uid->real uid map when replaying appends and
transfers.
* providers/imap/camel-imap-folder.c (imap_append_offline,
imap_append_online, imap_transfer_offline): Pass back the new
UIDs, when requested and available.
(imap_append_resyncing): Pass back the new UIDs when requested and
available. Remove the diary uidmap managing code since
CamelDiscoDiary can handle that itself now.
(imap_transfer_online, imap_transfer_resyncing): Update for new
APIs, but don't actually pass back the new UIDs yet. (It's tricky
since the COPYUID response may not be in the same order as the
input uids.)
* providers/local/camel-maildir-folder.c (maildir_append_message):
Pass back the new UID if requested.
* providers/local/camel-mbox-folder.c (mbox_append_message):
Likewise.
* providers/local/camel-mh-folder.c (mh_append_message): Likewise.
* providers/local/camel-spool-folder.c (spool_append_message):
Likewise.
* camel-digest-folder.c (digest_append_message,
digest_transfer_messages_to): Update for API changes.
* camel-filter-driver.c (camel_filter_driver_filter_message,
do_copy, do_move): Update for API changes.
* camel-vee-folder.c (vee_append_message,
vee_transfer_messages_to): Likewise.
* camel-vtrash-folder.c (vtrash_append_message,
vtrash_transfer_messages_to): Likewise.
svn path=/trunk/; revision=16765
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-13 Not Zed <NotZed@Ximian.com>
* camel-folder-thread.c
(camel_folder_thread_messages_new_summary):
(camel_folder_thread_messages_new): Since the fix for #3357 uses
'order=0' to indicate tree structure nodes, make sure we dont
actually set order=0 for valid messages, otherwise we silently
lose duplicates of the first message (i==0). Fixes #19920.
svn path=/trunk/; revision=16764
|
|
|
|
|
|
|
|
|
|
| |
2002-05-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_get_message): Fetch the
BODYSTRUCTURE rather than BODY since BODY seems to be lacking some
of the data we need. This fixes bug #24131.
svn path=/trunk/; revision=16762
|
|
|
|
|
|
|
|
|
| |
2002-05-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-transport.c (camel_transport_get_type): Might help if we
called camel_transport_class_init.
svn path=/trunk/; revision=16761
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-folder.c (camel_folder_transfer_messages_to): Replace
copy_messages_to and move_messages_to with a single function that
just takes a "delete_originals" flag. Also, use the vtrash
implementation if *either* folder is a vtrash.
(transfer_messages_to): Make this use camel_operation_progress
(previously move_messages_to did but copy_messages_to didn't), and
freeze/thaw the folder(s) if doing multiple messages.
* camel-vtrash-folder.c (vtrash_transfer_messages_to): Update for
move/copy merge. Move the "move messages into vtrash" code here
from mail-ops.c. Now all of the vtrash move/copy special casing is
in camel instead of half of it being here and half in mail/. (This
should also make it so that "Move to Trash" will work in filter
rules.)
* camel-vee-folder.c (vee_transfer_messages_to): Make this just
return an exception, since it will only be called when trying to
move/copy messages from one vfolder to another.
(vee_append_message): Add this too so we get a nicer error message
than the default "unimplemented" one in camel-folder.c.
* camel-digest-folder.c: Replace copy_messages_to and
move_messages_to with transfer_messages_to.
* camel-disco-folder.c: Likewise
* camel-disco-diary.c (camel_disco_diary_log,
camel_disco_diary_replay): replace MOVE/COPY with TRANSFER.
* providers/imap/camel-imap-folder.c (imap_transfer_offline,
imap_transfer_online, imap_transfer_resyncing): Update for
changes. (This ends up being a bit more complicated than it was
before for now, but later disconnected operation changes should
resimplify it.)
* camel-filter-driver.c (camel_filter_driver_filter_message,
do_copy, do_move): Use transfer_messages_to instead of copy.
svn path=/trunk/; revision=16744
|
|
|
|
|
|
|
|
|
|
| |
2002-05-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (shell_exec): New filter function to pipe
a message to another program.
(run_command): Fixed some bugs to make this work.
svn path=/trunk/; revision=16742
|
|
|
|
|
|
|
|
|
| |
2002-05-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (shell_exec): New filter function to pipe
a message to another program.
svn path=/trunk/; revision=16740
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-09 Not Zed <NotZed@Ximian.com>
* camel-service.c (camel_service_disconnect): Instead of testing
for SERVICE_CONNECTED, we need to also handle SERVICE_CONNECTING
too, as it will often have setup some details before it failed.
Make it !DISCONNECTED (and !DISCONNECTING for recursive calls,
which happen). Fixes #23782, and maybe also #21604 and many other
random crashes.
svn path=/trunk/; revision=16730
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-store.c (digest_setv): Implemented.
(digest_getv): Implemented.
* camel-disco-store.c (disco_setv): Implemented.
(disco_getv): Implemented.
* camel-remote-store.c (remote_store_setv): Implemented.
(remote_store_getv): Implemented.
* camel-transport.c (camel_transport_class_init): Implemented.
(transport_setv): Implemented.
(transport_getv): Implemented.
* camel-store.c (store_setv): Implemented.
(store_getv): Implemented.
* camel-service.c (service_setv): Implemented.
(service_getv): Implemented.
svn path=/trunk/; revision=16729
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate):
camel_pop3_engine_iterate doesn't return the state, it returns -1
on fail, 0 when finished processing request or >0 if more ops are
in the queue, so don't check status against CAMEL_POP3_STATE_OK,
instead check pcp->state against that.
svn path=/trunk/; revision=16719
|
|
|
|
|
|
|
|
|
| |
2002-05-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-object.h: s/class/klass for arguments so that c++
developers don't complain later.
svn path=/trunk/; revision=16712
|
|
|
|
|
|
|
| |
* camel-object.c (camel_object_class_cast): Fix a crash in a
g_warning.
svn path=/trunk/; revision=16705
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-07 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (remote_send_string): Check for LOGIN xxxx
as well if debug is on, so we dont print passwords to evolution
logs.
* providers/imap/camel-imap-utils.c (imap_is_atom_char): This was
really broken. 1. isprint() is locale dependent, and 2. it looked
up an 8 bit value in a 7 bit table without truncating it. I've
removed the isprint() stuff and just put it directly into the
special table, which i've expanded to the right size too.
* providers/imap/*: Applied patch from Preston Elder
<prez@magick.tm> to make camel only use literals if it needs to
for simple strings. Changed slightly to use imap_is_atom() and
more consistent formatting.
providers/imap/camel-imap-utils.c (imap_is_atom): Chagned from
imap_needs_quoting().
** Merged in camel-object2 branch. Simpler camelobject
implementation + object args interface.
* camel.c (camel_init): Call camel_object_get_type() to make sure
camel_object_type is initialised.
* camel-object.h (CAMEL_OBJECT_TYPE): Changed to return global
camel_object_type pointer, not call camel_object_get_type.
svn path=/trunk/; revision=16701
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): If
the pop3 command status is -1, then we probably have a TCP error
(?) so set a SYSTEM exception so our caller can distinguish
between a "bad password" and a "tcp error".
(pop3_connect): Only uncache the password on "bad password"
errors.
svn path=/trunk/; revision=16700
|
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (pgp_mime_part_sign_prepare_part): Use
CamelMimeFilterBestenc to get a more appropriate encoding rather
than just blindling assigning QP.
svn path=/trunk/; revision=16699
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (do_append): Call
camel_mime_message_encode_8bit_parts() which fixes bug #10885.
svn path=/trunk/; revision=16698
|
|
|
|
|
|
|
|
|
| |
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (socket_connect): Don't bother with
counting down the timeout.
svn path=/trunk/; revision=16690
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-fs.c (stream_read): Same fix as the tcp stream.
(stream_write): Again here. Just like tcp stream's stream_write(),
also make sure to save errno before calling fcntl to restore the
fd flags.
* camel-tcp-stream-raw.c (stream_read): Handle EINTR errors for
select().
(stream_write): Same and also preserve errno when setting the fd
flags back. If w == -1, return -1.
svn path=/trunk/; revision=16673
|
|
|
|
|
|
|
|
|
|
| |
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_mailbox): Fixed the fix for
stupidly-broken-mailer bug #5 to work when multiple unescaped
characters were in a row. Fixes bug #24140.
svn path=/trunk/; revision=16672
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): Change the order
of some code so that we check if the select() failed before we
check for user-cancellation.
* camel-service.c (camel_gethostbyname): Check for EINTR when
select()ing.
(camel_gethostbyaddr): Same.
svn path=/trunk/; revision=16666
|
|
|
|
|
|
|
|
|
| |
2002-04-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c (camel_provider_auto_detect): Now takes a
CamelURL argument rather than a GHashTable *settings argument.
svn path=/trunk/; revision=16661
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-29 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (get_folder_info): We want
to set unread_count to get_unread_message_count, not
get_message_count(). Might fix #17174. Also removed FIXME: as it
was fixed.
svn path=/trunk/; revision=16629
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/Makefile.am: Don't link to libibex.a anymore.
* providers/nntp/Makefile.am: Same.
* providers/imap/Makefile.am: And again here.
svn path=/trunk/; revision=16609
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-store-summary.h: No longer want to #include
<libibex/ibex.h>
svn path=/trunk/; revision=16608
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c (camel_provider_auto_detect): New function to
auto-detect configuration settings.
svn path=/trunk/; revision=16599
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-26 Not Zed <NotZed@Ximian.com>
* camel-block-file.c (block_file_validate_root): Remove the
excessive \n's, after printfs.
* camel-text-index.c (text_index_compress_nosync): @!#$@#$!@$#!.
Since the rename op was fixed, this broke compression's rename,
resulting in the index 'vanishing' after every compress
(i.e. after every reindex). Fix this code to account for the
fixed rename operation.
svn path=/trunk/; revision=16591
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_rcpt): Don't put a
space between the "RCPT TO:" and the "<recipient>" strings -
rfc0821 was not clear on this but it seems rfc2821 defines a
grammar excluding that SP.
(smtp_mail): Same.
svn path=/trunk/; revision=16588
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-24 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-provider.c
(camel_provider_module_init): Configure the default paths for mh,
mbox, maildir, spools, etc.
* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum and
define some default CamelProviderConfEntry macros.
svn path=/trunk/; revision=16580
|
|
|
|
|
|
|
|
| |
2002-04-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.h: Add a CAMEL_PROVIDER_CONF_LABEL enum.
svn path=/trunk/; revision=16575
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Free the
LIST pop3 command.
* camel-data-cache.c (data_cache_finalise): Free the cdc->path.
svn path=/trunk/; revision=16550
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-multipart.c (write_to_stream): Don't g_return_val_if_fail
here if the boundary is an empty string. See bug #23676 for
details. The way I see it, we have 2 options: 1) leave this fix
the way it is, thus allowing multipart boundaries to be
empty-strings; or 2) make camel_multipart_get_boundary() change
the boundary to something legal if the boundary is an
empty-string. Since the parser should be able to handle an
empty-string boundary *and* more importantly because we want to
keep the same boundaries as the original raw message so as to be
able to verify multipart/signed parts, I vote for solution #1.
svn path=/trunk/; revision=16539
|
|
|
|
|
|
|
|
|
| |
2002-04-19 Not Zed <NotZed@Ximian.com>
* devel-docs/camel-index.txt: Start of a white-paperish document
describing camel-index and older libibex.
svn path=/trunk/; revision=16531
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-18 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-store.c (rename_folder): If we get a
failure, make sure we set an exception.
* camel-text-index.c (camel_text_index_rename): If the file
doesn't exist, just assume it never did, dont return failure.
(text_index_rename): Add '.index' to the path name we're using,
since we dont get it passed in.
svn path=/trunk/; revision=16505
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-18 Not Zed <NotZed@Ximian.com>
* camel-folder-search.c (check_header): When doing a contains
match, split the words and perform an and on it.
(match_words_messages): If we have an index, but were forced to do
a full search, first lookup a subset of messages using
the index and a simplified word set. Only do a manual search of
this subset.
2002-04-17 Not Zed <NotZed@Ximian.com>
* camel-folder-search.c (match_message_index): Changed to take a
utf8 string not a regex pattern.
(match_words_index): Matches against a camel_search_words list.
(match_words_1message): Matches a single message against a
camel_search_words list.
(match_words_message): Same, but gets the message from the folder
for you.
(match_words_messages): Matches a list of messages against a words
list.
(search_body_contains): Rewritten to handle multiple word
searches. For #23371.
* providers/imap/camel-imap-search.c (sync_match): Split words
when searching, to support multiple search words. Also, try
searching specifying charset of utf8 if we can, if that fails,
fall back to not specifying charset. TODO: It should translate
the strings into the locale default charset?
* providers/imap/camel-imap-store.c (connect_to_server): Added new
cap - utf8_search, if set, we tell the server we're searching
using utf8, otherwise we dont (incorrectly, since we always use
utf8 to search).
* camel-search-private.c (camel_ustrstrcase): Make this class public.
(camel_search_words_split): Split a word into multiple words based
on whitespace, and keep track of whether the word is simple
(indexable directly), or not.
(camel_search_words_free): Free 'em.
svn path=/trunk/; revision=16501
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-vee-folder.c (vee_search_by_expression): If the vee-folder
is the unmatched, we don't have our own expression so we cannot
merge them. Instead, just use the expression passed in. This fixes
a Null-Pointer-Read crash on Solaris systems at least.
svn path=/trunk/; revision=16500
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_folder): Get
rid of an unused variable.
* providers/smtp/camel-smtp-transport.c (smtp_helo): Use
camel_gethostbyaddr since gethostbyaddr is not reentrant.
* camel-http-stream.c (http_connect): Updated after the rename of
camel_get_host_byname.
* camel-service.c (camel_gethostbyname): Renamed.
(camel_gethostbyaddr): New cancellable/reentrant version of
gethostbyaddr.
svn path=/trunk/; revision=16484
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-spoold-store.c: Added #include
<sys/types.h> for dirent.h which needs it on MacOS X.
* providers/local/camel-maildir-store.c: Same.
* providers/nntp/camel-nntp-store.c: Same.
* providers/imap/camel-imap-message-cache.c: Same.
* camel-provider.c: Same.
* camel-data-cache.c: Same.
svn path=/trunk/; revision=16466
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-provider.c: Added #include <sys/types.h> for dirent.h
which needs it on MacOS X.
* camel-data-cache.c: Same.
svn path=/trunk/; revision=16463
|
|
|
|
| |
svn path=/trunk/; revision=16460
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-12 Jeffrey Stedfast <fejj@ximian.com>
* broken-date-parser.c (datetok): Treat commas as token
delimeters.
(WEEKDAY_CHARS): Use full weekday names in case the broken mailer
used the full names.
(MONTH_CHARS): Same as above but for months.
svn path=/trunk/; revision=16456
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-11 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c (spool_summary_sync_full):
If the last message(s) were deleted, and we had any messages
output, account for the lost \n of the following From line by
adding an extra \n. fix for #8214.
2002-04-10 Not Zed <NotZed@Ximian.com>
* camel-mime-part-utils.c (convert_buffer): If we get a 0 length
input, return a 0 lenght output as valid - fixes bugs with some
iconv impl and its simpler anyway.
svn path=/trunk/; revision=16438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c: Set the UID_SET_LIMIT value
to 4096. I ran into an issue tonight where apparently the IMAP
server changed the UIDVALIDITY and so Evo needed to re-fetch all
headers and it was trying to send a uid set of some 25k (yes, I
have a very large INBOX). Anyways, it was set to unlimited
before. Courier IMAPd can safely handle up to ~16k per token, but
UW IMAPd can only handle 8k per command-line, so I set it to 4k
just to be safe.
svn path=/trunk/; revision=16436
|
|
|
|
|
|
| |
length (in case we over-allocated)
svn path=/trunk/; revision=16429
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c (convert_buffer): Fixed a bug that would
miscalculate how much data to copy into the GByteArray (negative
value) thus causing a segfault. Also optimized it while I was at
it.
svn path=/trunk/; revision=16428
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_init): Make the folder_lock
recursive. See bug #22363 for details. Basically,
get_folder_info() is requesting a diary folder which in turn
connects which requests then calls get_folder() but deadlocks
because get_folder_info already holds the lock.
svn path=/trunk/; revision=16419
|
|
|
|
| |
svn path=/trunk/; revision=16413
|
|
|
|
|
|
|
|
|
|
| |
2002-04-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.c (camel_mime_message_set_date): Don't adjust
the timezone offset if we used tm.tm_gmtoff because it is already
adjusted.
svn path=/trunk/; revision=16412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-09 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (construct_from_parser): If we get multiple
Content-Type header values, change subsequent headers to
X-Invalid-Content-Type so it doesn't wreck processing. This fixes
the reported case in #18929, but i dont know if it fixes the
original posters problems.
2002-04-08 Not Zed <NotZed@Ximian.com>
* camel-vtrash-folder.c (vtrash_move_messages_to): If we find
we're moving from the vtrash to another folder, we need to convert
the uid from a vfolder uid to the source uid (+8). Fix for
#20886. Also changed to batch multiple moves to different folders
so they are done as efficiently as possible rather than one at a
time.
* camel-mime-utils.c (base64_decode_step): If we only get passed
'=', we back track only if we actually output any data. Fix for
#21716.
(quoted_decode): Pass out size_t instead of int, and use 0 instead
of -1 for error since its not signed. This will fix similar bug
to above in different circumstances since the result is taken as
unsigned. This is only an internal func.
(quoted_encode): Return size_t just for consistency.
* camel-block-file.c (block_file_validate_root): Comment out the
debug and move it into a warning when the validation fails.
svn path=/trunk/; revision=16394
|
|
|
|
|
|
|
|
|
| |
2002-04-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (uuencode_close): Don't count our filler when
encoding our line-length octet.
svn path=/trunk/; revision=16390
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (http_get_headers): Don't get the statuscode
here anymore.
(http_method_invoke): Use a User-Agent header and do basic proxy
authentication.
(stream_read): Handle redirects.
(camel_http_stream_set_user_agent): New function to allow client
to set the User-Agent string.
(camel_http_stream_set_proxy): New function for setting the proxy
server.
(camel_http_stream_set_proxy_authrealm): New function for setting
the proxy auth realm.
(camel_http_stream_set_proxy_authpass): New function for setting
the proxy auth password.
svn path=/trunk/; revision=16367
|
|
|
|
|
|
|
|
|
|
| |
2002-04-04 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-search.c (imap_body_contains): If
(body-contains) is not passed any arguments, return empty/false.
Fixes a crash exposed by #15001.
svn path=/trunk/; revision=16362
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Simplified since we
can now decode in-reply-to without getting extra cruft. Get rid of
the FIXME about having to check scan->id because of the
possibility of it being NULL, this can no longer happen.
* camel-mime-utils.c (header_references_inreplyto_decode): New
function to decode in-reply-to headers. Only grabs the first thing
that looks like a message-id and then returns.
(header_references_decode): Loop calling
header_references_decode_single (a new internal function).
svn path=/trunk/; revision=16361
|
|
|
|
|
|
|
|
|
|
| |
2002-04-04 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (remote_connect): Reset the keepalive
timeout to 10 minutes rather than the 30 seconds I was using for
testing.
svn path=/trunk/; revision=16336
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-provider.h (CamelProvider): make service_cache be an array
of CAMEL_NUM_PROVIDER_TYPES elements so you can have a single
provider offer both stores and transports. (Eg, Exchange, NNTP)
* providers/imap/camel-imap-provider.c: Don't initialize
service_cache here. (The session code can do it itself since the
url_hash and url_equal functions are stored as part of the
provider.)
* providers/nntp/camel-nntp-provider.c: Likewise.
* providers/local/camel-local-provider.c: Likewise.
* providers/pop3/camel-pop3-provider.c: Likewise.
* providers/sendmail/camel-sendmail-provider.c: Likewise.
* providers/smtp/camel-smtp-provider.c: Likewise.
* camel-session.c (register_provider): Initialize the provider's
service cache(s) here.
(camel_session_class_init): Don't initialize.
vee_provider.service_cache here.
(camel_session_destroy_provider): Update to destroy multiple
service_caches.
(service_cache_remove, get_service): Tweak these a bit to deal
with multiple service_caches.
svn path=/trunk/; revision=16330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-03 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Turn indexing back on, fingers
crossed ...
* camel-block-file.c (sync_nolock): #!@$@$#@~#$
DF@#$!Q@$#!@$#!#%. Well it helps if we're iterating a list to
iterate the node pointer ...
* camel-text-index.c (text_index_sync): Sync the key tables
explcitly.
(text_index_sync): Debug out frag info.
(camel_text_index_dump): Added a (rather large, but optional) raw
dumping mode for debugging purposes.
* camel-partition-table.c (camel_key_table_finalise): Sync root
block when done.
svn path=/trunk/; revision=16329
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (set_errno): Handle a ton more nspr i/o
errno's.
(stream_connect): Act as if we are doing a non-blocking
connect. This is to try and work around bug #15120 where users get
an EINPROGRESS error. Maybe importing a PRFileDesc into SSL mode
automagically makes it non-blocking? I dunno.
2002-04-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Updated the
construction of the references to match JWZ's updated algorithm
initialization (ie, append any In-Reply-To reference onto any
References header and never take more than a single message-id
from the In-Reply-To header since anything after the first will
probably just be email addresses). Fixes bug #1336.
svn path=/trunk/; revision=16327
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-03 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_sync): Sync the key tables
explcitly.
* camel-partition-table.c (camel_key_table_finalise): Sync root
block when done.
(camel_key_table_sync): New function, sync key table (root) explicitly.
2002-04-02 Not Zed <NotZed@Ximian.com>
* camel-block-file.c (camel_block_file_free_block): Mark root
block dirty when we change it (this function isn't used yet
anyway).
* camel-text-index.c (text_index_add_name_to_word): Touch the root
block when we modify the counts. Also, abort processing on any
errors.
(text_index_sync): Fix typo in comments. Sync the block file
inside the lock.
(text_index_compress_nosync): Lock the old index while we're
compressing.
(text_index_compress_nosync): Remove the bogus while() at the end
of the while() loops! Also plug a memleak - records weren't
freed.
(text_index_rename): Lock around rename op.
(text_index_add_name): More typos.
(text_index_sync): Touch root when changing it.
(text_index_add_name): "
(text_index_delete_name): "
(camel_text_index_new): Touch root if we change it.
(text_index_cursor_reset): Make sure we NULL pointers after we
free them (nothing uses this yet).
* camel-partition-table.c (hash_key): Remove some debug
accidentally left in.
(camel_partition_table_add): When linking in the next block list,
set the right previous pointer.
(camel_key_table_add): Simplify the 'left' calculation (it was
already ok though).
(camel_key_table_next): Initialise returns before processing.
Broaden the lock slightly, and simplify validity calculations.
svn path=/trunk/; revision=16323
|
|
|
|
|
|
|
|
|
| |
2002-04-02 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): Put back in
the exception setup stuff i disabled for debugging.
svn path=/trunk/; revision=16320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-04-02 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Temporarily disable indexing.
2002-03-28 Not Zed <NotZed@Ximian.com>
* camel-partition-table.c (camel_key_table_lookup): Change range
checking assert to a warning.
* providers/pop3/camel-pop3-folder.c (pop3_finalize): Make sure we
flush out all outstanding commands before finalising, stops being
finalised while outsanding requests are processed by the store
finalise.
(pop3_get_message): Instead of pre-fetching all messages, just
pre-fetch a maxiumum number at any one time, stops us running out
of cache fd's.
* providers/nntp/camel-nntp-folder.c (nntp_folder_init/finalise):
Setup priv data + locks, & free.
* providers/imap/camel-imap-folder.c (imap_rescan): Batch all
message_chagned events into a single folder_changed event
(otherwise updates can be >>> expensive, like >5 hours for 80K
messages changing!). Alternately it could use folder
freeze/unfreeze perhaps.
2002-03-27 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): Pass an
exception to called code so it behaves properly since it uses the
passed exception to check returns.
svn path=/trunk/; revision=16319
|
|
|
|
| |
svn path=/trunk/; revision=16313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/Makefile.am (libcamelimap_la_LDFLAGS): Use
-avoid-version instead of -version-info 0:0:0, and specify
-module. (From Max Horn <max@quendi.de>).
* providers/local/Makefile.am (libcamellocal_la_LDFLAGS): Likewise.
* providers/nntp/Makefile.am (libcamelnntp_la_LDFLAGS): Likewise.
* providers/sendmail/Makefile.am (libcamelsendmail_la_LDFLAGS):
Likewise.
* providers/smtp/Makefile.am (libcamelsmtp_la_LDFLAGS): Likewise.
* providers/pop3/Makefile.am (libcamelpop3_la_LDFLAGS): Likewise.
Also remove $(KRB4_LDFLAGS) since KPOP is gone.
(INCLUDES): and $(KRB4_CFLAGS)
svn path=/trunk/; revision=16305
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_copy): We now have to check to make
sure that p->message is non-NULL because we only load the message
when we have to.
(do_move): Same here.
svn path=/trunk/; revision=16280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-transport.c (camel_transport_send_to): Change the message
arg to a CamelMimeMessage instead of a CamelMedium. Even the NNTP
provider returns CamelMimeMessages, and we're never going to
support anything more exotic than that. Also do a few more
g_return_if_fails here instead of in the providers.
(camel_transport_can_send): No longer needed.
(camel_transport_send): Remove this too. It wasn't being used any
more, and it doesn't behave exactly the same in sendmail and smtp.
* providers/smtp/camel-smtp-transport.c (smtp_send,
smtp_can_send): Gone.
(smtp_send_to): Update for arg change.
(smtp_data): Make this take a CamelMimeMessage too.
* providers/sendmail/camel-sendmail-transport.c (sendmail_send,
sendmail_can_send): Gone.
(sendmail_send_to): Update for arg change, and merge in the part
that used to be shared with sendmail_send.
svn path=/trunk/; revision=16278
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_folder):
Construct the source_url the right way. The previous way was
generating urls like pop://fejj@ximian.com;keep_on_server/inbox
which is wrong.
svn path=/trunk/; revision=16260
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-26 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_normalise): Changed to use just
g_utf8_strdown instead of utf8_normalise, to match the indexing
code. utf8_normalise is just far too expensive (saves approx 25%
total processing).
svn path=/trunk/; revision=16250
|
|
|
|
| |
svn path=/trunk/; revision=16249
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-25 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_add_name): When we add a new
name, up all of the cache limits, because we're probably going to
be adding more.
(text_index_sync): Drop the cache limits back down again, we dont
need them when looking words up.
** MERGE camel_index branch.
* camel-text-index.[ch]: Added files i forgot to add (eep nearly
lost all this work!)
* camel-block-file.c (sync_nolock): Fix an infinite loop in syncing.
svn path=/trunk/; revision=16242
|
|
|
|
|
|
|
|
|
| |
2002-03-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (camel_message_info_new_from_header): Use
the date in the received header for the received_date.
svn path=/trunk/; revision=16225
|
|
|
|
|
|
|
|
|
|
| |
2002-03-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_encode_param): Fix this to work
right. We need to convert the input buffer to the charset we claim
in the encoded param (duh).
svn path=/trunk/; revision=16214
|
|
|
|
|
|
|
|
|
|
| |
2002-03-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Updated to use the same logic as the
POP code.
svn path=/trunk/; revision=16203
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (connect_to_server): No longer
takes a stls_supported argument since we no longer need it with
the new logic.
(connect_to_server_wrapper): New logic: First try connecting to
the SSL port (995 by default), if that fails with
SERVICE_UNAVAILABLE, then we attempt to connect (to port 110 by
default) and try to use STARTTLS.
svn path=/trunk/; revision=16202
|
|
|
|
|
|
|
|
|
| |
2002-03-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-private.h: Don't allow any empty structs. If
!ENABLE_THREADS, provide a gpointer dummy member. Fixes bug #6382.
svn path=/trunk/; revision=16174
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_auth): Added a
work-around for SMTP servers that can't read the RFCs and thus
implement SASL incorrectly. Oh well, that's life in the world of
mail clients I guess.
svn path=/trunk/; revision=16152
|
|
|
|
| |
svn path=/trunk/; revision=16148
|
|
|
|
|
|
|
|
|
|
| |
2002-03-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Quote
the USER and PASS arguments since some people have spaces in their
user-names and/or passwords.
svn path=/trunk/; revision=16144
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-store.c (camel_digest_store_new): Now takes a url
argument.
* camel-digest-folder.c (digest_add_multipart): Fixed some memory
corruption and also modified to use CAMEL_IS_MIME_MESSAGE() rather
than comparing content-type strings.
(digest_get_message): Fixed a logic blooper.
* camel-folder-summary.c (camel_message_info_new_from_header): Set
the date fields of the CamelMessageInfo as well. This may even fix
some filter-related bugs where the user was trying to compare
dates.
svn path=/trunk/; revision=16126
|
|
|
|
| |
svn path=/trunk/; revision=16117
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-store.c: A pretty empty store implementation to be
the parent store of a CamelDigestFolder.
* camel-digest-folder.c: Updated to reference it's parent store.
svn path=/trunk/; revision=16113
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-folder.c (camel_digest_folder_new): Allow any leaf
part to be a message/rfc822 part.
(digest_get_uids): Recurse the mime structure and add all
message/rfc822 parts and use a uid scheme similar to IMAP's mime
part naming convention.
(digest_get_message): Decode the uid to get the correct mime part.
svn path=/trunk/; revision=16111
|
|
|
|
|
|
|
|
| |
* camel-mime-utils.c: Change the order of the mailing list magic
patterns so that the more mailing-list specific ones are on the
top.
svn path=/trunk/; revision=16101
|
|
|
|
| |
svn path=/trunk/; revision=16098
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-11 Jeffrey Stedfast <fejj@ximian.com>
These fixes should fix bug #21737.
* providers/smtp/camel-smtp-transport.c
(connect_to_server_wrapper): Same as with the POP code.
* providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
Slight restructuring of the if-statements for the USE_SSL_ALWAYS
case so that we can't possibly return TRUE unless we really did
connect successfully.
svn path=/trunk/; revision=16097
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation so that callers don't need to care which one is
being used.
* camel-tcp-stream-openssl.c: Implement CamelTcpStreamSSL, not
CamelTcpStreamOpenSSL. Rename methods as well. Replace the
camel-tcp-stream-openssl.h include with camel-tcp-stream-ssl.h.
* camel-tcp-stream-openssl.h: Gone.
* camel-tcp-stream-ssl.c: Add a note explaining that this
implementation is only used for NSS, and that OpenSSL's
implementation is in another file. (Should probably do some CVS
renaming magic at some point.)
* camel-http-stream.c (http_connect): Remove OpenSSL refs; the
previously-NSS-specific code works for both now.
* camel-remote-store.c: Likewise.
* providers/smtp/camel-smtp-transport.c: Likewise.
* providers/pop3/camel-pop3-store.c: Likewise.
* Makefile.am (libcamelinclude_HEADERS): Remove
camel-tcp-stream-openssl.h
svn path=/trunk/; revision=16093
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-tcp-stream.c (camel_tcp_stream_get_socket): Remove this:
it couldn't be generically used, because different subclasses
returned entirely different types of data.
(camel_tcp_stream_get_local_address,
camel_tcp_stream_get_remote_address): Add these to replace what
get_socket was being used for.
(camel_tcp_address_new, camel_tcp_address_free): Utility functions
for get_{local,remote}_address.
* providers/smtp/camel-smtp-transport.c: Change localaddr to a
CamelTcpAddress *.
(connect_to_server): Call camel_tcp_stream_get_local_address to
get the local IP address.
(smtp_disconnect): free localaddr.
(smtp_helo): Update for localaddr change.
* camel-tcp-stream-raw.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.
* camel-tcp-stream-ssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.
* camel-tcp-stream-openssl.c (stream_get_socket): Remove
(stream_get_local_address, stream_get_remote_address): Implement.
svn path=/trunk/; revision=16092
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-08 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-provider.c
(camel_provider_module_init): Don't call
camel_remote_store_get_authtypes since we no longer subclass
camel-remote-store.
* providers/pop3/camel-pop3-engine.c: Added STARTTLS to the
capabilities to look for.
(camel_pop3_engine_reget_capabilities): New function to re-get
capabilities.
* providers/pop3/camel-pop3-store.c: Updated to not subclass
CamelRemoteStore.
(connect_to_server): Rewritten to not depend on CamelRemoteStore's
connect implementation. Also added support for STLS (aka
STARTTLS).
svn path=/trunk/; revision=15998
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_sign): Add support for
hash type RIPEMD160.
* camel-cipher-context.h: Add RIPEMD160 hash type.
* camel-pgp-context.c (pgp_sign): Updated to consider hash
function for pgp5 and pgp6.
(pgp_clearsign): Same.
svn path=/trunk/; revision=15969
|
|
|
|
|
|
|
|
|
|
| |
2002-03-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (stream_read): Add a timeout on the
select.
(stream_write): Same.
svn path=/trunk/; revision=15963
|
|
|
|
|
|
|
|
|
| |
2002-03-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (connect_to_server): Fix
to work with OpenSSL.
svn path=/trunk/; revision=15959
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c: compile fixes.
(camel_tcp_stream_openssl_enable_ssl): Check to make sure that the
sockfd != -1, it's not enough to check that it is non-zero. Also
set the sockfd to -1 on fail (open_ssl_connection will close the
sockfd on fail).
svn path=/trunk/; revision=15953
|
|
|
|
|
|
|
| |
* providers/smtp/camel-smtp-transport.c (smtp_construct): Make
this compile.
svn path=/trunk/; revision=15946
|
|
|
|
| |
svn path=/trunk/; revision=15939
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (save_ssl_cert): Removed. Glory glory
hallelujah!
(ssl_bad_cert): No longer calls ssl_save_cert or
ssl_cert_is_saved.
svn path=/trunk/; revision=15938
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_new_raw):
Start the ssl stream off in non-ssl mode (useful for STARTTLS).
(camel_tcp_stream_openssl_enable_ssl): New function to toggle an
ssl stream into ssl mode.
(open_ssl_connection): Close the sockfd on fail so our caller
doesn't have to - this also allows us to save the original errno.
(stream_connect): If we want ssl mode, do our ssl stuff.
(camel_tcp_stream_openssl_class_init): Init some SSL stuff here
instead of in open_ssl_connection since these only ever need to be
called once.
(stream_read): Only use SSL_read if we are in ssl mode.
(stream_write): Only use SSL_write if we are in ssl mode.
* providers/smtp/camel-smtp-transport.c (smtp_helo): Check for the
STARTTLS extension.
(connect_to_server): Try to use STARTTLS whenever possible rather
than the old way of doing things.
(connect_to_server_wrapper): Wrapper around connect_to_server() to
first try STARTTLS and then attempt normal SSL mode if we can't
connect via STARTTLS.
* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): New
function to toggle an ssl stream into ssl mode.
(camel_tcp_stream_ssl_new_raw): Start the ssl stream off in
non-ssl mode (useful for STARTTLS).
(stream_connect): Only connect in SSL mode if required.
svn path=/trunk/; revision=15937
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-vtrash-folder.h:
* camel-vee-store.h:
* camel-vee-folder.h:
* camel-stream-null.h:
* camel-stream-filter.h:
* camel-store-summary.h:
* camel-news-address.h:
* camel-mime-utils.h:
* camel-mime-parser.h:
* camel-mime-filter-save.h:
* camel-mime-filter-linewrap.h:
* camel-mime-filter-index.h:
* camel-mime-filter-html.h:
* camel-mime-filter.h:
* camel-mime-filter-from.h:
* camel-mime-filter-crlf.h:
* camel-mime-filter-chomp.h:
* camel-mime-filter-charset.h:
* camel-mime-filter-bestenc.h:
* camel-mime-filter-basic.h:
* camel-internet-address.h:
* camel-folder-thread.h:
* camel-folder-summary.h:
* camel-folder-search.h:
* camel-filter-driver.h:
* camel-charset-map.h:
* camel-address.h: Add c++ armoring.
* camel-object.h: s/class/klass
svn path=/trunk/; revision=15885
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Reverted my
pgp/mime fixes here too.
* camel-mime-part.c (write_to_stream): Removed my pgp/mime raw
stream hack, this is causing problems such as some messages to not
displaying, view->source not working at all, etc.
svn path=/trunk/; revision=15883
|
|
|
|
|
|
|
|
|
| |
2002-02-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-parser.c: Changed offset variables from int's to
off_t's since the system may support large files.
svn path=/trunk/; revision=15874
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Rearrange the
save filter stuff so that we save raw streams for all mime
parts. If the mime part turns out to be a multupart, then don't
bother saving the raw stream, we only need to save the raw stream
for leaf parts.
svn path=/trunk/; revision=15873
|
|
|
|
| |
svn path=/trunk/; revision=15868
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.h: Don't #include camel-mime-filter-save.h,
we don't use it.
* camel-file-utils.c: Fixed a few 'might be used uninitialized'
warnings which were real problems.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Save the raw mime
stream for any/all signed parts.
* camel-mime-part.c (camel_mime_part_init): Initialize our raw
stream to NULL.
(camel_mime_part_finalize): Unref our raw stream, if we have one.
(write_to_stream): If we have a raw stream, write that out instead
of re-encoding.
* camel-mime-filter-save.[c,h]: Rewritten to save to a stream
rather than a file.
svn path=/trunk/; revision=15867
|
|
|
|
|
|
|
|
|
|
| |
2002-02-28 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (header_fold): Use the FOLD_SIZE as a
recommended folding size, but add a new FOLD_MAX_SIZE (=998, the
smtp max line size) as the hard limit for any output.
svn path=/trunk/; revision=15866
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-chomp.c (camel_mime_filter_chomp_new): New
stream filter that chomps excess trailing whitespace from the end
of the stream. This is needed to update the PGP/MIME code to
comply with rfc3156.
* camel-pgp-mime.c (camel_pgp_mime_part_verify): Don't attach a
from filter, if it ain't from-filtered already, then we'll just be
breaking stuff. To become rfc3156 compliant, add a chomp filter
here.
(camel_pgp_mime_part_sign): Add a chomp filter here too.
svn path=/trunk/; revision=15863
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-27 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (init_header_name_table): Changed header
formatted table to contain a pointer to an output function, and
added in-reply-to and references headers.
(write_references): New function to write out references header,
folded properly. It only approximates based on the last >, but it
should be adequate and will also handle invalid headers.
(write_fold): Function to write out headers folded. Since this is
the default it isn't required.
(write_raw): Write out an already formatted header, e.g. most of
the rest.
(write_to_stream): Lookup header output function, if we have one,
use that, otherwise fold header using basic (dumb) function.
This is all for #14779. A better fix is probably do have the
headers always stored formatted, but that can wait.
svn path=/trunk/; revision=15852
|
|
|
|
|
|
|
|
|
|
| |
2002-02-25 Jeffrey Stedfast <fejj@ximian.com>
* camel-digest-folder.c (camel_digest_folder_new): Allow all
multiparts that contain message/rfc822 attachments.
(digest_get_uids): Only assign uids to message parts.
svn path=/trunk/; revision=15836
|
|
|
|
|
|
|
|
|
| |
2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-part.c (camel_mime_part_set_filename): Set the 'name'
parameter on the Content-Type too. Fixes bug #20779.
svn path=/trunk/; revision=15805
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_sign): Pass --always-trust to gpg
(requested by users).
(pgp_clearsign): Same.
(pgp_encrypt): Here too.
svn path=/trunk/; revision=15731
|
|
|
|
| |
svn path=/trunk/; revision=15726
|
|
|
|
|
|
|
|
|
|
| |
2002-02-12 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_helo): Since the
AUTH token sometimes uses '=' instead of whitespace, don't use
smtp_token_next here.
svn path=/trunk/; revision=15688
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-09 Not Zed <NotZed@Ximian.com>
* providers/pop3/camel-pop3-engine.c (get_capabilities): Duh, when
we grab the apop stamp it needs to include the <> as well, I even
read the rfc, silly me.
* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Doh,
when iterating the authtype list, it helps to goto the next node.
Found with help from miles.
svn path=/trunk/; revision=15636
|
|
|
|
| |
svn path=/trunk/; revision=15607
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-08 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-summary.c
(camel_spool_summary_build_from): The day number has to be 2 chars
wide, space filled to work properly with pine, etc.
* providers/local/camel-spoold-store.[ch]: new type of provider
'spool directory', which lets you view external mbox dirs without
adding any extra cruft. Perhaps it should use . files to store
summaries? Still a bit experimental, there's a warning when you
select it in the account editor. Finished off most of #1185.
Can't rename or move folders.
* camel-mime-utils.c (header_decode_date): If the date is
100->1900 then we actually want to use it as the year in the tm
struct, not year+100. e.g. year 102 -> 2002, not 2102.
2002-02-07 Not Zed <NotZed@Ximian.com>
* providers/local/camel-spool-store.c (get_folder): Pass path into
spool_folder_new.
* providers/local/camel-spool-folder.c (camel_spool_folder_new):
(camel_spool_folder_construct): Take the full path to the folder
and use that as the file path, independent of the full_name we
use.
2002-02-07 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-provider.c: Added new type, spoold
provider, spoold: for local directories.
* providers/imap/camel-imap-store.c (get_one_folder_offline):
Create offline uri's in a compatible manner to online ones.
svn path=/trunk/; revision=15606
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-sasl-ntlm.c: Implementation of NTLM (aka "Secure Password
Authentication") auth, taken from soup.
* Makefile.am (libcamel_la_SOURCES, libcamel_la_HEADERS): Add
camel-sasl-ntlm.
* camel-sasl.c: Add refs to camel-sasl-ntlm.
* providers/imap/camel-imap-store.c (try_auth): Use
imap_next_word() to skip over the "+ " of the continuation rather
than just "resp + 2" since Exchange (incorrectly) returns "+"
instead of "+ " for an empty continuation response.
svn path=/trunk/; revision=15605
|
|
|
|
|
|
|
|
|
| |
2002-02-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.h: Remove the CAMEL_MESSAGE_NEEDS_REPLY
flag, we no longer will be using this.
svn path=/trunk/; revision=15586
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (stream_read): Use camel_mime_parser_read to
read internal parser data.
(camel_http_stream_get_content_type): Implemented.
(http_method_invoke): Use HTTP/1.0 instead of 1.1
svn path=/trunk/; revision=15572
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (stream_read): Use camel_mime_parser_read to
read internal parser data.
(camel_http_stream_get_content_type): Implemented.
* camel-mime-utils.c (header_decode_int): Made public.
svn path=/trunk/; revision=15571
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.[c,h]: Added. New stream for HTTP requests
(currently supported are GET and HEAD).
* camel-tcp-stream-ssl.c (stream_connect): Call set_errno
appropriately.
svn path=/trunk/; revision=15567
|
|
|
|
|
|
|
|
|
| |
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Call set_errno
appropriately.
svn path=/trunk/; revision=15566
|
|
|
|
|
|
|
|
|
| |
2002-01-31 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (header_decode_domain): Oops, this was
converting foo@[blah] to foo@[ blah ], fixed.
svn path=/trunk/; revision=15535
|
|
|
|
|
|
|
|
|
| |
2002-01-30 Jeffrey Stedfast <fejj@ximian.com>
* providers/pop3/camel-pop3-provider.c: Use "pop" instead of
"pop3" so current configurations continue to work.
svn path=/trunk/; revision=15532
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-30 Not Zed <NotZed@Ximian.com>
* camel-sasl-login.c: Changed name from "NT Login" to simply
"Login".
* providers/pop3/*: Entirely new pop implmentation, supporting
pipelining.
2002-01-29 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (free_busy): We dont want to unref the
stream, instead, stop listening to the finalised events, and free
the path only.
2002-01-25 Not Zed <NotZed@Ximian.com>
* camel-data-cache.c (stream_finalised): Remove the object from
the busy_stream hashtable, not the busy_path hashtable.
svn path=/trunk/; revision=15521
|
|
|
|
|
|
|
|
|
|
| |
2002-01-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Added
more kludge to an existing Exchange IMAP 5.5 kludge to work around
it returning multiple messages with the same UIDs.
svn path=/trunk/; revision=15513
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.c (process_header): Handle Resent headers
too.
* camel-mime-message.h: Added Resent-* #defines.
svn path=/trunk/; revision=15504
|
|
|
|
|
|
|
|
| |
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-message.h: Added Resent-* #defines.
svn path=/trunk/; revision=15503
|
|
|
|
|
|
|
|
|
| |
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_remove_rule_by_name):
Use while (node->next) instead of while (node)
svn path=/trunk/; revision=15502
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_decode_status_code):
New function to decode an enhanced status code.
(smtp_set_exception): Sets an exception based on the
Enhanced-Status-Code.
(esmtp_get_authtypes): Don't diplicate the key in the hash since
the key and value are the same.
(smtp_rcpt): Include the failed recipient in the error message to
be more helpful to the user.
* camel-mime-utils.c (hex_decode): Make sure to allocate enough
for the NUL byte.
svn path=/trunk/; revision=15500
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-28 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_construct):
(connect_to_server): Use flags rather than a bunch of gboolean
variables.
(smtp_connect): Same.
(smtp_mail): Here too. Use the enhanced status codes if available.
(smtp_data): And again here.
(smtp_helo): Finally here. Also detect the ENHANCEDSTATUSCODES
extension.
(smtp_rcpt): Use the enhanced status codes if available.
(smtp_rset): Here too.
(smtp_quit): And finally here.
* camel-transport.h: Removed gboolean supports_8bit since this is
pretty local to only SMTP for now.
svn path=/trunk/; revision=15498
|
|
|
|
| |
svn path=/trunk/; revision=15486
|
|
|
|
|
|
| |
* Makefile.am: Remove some old cruft.
svn path=/trunk/; revision=15463
|
|
|
|
|
|
| |
times, causing big libtool 1.4 pain.
svn path=/trunk/; revision=15461
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_beep): Call the beep callback
function.
(camel_filter_driver_set_system_beep_func): New function to set
the beep callback.
svn path=/trunk/; revision=15459
|
|
|
|
|
|
|
|
|
| |
2002-01-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (camel_filter_driver_remove_rule_by_name):
New function to remove a filter rule by name.
svn path=/trunk/; revision=15425
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c (do_beep): As a temporary solution, just
printf ("\a"); to make a beep :-)
* providers/imap/camel-imap-command.c
(imap_command_strdup_vprintf): Encode the mailbox to UTF-7 here.
* providers/imap/camel-imap-utils.c (imap_parse_list_response):
Decode the mailbox name as we parse the list response.
(imap_mailbox_decode): It's only an illegal mailbox name if it
didn't switch back to US-ASCII mode.
svn path=/trunk/; revision=15421
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-18 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_mailbox_decode): New
function to decode an IMAP mailbox name from modified UTF-7
encoding to UTF-8.
(imap_mailbox_encode): New function to convert a mailbox name from
UTF-8 to IMAP's modified UTF-7 encoding.
svn path=/trunk/; revision=15361
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): Stop uudecoding once the
CAMEL_UUDECODE_STATE_END state bit gets set. Set the
CAMEL_UUDECODE_STATE_BEGIN state bit once we find the begin line.
(reset): No longer have uu_begin or uulen state variables, these
are now stuffed into a single state variable.
* camel-mime-utils.c (uudecode_step): No longer needs a uulen
argument and also keeps track of whether or not the end of the
encoded data has been found in 'state'.
(uuencode_step): Now stuffs uulen into state so that the uulen
argument is no longer needed.
(uuencode_close): Same.
svn path=/trunk/; revision=15349
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): If we don't want to corrupt
the uuencoded data by overwriting it with base64 decoded data
afterward, we need to add a break statement!
* camel-folder-summary.c (summary_build_content_info): Add code to
add a uu filter.
(camel_folder_summary_finalize): Unref the uuencode filter.
svn path=/trunk/; revision=15347
|
|
|
|
|
|
|
|
|
| |
2002-01-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): Fixed slight logic error to
find the uuencode begin line. Fixes bug #18754.
svn path=/trunk/; revision=15346
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
match the new send_to API.
(smtp_send): Get the from address and pass that along to
smtp_send_to().
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): Updated to match the new send_to API.
* camel-transport.c (camel_transport_send_to): Now takes a from
argument too.
svn path=/trunk/; revision=15328
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-15 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Sort
the needheaders UID array and fixed to respect the
UID_SET_LIMIT. This should now finish the fixification of bug
#2529. There's still the possible issue that a command-line (The
only command-line I can think of that can still be too long is a
SEARCH command, but this can't possibly be fixed until we rewrite
the imap code to use Zucchi's ImapEngine idea).
svn path=/trunk/; revision=15327
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
Updated to use the new imap_uid_array_to_set() interface.
(imap_expunge_uids_resyncing): Same.
(do_copy): Here too.
(imap_update_summary): Added a FIXME comment to rewrite allowing
for a uid-set limitation.
(get_matching): Copy some of the logic over from
imap_uid_adday_to_set() to limit the length of the uid-set string.
(imap_sync_online): Added a comment to explain what is going on
with get_matching() since the behavior has changed slightly.
* providers/imap/camel-imap-utils.c (imap_uid_array_to_set):
Modify the interface so that we can limit the size of the uid set
string returned.
svn path=/trunk/; revision=15318
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-14 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-search.c (imap_body_contains):
Rewritten to use a cache for body searches when online. Will need
some heavy testing but so far seems to be beneficial.
* providers/imap/camel-imap-folder.c (imap_search_by_expression,
search_by_uids): dont initialise search object here.
(camel_imap_folder_new): Setup search object here with pointer to
cache dir.
2001-12-01 Not Zed <NotZed@Ximian.com>
* camel-store-summary.[ch]: New class to store a store's folder
list in. Not yet completed.
svn path=/trunk/; revision=15314
|
|
|
|
|
|
|
|
|
|
| |
2002-01-11 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Kludge
around a bug in Exchange 5.5 that reports 2 messages with the same
UID. Fixes bug #17694. Replaces the fix from yesterday.
svn path=/trunk/; revision=15298
|
|
|
|
|
|
|
|
|
| |
2002-01-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-folder.c: If PATH_MAX doesn't exist,
use _POSIX_PATH_MAX.
svn path=/trunk/; revision=15291
|
|
|
|
|
|
|
|
|
| |
2002-01-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): If mi
is NULL, don't bother updating it. Should fix bug #17694.
svn path=/trunk/; revision=15290
|
|
|
|
|
|
|
|
| |
2002-01-10 Jeffrey Stedfast <fejj@ximian.com>
* camel.h: #include camel-mime-filter-tohtml.h
svn path=/trunk/; revision=15285
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-10 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): Kludge
around Microsoft Exchange 5.5 (bug #5348) by forgetting our
currently selected folder and re-SELECTing it so that the Exchange
server has a chance to realise it has new messages.
svn path=/trunk/; revision=15284
|
|
|
|
| |
svn path=/trunk/; revision=15277
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-09 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-mbox-folder.c (camel_mbox_folder_new): If
the mbox file is a symlink, follow the symlink and get the One
True Path so that we can rewrite the mbox later without worrying
about clobbering the symlink.
2002-01-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-search.c (TODO): There are a few sexp callbacks
that could be modified to use fms->info rather than using a
message object (like date and possibly mlist stuff) but *only* if
the date exists on the CamelMessageInfo object (since it may be
blank except for message flags).
(camel_filter_search_get_message): New internal convenience
function to make sure that the FilterMessageSearch has loaded the
message (and to load the message if this isn't the case).
(check_header): Call camel_filter_search_get_message().
(header_exists): Same.
(header_regex): Here too.
(header_full_regex): And here.
(body_contains): Again here.
(body_regex): Here too.
(get_sent_date): Here also.
(get_received_date): Same.
(get_source): Here if we need to.
(camel_filter_search_match): Now takes a callback function/data
pair for on-demand message loading so that we don't necessarily
have to load the message if the defined filter rules don't require
it.
* camel-filter-driver.c (camel_filter_driver_filter_folder): Don't
bother fetching the message here, let
camel_filter_driver_filter_message() worry about this.
(get_message_cb): New utility callback to fetch a message.
(camel_filter_driver_filter_message): Only fetch the message if we
absolutely need it to get a CamelMessageInfo. Instead of passing a
message object to camel_filter_search_match(), pass get_message_cb
and some user_data so that the matching code can fetch the message
on demand.
svn path=/trunk/; revision=15276
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.c (filter_filter): Flush the only-once actions.
* camel-filter-driver.c (camel_filter_driver_filter_message):
Don't increment a filtered_count here any longer.
(camel_filter_driver_reset_filtered_count): Removed.
(camel_filter_driver_get_filtered_count): Removed.
(do_beep): New action.
(play_sound): New action to play a sound
(do_only_once): Another new action.
(camel_filter_driver_finalise): Free the only_once hash if the
driver has not been "flushed".
(camel_filter_driver_flush): Flush all of the only-once actions.
svn path=/trunk/; revision=15262
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c: Moved windows-1251 to the end of the list
since it contains the euro and we'd prefer to use iso-8859-15 when
the euro is requested than a windows charset if possible.
* camel-charset-map-private.h: Regenerated.
svn path=/trunk/; revision=15256
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (content_info_load): Don't try setting a
content-type parameter if either the name or value is NULL.
* camel-mime-utils.c (header_set_param): NULL-protection.
svn path=/trunk/; revision=15248
|
|
|
|
| |
svn path=/trunk/; revision=15230
|
|
|
|
|
|
|
|
| |
using the functions that mutt uses.
this is why I love libnss.
svn path=/trunk/; revision=15229
|
|
|
|
|
|
|
|
|
| |
2002-01-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Do more like what mutt
does so hopefully this'll fix bug #16363 and #16300.
svn path=/trunk/; revision=15226
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-21 Jeffrey Stedfast <fejj@ximian.com>
* broken-date-parser.c (parse_broken_date): Completely
rewritten. It is now a load faster and a heck of a lot more
accurate, also now returns a time_t and sets the saveoffset
variable rather than returning a new char* buffer for the normal
camel date parser to re-parse. This saves a fair number of cpu
cycles :-)
* camel-mime-utils.c (header_decode_date): Cleanup the broken date
parsing code.
svn path=/trunk/; revision=15205
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-20 Jeffrey Stedfast <fejj@ximian.com>
* camel-address.h: Change the prototype for camel_address_get_type
to return a CamelType (since internally this is what it returns
and also in case we decide to write a replacement for the current
CamelObject it'd be easier to drop in).
* camel-internet-address.h: Same but for
camel_internet_address_get_type()
* providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
use a CamelAddress of recipients.
(smtp_send): Since smtp_send_to now takes a CamelAddress
recipients argument, our lives have been simplified and we can now
just concat To/Cc/Bcc into a recipients addr and send away.
* providers/sendmail/camel-sendmail-transport.c
(sendmail_send_to): Updated to use a CamelAddress of recipients.
* camel-transport.c (camel_transport_send_to): Now takes a
CamelAddress argument for the recipient list rather than a GList.
svn path=/trunk/; revision=15197
|
|
|
|
| |
svn path=/trunk/; revision=15186
|
|
|
|
|
|
| |
been brain-dead when I wrote it.
svn path=/trunk/; revision=15149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-charset-map.c (camel_charset_iso_to_windows): New function
to map ISO charsets to the Windows charsets.
* camel-mime-part-utils.c (broken_windows_charset): Detect Windows
charsets.
(simple_data_wrapper_construct_from_parser): Simplify a tad and
also check for iso-8859-* charsets that are really Windows
charsets. Fixes bug #12631.
svn path=/trunk/; revision=15144
|
|
|
|
| |
svn path=/trunk/; revision=15121
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Reverted my
previous changes here since it doesn't actually work afterall.
* providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
Update to do uudecoding when appropriate.
svn path=/trunk/; revision=15098
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Try to use the
original boundary so luis will stop bugging me about "data
corruption". Also preserve other params in the multipart
content-type by dumping it to a string and setting it on the mime
part.
svn path=/trunk/; revision=15094
|
|
|
|
|
|
|
|
|
|
| |
2001-12-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Try to use the
original boundary so luis will stop bugging me about "data
corruption".
svn path=/trunk/; revision=15093
|
|
|
|
| |
svn path=/trunk/; revision=15089
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-filter-driver.c
(camel_filter_driver_reset_filtered_count): Reset the
filtered_count to zero.
(camel_filter_driver_get_filtered_count): Return the private
filtered_count value.
(camel_filter_driver_filter_message): Increment the
filtered_count.
(camel_filter_driver_set_shell_exec_func): New function to set the
shell-exec func.
(shell_exec): New ESExp filter action callback.
svn path=/trunk/; revision=15087
|
|
|
|
|
|
|
|
|
|
| |
2001-12-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_verify): Removed
x-inline-pgp-hack kludge because it doesn't work.
(camel_pgp_mime_part_decrypt): Same.
svn path=/trunk/; revision=15077
|
|
|
|
|
|
|
|
|
| |
2001-12-13 Chris Toshok <toshok@ximian.com>
* camel-data-cache.c: include stdlib.h (for alloca on freebsd) and
only include alloca.h if HAVE_ALLOCA_H is defined.
svn path=/trunk/; revision=15033
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-11 Zbigniew Chyla <cyba@gnome.pl>
Fixes #17085
* camel-charset-map.c: Added #include <errno.h>.
* camel-charset-map-private.h:
Recreated (following instructions from camel-charset-map.c)
svn path=/trunk/; revision=15029
|
|
|
|
|
|
| |
warnings
svn path=/trunk/; revision=15023
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-11 Jeffrey Stedfast <fejj@ximian.com>
* camel-object.c (camel_type_register): Keep a name-to-type hash
so that we can make sure that the type has not yet been registered
(prevents a race condition such as the one in bug #16559).
* camel-service.c (camel_service_connect): Make sure that the
connect_op is non-NULL before unregistering/unreffing it.
svn path=/trunk/; revision=15021
|
|
|
|
|
|
| |
1-0 branch.
svn path=/trunk/; revision=15020
|
|
|
|
|
|
| |
into HEAD
svn path=/trunk/; revision=15019
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-12-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_content_type_simple): Protect against
either of the types being NULL.
2001-12-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c (filter): If complete() allocates
len+2 bytes for the out buffer, so should this. See bug #16371 for
an example case.
2001-12-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl-digest-md5.c: iconv() returns a size_t, not an int.
* camel-pgp-context.c: The return value of iconv() is a size_t,
not an int.
* camel-mime-part-utils.c (convert_buffer): Always use size_t args
for iconv().
* camel-mime-filter-charset.c (complete): Always use size_t args
for iconv().
(filter): Same.
* camel-mime-utils.c (header_address_fold): Make headerlen a
size_t instead of an int.
(header_fold): Same.
(base64_encode_close): We should be returning a size_t and inlen
should also be a size_t.
(base64_encode_step): Same here.
(base64_decode_step): Here too.
(base64_encode_simple): And here...
(base64_decode_simple): Same.
(uuencode_close): We should also use size_t's here...
(uuencode_step): And here too.
(uudecode_step): And also here.
(quoted_encode_close): Same idea here.
(quoted_encode_step): Again here.
(quoted_decode_step): Here too.
(quoted_encode): Input length should be a size_t.
(rfc2047_decode_word): Same.
(g_string_append_len): Here too.
(append_8bit): "
(rfc2047_encode_word): "
(quote_word): "
(hex_decode): "
(rfc2184_decode): Use size_t's with iconv().
(header_decode_param): Same.
svn path=/trunk/; revision=14956
|
|
|
|
|
|
|
|
| |
* camel-mime-message.c (camel_mime_message_set_date): Fix the
tm_gmtoff case (its sign is the opposite of "timezone"). Fixes
#14678
svn path=/trunk/; revision=14948
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements marking messages as "Need Reply".
2001-12-09 Jon Trowbridge <trow@ximian.com>
* mail-need-reply.xpm: Added a really, really ugly and
awful icon to symbolize "message needs a reply".
* Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* camel-folder-summary.c: Add "NeedsReply" to the flag_names array
for CAMEL_MESSAGE_NEEDS_REPLY.
* camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* vfoldertypes.xml: Add "Needs Reply" option to different status
types.
* filtertypes.xml: Add "Needs Reply" option to different status
types.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* message-list.c: #include "art/mail-need-reply.xpm".
(ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon
if the message needs reply.
(message_list_create_extras): Adjust magic numbers to add new
icon.
(on_click): Changed to toggle between unread, read, and need reply
when the status icon is clicked.
* mail-callbacks.c (mark_as_needing_reply): Added.
(mark_as_not_needing_reply): Added. Add "set" value to struct
post_send_data.
(composer_sent_cb): Use both "flags" and "set" elements of
post_send_data when setting message flags.
(mail_reply): Clear "Needs Reply" flag when we actually reply to a
message.
* folder-browser.c: Changed flag values to be given by
bit-shifting (1<<5) vs. base-ten (32). Added
CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply"
and "Mark as Not Needing Reply" elements to context menu.
(on_right_click): Hide "Mark as (Not) Needing Reply" context menu
elements as appropriate.
svn path=/trunk/; revision=14946
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-search.c (search_body_contains): Don't use regex
matching. Fixes bug #16227.
* camel-mime-message.c (best_encoding): Check the content-object's
mime type, not the mime part types. Should fix bug #15843.
2001-11-27 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (get_content): Return NULL if
construct_from_stream fails.
(get_message): Same.
(get_message_simple): Here too.
(add_message_from_data): And here.
svn path=/trunk/; revision=14834
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-14 <NotZed@Ximian.com>
* camel-vee-folder.c (folder_changed_remove_uid): Use the uid
rather than vuid for unmatched. Also add the uid to unmatched if
it wasn't in the unmatched_uids table at all.
(folder_changed_change): If checking for added, if the new ones
dont match, then try to add them to unmatched. Fixes #6893.
* camel-folder-summary.c (camel_folder_summary_index): Change lock
order, always summary_lock before ref_lock.
(camel_folder_summary_array): "
(camel_folder_summary_uid): "
(camel_folder_summary_remove_uid): " Fixes a deadlock.
svn path=/trunk/; revision=14831
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-30 Not Zed <NotZed@Ximian.com>
* providers/nntp/camel-nntp-*.c:
Completely new implementation of NNTP.
Doesn't support subscriptions yet (lists all folders), but should
be more reliable (faster?), and has an integrated cache.
* camel-exception.c (camel_exception_new): Use e_memchunks for
exception blocks.
(camel_exception_free): Same.
* camel-data-cache.[ch]: New object for managing on-disk caches of
anything that can be stored in a camel-stream.
* camel-file-utils.c (camel_file_util_mkdir): New function, just a
nicer place to put this (than camel-store), should be removed from
camel-store.
(camel_file_util_safe_filename): New function to url-encode a
filename.
* camel-mime-parser.c (drop_states): New func to drop the parser
state to initial state.
(folder_scan_init_with_fd):
(folder_scan_init_with_stream): Call above func to reset state if
the stream is changed on us so we can change streams to reuse a
parser object.
svn path=/trunk/; revision=14822
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-25 Not Zed <NotZed@Ximian.com>
* providers/nntp/camel-nntp-folder.c (nntp_folder_get_message): If
the uid doesn't have a ',' in it, fail to crash.
* providers/nntp/camel-nntp-newsrc.c
(camel_nntp_newsrc_article_is_read): check group != NULL before scanning.
(camel_nntp_newsrc_get_highest_article_read): "
(camel_nntp_newsrc_get_num_articles_read): "
(camel_nntp_newsrc_mark_range_read): "
* providers/nntp/camel-nntp-store.c
(camel_nntp_store_get_overview_fmt): IF we dont have
nntp_list_follows, dont try and get a list response.
(nntp_store_get_folder_info): Set path part of folderinfo.
svn path=/trunk/; revision=14799
|
|
|
|
|
|
|
|
|
|
| |
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
Check to see that errno is non-zero before returning
g_strerror. If it's 0, then we have an unknown error.
svn path=/trunk/; revision=14790
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-26 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-basic.c: For the uudecoding mode, garble up
the "begin <mode> <filename>" line before decoding.
* camel-mime-part-utils.c
(simple_data_wrapper_construct_from_parser): Add a uudecoder if
the transfer encoding is x-uuencode.
* camel-mime-part.c (write_to_stream): Handle x-uuencoded content
too.
svn path=/trunk/; revision=14789
|
|
|
|
|
|
|
|
|
|
| |
2001-11-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_read): Added a check to see if
the operation has been cancelled.
(stream_write): Same.
svn path=/trunk/; revision=14751
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-19 Jeffrey Stedfast <fejj@ximian.com>
Updates for compliance with rfc2231
* camel-mime-utils.c (header_encode_param):
camel_mime_special_table[c] & IS_ESAFE should have been
!(camel_mime_special_table[c] & IS_ESAFE). Also added a few
comments for how to improve the code at some future date.
(header_decode_param): Now takes an argument rfc2184_part so our
caller can get this information as well.
(header_decode_param_list): Pass an rfc2184_part argument to
header_decode_param and also added a few comments on where to
improve on rfc2184/rfc2231 compliance.
(rfc2047_decode_word): Updated to respect the updated ABNF syntax
of rfc2047 encoded words, yay.
svn path=/trunk/; revision=14750
|
|
|
|
|
|
|
|
|
| |
2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_parse_body): Abort if
body == NULL.
svn path=/trunk/; revision=14738
|
|
|
|
|
|
|
|
|
| |
2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (camel_mime_filter_tohtml_new): New
mime filter to convert plain text to html.
svn path=/trunk/; revision=14737
|
|
|
|
| |
svn path=/trunk/; revision=14736
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_command_response): If we get a BYE response, call
camel_service_disconnect() and set an exception. Also do the check
for "* BYE" first instead of passing it off imap_read_untagged()
since we'll just waste time in there mallocing left and right only
to arrive at the single response line "* BYE" again :-)
svn path=/trunk/; revision=14735
|
|
|
|
|
|
|
|
|
|
| |
2001-11-13 <NotZed@Ximian.com>
* camel-filter-search.c (get_source): If we have no source string,
then use undefined, which should always evaluate to FALSE. Fix
for #15267.
svn path=/trunk/; revision=14688
|
|
|
|
|
|
|
|
|
| |
2001-11-12 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): Added a
g_return_val_if_fail for folder_name != NULL.
svn path=/trunk/; revision=14676
|
|
|
|
|
|
|
|
|
|
| |
2001-11-08 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (crypto_exec_with_passwd): If any of the
pipe()'s fail, clean up any pipes that may have succeeded. Also
close the password fds.
svn path=/trunk/; revision=14649
|
|
|
|
|
|
|
|
|
|
| |
2001-11-09 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_auth_loop): If we get a
user cancel and that causes us to fail to authenticate, abort
rather than loop forever. Fix for #14951.
svn path=/trunk/; revision=14648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-06 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-command.c
(camel_imap_command_continuation): Now takes a command-length
argument so we can 1) avoid duping the command string yet again,
yay. 2) we now don't have to worry about embedded nul-chars
screwing us over (we still need to avoid allowing them into the
string but at least now it won't mess us up).
* providers/imap/camel-imap-folder.c (do_append): Instead of
appending a nul char to the end of the byte array and then passing
that off as if it were a string to
camel_imap_command_continuation, instead pass the byte-array
length since that function now takes a length argument. Yay. Also
encode any 8bit parts to avoid the possibility of sending embedded
nul chars to the imap server.
* providers/imap/camel-imap-store.c (try_auth): Updated to pass a
command-length argument to camel_imap_command_continuation().
svn path=/trunk/; revision=14637
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (save_ssl_cert): Oops, pass a mode
argument to the open() call.
* camel-tcp-stream-openssl.c (save_ssl_cert): Oops, pass a mode
argument to the open() call.
svn path=/trunk/; revision=14636
|
|
|
|
|
|
|
|
|
|
| |
2001-11-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Add code to
kludge around any x-inline-pgp-hacks by prepending some content
headers to the decrypted data.
svn path=/trunk/; revision=14620
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-data-wrapper.c (camel_data_wrapper_init): Initialize our
private mutex.
(camel_data_wrapper_finalize): Destroy our private mutex.
(write_to_stream): Lock around camel_stream_write_to_stream() so
that we don't get 2 threads trying to read from our stream at the
same time.
svn path=/trunk/; revision=14573
|
|
|
|
|
|
|
|
|
|
| |
2001-11-01 <NotZed@Ximian.com>
* camel-vee-folder.c (folder_changed_change): Move all searching
operations outside of any locks except subfolder lock, same as
build_folder. Fix for #14294.
svn path=/trunk/; revision=14571
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-31 <NotZed@Ximian.com>
* providers/local/camel-spool-folder.c (spool_get_message): Same
as below.
* providers/local/camel-maildir-folder.c (maildir_get_message):
Same as below.
* providers/local/camel-mbox-folder.c (mbox_get_message): Set
USER_CANCEL if failed due to EINTR.
* camel-filter-driver.c (camel_filter_driver_filter_mbox): If
construct from parser fails due to user cancel, set USER_CANCEL on
exception.
* camel-mime-part.c (construct_from_parser): Return error if the
parser had an io error.
* camel-mime-message.c (construct_from_parser): Check error on
parser/return error.
* camel-mime-parser.c (folder_scan_init): Init error number.
(camel_mime_parser_errno): New function, return errno of any io
failures.
(folder_read): Set errno if a failure occured.
(folder_seek): Same.
(folder_scan_init_with_fd): Setup errno depeding on ok/failure.
(folder_scan_init_with_stream): Same.
svn path=/trunk/; revision=14559
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* camel-operation.c (camel_operation_new): Dont setup cancel_fd.
(camel_operation_cancel_fd): If cancel_fd not created, set it up.
(camel_operation_cancel): Set cancel flag before sending message.
(cancel_thread): Same.
svn path=/trunk/; revision=14469
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_mbox): Make
sure we unref the mimeparse when we're done (successfully). This
was leaking an fd every get-mail! :(
* camel-lock-client.c (camel_lock_helper_init): Close all fd's
above 2.
svn path=/trunk/; revision=14468
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* providers/local/camel-mbox-folder.c (mbox_get_message): Remove
the X-Evolution header before anyone else gets to see this private
thing. Shoudl fix 11676 since we were inheriting flags from
X-Evolution headers we didn't want to.
svn path=/trunk/; revision=14453
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* camel-folder-search.c (match_message): If we can't retrieve the
message, ignore it, it can't match.
* providers/imap/camel-imap-search.c
(camel_imap_search_class_init): Setup parent class pointer.
(imap_body_contains): If offline, just use the parent
body_contains method which will get the messages and search them
manually.
* providers/imap/camel-imap-folder.c (imap_search_by_expression,
imap_search_by_uids): Remove offline check.
svn path=/trunk/; revision=14442
|
|
|
|
|
|
| |
* camel-mime-part.c (free_headers): Fix this to match get_headers.
svn path=/trunk/; revision=14432
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* providers/local/camel-local-store.c (rename_folder): Dont try to
move ibex if we have none.
svn path=/trunk/; revision=14429
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* camel-tcp-stream-openssl.c (stream_write): Fixed compilation
errors.
svn path=/trunk/; revision=14420
|
|
|
|
|
|
|
|
|
| |
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (camel_mime_utils_init): Removed unused
variable.
svn path=/trunk/; revision=14419
|
|
|
|
| |
svn path=/trunk/; revision=14418
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* camel-mime-utils.c (header_decode_mailbox): w(x) out some warnings.
* providers/local/camel-local-summary.c
(camel_local_summary_load): Remove the warning about not loading
summary file - its a valid case for new folders.
svn path=/trunk/; revision=14411
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (my_SSL_write): Removed.
(stream_write): Keep looping (non-blocking case) if errno is
EAGAIN, EINTR or EWOULDBLOCK. For NONBLOCKing I/O, sync up with
CamelTcpStreamRaw. As with CamelTcpStreamRaw/SSL - make sure to
write out everything before returning.
(my_SSL_read): Removed.
(stream_read): Just call ssl_error_to_errno() and check the errno
values that we care about so we can keep the general look of all
this stream code the same. Also when checking the return value of
SSL_read, check for <0 instead of ==-1 since the man page for
SSL_read doesn't say it will return -1 on fail, it just says <0.
(stream_flush): Don't fsync() since syncing on a socket is a Bad
Thing (tm).
* camel-tcp-stream-ssl.c (stream_write): Make sure we write out
everything just like in camel-tcp-stream-raw.c.
* camel-stream-buffer.c (camel_stream_buffer_gets): If
camel_stream_read() returns -1, don't necessarily return -1 to our
caller since it's possible that we did actually "read" some data
(ie, we copied some pre-buffered data into the out buffer).
* camel-stream-buffer.h: Removed CAMEL_STREAM_BUFFER_NEWLINE since
it never got used anywhere and it isn't supported anyway.
svn path=/trunk/; revision=14409
|
|
|
|
|
|
|
|
|
|
| |
2001-10-30 <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c
(parse_list_response_as_folder_info): If we get an empty name,
then mark that as NoSelect. Workaround fix for #13239.
svn path=/trunk/; revision=14392
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-folder.c (get_message_simple,
imap_get_message): Set an X-Evolution-Source header on the
returned message so replies come from the right identity.
svn path=/trunk/; revision=14388
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 <NotZed@Ximian.com>
* camel-vee-folder.c (folder_changed_change): If we're not going
to search on a changed uid, make sure we change out copy still.
Fixes #13916.
svn path=/trunk/; revision=14386
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (subscribe_folder): Don't emit
a folder_subscribed signal if we are in the process of renaming
folders.
(unsubscribe_folder): Same here but for the unsubscribe signal.
(rename_folder): Unsubscribe from the folder being renamed and any
subfolders it may have before actually renaming. Once the folder
has been renamed, re-subscribe to it and it's subfolders with the
new name.
* camel-store.c (camel_folder_info_build): Sort the folder info's
before constructing the tree.
svn path=/trunk/; revision=14378
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_decode_param): Minor fix - should
have been using a strNcmp when checking if it was an rfc2047
encoded word.
svn path=/trunk/; revision=14360
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-context.c (pgp_sign): Notify the user that PGP 2.6.x
is no longer supported and use camel_exception_set() instead of
setv() where appropriate.
(pgp_clearsign): Same.
(pgp_verify): And again here.
(pgp_encrypt): Here too.
(pgp_decrypt): And finally here.
svn path=/trunk/; revision=14349
|
|
|
|
|
|
|
|
|
|
| |
* providers/imap/camel-imap-store.c (unsubscribe_folder): Don't
free the hash table key if the folder wasn't found in the hash
table. I'm not sure where the bug is/was that made it possible to
add a folder to the tree after creating it failed, but now if that
happens, it won't crash if you try to delete it again. (#11492)
svn path=/trunk/; revision=14348
|
|
|
|
|
|
|
|
| |
* camel-disco-store.c (camel_disco_store_status): if the service
is being connected and thinks it's online, but the session is
offline, then mark the service offline as well. Fixes 13683.
svn path=/trunk/; revision=14347
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 <NotZed@Ximian.com>
* camel-mime-utils.c: Turn off w() -> warnings.
* providers/imap/camel-imap-store.c (rename_folder): Also rename
the message cache.
(rename_folder): Fix subscribed folders table with rename(s).
* providers/imap/camel-imap-folder.c (imap_rename): Implement,
rename the cache dir pointer.
* providers/imap/camel-imap-message-cache.c
(camel_imap_message_cache_set_path): New method to set the path
used by a message cache.
svn path=/trunk/; revision=14327
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 <NotZed@Ximian.com>
* camel-vee-store.c (build_info): Fix the 'is this a matching
subfolder or subfolder'' logic to match camel-store
get_subfolders'.
* camel-store.c (get_subfolders): Fix the 'is this a matching
folder or subfolder' logic.
svn path=/trunk/; revision=14324
|
|
|
|
|
|
|
|
|
| |
2001-10-28 <NotZed@Ximian.com>
* providers/local/camel-local-store.c (rename_folder): Changed to
call ibex_move to rename it internally.
svn path=/trunk/; revision=14294
|
|
|
|
|
|
|
|
| |
2001-10-28 <NotZed@Ximian.com>
* camel-store.c (camel_store_rename_folder): Use the right variable, not info.
svn path=/trunk/; revision=14290
|
|
|
|
|
|
|
|
|
| |
2001-10-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-buffer.c (camel_stream_buffer_read_line): Make sure
we've actually read data before checking if p[-] is '\r' or not.
svn path=/trunk/; revision=14288
|