Commit Graph

467 Commits

Author SHA1 Message Date
debd40014f one more refcounting fix I missed before.
* providers/mbox/camel-mbox-folder.c (mbox_get_message_by_uid):
	one more refcounting fix I missed before.

svn path=/trunk/; revision=2930
2000-05-09 04:57:31 +00:00
efb0b90afc o updated to use CamelException (as needed by new camel-stream.c) o no
Mon May  8 22:12:55 EDT 2000  Jeffrey Stedfast  <fejj@stampede.org>
  o updated to use CamelException (as needed by new camel-stream.c)
  o no longer frees memory it shouldn't touch

svn path=/trunk/; revision=2929
2000-05-09 02:07:01 +00:00
65ec43cb55 Use CamelException to signal failure. (camel_stream_write_strings):
* camel-stream.c (camel_stream_read, camel_stream_write,
	camel_stream_flush, camel_stream_reset, camel_stream_printf,
	camel_stream_write_to_stream): Use CamelException to signal
	failure.
	(camel_stream_write_strings): Remove. camel_stream_printf is more
	useful in most of the places that used this.
	(camel_stream_write_string): Change from macro to function to
	prevent problems with double-evaluation.

	* camel-seekable-stream.c (camel_seekable_stream_seek,
	camel_seekable_stream_set_bounds): Use CamelException.
	(reset): Update.

	* camel-seekable-substream.c, camel-stream-buffer.c,
	camel-stream-filter.c, camel-stream-fs.c, camel-stream-mem.c:
	Update.

	* camel-stream-fs.c: Remove the virtual init functions and move
	the code into the creator functions. Add CamelExceptions to
	creation functions that could fail.

	* camel-data-wrapper.c (camel_data_wrapper_write_to_stream): Use
	CamelException.
	* camel-mime-message.c, camel-mime-part.c, camel-multipart.c
	(write_to_stream): Update.

	* camel-mime-parser.c: add an exception to the mime parser private
	data and pass that to stream functions as needed.

	* gmime-content-field.c, md5-utils.c: Update (badly) for stream
	changes.

	* camel-exception.h (camel_exception_is_set): convenience macro.

	* providers/Makefile.am: disable SMTP for now

	* providers/mbox/camel-mbox-folder.c (mbox_append_message): Pass
	CamelException to the functions that now need it. Check the
	exception after calling camel_stream_flush, and fail if it fails.
	(mbox_get_message_by_uid): More updates.

	* providers/pop/camel-pop3-folder.c,
	providers/pop/camel-pop3-store.c,
	providers/sendmail/camel-sendmail/transport.c: Update.

svn path=/trunk/; revision=2924
2000-05-08 22:27:59 +00:00
f168e3972c Format From and Reply-To to at least a decoded string. Should probably
2000-05-08  NotZed  <NotZed@HelixCode.com>

        * camel-mime-message.c (process_header): Format From and Reply-To
        to at least a decoded string.  Should probably store them as an
        camelinternetaddress.

svn path=/trunk/; revision=2908
2000-05-08 06:17:33 +00:00
b00a9126e5 blah
svn path=/trunk/; revision=2907
2000-05-08 05:39:29 +00:00
b7f49ccf57 Merged NEW_SUMMARY branch back to trunk, and resolved conflicts.
2000-05-08  NotZed  <NotZed@HelixCode.com>

	* Merged NEW_SUMMARY branch back to trunk, and resolved conflicts.

	* providers/mbox/camel-mbox-summary.c (camel_mbox_summary_update):
	Return status.

	* camel-stream-filter.c (do_close): We NEED a stream close.

svn path=/trunk/; revision=2906
2000-05-08 05:24:54 +00:00
580d885820 Make camel not leak like a sieve.
* camel-object.c: New subclass of GtkObject which is now the base
	of the Camel object hierarchy. Currently the only difference
	between CamelObject and GtkObject is that CamelObjects don't start
	out floating.

	* *.h: Move a bunch of typedefs to camel-types.h. Standardize on
	using <camel/foo.h> in header files rather than <foo.h>, "foo.h",
	or "camel/foo.h". Remove some unneeded includes.

	* camel-address.c, camel-data-wrapper.c, camel-folder-search.c,
	camel-folder-summary.c, camel-folder.c, camel-mime-filter.c,
	camel-mime-parser.c, camel-service.c, camel-session.c,
	camel-stream.c: These are now subclasses of CamelObject.

	* camel-data-wrapper.c (set_output_stream):
	* camel-medium.c (set_content_object):
	* camel-seekable-substream.c
	(init_with_seekable_stream_and_bounds):
	* providers/mbox/camel-mbox-folder.c (mbox_get_message_by_uid):
	remove gtk_object_sink calls.

	* camel-stream-buffer.c (init_vbuf):
	* camel-stream-filter.c (camel_stream_filter_new_with_stream):
	ref the original stream.

	* camel-folder-summary.c (camel_folder_summary_finalise): unref
	the filters when finalizing.

	* camel-mime-part-utils.c
	(simple_data_wrapper_construct_from_parser,
	camel_mime_part_construct_content_from_parser):
	* camel-mime-part.c (camel_mime_part_set_content): Unref objects
	that are created only to be handed off to other objects. If
	they're going to be needed later, they will have been additionally
	ref'ed by the object that needs them.

	* providers/pop3/camel-pop3-folder.c (get_message_by_number):
	unref the message stream after creating the data from it.

	* camel-stream.c, camel-stream-buffer.c, camel-stream-filter.c,
	camel-stream-fs.c, camel-stream-mem.c: Remove camel_stream_close,
	since its semantics are dubious (what happens when you close a
	stream other people still have references on?).

	* providers/nntp/camel-nntp-store.c:
	* providers/smtp/camel-smtp-transport.c:
	* providers/pop3/camel-pop3-store.c:
	replace camel_stream_close calls with gtk_object_unref.

	* providers/mbox/camel-mbox-folder.c:
	* providers/nntp/camel-nntp-folder.c:
	* providers/sendmail/camel-sendmail-transport.c:
	replace camel_stream_close with camel_stream_flush +
	gtk_object_unref

svn path=/trunk/; revision=2882
2000-05-07 21:56:32 +00:00
7c90b45149 A machine which serves neither POP nor KPOP is not a POP server.
* providers/pop3/camel-pop3-store.c (query_auth_types): A machine
	which serves neither POP nor KPOP is not a POP server.

	* providers/smtp/camel-smtp-provider.c: Note in the description
	that this provider is not yet tested.

svn path=/trunk/; revision=2843
2000-05-06 22:59:12 +00:00
659c7faac5 And same here ... (camel_folder_summary_encode_fixed_int32): Ugh, fwrite
2000-05-05  NotZed  <NotZed@HelixCode.com>

        * camel-folder-summary.c: And same here ...
        (camel_folder_summary_encode_fixed_int32): Ugh, fwrite doesn't
        return -1 on error ..
        (camel_folder_summary_decode_fixed_int32): Neither deos fread.
        (camel_folder_summary_encode_token): Fix here too.

svn path=/trunk/; revision=2819
2000-05-05 18:58:05 +00:00
aa7851f1f0 And same here ...
2000-05-05  NotZed  <NotZed@HelixCode.com>

        * camel-folder-summary.c: And same here ...

        * camel-mime-utils.c: Defined out some memory profiling stuff I
        left there by mistake.

        * camel-mime-parser.c (folder_scan_content): Apply the fix from
        the header scanner to here too.
        (folder_scan_header): Only check for end of header if we have
        space for it (didn't end the read with a newline)
        (folder_scan_header): inptr is the only real thing we need
        registerised for performance.  Try to help the compiler be smart
        about it ..
        (folder_scan_header): Simplified the save header case a tad.

        Commented out some memory profiling stuff.

svn path=/trunk/; revision=2811
2000-05-05 08:47:02 +00:00
5
022c7ab1f2 Plug a memory leak. (header_decode_text): Fixed memory leaks with
2000-05-05    <notzed@helixcode.com>

        * camel-mime-utils.c (header_decode_mailbox): Plug a memory leak.
        (header_decode_text): Fixed memory leaks with g_string_append().
        (header_encode_string): And here too, and a few other places.  The
        glib api is so awful ...
        (header_content_type_decode): More memory leaks, more left ...

2000-05-05    <notzed@helixcode.com>

        * camel-mime-parser.c (folder_scan_init_with_fd): Make sure we
        init the end of buffer sentinal!
        (folder_scan_init_with_stream): And here too ...

svn path=/trunk/; revision=2810
2000-05-05 07:28:20 +00:00
214c910550 Maxcount is minimum of the max and the requested count, not the maximum :)
2000-05-04  NotZed  <NotZed@HelixCode.com>

        * providers/mbox/camel-mbox-folder.c (summary_get_message_info):
        Maxcount is minimum of the max and the requested count, not the
        maximum :)

        * camel-mime-parser.c (folder_scan_content): Properly set midline,
        so we dont falsely catch offset boundary markers (i.e. From inside
        content).
        (folder_read): Set a sentinal on the end of the read data (\n) so
        we dont have to check the buffer boundary in the inner loop.
        (mempool_*): New experimental memory management routines, speed
        up simple structure parsing by about 25% ... not compiled in by
        default.  Something similar may be needed for camel-mime-utils to
        address performance issues with g_malloc and friends.

        * camel-mime-utils.c: Added a macro w(x) used to wrap all warnings
        about mime/rfc violations, so they can be turned off.

        * camel-folder-summary.c (summary_build_content_info): Step after
        the end of a message ...
        Turn into a stand-alone program for testing and profiling.

svn path=/trunk/; revision=2808
2000-05-05 03:46:07 +00:00
4856f92e7b Make this compile again in the !KRB4 case
svn path=/trunk/; revision=2800
2000-05-04 18:28:08 +00:00
67656eb615 Don't fall back to plaintext passwords if APOP fails, since it should also
* providers/pop3/camel-pop3-store.c (pop3_connect): Don't fall
	back to plaintext passwords if APOP fails, since it should also
	fail.

svn path=/trunk/; revision=2798
2000-05-04 16:02:49 +00:00
ba6b73fe56 New function to replace camel_provider_scan. Returns a list of either (a)
* camel-session.c (camel_session_list_providers): New function to
        replace camel_provider_scan. Returns a list of either (a) all
        currently-loaded providers, or (b) all available providers.

        * camel-url.[ch]: Add an "empty" flag to CamelURL (indicating that
        it contains only a protocol).

        * camel-service.c (camel_service_query_auth_types): Make this take
        a CamelException (since it may have to try to connect to the
        server, and it might not able to.)

        * providers/pop3/camel-pop3-store.c: add KPOP (Kerberized POP)
        support. This is mostly so I have two kinds of authmech to play
        with instead of just one. (But it does actually work.)

        * providers/smtp/camel-smtp-transport.c (query_auth_types): update
        for prototype change, but disable the functionality, since it
        doesn't really support any auth types yet.
        (camel_smtp_transport_get_type): add an object init function to
        set the service url_flags.

svn path=/trunk/; revision=2797
2000-05-04 15:23:43 +00:00
f8bfbef0a7 No, we're not going to have g_strcasecmp for no good reason,
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
2000-05-04 05:45:30 +00:00
d4d70c5c3c Some small build fixes:
* camel/Makefile.am (INCLUDES): add $(UNICODE_CFLAGS) to the INCLUDES,
	people who installed libunicde in non-standard include paths
	need this.

        * mail/Makefile.am (evolution_mail_LDADD):
	s/-lunicode/$(UNICODE_LIBS)/

svn path=/trunk/; revision=2785
2000-05-04 01:15:11 +00:00
3ccfb61399 s/strcasecmp/g_strcasecamp/ everywhere except intl/, per michael's
request.

svn path=/trunk/; revision=2776
2000-05-03 14:43:10 +00:00
ff8bc3108a If the iconv handle is -1, then dont try and convert (crashes
2000-05-03  NotZed  <NotZed@HelixCode.com>

        * 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.

svn path=/trunk/; revision=2774
2000-05-03 04:20:26 +00:00
f27621c3a2 fix typo when dereferencing saveoffset.
2000-05-02  Larry Ewing  <lewing@helixcode.com>

	* camel-mime-utils.c (header_decode_date): fix typo when
	dereferencing saveoffset.

svn path=/trunk/; revision=2771
2000-05-03 03:35:31 +00:00
4ae161181b Missed these ...
svn path=/trunk/; revision=2763
2000-05-02 23:22:33 +00:00
0780002f95 REmove gmime-utils.h from here.
2000-05-02  NotZed  <NotZed@HelixCode.com>

        * 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.

svn path=/trunk/; revision=2762
2000-05-02 23:08:20 +00:00
855b85657d Set G_LOG_DOMAIN in following files.
addressbook/demo/Makefile.am
 addressbook/printing/Makefile.am
 camel/Makefile.am
 camel/providers/MH/Makefile.am
 camel/providers/maildir/Makefile.am
 camel/providers/mbox/Makefile.am
 camel/providers/nntp/Makefile.am
 camel/providers/pop3/Makefile.am
 camel/providers/sendmail/Makefile.am
 camel/providers/smtp/Makefile.am
 composer/Makefile.am
 e-util/Makefile.am
 filter/Makefile.am
 libibex/Makefile.am
 mail/Makefile.am
 shell/Makefile.am
 tests/Makefile.am
 tests/ui-tests/Makefile.am
 widgets/e-table/Makefile.am
 widgets/e-text/Makefile.am
 widgets/meeting-time-sel/Makefile.am
 widgets/shortcut-bar/Makefile.am

svn path=/trunk/; revision=2756
2000-05-02 21:34:01 +00:00
9190e008ad > * 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.

svn path=/trunk/; revision=2755
2000-05-02 20:58:23 +00:00
44575d972d > * gmime-utils.[ch]: What the hell, remove it. This will break the
> 	nntp provider (but its broken anyway).  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.

svn path=/trunk/; revision=2753
2000-05-02 20:37:06 +00:00
cf99b8eec2 Removed bizarre string_dichotomy version of this. This code is somewhat
* 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.

svn path=/trunk/; revision=2752
2000-05-02 20:31:47 +00:00
633171afd7 Fix the previous overflow problem properly (can happen in 2 places).
2000-05-02  NotZed  <NotZed@HelixCode.com>

        * 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.

svn path=/trunk/; revision=2751
2000-05-02 19:06:55 +00:00
2
b5ddb0c7c8 Dont use autofill on these fucking long function anmes!!!!!!
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!!!!!!

svn path=/trunk/; revision=2750
2000-05-02 18:05:13 +00:00
ee108c89b9 Fix the offset for the summary when an item is expunged to take account of
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.

svn path=/trunk/; revision=2748
2000-05-02 17:36:32 +00:00
e321500049 Deleted messages properly get removed from the index.
A new folder signal for gui/etc's to track changes.

	(camel_mbox_summary_expunge): Oops, my wrong, use the string uid
	to unindex on.
	(mbox_expunge): Emit a folder_changed signal on expunge (uh, even
	if it didn't ...)
	(camel_folder_class_init): Added a folder_changed signal.

svn path=/trunk/; revision=2745
2000-05-02 03:32:23 +00:00
2cc9dabf78 > (camel_folder_expunge): Changed to only allow expunge on an open
> 	folder.  It doesn't make sense for mbox, otherwise (?)

svn path=/trunk/; revision=2743
2000-05-02 02:59:01 +00:00
df0650ac1e > (func_header_contains): Debug out some search stuff.
> 	(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-folder.h: Removed CamelSearchFunc.

svn path=/trunk/; revision=2741
2000-05-02 01:57:55 +00:00
896c775a52 Removed search_id.
* 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.

	* providers/mbox/camel-mbox-search.h
	(camel_mbox_folder_search_by_expression): Moved back to sync api.

	(camel_folder_search_complete): Removed.
	(camel_folder_search_cancel): Removed.
	(CamelFolderClass): New function summary_get_by_uid() to get a single
	summary.
	(*search*): Moved back to synchronous search api ... *sigh*

svn path=/trunk/; revision=2723
2000-05-01 21:50:46 +00:00
fed684880e More message cleanup. Flags now work, are saved, and the delete
flag causes an expunge to expunge the deleted messages.

2000-05-01  NotZed  <NotZed@HelixCode.com>

        * 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.

        * 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

        * camel-folder.c (_finalize): Uh, dont free permanent_flags
        anymore (this wouldn't failed anyway, it was a GList !!!)

        * 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
        ...

        * 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 ...

svn path=/trunk/; revision=2716
2000-05-01 19:47:12 +00:00
edf876f544 oops. s/CAMEL_TRANSPORT_TYPE/CAMEL_PROVIDER_TRANSPORT/
svn path=/trunk/; revision=2695
2000-04-30 16:58:38 +00:00
0524f7c06a Tweak the definition of CamelProvider. Among other things, a provider may
* 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.

svn path=/trunk/; revision=2691
2000-04-30 15:36:16 +00:00
6eee4ba248 const poison
* camel-internet-address.c (camel_internet_address_get): const
	poison

svn path=/trunk/; revision=2681
2000-04-29 15:57:54 +00:00
18903e6b22 camel_mime_parser_tell() returns an offset from where it started parsing,
* 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.

svn path=/trunk/; revision=2680
2000-04-29 15:57:11 +00:00
4e9fab3ba3 remove an unused #include
svn path=/trunk/; revision=2679
2000-04-29 15:53:37 +00:00
8283ee1835 fix a bug that would cause corruption with very long headers.
* camel-mime-parser.c (folder_scan_header): fix a bug that would
	cause corruption with very long headers.

svn path=/trunk/; revision=2675
2000-04-28 21:42:32 +00:00
9483369aa0 Made Evolution OAF-compatible.
svn path=/trunk/; revision=2673
2000-04-28 04:23:19 +00:00
19e9448267 Dont try and check a NULL header.
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.

svn path=/trunk/; revision=2671
2000-04-28 03:06:44 +00:00
b53a001ef2 Class to represent news addresses - currently empty, and not built.
2000-04-27  NotZed  <NotZed@HelixCode.com>

	* 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.

svn path=/trunk/; revision=2667
2000-04-28 01:24:05 +00:00
b0b5049774 Revert previous change. I was confused.
* camel-mime-part.c (write_to_stream): Revert previous change. I
	was confused.

svn path=/trunk/; revision=2666
2000-04-27 22:43:43 +00:00
e5d2b62bf6 expose these routines.
* camel-url.[ch] (camel_url_encode, camel_url_decode): expose
	these routines.

svn path=/trunk/; revision=2661
2000-04-27 19:00:04 +00:00
73d5b9889d Diagram of the camel-stream and derived classes used within
camel.

svn path=/trunk/; revision=2654
2000-04-27 03:59:11 +00:00
82071abd45 Only write a newline between the headers and the content object if the
* 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.)

svn path=/trunk/; revision=2647
2000-04-26 21:50:34 +00:00
2a6a191e05 Remove. We weren't using the fields that made this different from
* 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

svn path=/trunk/; revision=2645
2000-04-26 21:30:32 +00:00
e751baaa7b sink the content object after referencing it.
* 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.

svn path=/trunk/; revision=2643
2000-04-26 20:40:58 +00:00
dcccb0484d sync to current reality
* camel.h: sync to current reality

        * camel-folder-utils.[ch]: removed

svn path=/trunk/; revision=2642
2000-04-26 20:32:53 +00:00