not even if its slipped in with no changelog. 2000-05-04 NotZed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-summary.c: Yes, and anotherone. * camel-mime-utils.c: And another one. * camel-mime-part.c: And another one. * camel-mime-part-utils.c: And another one. * camel-folder-search.c: And another one. * camel-mime-parser.c: Reverted a change wihtout a ChangeLog entry. 2000-05-04 NotZed <NotZed@HelixCode.com> * camel-folder-summary.[hc]: Yes, CamelFolderSummary is back ... ... re-usable class to summarise and index any stream or message and to manage/load/save the created summaries. * camel-folder.c: Include string.h to kill a warning. 2000-05-03 NotZed <NotZed@HelixCode.com> * camel-folder.h: Added pos/bodypos/endpos to the basic message content info object. Size to be removed? Moved the messageconentinfo and messageinfo back to camel-folder-summary.h. * camel-mime-filter-index.c (camel_mime_filter_index_set_ibex): New function to (re)set the index to use on a filter. * camel-mime-parser.c (camel_mime_parser_scan_from): Whole bunch of inline docs. (camel_mime_parser_drop_step): New function to drop a state from the parser. Needs more testing. svn path=/trunk/; revision=2789
2319 lines
83 KiB
Plaintext
2319 lines
83 KiB
Plaintext
2000-05-04 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-summary.c: Yes, and anotherone.
|
||
|
||
* camel-mime-utils.c: And another one.
|
||
|
||
* camel-mime-part.c: And another one.
|
||
|
||
* camel-mime-part-utils.c: And another one.
|
||
|
||
* camel-folder-search.c: And another one.
|
||
|
||
* camel-mime-parser.c: Reverted a change wihtout a ChangeLog entry.
|
||
|
||
2000-05-04 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-folder-summary.[hc]: Yes, CamelFolderSummary is back ...
|
||
... re-usable class to summarise and index any stream or message
|
||
and to manage/load/save the created summaries.
|
||
|
||
* camel-folder.c: Include string.h to kill a warning.
|
||
|
||
2000-05-03 Jason Leach <leach@wam.umd.edu>
|
||
|
||
* Makefile.am (INCLUDES): add $(UNICODE_CFLAGS) to the INCLUDES,
|
||
people who installed libunicde in non-standard include paths need
|
||
this.
|
||
|
||
2000-05-03 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-folder.h: Added pos/bodypos/endpos to the basic message
|
||
content info object. Size to be removed? Moved the
|
||
messageconentinfo and messageinfo back to camel-folder-summary.h.
|
||
|
||
* camel-mime-filter-index.c (camel_mime_filter_index_set_ibex):
|
||
New function to (re)set the index to use on a filter.
|
||
|
||
* camel-mime-parser.c (camel_mime_parser_scan_from): Whole bunch
|
||
of inline docs.
|
||
(camel_mime_parser_drop_step): New function to drop a state from
|
||
the parser. Needs more testing.
|
||
|
||
* camel-mime-utils.c (rfc2047_decode_word): If the iconv handle is
|
||
-1, then dont try and convert (crashes unicode_iconv?).
|
||
(rfc2047_decode_word): Use alloca for variables instead of
|
||
g_malloc - by the rfc they should always be short.
|
||
(rfc2047_decode_word): If we can't do the charset conversion, undo
|
||
the quoted-printable/base64 at least? Should probably convert
|
||
unknown characters to the utf-8 unknown character.
|
||
|
||
2000-05-02 Larry Ewing <lewing@helixcode.com>
|
||
|
||
* camel-mime-utils.c (header_decode_date): fix typo when
|
||
dereferencing saveoffset.
|
||
|
||
2000-05-02 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-folder-search.c: Added some header doco.
|
||
|
||
* camel.h: REmove gmime-utils.h from here.
|
||
|
||
* providers/mbox/camel-mbox-search.[ch]: Removed. Functionally
|
||
redundant.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (mbox_search_by_expression):
|
||
Use the new CamelFolderSearch class to do the actual searching,
|
||
just setup the search here.
|
||
|
||
* camel-folder-search.[ch]: A helper class that providers may
|
||
subclass to provide their own search functionality, or they can
|
||
simply use as is, it supports body searches if an ibex is
|
||
supplied, and header searches if a summary is supplied.
|
||
|
||
2000-05-02 Matt Loper <matt@helixcode.com>
|
||
|
||
* Makefile.am: set G_LOG_DOMAIN.
|
||
* providers/MH/Makefile.am: same.
|
||
* providers/maildir/Makefile.am: same.
|
||
* providers/mbox/Makefile.am: same.
|
||
* providers/nntp/Makefile.am: same.
|
||
* providers/pop3/Makefile.am: same.
|
||
* providers/sendmail/Makefile.am: same.
|
||
* providers/smtp/Makefile.am: same.
|
||
|
||
2000-05-02 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-search.c
|
||
(camel_mbox_folder_search_by_expression): Dont store/remove
|
||
current search from the search list.
|
||
|
||
* providers/mbox/camel-mbox-folder.h: Removed searches list,
|
||
searches are all sync now.
|
||
|
||
* gmime-utils.[ch]: What the hell, remove it. This will break the
|
||
nntp provider. The mime parser can be used instead though.
|
||
Removed from all code including it (but none were using it).
|
||
|
||
* gmime-utils.c (_store_header_pair_from_string): Removed bizarre
|
||
string_dichotomy version of this. This code is somewhat redundant
|
||
now, and is headed for death anyway.
|
||
|
||
* gstring-util.c (g_string_dichotomy): Same with this one.
|
||
(g_string_clone): Removed a memory leak, g_string_new() allocates
|
||
its own memory.
|
||
(g_string_append_g_string): Allow to append an empty gstring onto
|
||
another gstring, dont abort()!
|
||
|
||
* string-utils.c (string_dichotomy): Removed this incredibly weird
|
||
function.
|
||
|
||
* camel-folder.c (_create): Replaced the rather obtuse use of
|
||
"string_dichotomy" function with a simple strrchr(). Still not
|
||
sure it'll work.
|
||
|
||
* camel-folder-summary.c: cvs removed a long-removed file.
|
||
|
||
* camel-mime-parser.c (folder_scan_header): Fix the previous
|
||
overflow problem properly (can happen in 2 places).
|
||
(header_append): A new macro to include the code changed above, so
|
||
it only appears in one place.
|
||
(folder_scan_step): Change the content type to text/plain if the
|
||
multipart is broken. Doesn't actually change the header though.
|
||
(header_append): Also move the header-start tracking stuff here.
|
||
Could be a static function to save code.
|
||
|
||
2000-05-02 <notzed@helixcode.com>
|
||
|
||
* camel-mime-part-utils.c
|
||
(simple_data_wrapper_construct_from_parser): Dont use autofill on
|
||
these fucking long function anmes!!!!!!
|
||
|
||
2000-05-02 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-summary.c
|
||
(camel_mbox_summary_expunge): Fix the offset for the summary when
|
||
an item is expunged to take account of the From line.
|
||
|
||
2000-05-01 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.h (CamelMboxFolder): Removed
|
||
search_id.
|
||
|
||
* providers/mbox/camel-mbox-search.c
|
||
(camel_mbox_folder_search_cancel): Remove.d
|
||
(camel_mbox_folder_search_complete): Removed.
|
||
(camel_mbox_folder_search_by_expression): Changed back to sync
|
||
api.
|
||
(struct _searchcontext): Removed cancelled flag.
|
||
(find_context): Removed.
|
||
(func_header_contains): Debug out some search stuff.
|
||
|
||
* providers/mbox/camel-mbox-search.h
|
||
(camel_mbox_folder_search_by_expression): Moved back to sync api.
|
||
|
||
* providers/mbox/camel-mbox-summary.c
|
||
(camel_mbox_summary_set_flags_by_uid): New function to update the
|
||
flags in the summary.
|
||
(camel_mbox_summary_expunge): Expunge messages from a folder.
|
||
(offset_content): Re-align offsets of summary when messages
|
||
added/removed to an existing summary.
|
||
(camel_mbox_summary_remove_uid): Remove a message summary entry by
|
||
uid.
|
||
(index_folder): Restore flags from X-Evolution header, if they are set.
|
||
(index_folder): Make sure we index using a decimal uid, since
|
||
thats what everything else indexes off (oops).
|
||
Upped SUMMARY_VERSION as a result.
|
||
(camel_mbox_summary_expunge): Oops, my wrong, use the string uid
|
||
to unindex on.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_uid):
|
||
Connect to the message_changed signal.
|
||
(_init): Set permanent flags to something reasonable. No user
|
||
flags yet ...
|
||
(message_changed): If the flags of the message change, update the
|
||
flags in the summary.
|
||
(mbox_expunge): Implement the expunge.
|
||
(camel_mbox_folder_class_init): Renamed all leading _'s to mbox_'s
|
||
(mbox_expunge): Emit a folder_changed signal on expunge (uh, even
|
||
if it didn't ...)
|
||
|
||
* camel-folder.c (_finalize): Uh, dont free permanent_flags
|
||
anymore (this wouldn't failed anyway, it was a GList !!!)
|
||
(camel_folder_search_complete): Removed.
|
||
(camel_folder_search_cancel): Removed.
|
||
(camel_folder_expunge): Changed to only allow expunge on an open
|
||
folder. It doesn't make sense for mbox, otherwise (?)
|
||
(camel_folder_class_init): Added a folder_changed signal.
|
||
|
||
* camel-folder.h (struct _CamelFolder): Change permanent_flags to
|
||
a bitfield.
|
||
(list_permanent_flags): Renamed to get_permanent_flags, and
|
||
returns a bitfield.
|
||
(camel_folder_expunge): Changed expunge to a void type. The
|
||
messages would no longer be useful after they have been removed
|
||
...
|
||
(CamelFolderClass): New function summary_get_by_uid() to get a single
|
||
summary.
|
||
(*search*): Moved back to synchronous search api ... *sigh*
|
||
|
||
* camel-folder.h: Removed CamelSearchFunc.
|
||
|
||
* camel-mime-message.c (set_flag): Removed.
|
||
(camel_mime_message_set_flag): Removed.
|
||
(get_flag): Removed.
|
||
(camel_mime_message_get_flag): Removed.
|
||
(add_flag_to_list): Removed.
|
||
(get_flag_list): Removed.
|
||
(camel_mime_message_get_flag_list): Removed.
|
||
(camel_mime_message_get_flags): New interface to get system flags.
|
||
(camel_mime_message_set_flags): " to set ".
|
||
(camel_mime_message_get_user_flag): To get a user flag.
|
||
(camel_mime_message_set_user_flag): To set a user flag.
|
||
(finalize): Hmm, the old one free'd the key and data, not good
|
||
when the data is a boolean ...
|
||
|
||
2000-04-30 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-provider.h: Tweak the definition of CamelProvider. Among
|
||
other things, a provider may now be both a store and a transport.
|
||
|
||
* camel-provider.c: Remove a lot of code we had no intention of
|
||
using. This now only contains two functions: camel_provider_init
|
||
to read the installed .urls files, and camel_provider_load to
|
||
load and register a new provider.
|
||
|
||
* camel-session.c: Remove more unused code and simplify some of
|
||
the remaining code. The list of available provider modules is now
|
||
stored in the session, and it handles calling camel_provider_load
|
||
to load them as needed. Provider registration is now done by
|
||
calling back from the module init routine, which allows a single
|
||
module to register providers for multiple URL types.
|
||
|
||
* providers/*: Update provider structures and init routines for
|
||
the new stuff. Add a .urls file to each provider specifying what
|
||
urls it handles, and install that with the library.
|
||
|
||
* providers/nntp/camel-nntp-provider.c: Add hints towards
|
||
supporting both news: and nntp: URLs, and using nntp as both a
|
||
store and a transport.
|
||
|
||
2000-04-29 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-internet-address.c (camel_internet_address_get): const
|
||
poison
|
||
|
||
* camel-mime-part-utils.c
|
||
(simple_data_wrapper_construct_from_parser):
|
||
camel_mime_parser_tell() returns an offset from where it started
|
||
parsing, not necessarily from the start of data. Since we're
|
||
parsing a bounded seekable_stream, we need to add the stream's
|
||
starting bound to camel_mime_parser_tell's return value to
|
||
create the substream in the right place.
|
||
|
||
* camel-seekable-substream.c
|
||
(camel_seekable_substream_new_with_seekable_stream_and_bounds):
|
||
say CAMEL_STREAM_UNBOUND rather than -1 in doc.
|
||
|
||
* camel-seekable-stream.c (camel_seekable_stream_seek): Add more
|
||
info to docs.
|
||
|
||
2000-04-28 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-parser.c (folder_scan_header): fix a bug that would
|
||
cause corruption with very long headers.
|
||
|
||
2000-04-27 Ettore Perazzoli <ettore@helixcode.com>
|
||
|
||
* providers/pop3/Makefile.am (INCLUDES): Add `-I$(srcdir)/../../..'
|
||
to pick the Camel includes.
|
||
* providers/sendmail/Makefile.am (INCLUDES): Likewise.
|
||
|
||
* camel.h: Don't #include <camel/data-wrapper-repository.h> anymore.
|
||
|
||
2000-04-27 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-utils.c (check_header): Dont try and check a NULL
|
||
header.
|
||
|
||
* camel-recipient.[ch]: Dead. Its not pining.
|
||
|
||
* camel-mime-message.h: Dont include recipients.h anymore.
|
||
|
||
* camel-mime-message.c (camel_mime_message_add_recipient): Accept
|
||
name/address separately, and store in an CamelInternetAddress.
|
||
(add_recipient): Removed.
|
||
(remove_recipient): Removed.
|
||
(remove_recipient_address): Renamed from remove_receipient, works
|
||
via address.
|
||
(camel_mime_message_remove_recipient_name): New function to remove
|
||
by name.
|
||
(get_recipients): Removed.
|
||
(camel_mime_message_get_recipients): Return a camel-internet-address.
|
||
(write_to_stream): No longer write receipients directly.
|
||
(write_recipients_to_stream): Removed.
|
||
(write_one_recipient_to_stream): Removed.
|
||
(camel_mime_message_init): Setup recipients hashtable, rather than
|
||
usign the recipients stuff.
|
||
(set_recipient_list_from_string): Killed, a violent and lengthy
|
||
death.
|
||
(process_header): Simplified recipient handling code a lot.
|
||
(received_date_str, sent_date_str, reply_to_str, subject_str,
|
||
from_str): Removed some oddly-defined global statics.
|
||
(camel_mime_message_class_init): Dont initialise above variables
|
||
anymore.
|
||
(init_header_name_table): Removed, use a table to init this, and
|
||
do it in class init (2 lines of code ...).
|
||
|
||
* camel-news-address.c: Class to represent news addresses -
|
||
currently empty, and not built.
|
||
|
||
* camel-internet-address.h: Class to represent internet (email)
|
||
addresses.
|
||
|
||
* camel-address.h: Abstract class to represent (lists of)
|
||
addresses.
|
||
|
||
2000-04-27 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-part.c (write_to_stream): Revert previous change. I
|
||
was confused.
|
||
|
||
* camel-url.[ch] (camel_url_encode, camel_url_decode): expose
|
||
these routines.
|
||
|
||
2000-04-26 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-part.c (write_to_stream): Only write a newline
|
||
between the headers and the content object if the content object
|
||
is not a CamelMedium. (If the content is a medium, it may have its
|
||
own headers, which then need to go before the blank line.)
|
||
|
||
* camel-mime-body-part.[ch]: Remove. We weren't using the fields
|
||
that made this different from camel-mime-part, so it basically
|
||
just forced us to do lots of gratuitous typecasting.
|
||
|
||
* camel-multipart.[ch]: Use CamelMimePart. Remove the multipart
|
||
parent stuff, since we weren't using that either.
|
||
|
||
* etc: update for CamelMimeBodyPart -> CamelMimePart
|
||
|
||
2000-04-26 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-medium.c (set_content_object): sink the content object
|
||
after referencing it.
|
||
|
||
* camel-mime-part.c: fix various little things in the handling
|
||
of CamelMedium methods. Change camel_mime_part_set_text to the
|
||
more generic camel_mime_part_set_content.
|
||
|
||
* camel.h: sync to current reality
|
||
|
||
* camel-folder-utils.[ch]: removed
|
||
|
||
* camel-mime-utils.c (header_format_date): fix format specifier
|
||
for time zone. Fix typo in month names array.
|
||
|
||
2000-04-26 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-seekable-substream.c (stream_seek): Changed to have
|
||
absolute seek semantics, not relative to the bounds.
|
||
|
||
* camel-seekable-stream.c (reset): When we reset, seek to the
|
||
start of the bound, if there is one.
|
||
(stream_tell): Make tell virtual.
|
||
|
||
* camel-stream-filter.c (do_available): Removed.
|
||
|
||
* camel-stream-buffer.c: Remove leading _'s from static functions.
|
||
(stream_read): Renamed from read(). Fancy that conflicting! (my
|
||
boo!) Others too.
|
||
|
||
* providers/pop3/camel-pop3-folder.c (get_message_by_number):
|
||
Changed to stream_mem interface.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_uid): Fixed
|
||
for streamfs interface changes, and implement a failure case.
|
||
(_append_message): Changed for fs stream interface change.
|
||
|
||
* camel-multipart.c (print_part): Iterate rahter than callback. I
|
||
hate glists's interface (hence, move this to write_to_stream).
|
||
(write_to_stream): Return an error (yuck, this is a royal PITA to
|
||
do with the stream write interface).
|
||
|
||
* camel-mime-message.c: Removed leading _ from static names.
|
||
|
||
* camel-mime-part.h: construct_from_parser() now returns an error
|
||
code.
|
||
|
||
* camel-mime-part-utils.c
|
||
(camel_mime_part_construct_content_from_parser): Changed to use a
|
||
camel-data-wrapper instead of a camel-simple-data-wrapper (no
|
||
change needed elsewhere?).
|
||
(simple_data_wrapper_construct_from_parser): Fixes for stream-mem
|
||
interface changes.
|
||
|
||
* camel-simple-data-wrapper.[ch],
|
||
camel-simple-data-wrapper-stream.[ch],
|
||
camel-stream-data-wrapper.[ch], removed. Fixed including of these
|
||
files.
|
||
|
||
* camel-mime-part.c (camel_mime_part_set_text): Remove the use of
|
||
the camel-simple-data-wrapper-stream, just use a mem stream.
|
||
(write_to_stream): Renamed from my_*
|
||
(construct_from_stream): Return an error on error.
|
||
|
||
* camel-stream-mem.c (camel_stream_mem_new*): Remove mode
|
||
parameter.
|
||
|
||
* camel-stream-mem.h (enum CamelStreamMemMode): Removed. It
|
||
wasn't used at all.
|
||
|
||
* camel-data-wrapper.h: Add camel_data_wrapper_new() to create
|
||
these.
|
||
(write_to_stream, construct_from_stream): Return an error
|
||
indicator for success. Fixed all methods to match (ICK).
|
||
|
||
* Makefile.am (libcamel_la_SOURCES): Remove
|
||
camel-simple-data-wrapper.c, camel-simple-data-wrapper-stream.c,
|
||
camel-stream-data-wrapper.c. Obsoleted by code re-use!
|
||
|
||
* camel-data-wrapper.c (construct_from_stream): Change the default
|
||
implementation to just set the output stream == construction
|
||
stream. Well, this lets me get rid of both simple-data-wrapper
|
||
and stream-data-wrapper (unused anyway), and
|
||
simple-data-wrapper-stream in one hit. CamelDataWrapper is now
|
||
also a concrete class.
|
||
(write_to_stream): Use camel_stream_write_to_stream() to
|
||
calculate/return values (and save code).
|
||
Include <errno.h> for obvious reasons.
|
||
|
||
* camel-stream.c (eos): Provide a default implementation of .eos().
|
||
(camel_stream_write_to_stream): Make it return an error code on
|
||
error.
|
||
(camel_stream_printf): Changed to return the number of bytes
|
||
written/error.
|
||
(camel_stream_available): Removed.
|
||
|
||
* camel-stream-fs.h (enum CamelStreamFsMode): Removed. Changed to
|
||
use unix modes and so forth (wasn't used for anything but new file
|
||
creation and didn't work well either).
|
||
|
||
* camel-stream-fs.c: Removed leading _'s for names. And removed
|
||
some virtual method 'documentation'.
|
||
(destroy): Dont try and close a closed/error fd. Only report
|
||
error if close returns -1. Moved all the code to finalise(), and
|
||
killed this function.
|
||
(init_with_fd): Properly setup the seek offset, if it is a
|
||
valid and seekable file descriptor.
|
||
(init_with_fd_and_bounds): Use off_t for bounds, set bounds on the
|
||
seekable stream.
|
||
(init_with_name): Return error codes.
|
||
(init_with_name_and_bounds): Ditto.
|
||
(camel_stream_fs_new_with_name): REturn NULL object if it failed.
|
||
(camel_stream_fs_new_with_name_and_bounds): Return NULL object on
|
||
failure. Changed with_name* api's to take unix open style args
|
||
and flags.
|
||
(read): The bounded stream bounds checking seemed off, simplified
|
||
code a bit.
|
||
(write): Implement bounds checking for writing, the comment was
|
||
wrong, it could make sense to bound writing. Cleaned up a little.
|
||
(available): Gone.
|
||
(eos): Removed. Use CamelStream's implementation now.
|
||
(close): Reset the fd to -1, provide a warning for bad usage.
|
||
(seek): Cleaned up. Changed the behaviour a little, the returned
|
||
offset is the absolute position in the file, even in bounded
|
||
streams.
|
||
(seek): Seek from end mirrors lseek() behaviour (reverse seeking).
|
||
|
||
2000-04-25 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-stream-fs.h (struct _CamelStreamFs): Moved bounds and eof
|
||
indicator to other parent classes.
|
||
|
||
* camel-stream.c (camel_stream_printf): New utility
|
||
function. Obvious use.
|
||
|
||
* camel-stream-mem.c: Removed leading _'s from static func's.
|
||
(camel_stream_mem_new_with_byte_array): Fixed for api changes, set
|
||
the owner for the byte array to us.
|
||
: Removed A bunch of gtk doc stuff for static (implementation) functions.
|
||
(available): Removed.
|
||
(write): Fixed the write implementation so that seek() works on a
|
||
seekable memory stream, as expected. Seeking past the end of the
|
||
buffer has unix semantics (filling with 0).
|
||
(available): Removed.
|
||
(write): Implement seekable stream bounded stream.
|
||
(read): Implement seekable stream bounded stream.
|
||
(close): Dont free the stream_mem if we're not the owner.
|
||
(seek): Allow to seek beyond the end of memory area,
|
||
implement bounds checking.
|
||
(seek): Set errno on bad policy.
|
||
|
||
* camel-stream-mem.h (struct _CamelStreamMem): Changed position to off_t.
|
||
(new_with_buffer): Changed len to be a size_t.
|
||
(set_buffer, set_byte_array): New interface functions.
|
||
(struct _CamelStreamMem): Removed position, it is stored in the
|
||
superclass.
|
||
|
||
* camel-stream.h: Removed some of the seemingly random
|
||
whitespace. Removed the available method (its not
|
||
impelemented/useful enough).
|
||
|
||
* camel-seekable-substream.c
|
||
(init_with_seekable_stream_and_bounds): Remove the data_available
|
||
stuff, it hasn't been properly implemented/finished, and may never
|
||
work (unfortunately *sigh).
|
||
(reemit_parent_signal): Removed part of the above change.
|
||
(set_bounds): Removed (moved to seekable-stream).
|
||
: Fixed up some of the generally unreadable indenting (sorry,
|
||
wrapping at 80 characters with
|
||
camels_really_long_function_names()
|
||
just_doesnt_work_very_well_does_it().
|
||
(available): Removed.
|
||
(stream_seek): Fixup for object changes. Make sure we return -1
|
||
if the parent stream can't seek.
|
||
|
||
* camel-seekable-stream.c (ccamel_seekable_stream_set_bounds): New
|
||
function to bound any seekable stream.
|
||
: Removed _'s.
|
||
(camel_seekable_stream_class_init): Implement an init function, to
|
||
setup the stream bounds to unbound.
|
||
|
||
* camel-seekable-stream.h (CamelSeekableStreamClass): New virtual
|
||
method set_bounds for seekable streams.
|
||
(CAMEL_STREAM_UNBOUND): New define for no bound.
|
||
|
||
* camel-seekable-substream.h (struct _CamelSeekableSubstream):
|
||
Removed sup_bound and inf_bound, moved to CamelSeekableStream (and
|
||
renamed, and changed to off_t's).
|
||
(new_with_seekable_stream_and_bounds): Use off_t as the bounds.
|
||
(CamelSeekableSubstreamClass): Uh, why was the intialiser virtual?
|
||
Removed.
|
||
|
||
* camel-seekable-stream.[ch] (CamelSeekableStreamClass): Changed seek
|
||
to accept an off_t as the offset.
|
||
(struct _CamelSeekableStream): Renamed cur_pos to position and
|
||
changed it to an off_t type.
|
||
(enum CamelStreamSeekPolicy): Set to match the SEEK_* constants
|
||
from lseek().
|
||
(get_current_position): Renamed to tell().
|
||
|
||
* camel-stream-buffer.h: Commented out set_vbuf - never implemented.
|
||
|
||
2000-04-25 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-stream-buffer.c (_eos): only return TRUE if the parent is
|
||
at eos AND the buffer has been exhausted
|
||
|
||
* camel-mime-message.c: fix some incorrect macro usage that
|
||
resulted in bogus casts
|
||
|
||
2000-04-24 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-part-utils.c
|
||
(simple_data_wrapper_construct_from_parser): fix a cut-and-pasto.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_uid): ref
|
||
(and sink) the message stream if we're going to unref it later.
|
||
Otherwise it could get destroyed while there are still substreams
|
||
attached to it. This needs a cleaner solution.
|
||
|
||
* camel.h: remove data-wrapper-repository.h include(s)
|
||
|
||
2000-04-24 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-message.c (construct_from_parser): Allow MESSAGE_END
|
||
_or_ EOF as valid termination conditions.
|
||
|
||
* providers/mbox/camel-mbox-summary.c (message_struct_new): Decode
|
||
and then re-encode the addresses, so they are consistently
|
||
formatted.
|
||
|
||
* camel-mime-utils.c (header_decode_mailbox): Store the address in
|
||
a _header_address. And try to get a comment-stored name if there
|
||
is one.
|
||
(header_decode_address): Actually return an address.
|
||
(header_to_decode): Renamed to header_address_decode()
|
||
(header_mailbox_decode): New function to get a single mailbox.
|
||
(header_mime_decode): Return the major/minor value, as
|
||
appropriate.
|
||
(header_address_new, and friends): Whole bunch of utility
|
||
functions for working with the address thingies.
|
||
(header_decode_domain): Free the string header, and dont expand
|
||
'.' into ' . '.
|
||
|
||
* camel.c (camel_init): No longer call
|
||
data_wrapper_repository_init.
|
||
|
||
* camel-medium.c (write_to_stream): Moved (back) to
|
||
camel-mime-part.
|
||
(add_header):
|
||
(set_header):
|
||
(remove_header):
|
||
(get_header): Make all these abstract, and spit warnings if
|
||
called. I guess it could manage the list, but well, it doesn't.
|
||
|
||
* camel-medium.h (struct _CamelMedium): Dont store headers here,
|
||
the implementor is the only one who knows their format.
|
||
(CamelMediumClass): Changed header values to be void *'s. They
|
||
need not be strings?
|
||
|
||
* camel-simple-data-wrapper.c (construct_from_stream): And we're
|
||
back. Set the output stream.
|
||
(construct_from_parser): Moved to camel-mime-part-utils.
|
||
|
||
* camel-mime-part-utils.c
|
||
(camel_mime_part_construct_content_from_parser): Create the
|
||
contents of multipart and simple messages.
|
||
(camel_mime_part_construct_content_from_parser): Oops, this was
|
||
totally screwed up, try creating the right cotnent on the right
|
||
object.
|
||
|
||
* camel-multipart.c (construct_from_parser): Moved to
|
||
camel-mime-part-utils.
|
||
(separate_part): Removed.
|
||
|
||
* camel-mime-part.c (construct_from_stream): Back again! This now
|
||
switches over to using a mime parser for any mime parts, only.
|
||
(my_write_to_stream): Write our headers and so forth here.
|
||
(add_header): Add header directly, parent class is abstract.
|
||
(remove_header): Ditto.
|
||
(set_header): Ditto.
|
||
|
||
* camel-data-wrapper.c (camel_data_wrapper_construct_from_stream):
|
||
Remade abstract.
|
||
(camel_data_wrapper_construct_from_parser): Moved to
|
||
camel_mime_part.
|
||
|
||
* camel-data-wrapper.h: Put back construct_from_stream.
|
||
|
||
* camel-mime-part.h: Put construct_from_parser in here, the
|
||
data-wrapper shouldn't know about mime. Ok, so now to undo half
|
||
of the last hours changes ... duh.
|
||
|
||
2000-04-23 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-utils.c (header_to_decode, header_mime_decode): fix
|
||
some obvious minor bugs noted by -Wall.
|
||
|
||
2000-04-23 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/pop3/camel-pop3-folder.c (get_message_by_number): Use
|
||
construct_from_stream instead of set_input_stream().
|
||
|
||
* camel-simple-data-wrapper-stream.c
|
||
(camel_simple_data_wrapper_stream_construct): REmoved the destroy
|
||
callback code.
|
||
(wrapper_destroy_cb): Removed.
|
||
|
||
* camel-simple-data-wrapper.h: Add prototype for _construct()
|
||
method.
|
||
|
||
* camel.c: Include unicode.h to kill a warning.
|
||
|
||
* camel-data-wrapper.h (CameldataWrapperClass): Removed
|
||
construct_from_stream virtual method.
|
||
Removed get/set input stream.
|
||
|
||
* data-wrapper-repository.[ch]: Removed&from build. Obsoleted?
|
||
The justification as is follows: It is mixing storage
|
||
protocol/format with message architecture. It really just doesn't
|
||
serve any purpose, as each medium implementor will have to have its
|
||
own type->handler mapping, and the only current implementor,
|
||
mimepart has a very simple structure and no need for this.
|
||
|
||
* camel-medium.c (write_to_stream): Moved here from most of the
|
||
stuff in camel-mime-part. Well, the MEDIUM is the one that knows
|
||
what the headers are, and the content is, let it write it out.
|
||
|
||
* camel-mime-part-utils.c (camel_mime_part_construct_content):
|
||
Copied from camel-mime-part.c, removed handling of message
|
||
followon state (moved to camel-mime-message).
|
||
(camel_mime_part_construct_content_from_parser): Renamed from
|
||
construct_content.
|
||
(camel_mime_part_construct_headers_from_stream):
|
||
(camel_mime_part_construct_content_from_stream):
|
||
(camel_mime_part_store_stream_in_buffer): Removed. Replaced by
|
||
the new construct from parser stuff.
|
||
|
||
* camel-mime-message.c (construct_from_parser): Do
|
||
construct_from_parser for mime-message.
|
||
(_write_to_stream): Set the mime-version header for medium to
|
||
write out, rather than writing it out ourselves.
|
||
|
||
* camel-data-wrapper.c (set_mime_type_field): Ref the
|
||
content_field when we get it?
|
||
(construct_from_stream): Removed.
|
||
(camel_data_wrapper_construct_from_stream): Changed to a helper
|
||
function, creates a mime_parser, and constructs from that.
|
||
(set_input_stream): Removed.
|
||
(camel_data_wrapper_set_input_stream): Removed.
|
||
(get_input_stream): Removed.
|
||
(camel_data_wrapper_get_input_stream): Removed.
|
||
|
||
* camel-mime-parser.c (camel_mime_parser_unstep): New function.
|
||
Cause a subsequent call to mime_parser_step() to return the same
|
||
state over again.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_uid):
|
||
Initial test code using the mime parser to construct the message.
|
||
(_get_message_by_uid): Use construct_from_stream() instead of
|
||
creating our own parser.
|
||
|
||
* camel-mime-part.c (construct_from_parser): part constructor.
|
||
(camel_mime_part_construct_content): Basically a simpler
|
||
replacement for the datawrapper repository.
|
||
(camel_mime_part_init): Set the default type to text/plain.
|
||
(camel_mime_part_construct_content): Removed to
|
||
camel-mime-part-utils.c
|
||
(my_get_output_stream): Removed. The streeam is in the
|
||
data-wrapper.
|
||
(my_get_content_object): Removed. The content object is stored in
|
||
the medium. If none is there, the object wasn't created properly.
|
||
(my_write_content_to_stream): Removed. The content object is the
|
||
one that knows how to write itself out!!!!!!!!
|
||
(my_write_to_stream): Remove the base header writing stuff - has
|
||
been moved to camel-medium, where it belongs. This can just be
|
||
used to check for mandatory headers.
|
||
(my_construct_from_stream): Removed.
|
||
(my_set_input_stream): What the hell, i'll remove this too.
|
||
Nobody seems to understand how it differs from create from stream,
|
||
and they both seem to serve the same purpose ...
|
||
|
||
* camel-simple-data-wrapper.c (construct_from_parser): Initial
|
||
implementation of a content constructor.
|
||
(construct_from_stream): Removed! Job taken over by
|
||
construct_from_parser.
|
||
|
||
* camel-multipart.c (construct_from_parser): Multipart
|
||
construction routine.
|
||
(camel_multipart_init): Set the default multipart type to
|
||
multipart/mixed. Duh, no subtype is not allowed anyway.
|
||
(set_input_stream): REmoved. Replaced by construct_from_parser.
|
||
|
||
2000-04-22 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-multipart.[ch]: clean, document, etc.
|
||
(camel_multipart_init): pick a prettier default boundary. Still
|
||
need to deal with the larger problem
|
||
|
||
2000-04-22 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-message.h (struct _CamelMimeMessage): Removed
|
||
send_date, and received_date, and replaced it with a time_t
|
||
'date' (this is what the header is called), and date_offset to
|
||
store the GMT offset of the date.
|
||
|
||
* camel-mime-message.c (camel_mime_message_set_from): Update raw
|
||
header as we go.
|
||
(_set_from): Removed.
|
||
(_get_from): Removed.
|
||
(camel_mime_message_get_from): Moved implementation here.
|
||
(camel_mime_message_get_subject): Move implementation here.
|
||
(_get_subject): Nuked.
|
||
(camel_mime_message_set_subject): Handle utf-8 input, and also
|
||
update raw header when changed.
|
||
(_set_subject): Removed.
|
||
(_set_received_date): Removed.
|
||
(camel_mime_message_set_received_date): Removed.
|
||
(_get_received_date): Removed.
|
||
(camel_mime_message_get_received_date): Removed.
|
||
(_get_sent_date): Removed.
|
||
(camel_mime_message_get_sent_date): Removed.
|
||
(camel_mime_message_get_date): New function to get the date as a
|
||
time_t/offset.
|
||
(camel_mime_message_set_date): Set the date as a time_t/offset.
|
||
(camel_mime_message_get_date_string): Get the date as a string.
|
||
(camel_mime_message_init): Initialise the current date as
|
||
'CMAEL_MESSAGE_DATE_CURRENT'.
|
||
(_set_reply_to): Removed.
|
||
(camel_mime_message_set_reply_to): Moved implementation here.
|
||
This is still broken, reply-to can have multiple addresses.
|
||
(_get_reply_to): Removed.
|
||
(_set_field): Removed, no longer used anywhere.
|
||
(_get_field): Also removed.
|
||
(_init_header_name_table): Add the Date header.
|
||
(process_header): Also handle snooping of Date header here.
|
||
|
||
* camel-stream-filter.c (finalise): Unref the source stream on
|
||
finalise, and also call the parent class (oops).
|
||
|
||
* camel-mime-parser.c (camel_mime_parser_state): New function to
|
||
get the current parser state.
|
||
(camel_mime_parser_stream): Allow you to get the stream back from
|
||
the mime_parser.
|
||
(camel_mime_parser_fd): Alternative to allow you to get the fd
|
||
back from the mime_parser.
|
||
(folder_scan_init_with_stream): Properly ref/unref the stream.
|
||
(folder_scan_close): Properly unref the stream/close the fd on
|
||
exit.
|
||
(folder_scan_init_with_fd): Close the old fd if there is one.
|
||
|
||
* camel-data-wrapper.c (camel_data_wrapper_construct_from_parser):
|
||
New method, construct a data wrapper from an initialised parser.
|
||
(construct_from_parser): Empty implementation.
|
||
|
||
* providers/mbox/camel-mbox-summary.c (message_struct_new):
|
||
Convert subject line to unicode, before storing in the summary.
|
||
(strdup_trim): Removed, no longer needed.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_uid): Ref
|
||
the folder after setting it in the new message.
|
||
|
||
* camel-mime-part.c (my_set_content_object): Have the headers
|
||
follow the content-type change here too.
|
||
(my_write_to_stream): Dont write content-type here, automatically
|
||
stored in the headers ...
|
||
(my_write_to_stream): Use header_disposition_format() to format
|
||
the content-disposition header.
|
||
(my_write_to_stream): Removed old code, all headers are now stored
|
||
in the camel-medium level, always. Need to do the same with
|
||
camel-mime-message i suppose ...
|
||
(my_write_to_stream): Write the content using the parent class,
|
||
not some weird function.
|
||
(camel_mime_part_class_init): Dont override get_output_stream.
|
||
(camel_mime_part_encoding_from_string): Bleh, make it
|
||
case-insensitive.
|
||
|
||
* camel-mime-utils.c (header_content_type_is): Handle empty types.
|
||
(header_encode_string): Start of an implementation of the rfc2047
|
||
encoder. It does iso-8859-1, and us-ascii, and utf-8 (others get
|
||
tricky *sigh*)
|
||
(rfc2047_encode_word): Convert a single word/string into rfc2047
|
||
encoding.
|
||
(quoted_encode): Different quoted-printable encoding for rfc2047
|
||
encoding of headers.
|
||
|
||
* gmime-content-field.c (gmime_content_field_write_to_stream): Use
|
||
header_content_type_format() to format it.
|
||
|
||
2000-04-21 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-utils.h: Add prototype for header_param_list_free.
|
||
|
||
* camel-recipient.c: New function to remove all the types of a
|
||
recipient list. I think this whole object needs a major review.
|
||
|
||
* camel-mime-message.c (camel_mime_message_class_init): Removed
|
||
parse_header_pair override, override add_header instead.
|
||
(_parse_header_pair): Renamed to add_header.
|
||
(remove_header): Add this method, to make sure we keep upto date
|
||
with removed headers too.
|
||
(_set_field): If given a NULL value, clear it out.
|
||
(_set_recipient_list_from_string): Constify.
|
||
(set_header): Override set_header from camel_medium.
|
||
(process_header): Local function to handle set/add/remove of each
|
||
header we know about.
|
||
|
||
* camel-mime-part.c (camel_mime_part_class_init): Removed
|
||
parse_header_pair setup.
|
||
(my_parse_header_pair): Moved into add_header(), removed.
|
||
(my_set_disposition): Allow a NULL disposition to clear it.
|
||
(my_set_content_id): Allow NULL content id to clear it.
|
||
(remove_header): Track removed headers.
|
||
(my_set_description): Allow NULL description to clear it.
|
||
(my_set_content_MD5): Make sure we copy the md5 value, and allow a
|
||
NULL value to reset it.
|
||
(my_set_filename): Copy the filename.
|
||
(my_set_header_lines): Removed. Nothing uses it, it doesn't
|
||
actually serve any purpose.
|
||
(camel_mime_part_set_header_lines): Ditto.
|
||
(my_get_header_lines): Ditto.
|
||
(camel_mime_part_get_header_lines): Ditto.
|
||
(camel_mime_part_class_init): Remove *_header_lines setup.
|
||
(camel_mime_part_init): Remove header_lines init.
|
||
(my_finalize): Remove header_lines finalise.
|
||
(my_write_to_stream): Write the headers here. This is just WRONG,
|
||
camel_medium should be doing this.
|
||
(my_get_output_stream): Kill a warning.
|
||
(camel_mime_part_encoding_to_string): Ditto.
|
||
(camel_mime_part_set_description): Unvirtualiase, use add_header()
|
||
to do the processing.
|
||
(my_set_description): Removed.
|
||
(set_disposition): Renamed from my_set_disposition.
|
||
(camel_mime_part_get_description): Get the descriptionf rom the
|
||
get_header method.
|
||
(my_get_description): Removed.
|
||
(my_set_filename): Removed.
|
||
(camel_mime_part_get_filename): Get the parameter from the
|
||
disposition.
|
||
(camel_mime_part_encoding_from_string): Handle NULL string.
|
||
(camel_mime_part_init): Remove reference to filename.
|
||
(my_finalize): Dont free filename.
|
||
|
||
* camel-mime-part.h (CamelMimePartClass): Removed
|
||
parse_header_pair() method, it doesn't add anything that
|
||
add_header() can't be used for.
|
||
(CamelMimePartClass): Remove *_header_lines methods.
|
||
(struct _CamelMimePart): Remove header_lines list.
|
||
(struct _CamelMimePart): Removed filename attribute.
|
||
|
||
* camel-medium.c (camel_medium_init): Init headers to null, not a
|
||
hashtable.
|
||
(add_header): Append the headers as a list.
|
||
(remove_header): Remove headers as a list.
|
||
(get_header): Likewise for lookup.
|
||
(free_header): Removed, no longer needed.
|
||
(finalize): Free headers using header_raw_clear().
|
||
(camel_medium_set_header): New function, to reset and override all
|
||
values of a header with a new value.
|
||
|
||
* camel-medium.h (struct _CamelMedium): Changed to use a
|
||
header_raw struct rather than a hash table, to store headers
|
||
(many headers can occur multiple times).
|
||
|
||
* camel-mime-utils.c (header_raw_find_next): New function, allows
|
||
you to find multi-valued header fields.
|
||
(header_disposition_format): New function to format/create
|
||
content-disposition header string.
|
||
(header_param_list_format_append): Function to format parameter
|
||
lists into a GString.
|
||
(header_content_type_format): Function to format content-type into
|
||
a usable format.
|
||
(header_set_param): allow NULL value to remove the parameter.
|
||
(decode_token): Renamed from header_decode_token.
|
||
(header_decode_token): New interface for external use.
|
||
(quoted_decode): Made static to kill annoying warnings.
|
||
(g_strdup_len): Killed, replaced with calls to g_strndup().
|
||
(rfc2047_decode_word): Made static to kill warnings.
|
||
(decode_coded_string): Terminated.
|
||
(g_string_append_len): Made static to kill warnings.
|
||
(header_decode_text): Made static to kill warnings.
|
||
(header_decode_text): Constify.
|
||
(rfc2047_decode_word): Constify.
|
||
(header_param): Constify.
|
||
(header_content_type_new): Copy the type/subtype strings.
|
||
(header_param_list_decode): Made static.
|
||
(header_param_list_format_append): Made static.
|
||
(quoted_decode): Constify.
|
||
(g_string_append_len): Constify.
|
||
(header_token_decode): New function to decode a single token.
|
||
|
||
* providers/mbox/camel-mbox-summary.c (header_write): Append a
|
||
trailing \n when writing headers.
|
||
(strdup_trim): Killed a warning.
|
||
(camel_mbox_summary_set_uid): Make sure the next uid is at least 1
|
||
higher than any existing one.
|
||
(header_evolution_decode): Use header_token_decode to get the
|
||
token.
|
||
|
||
* camel-mime-parser.c (folder_scan_header): Strip the trailing \n
|
||
of the end of all header lines.
|
||
|
||
2000-04-20 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-utils.[ch]: Removed.
|
||
|
||
* providers/mbox/camel-mbox-parser.[ch]: Removed. Removed
|
||
references to it.
|
||
|
||
2000-04-20 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-utils.c (rfc2047_decode_word): use libunicode iconv
|
||
functions rather than libc ones (since libc might not have them).
|
||
(header_decode_date): add autoconfiscation on timezone code
|
||
|
||
* camel.c (camel_init): call unicode_init ()
|
||
|
||
2000-04-20 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-summary.c (message_struct_new): Trim
|
||
leading/trailing spaces off the raw headers.
|
||
|
||
* MERGE NEW_PARSER branch into HEAD, fixed conflicts.
|
||
|
||
* gmime-content-field.c (_print_parameter): Duh, removed again
|
||
(@@#$@ cvs merge).
|
||
|
||
* camel-mime-utils.c (header_content_type_is): Constify.
|
||
(header_content_type_unref): Killed a couple warnings.
|
||
|
||
* camel-folder.c (_init): Removed more log crap.
|
||
|
||
* providers/Makefile.am (SUBDIRS): Removed nntp, pending fixes for
|
||
summary changes.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_number):
|
||
Fixed for new summary interface. Added a warning for using this
|
||
broken api.
|
||
(_get_message_by_uid): Fixed for message new with session
|
||
vanishing.
|
||
|
||
2000-04-19 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-simple-data-wrapper-stream.c
|
||
(camel_simple_data_wrapper_stream_get_type): This is a subtype of
|
||
CamelSeekableStream, not CamelStream.
|
||
|
||
* camel-seekable-substream.c: clean up a lot.
|
||
(eos): When testing for end-of-stream, reset the parent position
|
||
before testing if it is at end-of-stream, since either (a) it may
|
||
have been seek'ed to eos by someone else, or (b) we may have been
|
||
seek'ed away from eos and it hasn't been synced yet.
|
||
|
||
* camel-medium.[ch] (camel_medium_add_header): const poison.
|
||
(Belatedly goes with my change of 2000-02-23.)
|
||
(camel_medium_init): Use g_strcase_{hash,equal} on the header
|
||
array.
|
||
|
||
2000-04-18 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-part.c (my_set_input_stream):
|
||
* camel-data-wrapper.c (set_input_stream, set_output_stream): do
|
||
better reference counting of streams so they actually go away
|
||
when they should.
|
||
|
||
* camel-log.[ch], *: Nuke camel log stuff. Replace calls to
|
||
CAMEL_LOG_WARNING with calls to g_warning.
|
||
|
||
* camel-data-wrapper.[ch]:
|
||
* camel-simple-data-wrapper.[ch]:
|
||
* camel-medium.[ch]: Clean, polish, document. Most of the gtk-doc
|
||
comments added to camel-data-wrapper.c note serious problems that
|
||
need to be fixed.
|
||
|
||
2000-04-17 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-mime-message.[ch]: Remove the "session" field from
|
||
CamelMimeMessage. Nothing uses it, about half of the existing
|
||
calls to camel_mime_message_new_with_session pass NULL, and
|
||
there's no obvious reason for it to be there.
|
||
|
||
* providers/MH/camel-mh-folder.c:
|
||
* providers/maildir/camel-maildir-folder.c:
|
||
* providers/mbox/camel-mbox-folder.c:
|
||
* providers/mbox/camel-mbox-utils.c:
|
||
* providers/nntp/camel-nntp-folder.c:
|
||
* providers/pop3/camel-pop3-folder.c: Use camel_mime_message_new
|
||
instead of camel_mime_message_new_with_session.
|
||
|
||
* camel-session.c (get_store_for_protocol_with_url): Set the
|
||
exception if no provider is found.
|
||
|
||
* camel-url.c: Add code to encode and decode %-escapes in URLs,
|
||
and do some additional correctness-checking on URL syntax. From
|
||
Tiago Ant<6E>o with modifications by me.
|
||
|
||
2000-04-14 Chris Toshok <toshok@helixcode.com>
|
||
|
||
* providers/Makefile.am (SUBDIRS): add nntp
|
||
|
||
2000-04-14 Christopher James Lahey <clahey@helixcode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.c: Fix switch statement.
|
||
|
||
2000-04-14 Chris Toshok <toshok@helixcode.com>
|
||
|
||
* providers/nntp/camel-nntp-folder.c (_exists): always return TRUE
|
||
for now. we need to check the server response to make sure the
|
||
group exists.
|
||
(_get_message_by_uid): make sure to account for the \n we add to
|
||
the string after every line.
|
||
|
||
* providers/nntp/camel-nntp-utils.c (get_XOVER_headers): function
|
||
to get the headers using the XOVER command.
|
||
(get_HEAD_headers): function to get the headers using the HEAD
|
||
command on each message. slooooooow.
|
||
(camel_nntp_get_headers): make this function use either XOVER or HEAD
|
||
versions depending on whether or not the server extension is present.
|
||
|
||
2000-04-14 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-formatter.[ch]: This didn't belong in Camel. Move to mail/
|
||
|
||
* Makefile.am, camel-types.h: remove references to
|
||
camel-formatter.
|
||
|
||
2000-04-12 Matt Loper <matt@helixcode.com>
|
||
|
||
* camel-folder-pt-proxy.c (_folder_open_cb): Print warning message
|
||
for broken function.
|
||
(_folder_close_cb): Same.
|
||
|
||
2000-04-12 Miguel de Icaza <miguel@gnu.org>
|
||
|
||
* Makefile.am (pthread_SRC): Use correct names for the pthread
|
||
source variables.
|
||
|
||
2000-04-10 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/pop3/camel-pop3-store.c (pop3_connect): fix various
|
||
bugs in APOP code (still untested) and some of the error cases.
|
||
|
||
* camel-provider.h: Clarify what provider.protocol, provider.name,
|
||
and provider.description should be.
|
||
|
||
* providers/mbox/camel-mbox-provider.c:
|
||
* providers/pop3/camel-pop3-provider.c:
|
||
* providers/sendmail/camel-sendmail-provider.c:
|
||
* providers/smtp/camel-smtp-provider.c: update protocols, names,
|
||
and descriptions
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_number):
|
||
implement get_message_by_number for the mail fetch code.
|
||
|
||
2000-04-09 Jeffrey Stedfast <fejj@stampede.org>
|
||
|
||
* providers/smtp/camel-smtp-transport.c: reformatted to fit
|
||
the standard indent format used by helix code
|
||
|
||
2000-04-09 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-movemail.c: New file with new function to dot-lock an mbox
|
||
file and copy it to a safe private directory.
|
||
|
||
2000-04-08 Christopher James Lahey <clahey@helixcode.com>
|
||
|
||
* providers/smtp/.cvsignore: Added a .cvsignore file.
|
||
|
||
2000-04-08 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/sendmail/camel-sendmail-transport.c (_send_internal):
|
||
actually record the pid returned by fork(). Noticed by clahey.
|
||
|
||
* providers/smtp/camel-smtp-transport.c: #include <sys/param.h>
|
||
for MAXHOSTNAMELEN. (This is a stopgap: some of the uses of
|
||
MAXHOSTNAMELEN are wrong anyway...)
|
||
|
||
2000-04-07 Jeffrey Stedfast <fejj@stampede.org>
|
||
|
||
* providers/smtp/camel-smtp-transport.c: fixes to numerous bugs;
|
||
should now build fine.
|
||
* providers/Makefile.am: Readded smtp now that smtp builds without
|
||
error.
|
||
|
||
2000-04-20 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-summary.c
|
||
(camel_mbox_summary_next_uid): Public function to get the next
|
||
uid, makes sure its saved to disk too.
|
||
|
||
* camel-mime-part.c (my_finalize): Fix disposition crap with a
|
||
real disposition.
|
||
(my_set_disposition): Likewise.
|
||
(my_get_disposition): And here.
|
||
(my_write_to_stream): And here, needs more cleanup.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_append_message): Assign a
|
||
new uid at this point.
|
||
|
||
* gmime-content-field.c (gmime_content_field_write_to_stream):
|
||
Make something up if we have an invalid/missing content type
|
||
(i.e. text/plain).
|
||
|
||
2000-04-19 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_delete): Fixed completely
|
||
broken switch() syntax, only compiled because errno is a macro on
|
||
some systems.
|
||
(_list_subfolders): Likewise.
|
||
|
||
2000-04-18 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-parser.c (folder_scan_init): init stream to null.
|
||
|
||
* providers/mbox/camel-mbox-summary.c
|
||
(CAMEL_MBOX_SUMMARY_VERSION): Moved to .c file, incremented.
|
||
(index_folder): Changed to have index passed via the summary.
|
||
(decode_string): Do a sanity check on the string size, so we dont
|
||
visit g_malloc()'s friendly abort().
|
||
|
||
* camel-folder-pt-proxy.c (camel_folder_pt_proxy_class_init):
|
||
Removed reference to set_name.
|
||
(_set_name): Removed.
|
||
|
||
* providers/mbox/camel-mbox-utils.c
|
||
(parsed_information_to_mbox_summary): Removed. Most of this file
|
||
is about to be binned.
|
||
|
||
* providers/mbox/camel-mbox-search.c (func_header_contains): Fixes
|
||
for changes to summary interface.
|
||
(struct _searchcontext): Remove pointer to message info, get it
|
||
straight from the mboxsummary.
|
||
(camel_mbox_folder_search_by_expression): New summary interface.
|
||
(camel_mbox_folder_search_by_expression): Uh, the summary is not
|
||
an object anymore (well not yet).
|
||
|
||
* providers/mbox/camel-mbox-folder.c
|
||
(camel_mbox_folder_class_init): Removed set_name init.
|
||
(_set_name): Removed.
|
||
(_open): Call new summary interface.
|
||
(_close): Use new summary interface.
|
||
(_create): Removed a summary object leak.
|
||
(_get_message_count): New summary interface.
|
||
(_get_uid_list): Use new summary interface. FIXME: this is leaky.
|
||
(_get_message_by_uid): Use the new summary interface, some
|
||
cleanup.
|
||
(_append_message): Totally changed, basically just appends the
|
||
message directly, ignores the summary (for now), the summary will
|
||
fix itself up if it needs to.
|
||
(_check_get_or_maybe_generate_summary_file): Bye bye old code.
|
||
(summary_get_message_info): Implement get_message_info again, for
|
||
folder.
|
||
|
||
* camel-folder.c (camel_folder_class_init): Removed set_name
|
||
setup.
|
||
(_set_name): Moved contents into _init.
|
||
(_init): Perform the old functions of set_name here.
|
||
|
||
* camel-folder.h: Removed the set_name internal interface.
|
||
|
||
2000-04-14 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-summary.[ch]: Completely replaced with
|
||
new code.
|
||
|
||
* Makefile.am (libcamel_la_SOURCES): Removed
|
||
camel-folder-summary.[ch].
|
||
|
||
* camel-folder.h (struct _CamelFolder): Removed summary.
|
||
(struct _CamelFolder): Changed flags to be 1 bit bitfields.
|
||
|
||
* camel-folder-summary.[ch]: Class removed entirely.
|
||
|
||
* camel-folder.c (camel_folder_get_summary): Removed.
|
||
(camel_folder_summary_get_message_info): Moved from
|
||
camel-folder-summary.c
|
||
(camel_folder_summary_get_subfolder_info): Moved from
|
||
camel-folder-summary.c
|
||
|
||
* camel-mime-parser.c (folder_scan_step): Store the start of
|
||
headers and start of from in the scan state.
|
||
(camel_mime_parser_tell_start_headers): Query the start of the
|
||
headers.
|
||
(camel_mime_parser_tell_start_from): Query the cached start of
|
||
from marker.
|
||
|
||
2000-04-13 NotZed <NotZed@HelixCode.com>
|
||
|
||
* gmime-content-field.c (gmime_content_field_free): Removed this
|
||
function. If its too dangerous to use, it shouldn't be here.
|
||
(gmime_content_field_ref): Also ref the embedded content-type.
|
||
(gmime_content_field_unref): Ditto to unref it.
|
||
|
||
* camel-mime-utils.h: Add a refcount for content-type header.
|
||
|
||
* camel-mime-utils.c (header_content_type_unref): Implement unref
|
||
for content-type.
|
||
(header_content_type_ref): Implement ref for header content type.
|
||
|
||
2000-04-12 NotZed <NotZed@HelixCode.com>
|
||
|
||
* gmime-content-field.h: Changed to use a _header_content_type.
|
||
Added type/subtype back for compatability with clients.
|
||
|
||
* gmime-content-field.c: Basically a total rewrite, and now just a
|
||
thin wrapper ontop of header_content_type.
|
||
(_free_parameter): Got rid of it.
|
||
(gmime_content_field_new): Use header_content_type_* functions.
|
||
(gmime_content_field_set_parameter): Likewise.
|
||
(_print_parameter): Blow away.
|
||
(gmime_content_field_write_to_stream): Get details from the
|
||
content_type field. Should check if it needs to escape chars in
|
||
the paramter value.
|
||
(gmime_content_field_get_mime_type): Likewise.
|
||
(___debug_print_parameter): Get rid of this rather annoyingly
|
||
named function.
|
||
(gmime_content_field_get_parameter): Simplified function.
|
||
(gmime_content_field_construct_from_string): Fixed this to use a
|
||
real parser.
|
||
(gmime_content_field_is_type): New function to test if a type matches.
|
||
(gmime_content_field_construct_from_string): Track type/subtype
|
||
from subordinate content_type header struct.
|
||
|
||
* gmime-rfc2047.[ch]: Removed. Unused.
|
||
|
||
* camel-stream-b64.[ch]: Blown away more duplicated code.
|
||
|
||
* Makefile.am: Removed camel-stream-b64.[ch], and
|
||
gmime-base64.[ch].
|
||
|
||
* camel-mime-part.c (my_get_content_object): Replaced
|
||
camel-stream-b64 with camel-stream-filter/camel-mime-filter-basic.
|
||
(my_write_content_to_stream): Replaced camel-stream-b64 with the
|
||
camel-stream-filter with an encoder.
|
||
(my_get_content_object): Also implement quoted-printable decoding.
|
||
(my_write_content_to_stream): Also implement quoted-printable
|
||
encoding.
|
||
(my_get_output_stream): Took out stream-b64 code (nothing's being
|
||
executed yet anyway).
|
||
|
||
* gmime-base64.[ch]: Blown away. Not used, dont need it.
|
||
|
||
* camel-mime-utils.h: Added offset for this header. Records where
|
||
it is in the source.
|
||
|
||
* camel-mime-utils.c (header_raw_append_parse): Add offset
|
||
parameter, to store where the header is stored in the stream.
|
||
(header_raw_append): Added offset param.
|
||
(header_raw_find): Return offset, if a pointer supplied for it.
|
||
(header_raw_replace): Add offset param.
|
||
(header_content_type_new): New function, to create an empty
|
||
content type.
|
||
(header_content_type_set_param): Set a parameter in the
|
||
content-type.
|
||
(header_set_param): Generic header parameter setting function.
|
||
(header_decode_string): Handle NULL input.
|
||
|
||
* camel-mime-parser.c (camel_mime_parser_headers_raw): New
|
||
function to get access to all the raw headers.
|
||
(folder_scan_header): Keep track of the header start position, and
|
||
store it when saving the header.
|
||
|
||
2000-04-11 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-utils.c: Moved a bunch of printf's to debug.
|
||
|
||
* camel-mime-parser.c: Moved a bunch of printf's to debug.
|
||
(folder_scan_header): Detect end of each header line using the
|
||
last scanned char, and not the last scanned position.
|
||
|
||
* camel-mime-filter-index.[ch]: Indexing filter. Indexes unicode
|
||
sequences into ibex files.
|
||
|
||
2000-04-09 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-part.c: Dont include gmime-base64.h
|
||
|
||
* camel-mime-filter-charset.c (complete): Implement the completion
|
||
function.
|
||
|
||
* camel-mime-parser.c (folder_scan_step): If we get to the end of
|
||
the body data, check any filters for outstanding completion data.
|
||
(camel_mime_parser_scan_from): Set whether we scan for "From "
|
||
headers or not.
|
||
|
||
* camel-stream-filter.c (do_read): If we get to end of stream on
|
||
the source, then call the filtering completion function to see if
|
||
we have any more data to return.
|
||
|
||
* camel-mime-filter-basic.c (filter): Implement quoted printable
|
||
encoding and decoding filters.
|
||
(complete): And the complete function as well.
|
||
|
||
* camel-mime-utils.c (base64_encode_close): Also take an input
|
||
buffer, allow closing of filters.
|
||
(quoted_encode_step): First cut, simple quoted-printable encoder.
|
||
Doesn't handle trailing spaces/tabs on end of line properly yet.
|
||
(quoted_encode_close): Complete a quoted-encoding.
|
||
(is_qpsafe): New type check, for quoted-printable safe characters
|
||
(that do not need encoding). Thats all bits used in the type
|
||
table! Rebuilt the types table.
|
||
(header_content_type_is): Checks a content type against at
|
||
type/subtype match.
|
||
(header_content_type_param): Handle NULL content type pointer.
|
||
|
||
2000-04-08 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-filter-basic.c (filter): Implement the base64
|
||
encoder. Problem is, there is no way to know when to close it.
|
||
Close/Reset will have to provide the same args as filter, so it can
|
||
flush remaining data *sigh*
|
||
|
||
* camel-mime-utils.c (base64_encode_step): A rather complex base64
|
||
encoder, fast?
|
||
(base64_step_close): Companion function to finish off the base64
|
||
sequence.
|
||
|
||
* camel-mime-part.c (my_write_content_to_stream): Changed to use
|
||
camel_stream_write_to_stream().
|
||
|
||
* camel-stream.[ch] (camel_stream_write_to_stream): From
|
||
camel_stream_b64_write_to_stream(). Fixed some infinite loop
|
||
bugs with error conditions.
|
||
|
||
* camel-stream-b64.[ch] (camel_stream_b64_write_to_stream): Removed.
|
||
This has nothing to do with stream-b64, so i've moved it to
|
||
CamelStream.
|
||
|
||
* camel-mime-utils.h: Add a comment about refcounting
|
||
header_content_type struct.
|
||
|
||
* Makefile.am: Added camel-stream-filter*.[ch].
|
||
|
||
* camel-stream-filter.[ch]: Class to implement a generic
|
||
(multipass) filter ontop of a stream. Only implements a read-only
|
||
stream.
|
||
|
||
* camel-mime-parser.c (camel_mime_parser_filter_add): Ref the
|
||
filter we just added.
|
||
|
||
* Makefile.am: Added camel-mime-filter*.[ch].
|
||
|
||
* camel-mime-filter-charset.[ch]: A filter to preform character set
|
||
conversion (uses unicode_iconv).
|
||
|
||
* camel-mime-filter-save.[ch]: A simple filter which will save all
|
||
data directly to a file or file descriptor.
|
||
|
||
* camel-mime-filter-basic.[ch]: Implements the basic mime filters,
|
||
base64 and quoted-printable decoding (encoding not implemented yet).
|
||
|
||
* camel-mime-filter.[ch]: A filtering class, which can filter streams
|
||
of data without having to copy them. Simpler than stream classes,
|
||
and can be plugged into a single stream class (when i write it).
|
||
|
||
2000-04-07 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/pop3/camel-pop3-store.c (pop3_connect): Clarify error
|
||
messages.
|
||
(finalize): fix a bug in camel_exception usage
|
||
(pop3_connect): Remember the password after asking for it the
|
||
first time.
|
||
|
||
2000-04-07 NotZed <NotZed@HelixCode.com>
|
||
|
||
* Makefile.am: Added camel-mime-parser/camel-mime-utils.
|
||
|
||
* camel-mime-parser.c: Fast mime parser.
|
||
|
||
* camel-mime-utils.c: Mime utility functions, and email header
|
||
parsers.
|
||
|
||
2000-04-07 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/Makefile.am: Removed smtp for now, its a long way from
|
||
building.
|
||
* providers/smtp/Makefile.in: Removed file that shouldn't have been
|
||
checked in.
|
||
|
||
2000-04-06 Matt Loper <matt@helixcode.com>
|
||
|
||
* camel-folder-pt-proxy.c (_get_full_name): Remove exception param
|
||
from get_full_name() called, since get_full_name() was changed to
|
||
not have an exception in the last param (see dan's notes below).
|
||
(_get_name): same.
|
||
|
||
2000-04-06 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-store.[ch]: Reorganize the folder-fetching methods and
|
||
implement a folder cache so that multiple requests for the same
|
||
folder will yield the same CamelFolder object (as long as it
|
||
remains active). Includes some code to remove no-longer-active
|
||
folders from the cache, but it doesn't get used since nothing is
|
||
ever unref'ed in Camel right now...
|
||
|
||
* providers/mbox/camel-mbox-store.c:
|
||
* providers/pop3/camel-pop3-store.c: update for CamelStore
|
||
changes.
|
||
|
||
* camel-folder.[ch]: Remove the (unused) CamelException argument
|
||
from camel_folder_get_name and camel_folder_get_full_name.
|
||
(camel_folder_set_name): make this go away since changing a
|
||
folder's name after it has been created could result in it
|
||
conflicting with a separately-issued folder.
|
||
|
||
2000-04-05 Dan Winship <danw@helixcode.com>
|
||
|
||
* g_url_new really wanted to take a CamelException. So, rename
|
||
Gurl to CamelURL, g_url_* to camel_url_* (with camel_url_new
|
||
taking an exception), and url-util.[ch] to camel-url.[ch]. Also
|
||
force url->port to be numeric and remove camel_service_getport. (I
|
||
was confused before: the URL RFC says the port must be numeric, so
|
||
we don't want to do getportbyname.)
|
||
|
||
2000-04-01 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.c
|
||
(_check_get_or_maybe_generate_summary_file): Compare
|
||
mbox_file_size and mbox_modtime to the results of stat()ing the
|
||
mbox file, not the summary file. Duh.
|
||
(_close): Update the summary's mbox_file_size and mbox_modtime
|
||
before writing it to disk.
|
||
|
||
* providers/mbox/camel-mbox-summary.c (camel_mbox_summary_save,
|
||
camel_mbox_summary_load): Wow. I must have been tired when I wrote
|
||
this code. First, the comparison bug above. Second, it was using
|
||
ntohs and htons instead of ntohl and htonl. Third, I was reading
|
||
the status flag byte in two different places and thus getting out
|
||
of sync. Fourth, it was writing out field_length bytes of each
|
||
header field after having converted field_length to network byte
|
||
order, resulting in lots of random crap being appended, and the
|
||
summary files being huge. (Fortunately, since the size/modtime
|
||
comparison was biffed, the garbage summary read from disk was
|
||
always immediately discarded.)
|
||
|
||
* providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): fix
|
||
an off-by-one error that caused the last-used UID to be reused if
|
||
the summary file was regenerated. (That one wasn't my fault. :-)
|
||
|
||
2000-03-31 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-stream-mem.c: implement unimplemented methods
|
||
|
||
* gmime-content-field.c
|
||
(gmime_content_field_construct_from_string):
|
||
* data-wrapper-repository.c
|
||
(data_wrapper_repository_get_data_wrapper_type):
|
||
* camel-simple-data-wrapper.c (my_write_to_stream):
|
||
* camel-mime-part.c (my_set_input_stream):
|
||
remove debugging printf()s that no longer seem useful.
|
||
|
||
2000-03-31 Matt Loper <matt@helixcode.com>
|
||
|
||
* camel-formatter.c (text_to_html): Added "convert_newlines_to_br"
|
||
boolean param, to give the option of not converting '\n's to <br>
|
||
tags. This way, when we stick stuff in a <pre> tag, newlines stay
|
||
newlines.
|
||
|
||
2000-03-30 Matt Loper <matt@helixcode.com>
|
||
|
||
* camel-formatter.c (handle_text_plain): Use <pre> tag to force
|
||
the use of monospaced fonts.
|
||
|
||
2000-03-30 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-service.c (camel_service_getport): Add a htons in the
|
||
default_number case, and document the fact that the function
|
||
returns the port in network byte order.
|
||
|
||
* providers/pop3/camel-pop3-store.c (pop3_connect): Revert
|
||
Miguel's change. The port number bug was actually somewhere
|
||
else, and the IP address copying code was fine already.
|
||
|
||
2000-03-29 Miguel de Icaza <miguel@gnu.org>
|
||
|
||
* providers/pop3/camel-pop3-store.c (pop3_connect): Add htons
|
||
(port), and only copy 4 bytes for the IP address to prevent a DNS
|
||
attack.
|
||
|
||
2000-03-28 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-seekable-substream.c
|
||
(camel_seekable_substream_new_with_seekable_stream_and_bounds):
|
||
make this return a CamelStream rather than a
|
||
CamelSeekableSubstream, because that's the way Gtk objects tend to
|
||
work.
|
||
|
||
* camel-service.c (camel_service_gethost,
|
||
camel_service_getport): convenience functions to canonicalize
|
||
the host and port values of a service's URL.
|
||
* providers/pop3/camel-pop3-store.c: use them
|
||
|
||
* providers/mbox/camel-mbox-folder.c
|
||
(_check_get_or_maybe_generate_summary_file): Make this work when
|
||
the inbox file doesn't yet exist.
|
||
|
||
2000-03-27 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_append_message): uncomment
|
||
the call to unlink the temp file: there's no way to tell
|
||
camel_stream_fs to truncate a file, so reusing the same file was
|
||
resulting in junk at the ends of messages.
|
||
|
||
* camel-folder.[ch]: add delete_message_by_{number,uid}.
|
||
|
||
* providers/pop3/camel-pop3-folder.[ch]: implement
|
||
delete_message_by_uid. Add a close method to do expunging
|
||
of deleted messages if requested.
|
||
|
||
* providers/pop3/camel-pop3-store.[ch]: support for
|
||
CamelPop3Folder::close. (You have to close the connection
|
||
in order to expunge the folder, thus the store may be
|
||
connected in the CamelService::is_connected sense when it
|
||
is not actually connected to the server.) Also some bugfixes.
|
||
|
||
2000-03-27 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_append_message): Unref the
|
||
output_stream when done, close doesn't do it.
|
||
(_append_message): Clear all uid's from the appending messages, so
|
||
they are reassigned proper unique id's.
|
||
|
||
* gmime-utils.c (get_header_array_from_stream): Actually free the
|
||
header, it is copied elsewhere.
|
||
|
||
2000-03-26 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Added
|
||
folder parameter to function. Fixed callers.
|
||
(index_message): Index a message as it is assigned a unique id.
|
||
|
||
* camel-mime-part.c (my_set_content_id): Make sure we malloc and
|
||
copy the content_id, otherwise *poof*
|
||
|
||
2000-03-25 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-medium.c (_finalize): Another leak, unref the content if
|
||
finished with it.
|
||
|
||
* camel-recipient.c (camel_recipient_table_free): Plug another
|
||
memory leak - actually free the recipient table.
|
||
|
||
* camel-mime-message.c (_finalize): Plugged a memory leak with the
|
||
flags table.
|
||
|
||
* gmime-utils.c (_store_header_pair_from_string): A simpler, more
|
||
debuggable and functionally identical header extraction function.
|
||
|
||
2000-03-24 NotZed <NotZed@HelixCode.com>
|
||
|
||
* gmime-content-field.c (gmime_content_field_set_parameter):
|
||
Remove the hash table entry before freeing its key and data.
|
||
|
||
2000-03-27 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/Makefile.am (SUBDIRS): Add pop3.
|
||
|
||
* providers/pop3/camel-pop3-store.c: keep separate input and
|
||
output streams so the output doesn't end up being buffered.
|
||
|
||
* providers/pop3/camel-pop3-folder.c (get_message_by_number):
|
||
finish implementing this.
|
||
|
||
2000-03-27 Michael Meeks <michael@helixcode.com>
|
||
|
||
* camel-mime-part.c (my_set_disposition): fix so less broken.
|
||
(my_finalize): remove dodgy disposition free.
|
||
|
||
* camel-data-wrapper.c (my_set_mime_type_field): unref instead of
|
||
free on mime_type.
|
||
|
||
2000-03-27 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-service.c (camel_service_free_auth_types): new routine to
|
||
free the data allocated by camel_service_query_auth_types.
|
||
|
||
* providers/pop3/camel-pop3-store.c (free_auth_types): implement
|
||
|
||
* camel-stream-mem.c (camel_stream_mem_new_with_buffer): rename
|
||
camel_stream_mem_new_with_buffer to ..._with_byte_array and add a
|
||
new ..._with_buffer that takes a char * rather than a GByteArray.
|
||
|
||
* Remove CamelStreamBufferedFs, since CamelStreamBuffer makes it
|
||
redundant.
|
||
|
||
2000-03-25 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-folder-summary.[ch]: change the CamelFolderSummary
|
||
interfaces to allow partial summary queries (for dealing
|
||
with very large folders). Remove the "extended_fields" from
|
||
CamelFolderInfo and CamelMessageInfo: this is better dealt
|
||
with by subtyping.
|
||
|
||
* providers/mbox/camel-mbox-summary.[ch]: Make CamelMboxSummary a
|
||
subclass of CamelFolderSummary. Update interfaces for that. Remove
|
||
the internal/external summary distinction. Remove the (unused) md5
|
||
checksum in the folder summary. Change the summary file format
|
||
(primarily to make it no longer byte-order dependent) and add a
|
||
version number to it so it will be easier to change in the future.
|
||
|
||
* providers/mbox/camel-mbox-folder.[ch]
|
||
* providers/mbox/camel-mbox-search.c
|
||
* providers/mbox/camel-mbox-utils.c: update for summary changes
|
||
|
||
* camel-exception-list.def: add
|
||
CAMEL_EXCEPTION_FOLDER_SUMMARY_INVALID
|
||
|
||
2000-03-23 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-provider.c: Added flag to provider
|
||
initialisation, to match changed structure.
|
||
|
||
2000-03-22 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-folder.[ch]: Added async search api.
|
||
|
||
* providers/mbox/camel-mbox-search.c
|
||
(camel_mbox_folder_search_by_expression): Changed to use an
|
||
asynchronous interface.
|
||
(camel_mbox_folder_search_cancel): Cancel function for async
|
||
interface.
|
||
|
||
2000-03-23 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-stream-buffer.c (camel_stream_buffer_read_line): Function
|
||
to read one line of any size from a stream and return it in
|
||
allocated memory.
|
||
|
||
2000-03-22 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-service.c (camel_service_query_auth_types): New function
|
||
to query a service for the authentication protocols it supports.
|
||
* providers/pop3/camel-pop3-store.c (query_auth_types): implement
|
||
|
||
* camel-provider.c (camel_provider_scan): New function to
|
||
scan the provider dir and return a list of all providers.
|
||
|
||
* providers/pop3/camel-pop3-folder.c: fill this in partially
|
||
* providers/pop3/camel-pop3-store.c: make camel_pop3_command
|
||
return the text after "+OK"/"-ERR" and add a separate
|
||
camel_pop3_get_additional_data to get the message body or
|
||
whatever. Also make them take a CamelPop3Store rather than
|
||
a CamelStreamBuffer.
|
||
|
||
2000-03-22 Matt Loper <matt@helixcode.com>
|
||
|
||
* camel-formatter.c (debug): Disabled some useless debug
|
||
messaging.
|
||
|
||
2000-03-21 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/pop3: some initial bits of the POP3 provider, to
|
||
make Matt happy. Incomplete, untested, etc.
|
||
|
||
2000-03-21 bertrand <bertrand@helixcode.com>
|
||
|
||
* providers/mbox/camel-mbox-summary.c
|
||
(camel_mbox_summary_append_internal_to_external): copy the size field
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_uid): initialize
|
||
message_info to NULL
|
||
|
||
* camel-folder-summary.h: added the size field.
|
||
|
||
* providers/mbox/camel-mbox-summary.h:
|
||
added the received_date field.
|
||
|
||
* providers/mbox/camel-mbox-summary.c:
|
||
documented all functions.
|
||
|
||
* camel-folder-summary.h: name change and
|
||
new fields.
|
||
|
||
* providers/mbox/camel-mbox-search.c: update to
|
||
conform to name change in the summary fields.
|
||
|
||
2000-03-10 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-service.h: cosmetic changes.
|
||
|
||
2000-03-09 Dan Winship <danw@helixcode.com>
|
||
|
||
* s/HelixCode/Helix Code, Inc./ in the copyrights
|
||
|
||
2000-03-07 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-formatter.c (handle_mime_part):
|
||
plug mem leaks due to bad documentation
|
||
of camel_content_field_get_mime_type
|
||
(print_camel_body_part): idem
|
||
(handle_multipart_alternative): idem
|
||
|
||
* gmime-content-field.c (gmime_content_field_get_mime_type):
|
||
documentation fix.
|
||
|
||
|
||
* camel-mime-part.c (my_finalize): unref the
|
||
content_input_stream if any.
|
||
|
||
2000-03-06 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-stream-fs.c (_seek): fix a bogus calculation
|
||
in the return position.
|
||
|
||
2000-03-05 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-session.h: cosmetic fixes.
|
||
|
||
* camel-stream-fs.c (_read):
|
||
(_seek): fixed the current position so that it refers
|
||
to the current position in the stream, not in its parent.
|
||
|
||
2000-03-04 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-search.c
|
||
(camel_mbox_folder_search_by_expression): Ref the summary
|
||
after we have got it.
|
||
|
||
2000-03-04 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-mime-part.c (my_write_content_to_stream):
|
||
stream the raw content instead of nothing if the encoding
|
||
is not supported.
|
||
|
||
* camel-stream-fs.c (_seek): handle eos more
|
||
properly.
|
||
|
||
* camel-formatter.c (get_bonobo_tag_for_object):
|
||
bonobo-goad-id is the good key to look for.
|
||
(get_bonobo_tag_for_object): close the <object> tag.
|
||
(get_bonobo_tag_for_object): the correct syntax for the
|
||
to set a parameter inside an <object> tag is :
|
||
<object classid="..."> <param name="uid" value="..."> <param ...>
|
||
</object>
|
||
|
||
2000-03-03 bertrand <bertrand@helixcode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_get_message_by_uid):
|
||
use set_input_stream instead of construct_from_stream
|
||
to feed the message object.
|
||
|
||
* camel-data-wrapper.c (my_write_to_stream): reset output stream.
|
||
(my_set_input_stream): unref the previous input stream.
|
||
use the set_output_stream for default behaviour.
|
||
(my_set_output_stream): unref previous output stream.
|
||
|
||
* camel-mime-part.c (my_write_content_to_stream): reset content
|
||
object output stream.
|
||
|
||
2000-03-03 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev): Make
|
||
sure we open with create with a creation mask.
|
||
|
||
2000-03-01 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-part-utils.c
|
||
(camel_mime_part_construct_content_from_stream): DO NOT assert on
|
||
content type, we have fallback code 4 lines below it ... *sigh*
|
||
|
||
2000-02-29 NotZed <NotZed@HelixCode.com>
|
||
|
||
* Makefile.am (libcamelinclude_HEADERS): Added camel-stream-buffer
|
||
to build.
|
||
|
||
* camel-stream-buffer.[ch]: Generic buffer which can be applied to
|
||
any stream.
|
||
|
||
2000-03-03 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-formatter.c (handle_image): in the case
|
||
of images, put the content object output stream
|
||
in the url. This allows the message browser
|
||
to show inline images.
|
||
|
||
* camel-stream-b64.c (my_read_encode): fixed state
|
||
0 keep value.
|
||
|
||
2000-03-02 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-stream-b64.c (my_read_encode): don't forget to
|
||
set the state to 0 after 3.
|
||
(my_read_encode): don't forget to encode, even in state 3.
|
||
|
||
* camel-simple-data-wrapper.c: static functions are prefixed
|
||
with my_ instead of _
|
||
* camel-multipart.c: static functions are prefixed
|
||
with my_ instead of _
|
||
(my_write_to_stream): commented.
|
||
(my_write_to_stream): warning in case the boudary is set
|
||
but is a zero length string.
|
||
|
||
* camel-mime-part.c (camel_mime_part_encoding_from_string):
|
||
remove debug trace.
|
||
|
||
* camel-mime-part.c: Replaced all static functions
|
||
with name begining with _ by the same name begining
|
||
with "my_" to prevent the possible conflicts
|
||
with system symbols Dan warned us about.
|
||
|
||
* camel-stream-b64.c (camel_stream_b64_write_to_stream):
|
||
use CamelStreamB64 type for the input stream.
|
||
|
||
* camel-mime-part.c (_get_content_object): remove
|
||
debugging trace
|
||
(_write_content_to_stream): implement the b64
|
||
encoding the new way (that is using camel_stream_b64)
|
||
|
||
* camel-data-wrapper.c (my_write_to_stream):
|
||
fix implementation so that it writes properly
|
||
to the output stream even.
|
||
|
||
* camel-stream-b64.c (camel_stream_b64_write_to_stream):
|
||
fix implementation.
|
||
|
||
2000-02-29 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-stream-b64.c (camel_stream_b64_write_to_stream): new
|
||
utility function.
|
||
|
||
* camel-data-wrapper.c (_write_to_stream): default
|
||
implementation.
|
||
|
||
* gmime-utils.c (_store_header_pair_from_string):
|
||
revert strange changes.
|
||
|
||
* camel-stream-b64.c (my_read_decode): set eos to true when we
|
||
have read the whole input stream.
|
||
(my_reset): set eos to FALSE.
|
||
|
||
2000-02-28 NotZed <NotZed@HelixCode.com>
|
||
|
||
* camel-mime-part.c (_parse_header_pair): Dont free this either.
|
||
|
||
* camel-medium.c (_remove_header): Ugh, dont free the header
|
||
before we actually remove it.
|
||
(_add_header): Ugh, dont free hashtable entries which may be
|
||
duplicated (hash_insert _will_ reference that memory).
|
||
|
||
* string-utils.c (string_trim): Trimming a 0-length string is not
|
||
an error.
|
||
|
||
* camel-mime-message.c (_parse_header_pair): Fixed very broken
|
||
memory handling of header_name/value.
|
||
|
||
* providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev):
|
||
Initialise end_of_last_message always.
|
||
(camel_mbox_copy_file_chunk): Stop trying to read if we run out of
|
||
data, rather than looping forever.
|
||
(camel_mbox_write_xev): Use an open flag when opening with create.
|
||
|
||
* camel-folder.c (camel_folder_search_by_expression): No, its not
|
||
a fatal error to search on a non-searchable folder, you just dont
|
||
get any matches.
|
||
(_open): Dont open an opened folder (i dont see why this is really
|
||
a bug, but what the hell ...)
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_init): Set search cap on.
|
||
(_open): Call parent class to perform open. Remove folder-open
|
||
check to parent instead.
|
||
(_create): open takes a creation mask, dont use umask to try and
|
||
set the open mode.
|
||
(_delete): Dont bother checking folder==NULL, its already been
|
||
checked on the external interface (changed to an assertion, this
|
||
would have to be a camel bug).
|
||
(_delete_messages): Likewise.
|
||
(_create): Ditto.
|
||
(_init): Dont go and clear all the paths and shit that the parent
|
||
open just setup for us.
|
||
(_delete_messages): Get rid of more umask stuff.
|
||
(_append_message): Make sure we pass file mode to open with create.
|
||
(_append_message): Cleaned up some indenting to make it readable.
|
||
|
||
* camel-stream-b64.c (my_read_encode): Fixed a typo.
|
||
|
||
* providers/mbox/camel-mbox-search.c: Changed to use e-sexp,
|
||
rather than filter-sexp.
|
||
|
||
2000-02-28 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel-stream-b64.c (my_read_encode): encoding
|
||
filter.
|
||
|
||
2000-02-23 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel-stream-b64.c: changed the __static
|
||
suffix into a my_ prefix.
|
||
(camel_stream_b64_set_mode): reset the persistent
|
||
status.
|
||
(my_read_decode): remove superfluous %
|
||
|
||
* providers/mbox/camel-mbox-utils.c (camel_mbox_copy_file_chunk):
|
||
fix exception description message.
|
||
|
||
2000-02-24 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-session.c: Add camel_session_get_transport_for_protocol.
|
||
|
||
* camel-transport.h:
|
||
* camel-transport.c: Add an abstract CamelTransport class.
|
||
|
||
* providers/sendmail/*: A CamelTransport that uses sendmail
|
||
to deliver mail.
|
||
|
||
2000-02-24 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-folder.c: use CamelExceptions for run-time errors, not
|
||
incorrect code. Don't bother validating that an object exists from
|
||
inside one of its methods, since you couldn't have gotten there if
|
||
it didn't. Fix some code style bugs.
|
||
|
||
(_init): Rename init_with_store to init and add parent_folder,
|
||
separator, and name arguments.
|
||
(_set_name): Get separator from self, not parent_store now.
|
||
|
||
* camel-store.h:
|
||
* camel-store.c: Remove get/set_separator.
|
||
|
||
* providers/mbox/: Update for above.
|
||
|
||
2000-02-23 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-medium.c (_finalize): Free the data in the headers hash
|
||
table.
|
||
(_add_header): g_strdup the header name and value when adding it.
|
||
|
||
* camel-mime-part-utils.c
|
||
(camel_mime_part_construct_headers_from_stream): Free the header
|
||
data after calling camel_medium_add_header, since it will have
|
||
g_strdup()ed it itself.
|
||
|
||
2000-02-22 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-search.c: Dont compile by default.
|
||
|
||
* providers/mbox/Makefile.am: Fuck off the filter code.
|
||
|
||
2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel-stream-b64.c (read_decode__static):
|
||
don't read the char if we reached the length
|
||
of the output buffer. Hours lost on this
|
||
%$!@# bug : 3.5
|
||
|
||
* camel-folder.c (camel_folder_get_subfolder):
|
||
(camel_folder_create):
|
||
(camel_folder_delete):
|
||
(camel_folder_delete_messages):
|
||
(camel_folder_list_subfolders):
|
||
(camel_folder_expunge):
|
||
(camel_folder_get_message_by_number):
|
||
(camel_folder_get_message_count):
|
||
(camel_folder_append_message):
|
||
(camel_folder_copy_message_to):
|
||
(camel_folder_get_summary):
|
||
(camel_folder_get_message_uid):
|
||
(camel_folder_get_message_by_uid):
|
||
(camel_folder_get_uid_list):
|
||
Check folder state (open/close) and raise an
|
||
exception if it is not ok.
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_create):
|
||
create the file and the path with two different
|
||
names.
|
||
|
||
* camel-folder.c (_create): handle the case
|
||
when the folder name starts with '/'
|
||
|
||
* camel-exception.c (camel_exception_new): use
|
||
(void) instead of () in decl.
|
||
|
||
* camel-exception.h: cosmetic fixes.
|
||
|
||
* camel-exception.c (camel_exception_init): new routine.
|
||
Fix a bug in mail/message-list.c
|
||
|
||
|
||
* camel-folder.h: cosmetic changes.
|
||
|
||
* camel-stream-b64.c (reset__static): added a
|
||
reset method. Thanks message-browser to find
|
||
so much bugs :)
|
||
|
||
* providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): readd
|
||
Unicode libs.
|
||
|
||
2000-02-21 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel-formatter.c (lookup_unique_id):
|
||
awful hack to test get_output_stream.
|
||
* camel-stream-b64.[ch] :
|
||
b64 encoding/decoding is now implemented as
|
||
a stream.
|
||
|
||
|
||
2000-02-21 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel-seekable-substream.c (_reemit_parent_signal):
|
||
emit "data_available" when parent stream emits it.
|
||
|
||
|
||
2000-02-21 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/Makefile.am: Uh, fixed LIBADD again. What was
|
||
there was never ever going to work, wasn't it tested?
|
||
|
||
|
||
2000-02-21 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-session.h: (struct _CamelSession): Add authenticator.
|
||
|
||
* camel-session.c (camel_session_new): Add authenticator.
|
||
(camel_session_query_authenticator): New function to query the
|
||
session authenticator for password, etc, information.
|
||
|
||
2000-02-21 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel-session.c: add CamelExceptions to several functions. Use
|
||
camel_session_new to initialize the session and URL fields of
|
||
created CamelStores as appropriate.
|
||
|
||
* camel-store.h:
|
||
* camel-store.c
|
||
* camel-service.h:
|
||
* camel-service.c: Move the session and url (and associated
|
||
functions) from CamelStore to CamelService. Add url_flags to
|
||
CamelService so subclasses can specify which URL components
|
||
are mandatory for them. Add camel_session_new for
|
||
camel_session_get_store* to use.
|
||
|
||
* providers/mbox/camel-mbox-folder.c:
|
||
* providers/mbox/camel-mbox-store.c:
|
||
* providers/mbox/camel-mbox-store.h: Update for above changes.
|
||
|
||
* camel-exception-list.def: Once camel is being used for real,
|
||
exceptions won't be renumberable. So renumber them now to make
|
||
more room to add exceptions to the various categories later, and
|
||
add a big warning message.
|
||
|
||
2000-02-20 Dan Winship <danw@helixcode.com>
|
||
|
||
* providers/mbox/Makefile.am: add libibex back to
|
||
libcamelmbox_la_LIBADD
|
||
|
||
2000-02-18 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/camel-mbox-search.h
|
||
(camel_mbox_folder_search_by_expression): Added exception to call,
|
||
and fixed caller.
|
||
|
||
* providers/mbox/camel-mbox-search.c
|
||
(camel_mbox_folder_search_by_expression): Major changes, to use
|
||
the sexp evaluator from filter/filter-sexp.c to implement the
|
||
searching.
|
||
(func_body_contains): Changed to support multiple strings in 1
|
||
command (results or'd together)
|
||
|
||
* url-util.c (g_url_new): Fixed a typo (colon == 0 isn't right),
|
||
and made it so full url's are absolute pathed (Dan, this is how it
|
||
has to work!). Also, always include a path part, even if it is an
|
||
empty string.
|
||
|
||
2000-02-18 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel/camel-types.h: New header with the typedefs for all camel
|
||
classes. Now the class headers can just include this and the
|
||
header for the parent type. This makes it possible for
|
||
CamelService to include a CamelSession without creating an
|
||
#include loop.
|
||
|
||
* camel/*:
|
||
* composer/e-msg-composer-attachment-bar.h:
|
||
* mail/folder-browser.c:
|
||
* mail/message-list.c: frob #includes to match the new reality
|
||
|
||
2000-02-17 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel/camel-service.h:
|
||
* camel/camel-service.c: Make camel-service us a Gurl internally.
|
||
Remove the login/password interfaces and instead provide
|
||
camel_service_connect_with_url. Add CamelExceptions
|
||
|
||
2000-02-17 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel/camel-formatter.c (handle_text_plain):
|
||
(handle_text_html): use camel_stream_reset instead
|
||
of seek. The formatter should be able to work
|
||
with all streams, not only seekable streams.
|
||
In the case where some provider implementation
|
||
would not be able to provide a reset method
|
||
to their stream, implementors would have
|
||
to find a workaround.
|
||
|
||
* camel/camel-session.c (camel_session_new): use
|
||
(void) instean of () in function decl.
|
||
|
||
* camel/camel-folder.c: ifdef async operation
|
||
related code.
|
||
|
||
* camel/camel-seekable-stream.c (_seek): added a warning.
|
||
(_reset): default implementation of reset for seekable
|
||
stream.
|
||
|
||
* camel/camel-mime-message.h: set_received_date declaration fix.
|
||
cosmetic changes.
|
||
|
||
* camel/providers/mbox/camel-mbox-provider.c (camel_provider_module_init):
|
||
use (void) instead of ().
|
||
|
||
* camel/camel-stream.c (camel_stream_reset):
|
||
new method for CamelStream.
|
||
|
||
2000-02-17 Dan Winship <danw@helixcode.com>
|
||
|
||
* camel/url-util.c (g_url_to_string): New function to convert
|
||
a Gurl back into a char *.
|
||
|
||
2000-02-17 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel/camel-formatter.c (handle_text_plain):
|
||
revamped so that it uses the output stream
|
||
of the data wrapper
|
||
(handle_text_html): ditto.
|
||
|
||
|
||
* camel/camel-simple-data-wrapper.h:
|
||
* camel/camel-simple-data-wrapper.c (camel_simple_data_wrapper_new):
|
||
use (void) instead of ().
|
||
(_get_output_stream): simple implementation.
|
||
|
||
2000-02-16 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel/camel-data-wrapper.c (_set_input_stream): ref input stream
|
||
(_set_output_stream): ref output stream
|
||
(_finalize): unref input and output streams
|
||
|
||
* camel/camel-seekable-substream.c (_set_bounds): don't
|
||
seek the begining of the substream.
|
||
(_eos): fix eos condition testing.
|
||
(_finalize): unref parent stream
|
||
(_init_with_seekable_stream_and_bounds): ref parent stream
|
||
|
||
* camel/gstring-util.c (g_string_equal_for_hash):
|
||
(g_string_equal_for_glist): return type is int.
|
||
|
||
* camel/camel.h:
|
||
* camel/camel.c (camel_init): use (void)
|
||
instead of ().
|
||
|
||
2000-02-16 NotZed <NotZed@HelixCode.com>
|
||
|
||
* providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Added
|
||
libfilter to link line (temporarily?). Required for
|
||
filter-sexp.
|
||
|
||
2000-02-15 bertrand <bertrand@helixcode.com>
|
||
|
||
* camel/camel-multipart.c (_localize_part):
|
||
this routine replaces the _read_part routine
|
||
and does not store the part in a buffer.
|
||
(_set_input_stream): use the set_input_stream
|
||
instead of the construct_from_stream.
|
||
each bodypart is given an input stream.
|
||
|
||
* camel/camel-mime-part-utils.c:
|
||
include the data-wrapper-repository header.
|
||
(camel_mime_part_construct_content_from_stream):
|
||
use the set_input_stream instead of the
|
||
construct_from_stream method.
|
||
|
||
* camel/camel-seekable-substream.c (_set_bounds):
|
||
cur position is set to 0 not to inf_bound.
|
||
|
||
2000-02-15 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel/camel-mime-part.c: include gmime-base64.h
|
||
various compilation and runtime fixes.
|
||
(_set_input_stream): store the input substream
|
||
for the content object.
|
||
|
||
* camel/camel-data-wrapper.h: declare the
|
||
set/get function on input/output stream.
|
||
|
||
* camel/camel-mime-part.c (_get_content_object):
|
||
don't use a temporary mem stream.
|
||
|
||
* camel/camel-seekable-substream.c (_seek):
|
||
(_eos):
|
||
(_read): the substream can be unlimited in length
|
||
|
||
* camel/camel-data-wrapper.c (camel_data_wrapper_class_init):
|
||
set the get/set_input/output_stream methods.
|
||
|
||
* camel/camel-multipart.c (_construct_from_stream):
|
||
camel_stream_seek -> camel_seekable_stream_seek
|
||
|
||
2000-02-14 Miguel de Icaza <miguel@gnu.org>
|
||
|
||
* camel/providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Add
|
||
the unicode libraries as well.
|
||
|
||
* camel/camel-provider.c (camel_provider_register_as_module): Add
|
||
error reporting here. Desire to use Solaris increases. Hair loss
|
||
in the last two hours: 5,400.
|
||
|
||
* camel/providers/mbox/camel-mbox-provider.c
|
||
(camel_mbox_get_provider): Renamed function.
|
||
|
||
* camel/camel.h: All include files use camel/ now here.
|
||
|
||
* camel/providers/mbox/Makefile.am: Drop all the dynamism from
|
||
Camel, and make this a standard library.
|
||
|
||
2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel/gmime-utils.c (get_header_array_from_stream): use the
|
||
eos stream method.
|
||
(gmime_read_line_from_stream): ditto.
|
||
|
||
* camel/camel-stream-fs.h (struct ): add the eof field
|
||
cosmetics changes.
|
||
|
||
* camel/camel-stream-fs.c (camel_stream_fs_init): set eof.
|
||
(_read): set eof on end of file.
|
||
(_eos): implemented.
|
||
|
||
* camel/gmime-utils.c (get_header_array_from_stream):
|
||
make a blocking version of the header parser.
|
||
When the fs stream uses gnome-vfs, this should
|
||
be changed.
|
||
(gmime_read_line_from_stream): ditto.
|
||
|
||
2000-02-11 bertrand <Bertrand.Guiheneuf@aful.org>
|
||
|
||
* camel/camel-stream-fs.c:
|
||
everywhere, when using the cur_pos field, do it
|
||
on the CamelSeekableStream object.
|
||
(_seek): small fix.
|
||
|
||
* camel/camel-seekable-stream.c (camel_seekable_stream_seek):
|
||
s/camel_stream_seek/camel_seekable_stream_seek/g
|
||
|
||
* camel/camel-seekable-stream.h:
|
||
(struct ): added a field to store the
|
||
current position.
|
||
|
||
* camel/camel-seekable-stream.c (camel_seekable_stream_get_current_position):
|
||
New function. Allows to get the current position
|
||
of a seekable stream.
|
||
|
||
|
||
2000-02-13 NotZed <notzed@zedzone.helixcode.com>
|
||
|
||
* providers/mbox/camel-mbox-search.c: New file, implements the
|
||
search api for mbox folders.
|
||
|
||
* providers/mbox/Makefile.am: Link with ibex.
|
||
|
||
* camel-folder.c (camel_folder_has_search_capability): Api
|
||
additions.
|
||
(camel_folder_search_by_expression): Ditto.
|
||
|
||
2000-02-12 NotZed <notzed@zedzone.helixcode.com>
|
||
|
||
* providers/mbox/camel-mbox-folder.c (_set_name): Setup index
|
||
filename as well.
|
||
(_init_with_store): Init index filename. Hmm, none of these
|
||
names ever seem to get free'd (FIXME?)
|
||
|
||
* providers/mbox/camel-mbox-folder.h: Add index file name.
|
||
|
||
2000-02-12 NotZed <notzed@helixcode.com>
|
||
|
||
* camel-folder.h: Add folder search functions.
|
||
|
||
** Created ChangeLog just for camel **
|
||
- refer to ../ChangeLog for changes prior to this date.
|