bertrand [Sat, 11 Mar 2000 02:26:08 +0000 (02:26 +0000)]
cosmetic changes.
2000-03-10 bertrand <bertrand@helixcode.com>
* camel-service.h: cosmetic changes.
Dan Winship [Thu, 9 Mar 2000 19:52:48 +0000 (19:52 +0000)]
fix the name of "Helix Code, Inc." in all the copyrights
bertrand [Wed, 8 Mar 2000 19:53:31 +0000 (19:53 +0000)]
plug mem leaks due to bad documentation of
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.
* shell/e-shell-shortcut.c (shortcut_bar_item_selected):
removed a test that prevented the standard menu
to be shown.
Bertrand Guiheneuf [Mon, 6 Mar 2000 09:38:41 +0000 (09:38 +0000)]
More changes than a man can remember.
The UI works now.
Bertrand Guiheneuf [Sun, 5 Mar 2000 05:33:55 +0000 (05:33 +0000)]
Tons of fixes to fix things
NotZed [Sun, 5 Mar 2000 03:00:35 +0000 (03:00 +0000)]
Ref the summary after we have got it.
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.
bertrand [Sat, 4 Mar 2000 22:23:06 +0000 (22:23 +0000)]
stream the raw content instead of nothing if the encoding is not
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.
bertrand [Sat, 4 Mar 2000 04:58:12 +0000 (04:58 +0000)]
bonobo-goad-id is the good key to look for. (get_bonobo_tag_for_object):
2000-03-04 bertrand <bertrand@helixcode.com>
* 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>
bertrand [Fri, 3 Mar 2000 22:26:13 +0000 (22:26 +0000)]
use set_input_stream instead of construct_from_stream to feed the message
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.
mbox provider now also constructs message bodies. I should have looked
here first. damn.
NotZed [Fri, 3 Mar 2000 20:28:04 +0000 (20:28 +0000)]
Make sure we open with create with a creation mask.
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*
bertrand [Fri, 3 Mar 2000 19:42:47 +0000 (19:42 +0000)]
in the case of images, put the content object output stream in the url.
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.
bertrand [Fri, 3 Mar 2000 13:15:43 +0000 (13:15 +0000)]
fixed state 0 keep value.
2000-03-03 bertrand <bertrand@helixcode.com>
* camel-stream-b64.c (my_read_encode): fixed state
0 keep value.
bertrand [Fri, 3 Mar 2000 02:54:24 +0000 (02:54 +0000)]
don't forget to set the state to 0 after 3. (my_read_encode): don't forget
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.
Mime mail generation works now, at least with b64 encoding.
QP needs to be done now.
bertrand [Thu, 2 Mar 2000 16:21:05 +0000 (16:21 +0000)]
use CamelStreamB64 type for the input stream.
2000-03-02 bertrand <bertrand@helixcode.com>
* 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)
bertrand [Thu, 2 Mar 2000 15:09:45 +0000 (15:09 +0000)]
fix implementation so that it writes properly to the output stream even.
2000-03-02 bertrand <bertrand@helixcode.com>
* 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.
Ettore Perazzoli [Thu, 2 Mar 2000 00:09:33 +0000 (00:09 +0000)]
Various building fixes. At least, now it builds for me.
NotZed [Wed, 1 Mar 2000 00:06:05 +0000 (00:06 +0000)]
Added camel-stream-buffer to build.
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.
bertrand [Tue, 29 Feb 2000 14:12:59 +0000 (14:12 +0000)]
new utility function.
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.
bertrand [Tue, 29 Feb 2000 13:07:19 +0000 (13:07 +0000)]
revert strange changes.
2000-02-29 bertrand <bertrand@helixcode.com>
* 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.
NotZed [Mon, 28 Feb 2000 23:26:13 +0000 (23:26 +0000)]
Fix a bunch of serious small bugs.
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.
* 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.
NotZed [Mon, 28 Feb 2000 20:10:54 +0000 (20:10 +0000)]
No, its not a fatal error to search on a non-searchable folder, you just
2000-02-28 NotZed <NotZed@HelixCode.com>
* 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.
NotZed [Mon, 28 Feb 2000 18:25:38 +0000 (18:25 +0000)]
Fixed a typo.
2000-02-28 NotZed <NotZed@HelixCode.com>
* 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.
Bertrand Guiheneuf [Mon, 28 Feb 2000 13:36:46 +0000 (13:36 +0000)]
non blocking b64 encoding is a PITA
Mathieu Lacage [Fri, 25 Feb 2000 20:08:07 +0000 (20:08 +0000)]
chuuuut.
Dan Winship [Fri, 25 Feb 2000 00:03:17 +0000 (00:03 +0000)]
last set of changes for CamelFolder changes. Evolution builds again...
Dan Winship [Thu, 24 Feb 2000 23:46:47 +0000 (23:46 +0000)]
update for CamelFolder changes
Dan Winship [Thu, 24 Feb 2000 23:46:35 +0000 (23:46 +0000)]
another typo
Dan Winship [Thu, 24 Feb 2000 23:40:39 +0000 (23:40 +0000)]
remove some camel_store_get_separators that I missed before
Dan Winship [Thu, 24 Feb 2000 23:31:34 +0000 (23:31 +0000)]
fix variable name
Dan Winship [Thu, 24 Feb 2000 22:10:28 +0000 (22:10 +0000)]
include camel-transport
Dan Winship [Thu, 24 Feb 2000 21:19:05 +0000 (21:19 +0000)]
add camel_session_get_transport_for_protocol
Dan Winship [Thu, 24 Feb 2000 21:17:27 +0000 (21:17 +0000)]
Add CamelTransport abstract class and CamelSendmailTransport
Dan Winship [Thu, 24 Feb 2000 16:43:47 +0000 (16:43 +0000)]
oops. ChangeLog entry for previous
Dan Winship [Thu, 24 Feb 2000 16:43:09 +0000 (16:43 +0000)]
Move "separator" from camel-store to camel-folder, since it can vary from
location to location in an IMAP store. Rename CamelFolder::init_with_store
to init and add parent_folder, name, and separator arguments.
Dan Winship [Thu, 24 Feb 2000 16:25:23 +0000 (16:25 +0000)]
use CamelExceptions for run-time errors, not incorrect code. Don't bother
* 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.
Dan Winship [Wed, 23 Feb 2000 21:04:30 +0000 (21:04 +0000)]
Free the data in the headers hash table. (_add_header): g_strdup the
* 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.
Bertrand Guiheneuf [Wed, 23 Feb 2000 17:21:46 +0000 (17:21 +0000)]
Fix an exception error message.
NotZed [Tue, 22 Feb 2000 20:59:30 +0000 (20:59 +0000)]
Dont compile by default.
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.
bertrand [Tue, 22 Feb 2000 13:53:26 +0000 (13:53 +0000)]
don't read the char if we reached the length of the output buffer. Hours
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
bertrand [Tue, 22 Feb 2000 11:16:35 +0000 (11:16 +0000)]
fix to show a sample correct implementation.
2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org>
* message-list.c (message_list_set_folder):
fix to show a sample correct implementation.
* 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.
Fixes and exception handling in camel-folder.
Fixes in mail/evolution-mail to make it not
segfault and to demonstrate a correct implementation.
bertrand [Tue, 22 Feb 2000 08:13:33 +0000 (08:13 +0000)]
added a reset method. Thanks message-browser to find so much bugs :)
2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org>
* 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.
* shell/Makefile.am (evolution_LDADD):
add libetext.a.
Fixes.
Bertrand Guiheneuf [Tue, 22 Feb 2000 00:10:21 +0000 (00:10 +0000)]
A lot of changes in the way the parsing works. I am too lazy
to find all the changes.
Important notice, I added uggly hacks to camel-formatter.c
and message-browser so that I could test b64 decoding.
Saving streams works. Have to implement qp now.
NotZed [Mon, 21 Feb 2000 23:26:59 +0000 (23:26 +0000)]
Uh, fixed LIBADD again. What was there was never ever going to work,
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?
Dan Winship [Mon, 21 Feb 2000 19:56:48 +0000 (19:56 +0000)]
Add "authenticator" to CamelSession and update things to use it.
Dan Winship [Mon, 21 Feb 2000 18:38:58 +0000 (18:38 +0000)]
add CamelExceptions to several functions. Use camel_session_new to
* camel-session.h:
* 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.
Dan Winship [Mon, 21 Feb 2000 15:24:27 +0000 (15:24 +0000)]
Once camel is being used for real, exceptions won't be renumberable. So
* 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.
Dan Winship [Sun, 20 Feb 2000 23:30:24 +0000 (23:30 +0000)]
add libibex back to libcamelmbox_la_LIBADD
Dan Winship [Sun, 20 Feb 2000 20:28:12 +0000 (20:28 +0000)]
clean up warnings
Dan Winship [Sun, 20 Feb 2000 19:59:35 +0000 (19:59 +0000)]
Michael created camel/ChangeLog on 2/12 but didn't commit it until 2/18,
meaning his ChangeLog entries ended up there and everyone else's ended
up in the top-level ChangeLog. Move the post-2/12 ChangeLog entries from
ChangeLog to camel/ChangeLog so that you don't need to look in two
different places for that week's worth of commits.
NotZed [Sat, 19 Feb 2000 04:12:40 +0000 (04:12 +0000)]
Added exception to call, and fixed caller.
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-16 NotZed <NotZed@HelixCode.com>
* providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Added
libfilter to link line (temporarily?). Required for
filter-sexp.
Miguel de Icaza [Sat, 19 Feb 2000 02:05:23 +0000 (02:05 +0000)]
Statically link with ibex
Dan Winship [Sat, 19 Feb 2000 01:40:57 +0000 (01:40 +0000)]
New header with the typedefs for all camel classes. Now the class headers
* 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
Dan Winship [Sat, 19 Feb 2000 00:50:33 +0000 (00:50 +0000)]
fix a stupid typo (thank you gcc -Wall)
Dan Winship [Sat, 19 Feb 2000 00:40:31 +0000 (00:40 +0000)]
#include <ctype.h> so the hash function doesn't get stuck using the
function version of toupper!
Dan Winship [Fri, 18 Feb 2000 22:11:02 +0000 (22:11 +0000)]
make the / between the host and the path part of the path: it's wrong
according to rfc1738, but convenient
Bertrand Guiheneuf [Thu, 17 Feb 2000 23:31:15 +0000 (23:31 +0000)]
Modification in the automake/libtool building process so that
camel and tests at least compile.
Current libtool doen't seem to support lib dependancy unless
the lib is installed.
Removed the dependancy on libex in mbox and added it to the
other Makefile.am that link with libcamel.
Dan Winship [Thu, 17 Feb 2000 22:23:38 +0000 (22:23 +0000)]
libraries come from $(top_builddir)/..., not $(top_srcdir)/...
bertrand [Thu, 17 Feb 2000 22:16:33 +0000 (22:16 +0000)]
use camel_stream_reset instead of seek. The formatter should be able to
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.
Dan Winship [Thu, 17 Feb 2000 22:16:00 +0000 (22:16 +0000)]
Make camel-service use a Gurl internally. Remove the login/password
interfaces and instead provide camel_service_connect_with_url.
Also, added CamelExceptions and return values, so the functions can
indicate failure to the caller if they can't connect.
Dan Winship [Thu, 17 Feb 2000 22:13:16 +0000 (22:13 +0000)]
New function g_url_to_string to convert a Gurl back into a char *
bertrand [Thu, 17 Feb 2000 15:19:04 +0000 (15:19 +0000)]
revamped so that it uses the output stream of the data wrapper
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.
A lot of small fixes so that the new parser scheme
works properly. Simple implementation of the stream
though.
Changed vette-formatter files so that they work with the
new scheme.
The new parser is now in a usable state. Still needs some work but the
infrastructure is here. /me is happy.
bertrand [Wed, 16 Feb 2000 18:04:40 +0000 (18:04 +0000)]
don't seek the begining of the substream. (_eos): fix eos condition
2000-02-16 bertrand <Bertrand.Guiheneuf@aful.org>
* 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 ().
A lot of other small changes to make the set_input_stream
scheme work. It actually works.
Dan Winship [Wed, 16 Feb 2000 17:05:57 +0000 (17:05 +0000)]
Simplify the code a lot and add support for RFC2384 POP URLs.
Dan Winship [Wed, 16 Feb 2000 16:03:14 +0000 (16:03 +0000)]
Make md5_final take the MD5Context first, like md5_init and md5_update.
Dan Winship [Wed, 16 Feb 2000 15:44:55 +0000 (15:44 +0000)]
fix minor typos
Dan Winship [Wed, 16 Feb 2000 15:42:48 +0000 (15:42 +0000)]
Improve spelling and English a bit
bertrand [Wed, 16 Feb 2000 10:44:35 +0000 (10:44 +0000)]
this routine replaces the _read_part routine and does not store the part
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.
Sync
Miguel de Icaza [Tue, 15 Feb 2000 17:28:33 +0000 (17:28 +0000)]
Add the unicode libraries as well.
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.
* configure.in: set the UNICODE_LIBS variable here.
2000-02-14 Miguel de Icaza <miguel@gnu.org>
* folder-browser.c (folder_browser_load_folder): New routine,
loads a camel folder.
(folder_browser_set_uri): redo.
* session.c: new file. Implements SessionStores to keep track of
a Session/Store tuple.
bertrand [Tue, 15 Feb 2000 14:17:00 +0000 (14:17 +0000)]
include gmime-base64.h various compilation and runtime fixes.
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
work on the new parser scheme.
temporary sync to laptop.
bertrand [Mon, 14 Feb 2000 22:45:13 +0000 (22:45 +0000)]
use the eos stream method. (gmime_read_line_from_stream): ditto.
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.
bertrand [Mon, 14 Feb 2000 22:27:54 +0000 (22:27 +0000)]
use the eos stream method. (gmime_read_line_from_stream): ditto.
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.
bertrand [Mon, 14 Feb 2000 22:03:58 +0000 (22:03 +0000)]
make a blocking version of the header parser. When the fs stream uses
2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org>
* 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.
In fact much more changes, but I am lazy.
This is the begining of some major changes
in camel.
bertrand [Mon, 14 Feb 2000 18:04:46 +0000 (18:04 +0000)]
by default, a message/rfc822 object is handled by the CamelMimeMessage
2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/data-wrapper-repository.c (data_wrapper_repository_init):
by default, a message/rfc822 object is handled by the
CamelMimeMessage class. Should fix Matt's fantastic
Message viewer test.
Bertrand Guiheneuf [Mon, 14 Feb 2000 10:46:26 +0000 (10:46 +0000)]
remove camel-stream-buffer from compilation process. It is not here
NotZed [Mon, 14 Feb 2000 05:39:02 +0000 (05:39 +0000)]
New file, implements the search api for mbox folders.
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.
Matthew Loper [Mon, 14 Feb 2000 04:23:14 +0000 (04:23 +0000)]
+ * tests/ui-tests/test-multipart-mixed.msg: New rfc822 file, which
+ crashes message-browser.
+
+ * tests/ui-tests/message-browser.c (get_gtk_html_window): Takes a
+ CamelMimeMessage as a param, rather than a filename.
+ (main): Puts our windows in an hpane rather than a vbox. Also
+ opens a file dlg box if a filename wasn't given as a first param.
Matthew Loper [Mon, 14 Feb 2000 00:53:16 +0000 (00:53 +0000)]
+ * camel/camel-stream-fs.c (_init_with_name): Set stream_fs->fd to
+ -1 if we fail to load the file.
+ (camel_stream_fs_new_with_name): If stream_fs->fd is -1, return
+ NULL. These changes make it so that a CamelStreamFs won't be
+ created if you give it a bogus filename; they may be replaced once
+ exception handling is in place.
Matthew Loper [Mon, 14 Feb 2000 00:27:00 +0000 (00:27 +0000)]
+ * tests/ui-tests/message-browser.c (handle_tree_item): Expand tree
+ items.
+ (mime_message_to_html): New function; translates a
+ CamelMimeMessage into two strings (one for the header, and one for
+ the body).
+ (get_gtk_html_window): New function; fills out a window with
+ html. The html is taken from a processed rfc822 file, via a
+ CamelFormatter.
+
+ * camel/camel-formatter.c: Added assertions.
+ (handle_text_html): Don't call text_to_html on something that's
+ already html.
+ (multipart_foreach): function deleted.
+
+ * mail/html-stream.c (html_stream_new): Second param of
+ gtk_html_begin should be "", not NULL.
+ (html_stream_new): gtk_html_parse() is deprecated, so the call was
+ removed.
bertrand [Fri, 11 Feb 2000 04:56:13 +0000 (04:56 +0000)]
parent class is seekable stream, not stream
2000-02-11 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-stream-fs.c (camel_stream_fs_class_init):
parent class is seekable stream, not stream
bertrand [Fri, 11 Feb 2000 03:00:19 +0000 (03:00 +0000)]
default the text/* mime types to CamelSimpleDataWrapper so that Michael
2000-02-10 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/data-wrapper-repository.c (data_wrapper_repository_init):
default the text/* mime types to CamelSimpleDataWrapper so
that Michael can use get_stream.
NotZed [Fri, 11 Feb 2000 00:51:48 +0000 (00:51 +0000)]
Bad Ettore, no biscuit!
2000-02-10 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-simple-data-wrapper-stream.h: The superclass is
actually a seekable stream, not just a stream.
bertrand [Fri, 11 Feb 2000 00:43:22 +0000 (00:43 +0000)]
don't build thread related tests if evolution has been compiled with no
2000-02-10 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/Makefile.am (THREAD_RELATED_TESTS): don't
build thread related tests if evolution has been
compiled with no thread support.
* configure.in (have_pthread): allow user to enable/disable
thread support at configure time
(EXTRA_GNOME_CFLAGS):
(EXTRA_GNOME_LIBS): thread support is directly
included in this variable if enabled. No more
EXTRA_GNOME_CFLAGS_THREADS
Other special support should be added in
EXTRA_GNOME_LIBS and EXTRA_GNOME_CFLAGS
instead of redefining a new variable
each time we want to add a new lib.
(bonobo, ....)
* camel/camel.c (camel_init): only try to initialize threads if
we enabled threads support.
* tests/ui-tests/Makefile.am (message_browser_LDADD): use
EXTRA_GNOME_LIBS
* configure.in (have_pthread): remove HAVE_PTHREADS
variable. Define ENABLE_THREADS instead.
* camel/Makefile.am: use ENABLE_THREADS not HAVE_PTHREADS
to test if we build thread relateed code.
* tests/Makefile.am: use EXTRA_GNOME_LIBS,
not EXTRA_GNOME_LIBS_THREADS
I need to be able to disable thread support to use Insure.
NotZed [Thu, 10 Feb 2000 05:03:43 +0000 (05:03 +0000)]
Removed a bizarre comparison construct for converting case.
2000-02-10 NotZed <notzed@zedzone.helixcode.com>
* camel/hash-table-utils.c (g_strcase_hash): Removed a bizarre
comparison construct for converting case.
2000-02-09 NotZed <notzed@zedzone.helixcode.com>
* camel/data-wrapper-repository.c (data_wrapper_repository_init):
Uses case-insensitive compares.
* camel/gmime-content-field.c (gmime_content_field_new): Uses
case-insensitive compares.
NotZed [Thu, 10 Feb 2000 03:54:22 +0000 (03:54 +0000)]
Increment the copy source address to match the data read offset. (seek):
2000-02-09 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-simple-data-wrapper-stream.c (read): Increment the
copy source address to match the data read offset.
(seek): Actually implement the seek.
NotZed [Thu, 10 Feb 2000 02:15:02 +0000 (02:15 +0000)]
If we get a -1 read, DONT update the total bytes, and try and truncate the
2000-02-09 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-mime-part-utils.c
(camel_mime_part_store_stream_in_buffer): If we get a -1 read,
DONT update the total bytes, and try and truncate the array in
reverse. Eek.
* camel/camel-mime-part.c (camel_mime_part_encoding_from_string):
This was DEFINETLEY not the right way to do it. strncmp!=strcmp
(camel_mime_part_encoding_to_string): Handle the default case.
: include string.h for strcmp() etc.
bertrand [Wed, 9 Feb 2000 21:09:31 +0000 (21:09 +0000)]
set the mime type to "mime/message". --- THIS IS NOT THE CONTENT TYPE ---
2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-mime-message.c (camel_mime_message_init):
set the mime type to "mime/message".
--- THIS IS NOT THE CONTENT TYPE ---
* camel/camel-mime-body-part.c (camel_mime_body_part_init):
set the mime type to "body-part".
--- THIS IS NOT THE CONTENT TYPE ---
* camel/camel-data-wrapper.c (camel_data_wrapper_set_mime_type):
mime_type is const.
(_set_input_stream): really set the input stream
(_set_output_stream): really set the output stream
various other typo fixes.
* tests/ui-tests/message-browser.c: various typo
fixes in the ctree construction.
bertrand [Wed, 9 Feb 2000 20:35:34 +0000 (20:35 +0000)]
various typo fixes in the ctree construction.
2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/ui-tests/message-browser.c: various typo
fixes in the ctree construction.
* camel/string-utils.c (string_trim): fix braindead
trailing trim bug.
* camel/gmime-content-field.c (gmime_content_field_construct_from_string):
strip the leading and trailing quotes when constructing the
content field. This should be done in a more generic
RFC822 approach, but this fixes a bug that prevent
matt from analysing some multipart messages.
* camel/camel-data-wrapper.h: reorganize the
deprecated and new methods.
* camel/providers/mbox/camel-mbox-folder.c
(_check_get_or_maybe_generate_summary_file):
Use "From " as the message separating string.
* camel/providers/mbox/camel-mbox-folder.c (_append_message):
set the mode when creating the mbox file.
* camel/providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev):
ditto
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary):
ditto
NotZed [Wed, 9 Feb 2000 12:32:53 +0000 (12:32 +0000)]
Actually initialise the class. It simple couldn't have worked before.
2000-02-09 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-simple-data-wrapper-stream.c (class_init): Actually
initialise the class. It simple couldn't have worked before.
(camel_simple_data_wrapper_stream_construct): Commented out code
which crashes just to get something working, memory corruption??
Matthew Loper [Wed, 9 Feb 2000 08:36:29 +0000 (08:36 +0000)]
New file; shows a message in tree format, where multipart's have multiple
* tests/ui-tests/message-browser.c: New file; shows a message in
tree format, where multipart's have multiple leaves.
* camel/camel-formatter.c: Changed references from
'multipart/alternate' to 'multipart/alternative'.
Matthew Loper [Wed, 9 Feb 2000 00:48:28 +0000 (00:48 +0000)]
+ * tests/test-formatter.c (convert_to_html_and_print): Use the
+ buffer length of the stream to create strings which are then
+ printed, rather than printing the stream (which might not have a
+ trailing \0) directly.
+
+ * camel/camel-formatter.c (str_tolower): New function; makes a
+ string lowercase.
Matthew Loper [Tue, 8 Feb 2000 23:26:31 +0000 (23:26 +0000)]
+ * tests/test-formatter.c (convert_to_html_and_print): Fixed call
+ to 'camel_formatter_mime_message_to_html' to contain correct
+ params.
Matthew Loper [Tue, 8 Feb 2000 23:18:29 +0000 (23:18 +0000)]
New member to 'CamelFormatterPrivate', 'attachments', will be used to let
* camel/camel-formatter.c: New member to 'CamelFormatterPrivate',
'attachments', will be used to let the caller know which items
should be treated as attachments (as opposed to objects which are
inline to the body).
(text_to_html): name changed from 'encode_entities'. Also now
converts newlines to <br> tags.
(camel_formatter_mime_message_to_html): Now takes two output
streams -- one for the header, and one for the body.
(get_bonobo_tag_for_object): New function; tries to make a tag out
of (1) the leaf of a mime message and (2) a bonobo object that can
handle its mime type, but can return NULL if it fails to find the
mime type.
(handle_vcard): New function; will write out a vcard as html.
Matthew Loper [Mon, 7 Feb 2000 23:03:46 +0000 (23:03 +0000)]
function deleted.
* camel/camel-formatter.c (mime_part_to_html): function deleted.
Matthew Loper [Mon, 7 Feb 2000 22:42:41 +0000 (22:42 +0000)]
+ * tests/test-formatter.c (print_usage_and_quit): New function,
+ which gives usage information.
+
+ * camel/camel-formatter.c: made the 'stream' a member of the
+ CamelFormatter class, so that streams don't have to be explicitly
+ sent as a param where a CamelFormatter is also sent..
+ (handle_text_plain): Use 'encode_entities' to change '<' to
+ '>', etc.
Bertrand Guiheneuf [Wed, 2 Feb 2000 09:27:36 +0000 (09:27 +0000)]
*** empty log message ***
Matthew Loper [Wed, 2 Feb 2000 05:27:27 +0000 (05:27 +0000)]
+ * tests/test-formatter.c: New file; intended to test the
+ CamelFormatter class.
+
+ * camel/camel-formatter.c: Lots of cleanup, commenting, some new
+ functions, and a really basic skeleton for getting bonobo objects
+ into the html.
+ (encode_entities): New function, stolen from Daniel Velliard.
Matthew Loper [Tue, 25 Jan 2000 22:52:17 +0000 (22:52 +0000)]
+ * camel/camel-formatter.c: By looking up a mimetype in a
+ hashtable, we can now get a handler function for an arbitrary
+ mimetype.
bertrand [Tue, 25 Jan 2000 18:28:02 +0000 (18:28 +0000)]
renamed mbox_folder->summary to mbox_folder->internal_summary to avoid
2000-01-26 bertrand <bertrand@helixcode.com>
* camel/providers/mbox/camel-mbox-folder.c:
renamed mbox_folder->summary to
mbox_folder->internal_summary to avoid
confusion with the camel_folder->summary
field.
(_append_message):
(_check_get_or_maybe_generate_summary_file):
update the external summary thingie.
* camel/camel-folder-summary.c (camel_folder_summary_new):
create the message and folder info arrays.
* camel/providers/mbox/camel-mbox-summary.c
(camel_mbox_summary_append_internal_to_external):
new function to append entries from the internal summary
to the external one.
* camel/providers/mbox/camel-mbox-folder.c (_append_message): reflect
name change.
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_summary_append_entries):
namespace fix.
bertrand [Tue, 25 Jan 2000 04:02:14 +0000 (04:02 +0000)]
The CamelDataWrapper can now be provided with input and output streams, so
2000-01-24 bertrand <bertrand@helixcode.com>
* camel/camel-data-wrapper.h:
* camel/camel-data-wrapper.c
(_set_input_stream):
(_get_input_stream):
(_set_output_stream):
(_get_output_stream):
The CamelDataWrapper can now be provided with input and
output streams, so that nothing has to be kept in memory.
* camel/camel-stream.c (camel_stream_class_init):
added the "data_available" signal.
bertrand [Tue, 25 Jan 2000 01:09:56 +0000 (01:09 +0000)]
parent class is now CamelSeekableStream idem idem idem idem (_seek):
2000-01-24 bertrand <bertrand@helixcode.com>
* camel/camel-seekable-stream.c:
* camel/camel-seekable-stream.h:
* camel/camel-simple-data-wrapper-stream.h: parent class is now
CamelSeekableStream
* camel/camel-stream-buffered-fs.h: idem
* camel/camel-stream-buffered-fs.c: idem
* camel/camel-stream-mem.h: idem
* camel/camel-stream-mem.c: idem
(_seek): change declaration
* camel/camel-stream-fs.c: parent class is now
CamelSeekableStream
(_seek): change declaration
* camel/camel-stream-fs.h: parent class is now
CamelSeekableStream
Major compatible change in the stream hierarchy.
Removed the seek method from the general streams
so that we can use them as "DataSources".