aboutsummaryrefslogtreecommitdiffstats
path: root/camel/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* New class for zipping/unzipping gzip streams.Jeffrey Stedfast2004-05-111-0/+4
| | | | | | | | | | | | 2004-05-10 Jeffrey Stedfast <fejj@novell.com> * camel-mime-filter-gzip.[c,h]: New class for zipping/unzipping gzip streams. * camel-mime-filter-yenc.[c,h]: New class for encoding/decoding the crack known as YEncode. svn path=/trunk/; revision=25847
* use camel debug to add some debug here.Not Zed2004-03-231-0/+2
| | | | | | | | | | | | | | | | | | | 2004-03-23 Not Zed <NotZed@Ximian.com> * camel-exception.c (camel_exception_setv): use camel debug to add some debug here. * camel.c (camel_init): call camel_debug_init(). * camel-debug.c (camel_debug_init, camel_debug): new util stuff for extended debug options. * providers/imap/camel-imap-folder.c (imap_get_message): if we're supposed to be online, check we are online before proceeding. Actually major restructure so we re-try the fetch a couple of times first before failing. i.e. silent reconnect. See #55381. svn path=/trunk/; revision=25153
* put the camel-smime-context.[ch] back in here, remove it from EXTRA_DIST,Not Zed2003-12-101-12/+2
| | | | | | | | | | | | | | | | | | | | | 2003-12-10 Not Zed <NotZed@Ximian.com> * Makefile.am (libcamel_la_SOURCES): put the camel-smime-context.[ch] back in here, remove it from EXTRA_DIST, and make it compile optinally the same way camel-tcp-stream-ssl.c does (#ifdef ...). * camel-smime-context.c (sm_verify_cmsg): add signer info to certvalidity. * camel-cipher-context.c (CamelCipherValidity): Added certinfo to validity for signing and encrypting, so we can find the keys later for a gui. (camel_cipher_validity_add_certinfo): add signer or encrypter info to the validity. (camel_cipher_validity_envelope): add sign/encrypt keys. svn path=/trunk/; revision=23904
* Remove hard coded disable deprecated flagsJP Rosevear2003-12-071-1/+0
| | | | | | | | 2003-12-06 JP Rosevear <jpr@ximian.com> * */Makefile.am: Remove hard coded disable deprecated flags svn path=/trunk/; revision=23658
* make sure we always dist the smime stuffJP Rosevear2003-11-271-0/+2
| | | | | | | | 2003-11-26 JP Rosevear <jpr@ximian.com> * Makefile.am: make sure we always dist the smime stuff svn path=/trunk/; revision=23495
* conditionally compile s/mime supportJP Rosevear2003-11-261-2/+10
| | | | | | | | | 2003-11-26 JP Rosevear <jpr@ximian.com> * Makefile.am (libcamelinclude_HEADERS): conditionally compile s/mime support svn path=/trunk/; revision=23494
* merged spam filtering branchRadek Doulik2003-11-131-0/+2
| | | | svn path=/trunk/; revision=23302
* Added a note about api inconsistencies.Not Zed2003-10-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-30 Not Zed <NotZed@Ximian.com> * camel-cipher-context.h: Added a note about api inconsistencies. 2003-10-30 Not Zed <NotZed@Ximian.com> * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt): fix for cipher_decrypt changes. * camel-gpg-context.c, camel-cipher-context.c: moved all the init code to the end to save having to keep forward declarations around. (camel_cipher_decrypt): changed to take mimepart input and return a mimepart. (gpg_decrypt): fix for changed args. 2003-10-29 Not Zed <NotZed@Ximian.com> * camel-smime-context.[ch]: replaced entirely with a new implementation which inherits from camel-cipher-context, and add to build. * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt): fix for cipher_encrypt api changes. (camel_multipart_encrypted_decrypt): use g_ascii_strcasecmp. * camel-gpg-context.c (gpg_encrypt): Fix to handle input/output as parts not streams * camel-cipher-context.c (camel_cipher_encrypt): change to take mimeparts rather than streams as input/output. And remove the 'sign' argument, it is implied if userid is supplied. 2003-10-28 Not Zed <NotZed@Ximian.com> * tests/smime/pgp.c (main): fix for ciphercontext api changes. * camel-multipart-signed.c (camel_multipart_signed_verify): pass in the part to cipher_verify directly. (camel_multipart_signed_sign): let the cipher context setup the part details. * camel-gpg-context.c (gpg_sign): put the signature stream into a mimepart, with appropriate headers/encoding. (swrite): write out a mimepart rather than a stream. (gpg_verify): handle changed args. * camel-cipher-context.c (camel_cipher_sign): write the signature to a mimepart rather than a simple stream. (camel_cipher_verify): take the signature as a mimepart not a stream. 2003-10-22 Not Zed <NotZed@Ximian.com> * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for ucs2 stuff. ucs2 is 16 bit truncated unicode. svn path=/trunk/; revision=23127
* Remove libcamel-static.laDan Winship2003-09-111-5/+0
| | | | | | * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la svn path=/trunk/; revision=22516
* New stream implementation for running commands. Compile the aboveDavid Woodhouse2003-09-041-0/+2
| | | | | | | | | | 2003-09-03 David Woodhouse <dwmw2@infradead.org> * camel-stream-process.[ch]: New stream implementation for running commands. * Makefile.am: Compile the above svn path=/trunk/; revision=22454
* New test suite for the mime parser (which is where the below 2 fixes wereJeffrey Stedfast2003-08-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/message/test4.c: New test suite for the mime parser (which is where the below 2 fixes were noticed). * camel-mime-parser.c (folder_boundary_check): Calculate 'len' by subtracting the boundary start from inend rather than 'atleast'. (folder_scan_content): Calculate 'inend' differently depending on the EOF state. 2003-08-08 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-tohtml.c (html_convert): Rather than checking *inptr == '\n', check inptr >= inend - this gets rid of an Invalid Read report from valgrind. * camel-mime-part.c (write_to_stream): Don't necessarily re-encode just because the encodings differ. Need to look into making it so that message/rfc822 and multipart parts ignore the Content-Transfer-Encoding header and just keep their 'encoding' bits set to DEFAULT. 2003-08-05 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c (get_content): Updated. * camel-mime-message.c (camel_mime_message_init): Don't override the mime_type here. (process_header): Updated to use CamelDataWrapper's mime_type field. (find_best_encoding): Same. (best_encoding): Here too. * camel-digest-folder.c (camel_digest_folder_new): Updated for CamelMimePart::content_type change. * camel-mime-part.c (camel_mime_part_init): Override our parent class's default mime_type. (camel_mime_part_finalize): Don't need to unref the content_type anymore. (process_header): Updated to use CamelDataWrapper's mime_type field. (camel_mime_part_set_filename): Same. (camel_mime_part_get_filename): Same. (camel_mime_part_get_content_type): Same. (set_content_object): Here too. (write_to_stream): Updated. (construct_from_parser): Updated. * camel-mime-part.h: Remove the content_type field. 2003-07-31 Jeffrey Stedfast <fejj@ximian.com> * tests/lib/messages.c (test_message_compare_content): If the chunks differ, perform a hexdump on the data being compared so that we may analyse it easier. * camel-multipart-signed.c (write_to_stream): Return ssize_t. * camel-mime-utils.h: Added the CamelMimePartEncodingType enum here. * camel-mime-part.h: Removed the CamelMimePartEncodingType enum from here. * camel-mime-part.c (write_to_stream): Updated to return ssize_t. Also minor changes to only re-encode the content stream if the charset or encoding changed (this way we write it out in the original raw form if nothing changed). * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Drastically simplify. We no longer scan html content to try and find the charset, nor do we care about converting the content to UTF-8 and handling broken windows charsets. * camel-mime-message.c (find_best_encoding): Use decode_to_stream() here. Also updated to not assume the content charset is UTF-8 since it is very likely not the case anymore since data-wrappers no longer are converted to UTF-8 at parse time. * camel-folder-summary.c (summary_build_content_info_message): Use decode_to_stream instead here too. * camel-folder-search.c (match_words_1message): Use decode_to_stream instead of write_to_stream so we can search the contents. * camel-data-wrapper.c (camel_data_wrapper_init): Set the default encoding to DEFAULT. (write_to_stream): Updated to return ssize_t (camel_data_wrapper_decode_to_stream): New virtual function to decode a data wrapper to a stream (results in nearly identical behaviour to the old write_to_stream method). (decode_to_stream): Default implementation of above virtual method. Decodes base64/qp/etc streams. * camel-data-wrapper.h: Removed the rawtext bit and added an encoding member. svn path=/trunk/; revision=22171
* removed camel-smime-utils.[c,h] which are no longer usefulJeffrey Stedfast2003-07-101-6/+0
| | | | svn path=/trunk/; revision=21784
* Removed.Jeffrey Stedfast2003-07-091-2/+0
| | | | | | | | 2003-07-08 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-mime.[c,h]: Removed. svn path=/trunk/; revision=21760
* Use camel_mkdir().Jeffrey Stedfast2003-07-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-07 Jeffrey Stedfast <fejj@ximian.com> * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use camel_mkdir(). * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use camel_mkdir(). * camel-session.c (get_storage_path): Use camel_mkdir(). * camel-store.c (camel_mkdir_hier): Removed. * camel-data-cache.c (camel_data_cache_new): Updated to use camel_mkdir(). (data_cache_path): Same. * camel-file-utils.c (camel_mkdir): Renamed and documented. (camel_file_util_safe_filename): Documented. (camel_read): Moved here from camel-io.c (camel_write): Same. * camel-io.[c,h]: Removed. * camel-uid-cache.c (camel_uid_cache_new): Use the camel-file-utils.c version of mkdir. svn path=/trunk/; revision=21753
* Updated for string-utils namespace changes.Jeffrey Stedfast2003-07-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-07 Jeffrey Stedfast <fejj@ximian.com> * camel-session.c (camel_session_init): Updated for string-utils namespace changes. * camel-provider.c: Updated for string-utils namespace changes. * camel-mime-part.c (init_header_name_table): Updated for string-utils namespace changes. * camel-mime-message.c (camel_mime_message_class_init): Updated for string-utils namespace changes. (camel_mime_message_init): Same. * camel-mime-filter-enriched.c (camel_mime_filter_enriched_class_init): Updated for string-utils namespace changes. * camel-folder-summary.c (camel_folder_summary_init): Updated for string-utils namespace changes. * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and also namespaced all functions. svn path=/trunk/; revision=21751
* Put the ChangeLog.pre-1-4 in the Makefiles.Ettore Perazzoli2003-06-131-0/+1
| | | | svn path=/trunk/; revision=21426
* some days you just wish you had that subatomic 100 megaton kill-o-zap bomb.Jeffrey Stedfast2003-06-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2003-06-04 Jeffrey Stedfast <fejj@ximian.com> * camel-uid-cache.c (camel_uid_cache_new): Create the directory with mode 0777 and the cache file itself with mode 0666. Let the user's umask filter the permissions. Instead of saving the fd on the Cache object, instead save the filename. Use camel_read() instead of expecting read() to just always work without getting an EINTR/etc. (maybe_write_uid): Don't do anything if cache->fd == -1, this means an error has occured in a previous callback. Replace the 2 calls to write() with camel_write() and check their return values. If either of them fails, set cache->fd to -1 (GHashTable doesn't give us a way to abort foreach'ing thru the table). (camel_uid_cache_save): Save to a temp file instead of overwriting the original. Do proper error checking, etc. Also added some smarts about whether to try and overwrite the old cache even if we haven't successfully saved all the uids in the cache. (camel_uid_cache_destroy): Free the cache->filename, no longer need to close (cache->fd). svn path=/trunk/; revision=21416
* Remove camel-lock.c from here because it upsets automake 1.6 for someDan Winship2003-04-301-3/+2
| | | | | | | | * Makefile.am (camel_lock_helper_SOURCES): Remove camel-lock.c from here because it upsets automake 1.6 for some reason (camel_lock_helper_LDADD): Add camel-lock.o here svn path=/trunk/; revision=21033
* Plug in GSSAPI support.Jeffrey Stedfast2003-03-211-0/+2
| | | | | | | | | | | 2003-03-20 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl.c: Plug in GSSAPI support. * camel-sasl-gssapi.[c,h]: Various fixes to make it compile (fixed type-o's mostly). svn path=/trunk/; revision=20438
* removed unused filter code that was wrong anywayJeffrey Stedfast2003-02-261-2/+0
| | | | svn path=/trunk/; revision=20058
* Same as the ones below.Jeffrey Stedfast2003-02-261-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-25 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-message.c: Same as the ones below. * camel-mime-part.c: Reverted back to pre-camel-iconv * camel-filter-search.c: Same as below. * camel-folder-summary.c: Reverted back to pre-camel-iconv * camel.c (camel_init): Reverted to pre-camel-iconv * camel-charset-map.c (camel_charset_locale_name): Removed (part of the revert). (camel_charset_canonical_name): Same. * camel-mime-filter-charset.c: Revert back to using e_iconv from GAL. * camel-mime-part-utils.c: Revert back to using e_iconv from GAL. * camel-mime-utils.c: Revert back to using e_iconv from GAL. * camel-sasl-digest-md5.c: Revert back to using e-iconv from GAL. svn path=/trunk/; revision=20056
* Call camel_iconv_init(). (camel_shutdown): Call camel_iconv_shutdown().Jeffrey Stedfast2003-02-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-20 Jeffrey Stedfast <fejj@ximian.com> * camel.c (camel_init): Call camel_iconv_init(). (camel_shutdown): Call camel_iconv_shutdown(). * camel-sasl-digest-md5.c (digest_response): Updated to use camel-iconv and the new camel-charset-map functions. * camel-mime-utils.c: Updated to use camel-iconv and the new camel-charset-map functions. * camel-mime-part-utils.c (check_html_charset): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. (convert_buffer): Use camel-iconv. (simple_data_wrapper_construct_from_parser): Since camel_charset_iso_to_windows() returns the charset in it's canonical format, no need to re-canonicalise it. * camel-mime-part.c (process_header): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. * camel-mime-message.c (process_header): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. * camel-mime-filter-charset.c: Use camel-iconv. * camel-folder-summary.c (message_info_new): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. (content_info_new): Use camel_charset_locale_name(). (camel_message_info_new_from_header): Same as message_info_new(). * camel-search-private.c: Use g_alloca() instead of alloca(). * camel-filter-search.c (check_header): Use camel_charset_canonical_name() instead of e_iconv_charset_name() which is longer available. * camel-charset-map.c (camel_charset_locale_name): New function, replaces e_iconv_locale_charset(). (camel_charset_canonical_name): New function, similar to e_iconv_charset_name() but instead of returning the iconv-friendly name, it returns the canonical name. (g_iconv will do the iconv-friendly name conversions for us). svn path=/trunk/; revision=19977
* Define in terms of privincludedir. (camellibexecdir): Define in terms ofDan Winship2003-02-061-3/+3
| | | | | | | | | | | | | | | | | | * Makefile.am (libcamelincludedir): Define in terms of privincludedir. (camellibexecdir): Define in terms of privlibexecdir (libcamel_la_LDFLAGS): Remove -rpath. (automake will add that) * providers/imap/Makefile.am (libcamelimapincludedir): Define in terms of privincludedir. (INCLUDES): Remove -I$(includedir) * providers/local/Makefile.am: Likewise * providers/nntp/Makefile.am: Likewise * providers/pop3/Makefile.am: Likewise * providers/sendmail/Makefile.am: Likewise * providers/smtp/Makefile.am: Likewise svn path=/trunk/; revision=19775
* $(libexec) -> $(libexecdir)Hans Petter Jansson2003-01-231-1/+1
| | | | | | | | 2003-01-22 Hans Petter Jansson <hpj@ximan.com> * Makefile.am: $(libexec) -> $(libexecdir) svn path=/trunk/; revision=19573
* Update to the new $(BASE_VERSION)-versioned path. Likewise. Likewise.Ettore Perazzoli2003-01-231-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | * providers/imap/Makefile.am (libcamelimapincludedir): Update to the new $(BASE_VERSION)-versioned path. * providers/smtp/Makefile.am (libcamelsmtpincludedir): Likewise. * providers/sendmail/Makefile.am (libcamelsendmailincludedir): Likewise. * providers/pop3/Makefile.am (libcamelpop3includedir): Likewise. * providers/nntp/Makefile.am (libcamelnntpincludedir): Likewise. * providers/local/Makefile.am (libcamellocalincludedir): Likewise. * camel-lock-client.c (camel_lock_helper_init): Use CAMEL_LIBEXECDIR instead of CAMEL_SBINDIR to find camel-lock-helper. * Makefile.am: Install camel-lock-helper and camel-index-control in $(libexec)/evolution/$(BASE_VERSION)/camel. Install libcamel.la in $privlibdir. (install-exec-hook): Update for the new location of camel-lock-helper. (libcamelincludedir): Version using $(BASE_VERSION). (INCLUDES): Define CAMEL_LIBEXECDIR. svn path=/trunk/; revision=19554
* Replace calls to g_string_sprintfa() with g_string_append_printf() sinceJeffrey Stedfast2002-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-17 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c: Replace calls to g_string_sprintfa() with g_string_append_printf() since the former seems to have been deprecated. * providers/imap/camel-imap-search.c: Same. * providers/imap/camel-imap-folder.c: Here too. * providers/local/camel-mbox-summary.c: And here. * providers/local/camel-local-summary.c: Replace g_string_sprintf() with g_string_printf(). * camel-data-cache.c (data_cache_expire): Replace g_string_sprintf() with g_string_printf(). * camel-url.c: Replace calls to g_string_sprintfa() with g_string_append_printf() since the former seems to have been deprecated. * camel-service.c: Same. * camel-mime-utils.c: Here too. svn path=/trunk/; revision=19154
* #include some headers we had forgotten to add previously, also addedJeffrey Stedfast2002-12-161-0/+2
| | | | | | | | | | | | 2002-12-16 Jeffrey Stedfast <fejj@ximian.com> * camel.h: #include some headers we had forgotten to add previously, also added camel-mime-filter-enriched.h. * camel-mime-filter-enriched.[c,h]: New stream filter to convert text/enriched and text/richtext into HTML. svn path=/trunk/; revision=19124
* New code to scan for patterns (used only for url pattern matching atm, butJeffrey Stedfast2002-12-101-0/+2
| | | | | | | | | | 2002-12-09 Jeffrey Stedfast <fejj@ximian.com> * camel-url-scanner.c: New code to scan for patterns (used only for url pattern matching atm, but we may find other uses for this and thus rename it? I dunno). Uses ETrie. svn path=/trunk/; revision=19075
* don't #include <gtk/gtk.h>Jeffrey Stedfast2002-11-081-1/+1
| | | | svn path=/trunk/; revision=18639
* Added.Jeffrey Stedfast2002-11-081-0/+1
| | | | | | | | | | | | 2002-11-07 Jeffrey Stedfast <fejj@ximian.com> * camel-i18n.h: Added. * camel-object.h: #include camel-i18n.h instead of gnome-i18n.h * camel-lock.c: Same. svn path=/trunk/; revision=18638
* Created temporary link list, we need to link with something for gettext.Not Zed2002-11-051-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Not Zed <NotZed@Ximian.com> * Makefile.am (camel_lock_helper_LDADD): Created temporary link list, we need to link with something for gettext. * camel.h: Remove gstring-util.h and hash-table-utils.h. * camel-text-index.c: (text_index_normalise): Changed for g_utf8_strdown api change. * camel-search-private.c: * camel-mime-utils.c: * camel-mime-part-utils.c: * camel-html-parser.c: * camel-charset-map.c: Include glib/gunicode.h from glib instead of gal. * camel-filter-driver.c: Remove include of gtk/gtk.h, should never have been there. svn path=/trunk/; revision=18542
* Removed hash-table-utils.[c,h] from the build.Jeffrey Stedfast2002-11-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-31 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Removed hash-table-utils.[c,h] from the build. * hash-table-utils.[c,h]: Removed. * string-util.c: Imported g_strcase[hash,equal] into here so we can remove hash-table-utils.[c,h]. * camel-medium.c: Removed #include "hash-table-utils.h" * camel-mime-message.c: Same here. * camel-mime-part.c: And here. * camel-session.c: Here too. * providers/imap/camel-imap-store-summary.c: #include string-utils.h instead of hash-table-utils.h * camel-charset-map.c: Same. * camel-folder-summary.c: Here too. * camel-provider.c: Again here. * camel-store-summary.c: And again... svn path=/trunk/; revision=18473
* Remove a ton of useless snot.Jeffrey Stedfast2002-11-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-31 Jeffrey Stedfast <fejj@ximian.com> Remove a ton of useless snot. * Makefile.am: Remove gstring-util.[c,h] from the build. * gstring-util.[c,h]: Removed. * string-utils.c (string_equal_for_glist): Removed. (string_split): Removed. (string_trim): Removed. (string_prefix): Removed. (string_unquote): Removed. (strip): Removed. * hash-table-utils.c (g_hash_table_generic_free): Removed. g_str[n]casecmp functions are deprecated in glib2. * string-utils.c (strstrcase): Use strncasecmp instead of g_strncasecmp. * hash-table-utils.c (g_strcase_equal): Use strcasecmp instead of g_strcasecmp. * camel-smime-utils.c (camel_smime_is_smime_v3_signed): Same. (camel_smime_is_smime_v3_encrypted): Here too. * camel-sasl-digest-md5.c (decode_data_type): And here. (parse_server_challenge): Again here. * camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): Same. (camel_pgp_mime_is_rfc2015_encrypted): Same * camel-mime-part-utils.c (check_html_charset): Here too. * camel-folder-summary.c (camel_system_flag): Same. svn path=/trunk/; revision=18472
* fixes a crash on systems that dont have utf7 in iconv.Not Zed2002-08-281-0/+2
| | | | | | | | | | | | | | 2002-08-28 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-utils.c (imap_mailbox_encode): Chagned to use camel_utf8_utf7 code. (imap_mailbox_decode): As above, using camel_utf8_utf7. 'UTF-7' isn't a widely support iconv() codeset, and besides the new code is simpler. * camel-utf8.[ch]: robust utilities for working with utf8 and utf7. svn path=/trunk/; revision=17886
* New source file implementing a very basic certificate database. This isJeffrey Stedfast2002-07-311-1/+3
| | | | | | | | | | | | | | | | | | | 2002-07-30 Jeffrey Stedfast <fejj@ximian.com> * camel-certdb.c: New source file implementing a very basic certificate database. This is mostly just here because the Mozilla NSS certdb seems to not be working for everyone's Evolution install (works fine for me and Ettore but not many other people). * camel-tcp-stream-ssl.c (ssl_bad_cert): If we have this certificate in our own CamelCertDB, then get the trust value from that and only prompt the user if the trust is unknown. * camel-tcp-stream-openssl.c (ssl_verify): Same. * camel.c (camel_init): Create our default certdb. svn path=/trunk/; revision=17642
* Removed.Jeffrey Stedfast2002-06-271-2/+0
| | | | | | | | | | | | | | | | | 2002-06-26 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-context.[c,h]: Removed. * camel-pgp-mime.c (pgp_mime_part_sign_restore_part): Removed. (pgp_mime_part_sign_prepare_part): Removed. (camel_pgp_mime_part_sign): Removed. (camel_pgp_mime_part_verify): Removed. (camel_pgp_mime_part_encrypt): Removed. (camel_pgp_mime_part_decrypt): Removed. (camel_pgp_mime_is_rfc2015_signed): Documented. (camel_pgp_mime_is_rfc2015_encrypted): Same. svn path=/trunk/; revision=17303
* New class implementing the multipart/encrypted content type. ContainsJeffrey Stedfast2002-06-271-0/+2
| | | | | | | | | | 2002-06-26 Jeffrey Stedfast <fejj@ximian.com> * camel-multipart-encrypted.[c,h]: New class implementing the multipart/encrypted content type. Contains methods for encrypting and decrypting a multipart/encrypted MIME object. svn path=/trunk/; revision=17296
* New source files implementing the CamelCipherContext class for gnupg.Jeffrey Stedfast2002-06-221-0/+2
| | | | | | | | | | | | | | | | | | | 2002-06-21 Jeffrey Stedfast <fejj@ximian.com> * camel-gpg-context.[c,h]: New source files implementing the CamelCipherContext class for gnupg. * camel-pgp-context.c (camel_pgp_context_new): Return a CamelCipherContext. * camel-pgp-mime.c (camel_pgp_mime_part_decrypt): Take a CamelCipherContext argument rather than a CamelPgpContext since we now have a CamelGpgContext also. (camel_pgp_mime_part_encrypt): Same. (camel_pgp_mime_part_verify): Same. (camel_pgp_mime_part_sign): Same. svn path=/trunk/; revision=17251
* Updated to support searching as well as making it use CamelDigestSummary.Jeffrey Stedfast2002-06-211-0/+2
| | | | | | | | | | | | | | | | | 2002-06-20 Jeffrey Stedfast <fejj@ximian.com> * camel-digest-folder.c: Updated to support searching as well as making it use CamelDigestSummary. * camel-digest-summary.[c,h]: New class to handle the summary for CamelDigestFolder. * camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should map to ETIMEDOUT and not EAGAIN. (stream_connect): Reset the PR_Poll() timeout back to 2 minutes as this wasn't the problem afterall. svn path=/trunk/; revision=17249
* Added a protocol field for users to use.Not Zed2002-05-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-30 Not Zed <NotZed@Ximian.com> * camel-cipher-context.h: Added a protocol field for users to use. * camel-stream-filter.c (do_read): Sigh, the pre-size is READ_PAD not READ_SIZE. Big difference. (READ_PAD): Bumped upto 128 from 64, so we can fit a typical line in full. * providers/imap/camel-imap-folder.c (get_content): Changed to load multipart/signed as an opaque block into the right kind of object. * camel-multipart.h (struct _CamelMultipart): Removed the boundary field. It wans't actually used anywhere. * camel-seekable-substream.c (camel_seekable_substream_new_with_seekable_stream_and_bounds): Shortened this stupidly long name to just :new(), its the only way its ever used. Fixed all callers. * camel-multipart-signed.[ch]: new wrapper for multipart/signed types. We need to treat the entire content as a blob of data for transport purposes. This also cleans up a lot of the sign/verify handling. * camel-mime-part-utils.c (camel_mime_part_construct_content_from_parser): Just call camel_multipart_construct_from_parser for multipart parts, also use a multipart_signed for multipart/signed types. * camel-multipart.c (camel_multipart_construct_from_parser): New virtual function for multiparts to buld themselves. (construct_from_parser): Implement for normal multiparts. (toplevel): Got rid of a warning, it'll never be an abstract class. * camel-pgp-context.c (pgp_hash_to_id): (pgp_id_to_hash): Implement. (camel_pgp_context_init): Init the pgp protocol specifier. * camel-cipher-context.c (camel_cipher_id_to_hash): (camel_cipher_hash_to_id): Util virtual methods to handle the cipher id string. * camel-mime-filter-canon.[ch]: A new filter, end/start of line canonicalisation filter. Can escape "From " and strip trailing whitespace, and canonicalise the end of line to crlf or to lf. 2002-05-29 Not Zed <NotZed@Ximian.com> * camel-multipart.h (struct _CamelMultipart): Removed the 'parent', nothing used it, anywhere. Cleaned up some formatting slightly. svn path=/trunk/; revision=17057
* Removed from the build. Glory glory hallelujah.Jeffrey Stedfast2002-05-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-22 Jeffrey Stedfast <fejj@ximian.com> * camel-remote-store.c: Removed from the build. Glory glory hallelujah. * camel-disco-store.c: Updated to inherit from CamelStore rather than CamelRemoteStore. * providers/imap/camel-imap-command.c (imap_command_start): Don't use the camel-remote-store shit to send a string. Just use camel_stream_printf for chrissakes. * providers/imap/camel-imap-store.c: Updated to not depend on CamelRemoteStore and to handle STARTTLS. (imap_disconnect_online): Unref the streams. (imap_keepalive): Removed. (camel_imap_store_connected): New function to replace camel_remote_store_connected(). (camel_imap_store_finalize): Unref the streams. (camel_imap_store_recv_line): New function to replace camel_remote_store_recv_line(). (imap_get_capability): Renamed from connect_to_server (connect_to_server): New function to try and connect to the server. (connect_to_server_wrapper): New wrapper function around connect_to_server that takes the ssl modes into consideration. (query_auth_types): Don't bother calling our parent's implementation of query_auth_types() since CamelDiscoStore doesn't have any anyway. (imap_get_name): New method to implement CamelService::get_name svn path=/trunk/; revision=16975
* Check for LOGIN xxxx as well if debug is on, so we dont print passwords toNot Zed2002-05-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-07 Not Zed <NotZed@Ximian.com> * camel-remote-store.c (remote_send_string): Check for LOGIN xxxx as well if debug is on, so we dont print passwords to evolution logs. * providers/imap/camel-imap-utils.c (imap_is_atom_char): This was really broken. 1. isprint() is locale dependent, and 2. it looked up an 8 bit value in a 7 bit table without truncating it. I've removed the isprint() stuff and just put it directly into the special table, which i've expanded to the right size too. * providers/imap/*: Applied patch from Preston Elder <prez@magick.tm> to make camel only use literals if it needs to for simple strings. Changed slightly to use imap_is_atom() and more consistent formatting. providers/imap/camel-imap-utils.c (imap_is_atom): Chagned from imap_needs_quoting(). ** Merged in camel-object2 branch. Simpler camelobject implementation + object args interface. * camel.c (camel_init): Call camel_object_get_type() to make sure camel_object_type is initialised. * camel-object.h (CAMEL_OBJECT_TYPE): Changed to return global camel_object_type pointer, not call camel_object_get_type. svn path=/trunk/; revision=16701
* When we add a new name, up all of the cache limits, because we're probablyNot Zed2002-03-251-1/+17
| | | | | | | | | | | | | | | | | | | 2002-03-25 Not Zed <NotZed@Ximian.com> * camel-text-index.c (text_index_add_name): When we add a new name, up all of the cache limits, because we're probably going to be adding more. (text_index_sync): Drop the cache limits back down again, we dont need them when looking words up. ** MERGE camel_index branch. * camel-text-index.[ch]: Added files i forgot to add (eep nearly lost all this work!) * camel-block-file.c (sync_nolock): Fix an infinite loop in syncing. svn path=/trunk/; revision=16242
* A pretty empty store implementation to be the parent store of aJeffrey Stedfast2002-03-121-0/+2
| | | | | | | | | | | 2002-03-11 Jeffrey Stedfast <fejj@ximian.com> * camel-digest-store.c: A pretty empty store implementation to be the parent store of a CamelDigestFolder. * camel-digest-folder.c: Updated to reference it's parent store. svn path=/trunk/; revision=16113
* Rename the OpenSSL implementation of things to match the NSSDan Winship2002-03-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementation so that callers don't need to care which one is being used. * camel-tcp-stream-openssl.c: Implement CamelTcpStreamSSL, not CamelTcpStreamOpenSSL. Rename methods as well. Replace the camel-tcp-stream-openssl.h include with camel-tcp-stream-ssl.h. * camel-tcp-stream-openssl.h: Gone. * camel-tcp-stream-ssl.c: Add a note explaining that this implementation is only used for NSS, and that OpenSSL's implementation is in another file. (Should probably do some CVS renaming magic at some point.) * camel-http-stream.c (http_connect): Remove OpenSSL refs; the previously-NSS-specific code works for both now. * camel-remote-store.c: Likewise. * providers/smtp/camel-smtp-transport.c: Likewise. * providers/pop3/camel-pop3-store.c: Likewise. * Makefile.am (libcamelinclude_HEADERS): Remove camel-tcp-stream-openssl.h svn path=/trunk/; revision=16093
* New stream filter that chomps excess trailing whitespace from the end ofJeffrey Stedfast2002-02-281-0/+2
| | | | | | | | | | | | | | | | | 2002-02-27 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-chomp.c (camel_mime_filter_chomp_new): New stream filter that chomps excess trailing whitespace from the end of the stream. This is needed to update the PGP/MIME code to comply with rfc3156. * camel-pgp-mime.c (camel_pgp_mime_part_verify): Don't attach a from filter, if it ain't from-filtered already, then we'll just be breaking stuff. To become rfc3156 compliant, add a chomp filter here. (camel_pgp_mime_part_sign): Add a chomp filter here too. svn path=/trunk/; revision=15863
* Implementation of NTLM (aka "Secure Password Authentication") auth, takenDan Winship2002-02-081-0/+2
| | | | | | | | | | | | | | | | | * camel-sasl-ntlm.c: Implementation of NTLM (aka "Secure Password Authentication") auth, taken from soup. * Makefile.am (libcamel_la_SOURCES, libcamel_la_HEADERS): Add camel-sasl-ntlm. * camel-sasl.c: Add refs to camel-sasl-ntlm. * providers/imap/camel-imap-store.c (try_auth): Use imap_next_word() to skip over the "+ " of the continuation rather than just "resp + 2" since Exchange (incorrectly) returns "+" instead of "+ " for an empty continuation response. svn path=/trunk/; revision=15605
* Use camel_mime_parser_read to read internal parser data.Jeffrey Stedfast2002-02-051-0/+2
| | | | | | | | | | | | 2002-02-04 Jeffrey Stedfast <fejj@ximian.com> * camel-http-stream.c (stream_read): Use camel_mime_parser_read to read internal parser data. (camel_http_stream_get_content_type): Implemented. * camel-mime-utils.c (header_decode_int): Made public. svn path=/trunk/; revision=15571
* Final cleanup for the CFLAGS and LIBS in the Makefiles.Ettore Perazzoli2002-01-281-18/+10
| | | | svn path=/trunk/; revision=15486
* Remove some old cruft.Ettore Perazzoli2002-01-251-16/+0
| | | | | | * Makefile.am: Remove some old cruft. svn path=/trunk/; revision=15463
* Rewritten to use a cache for body searches when online. Will need someNot Zed2002-01-141-0/+2
| | | | | | | | | | | | | | | | | | | | 2002-01-14 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-search.c (imap_body_contains): Rewritten to use a cache for body searches when online. Will need some heavy testing but so far seems to be beneficial. * providers/imap/camel-imap-folder.c (imap_search_by_expression, search_by_uids): dont initialise search object here. (camel_imap_folder_new): Setup search object here with pointer to cache dir. 2001-12-01 Not Zed <NotZed@Ximian.com> * camel-store-summary.[ch]: New class to store a store's folder list in. Not yet completed. svn path=/trunk/; revision=15314
* only use major and minor version in the camel providerdir, not micro and nanoDan Winship2001-12-181-2/+1
| | | | svn path=/trunk/; revision=15121
* fix openssl linkage problemJeffrey Stedfast2001-12-151-1/+3
| | | | svn path=/trunk/; revision=15089
* Implements marking messages as "Need Reply".Jon Trowbridge2001-12-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements marking messages as "Need Reply". 2001-12-09 Jon Trowbridge <trow@ximian.com> * mail-need-reply.xpm: Added a really, really ugly and awful icon to symbolize "message needs a reply". * Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm. 2001-12-09 Jon Trowbridge <trow@ximian.com> * camel-folder-summary.c: Add "NeedsReply" to the flag_names array for CAMEL_MESSAGE_NEEDS_REPLY. * camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag. 2001-12-09 Jon Trowbridge <trow@ximian.com> * vfoldertypes.xml: Add "Needs Reply" option to different status types. * filtertypes.xml: Add "Needs Reply" option to different status types. 2001-12-09 Jon Trowbridge <trow@ximian.com> * message-list.c: #include "art/mail-need-reply.xpm". (ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon if the message needs reply. (message_list_create_extras): Adjust magic numbers to add new icon. (on_click): Changed to toggle between unread, read, and need reply when the status icon is clicked. * mail-callbacks.c (mark_as_needing_reply): Added. (mark_as_not_needing_reply): Added. Add "set" value to struct post_send_data. (composer_sent_cb): Use both "flags" and "set" elements of post_send_data when setting message flags. (mail_reply): Clear "Needs Reply" flag when we actually reply to a message. * folder-browser.c: Changed flag values to be given by bit-shifting (1<<5) vs. base-ten (32). Added CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply" and "Mark as Not Needing Reply" elements to context menu. (on_right_click): Hide "Mark as (Not) Needing Reply" context menu elements as appropriate. svn path=/trunk/; revision=14946
* Completely new implementation of NNTP.Not Zed2001-11-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-11-30 Not Zed <NotZed@Ximian.com> * providers/nntp/camel-nntp-*.c: Completely new implementation of NNTP. Doesn't support subscriptions yet (lists all folders), but should be more reliable (faster?), and has an integrated cache. * camel-exception.c (camel_exception_new): Use e_memchunks for exception blocks. (camel_exception_free): Same. * camel-data-cache.[ch]: New object for managing on-disk caches of anything that can be stored in a camel-stream. * camel-file-utils.c (camel_file_util_mkdir): New function, just a nicer place to put this (than camel-store), should be removed from camel-store. (camel_file_util_safe_filename): New function to url-encode a filename. * camel-mime-parser.c (drop_states): New func to drop the parser state to initial state. (folder_scan_init_with_fd): (folder_scan_init_with_stream): Call above func to reset state if the stream is changed on us so we can change streams to reuse a parser object. svn path=/trunk/; revision=14822
* New mime filter to convert plain text to html.Jeffrey Stedfast2001-11-171-0/+2
| | | | | | | | | 2001-11-16 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-tohtml.c (camel_mime_filter_tohtml_new): New mime filter to convert plain text to html. svn path=/trunk/; revision=14737
* added $GNOME_INCLUDEDIR to INCLUDES, needed for latest libgnome, whichRodrigo Moya2001-10-231-0/+1
| | | | | | | | | 2001-10-22 Rodrigo Moya <rodrigo@ximian.com> * Makefile.am: added $GNOME_INCLUDEDIR to INCLUDES, needed for latest libgnome, which install headers in $(prefix)/gnome-1.0 svn path=/trunk/; revision=13878
* Remove the stripheader filter from the build.Jeffrey Stedfast2001-10-131-2/+0
| | | | | | | | | | | | | | | | 2001-10-12 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Remove the stripheader filter from the build. * camel-mime-filter-stripheader.[c,h]: Removed. * providers/smtp/camel-smtp-transport.c (smtp_data): Check the return value of camel_stream_flush to make sure it flushed the data successfully before continuing. Don't use the stripheader filter, it was completely broken - instead remove the header and set it again after we send. svn path=/trunk/; revision=13641
* Fix Ettore's fix.Jeffrey Stedfast2001-09-271-6/+6
| | | | | | | | 2001-09-26 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Fix Ettore's fix. svn path=/trunk/; revision=13154
* [Patch for Automake 1.5 compatibility pointed out by RichardEttore Perazzoli2001-09-261-1/+1
| | | | | | | | | | | | Boulton <richard@tartarus.org>, as per #9258.] * providers/nntp/Makefile.am: Remove some commented parts that make Automake 1.5 choke. * Makefile.am (camel-lock-helper): Add $(EXEEXT) for Automake 1.5 compatibility. svn path=/trunk/; revision=13137
* Helpful install-exec-hook debugging outputJP Rosevear2001-09-181-0/+4
| | | | | | | | 2001-09-17 JP Rosevear <jpr@ximian.com> * Makefile.am: Helpful install-exec-hook debugging output svn path=/trunk/; revision=12901
* use install hook instead of install rule to guarantee we run afterJP Rosevear2001-09-151-27/+25
| | | | | | | | | | | | | 2001-09-14 JP Rosevear <jpr@ximian.com> * Makefile.am: use install hook instead of install rule to guarantee we run after installation 2001-09-14 JP Rosevear <jpr@ximian.com> * configure.in: remove unneeded conditionals svn path=/trunk/; revision=12825
* build a static camel for the addressbook conduitJP Rosevear2001-08-201-0/+4
| | | | | | | | 2001-08-20 JP Rosevear <jpr@ximian.com> * Makefile.am: build a static camel for the addressbook conduit svn path=/trunk/; revision=12287
* special case popb4smtp auth before we try and connect, and do the magicNot Zed2001-08-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-03 Not Zed <NotZed@Ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_connect): special case popb4smtp auth before we try and connect, and do the magic here first. 2001-08-02 Not Zed <NotZed@Ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_connect): Check for POPB4SMTP separate to the esmtp auth list. (smtp_auth): If creating the sasl object means it is already authenticated, then exit early. Sort of 'clean hack' to help popb4smtp work. (smtp_auth): Unref the sasl object, clean up a memleak i think. * providers/smtp/camel-smtp-provider.c (camel_provider_module_init): Added POPB4SMTP auth type. * camel-sasl.c (camel_sasl_authtype): Added POPB4SMTP type. * camel-sasl-popb4smtp.c: New file for pop before smtp 'authentication'. * Makefile.am (libcamel_la_SOURCES, HEADERS): Add camel-sasl-popb4smtp.[ch]. svn path=/trunk/; revision=11615
* Let people install as non-root, but give them a bigass warning so they'rePeter Williams2001-07-141-4/+22
| | | | | | | | | | | | | | | | 2001-07-13 Peter Williams <peterw@ximian.com> * Makefile.am (install-exec-local): Let people install as non-root, but give them a bigass warning so they're not allowed to complain when it doesn't work right. * camel-remote-store.c (sync_remote_folder): New function: hash table callback. (remote_disconnect): If cleanly disconnecting, sync our folders. Fixes deadlocks on exit (folders syncing after store disconnects) and also makes sense. svn path=/trunk/; revision=11090
* Removed. (check_html_charset): Replaced with this.Not Zed2001-07-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-12 Not Zed <NotZed@Ximian.com> * camel-mime-part-utils.c (extract_metatag_charset): Removed. (check_html_charset): Replaced with this. (simple_data_wrapper_construct_from_parser): Call check_html_charset if we dont have a charset on the content-type, and we have text/html data. (check_html_charset): We also need to do qp/base64 decoding ourselves, sigh. * camel-mime-utils.c (html_meta_param_list_decode): Removed. This was very wrong, the rules for mail headers vastly different from rules for decoding html elements. (rfc2184_decode): Move the malloc inside the iconv_open worked, otherwise we have a memleak. * camel-mime-filter-html.c (camel_mime_filter_html_finalize, init, run, reset): Changed to use camelhtmlparser, and fixed a tiny memleak. * camel-html-parser.c: Made the html indexer tokeniser re-usable. ONLY TO BE USED INTERNAL TO CAMEL HOWEVER. (tokenise_step): Slight fix to non-quoted values. svn path=/trunk/; revision=11028
* Add a CamelMimeFilterStripHeader that removes a header from mime output. UsedPeter Williams2001-06-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by sendmail to strip the BCC from the email while still sending to the BCC recipients. camel: 2001-06-28 Peter Williams <peterw@ximian.com> * camel-mime-filter-stripheader.c: New file. Filter that strips a header from mime output. * camel-mime-filter-stripheader.h: New file. Header for the above. * providers/smtp/camel-smtp-transport.c (smtp_data): Use the stripheader filter to remove the "Bcc" header. * Makefile.am: Add the stripheader files. * tests/lib/Makefile.am (INCLUDES): Get this to compile again. * tests/mime-filter/test-stripheader.c: New file. Test suite for the CamelMimeFilterStripHeader. * tests/mime-filter/Makefile.am: New test section: mime filters. mail: 2001-06-28 Peter Williams <peterw@ximian.com> * mail-ops.c (mail_send_message): Revert fejj's Bcc header removal; this unsets the BCC recipients and so doesn't send to the Bcc'd people at all. svn path=/trunk/; revision=10576
* Set camel-lock-help setgid or setuid as neededDan Winship2001-06-191-2/+10
| | | | | | | * Makefile.am (install-exec-local): Set camel-lock-help setgid or setuid as needed svn path=/trunk/; revision=10267
* Only create a missing uid if we have indexing turned on.Not Zed2001-06-181-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-18 Not Zed <NotZed@Ximian.com> * camel-folder-summary.c (camel_folder_summary_info_new_from_parser): Only create a missing uid if we have indexing turned on. * camel-lock-helper.c (setup_process): Function to setup process/sanity/security checks. Change to the real uid as soon as we can. (lock_path): First try to lock as the real uid, if that fails, try the root uid. (unlock_id): Unlock as the uid we created the lock as. * Makefile.am (INCLUDES): Added -DCAMEL_SBINDIR for lock helper location. * providers/local/camel-spool-folder.c (spool_lock): Implemented, using lock helper locking. Need to work out if the locking requires a root created lock? (spool_unlock): Likewise. 2001-06-15 Not Zed <NotZed@Ximian.com> * camel-lock-helper.c: Setuid Lock helper process. Creates and manages .locks, keeping them active, removing them, etc. What real perms it needs is a little system dependent. 2001-06-14 Not Zed <NotZed@Ximian.com> * providers/local/camel-maildir-store.c (get_folder_info): Implement. (scan_dir): Does the work of scanning for maildir directories. 2001-06-13 Not Zed <NotZed@Ximian.com> * providers/local/camel-spool-store.c (get_folder_info): Implemented, just returns a hardcoded INBOX folder. (free_folder_info): implemented, free's the 1 possible level of folder info. * providers/local/camel-spool-folder.c (camel_spool_folder_construct): Set the real unread message count on the folder_created thing. svn path=/trunk/; revision=10261
* New virtual class for manipulating cryptographic message syntax messagesJeffrey Stedfast2001-06-011-2/+4
| | | | | | | | | | | | | | | | | | 2001-05-31 Jeffrey Stedfast <fejj@ximian.com> * camel-cms-context.[c,h]: New virtual class for manipulating cryptographic message syntax messages (like S/MIME). * camel-smime-context.[c,h]: Modified to inherit from the CamelCMSContext class rather than the CamelCipherContext class. * camel-smime.[c,h]: Removed - just use camel-smime-context directly. * camel-smime-utils.[c,h]: New source files. Moved the 2 useful functions from camel-smime.[c,h] into here. svn path=/trunk/; revision=10065
* Code for logging and replaying offline operations.Dan Winship2001-05-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | * camel-disco-diary.c: Code for logging and replaying offline operations. * camel-disco-store.c (disco_construct): Set disco->status here (where we can base it on the session's offline status) rather than at init time. (disco_connect): If we connect online and have a non-empty diary, switch to RESYNCING mode and replay the diary to the server. (disco_get_folder, disco_get_folder_info): Add _resyncing variants. * camel-disco-folder.c (disco_sync, disco_expunge_uids, disco_append_message, disco_copy_messages_to, disco_move_messages_to): Add _resyncing variants to switches. (disco_expunge_uids, disco_append_message, disco_copy_messages_to, disco_move_messages_to): Remove #ifdef'ed out diary code: let the provider do it. (disco_append_message): Redo the append methods to no longer return the UID, since we're no longer doing the logging from here. svn path=/trunk/; revision=10040
* Don't use EXTRA_GNOME_*, use the new CAMEL_* variables so we don't link inJeffrey Stedfast2001-05-161-3/+2
| | | | | | | | | | 2001-05-15 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Don't use EXTRA_GNOME_*, use the new CAMEL_* variables so we don't link in tons of extra cruft that we don't need. svn path=/trunk/; revision=9821
* Add camel-smime-context.[c,h] and camel-smime.[c,h] to the build.Jeffrey Stedfast2001-05-151-0/+4
| | | | | | | | | | | | 2001-05-14 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Add camel-smime-context.[c,h] and camel-smime.[c,h] to the build. * camel-smime.[c,h]: New source files for manipulating S/MIME message parts. svn path=/trunk/; revision=9799
* Add support for using OpenSSL.Jeffrey Stedfast2001-05-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | 2001-05-04 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (connect_to_server): Add support for using OpenSSL. * camel-remote-store.c (remote_connect): Add support for using the OpenSSL implementation. * camel-tcp-stream-ssl.c (ssl_bad_cert): Hmmmm, don't pass in a NULL as the last argument to alert_user - prototype doesn't take that argument anymore? * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize): (ssl_verify): Use a global hash table to try and lookup the CamelTcpStreamOpenSSL object given the ssl context since OpenSSL doesn't think one needs to pass data around, we should all be living in a world of global variables, duh! svn path=/trunk/; revision=9697
* Fix another build problem. (Um, anyone else could have done this...)Dan Winship2001-05-061-1/+0
| | | | | | | * Makefile.am (libcamelinclude_HEADERS): Fix another build problem. (Um, anyone else could have done this...) svn path=/trunk/; revision=9687
* new abstract class for disconnectable remote storesDan Winship2001-05-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-disco-store.c: new abstract class for disconnectable remote stores * camel-disco-folder.c: new abstract class for folders on disconnectable stores. * Makefile.am: Add camel-disco-folder.[ch] and camel-disco-store.[ch]. * providers/imap/camel-imap-store.c: Make this a subclass of CamelDiscoStore, and fix up the offline interfaces for the changes since they were first written (particularly the fact that some IMAP stores don't just use subscribed folders). * providers/imap/camel-imap-folder.c: Make this a subclass of CamelDiscoFolder, although most ops still fail in disconnected mode. * camel-store.c (camel_store_get_folder_info): Change gboolean, gboolean, gboolean to guint32 in the prototype for this function. * providers/local/camel-local-store.c (get_folder_info): Update for prototype change. svn path=/trunk/; revision=9659
* New file, with the int, string, time_t, and off_t encode/decode routinesDan Winship2001-04-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * camel-file-utils.c: New file, with the int, string, time_t, and off_t encode/decode routines from camel-folder-summary.c moved here and renamed, for the enjoyment of non-CamelFolderSummary subclasses. * Makefile.am (libcamel_la_SOURCES): Add camel-file-utils.c (libcamelinclude_HEADERS): and camel-file-utils.h * camel-folder-summary.c: Remove functions that were moved to camel-file-utils.c, update uses of them for the new names. (camel_folder_summary_{en,de}code_token are still here.) * providers/local/camel-mbox-summary.c: Use camel_file_util_* names * providers/imap/camel-imap-summary.c: Use camel_file_util_* names * providers/imap/camel-imap-store.c (imap_store_setup_online, imap_store_setup_offline): Use camel_file_util_* names, which makes much more sense since this isn't folder summary stuff. svn path=/trunk/; revision=9590
* Remove UNICODE_CFLAGS (and some other stuff that's redundant withDan Winship2001-04-271-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (INCLUDES): Remove UNICODE_CFLAGS (and some other stuff that's redundant with EXTRA_GNOME_CFLAGS) (libcamel_la_LIBADD): Replace UNICODE_LIBS with GAL_LIBS. * camel-search-private.c: * camel-pgp-context.c: * camel-mime-utils.c: Use gunicode interfaces rather than libunicode. * camel-charset-map.c: Use gunicode rather than libunicode. (The charmap-regen code still depends on libunicode though.) * camel-mime-filter-charset.h: * tests/message/test2.c (convert): Use iconv rather than unicode_iconv. * providers/smtp/Makefile.am (libcamelsmtp_la_LIBADD): * providers/pop3/Makefile.am (libcamelpop3_la_LIBADD): * providers/local/Makefile.am (libcamellocal_la_LIBADD): Remove UNICODE_LIBS. * camel.c (camel_init): Remove call to unicode_init. * camel-mime-parser.c: Remove unused unicode.h include. svn path=/trunk/; revision=9585
* New class that can be used to browse a multipart/digest message as if itJeffrey Stedfast2001-04-241-0/+2
| | | | | | | | | 2001-04-23 Jeffrey Stedfast <fejj@ximian.com> * camel-digest-folder.[c,h]: New class that can be used to browse a multipart/digest message as if it were a CamelFolder. svn path=/trunk/; revision=9530
* Added a prototype for stamp().Jeffrey Stedfast2001-04-171-0/+1
| | | | | | | | | | | | | | | 2001-04-16 Jeffrey Stedfast <fejj@ximian.com> * camel-operation.c: Added a prototype for stamp(). * camel-charset-map.c (camel_charset_locale_name): #include string.h so we don't get a warning about strchr being undefined and also init charset to NULL. * camel-pgp-context.c (pgp_verify): Go back to doing the utf8 conversion by hand so that we don't depend on gal. svn path=/trunk/; revision=9388
* Remove the EXTRA_GNOME_CFLAGS include.Jeffrey Stedfast2001-04-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-16 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Remove the EXTRA_GNOME_CFLAGS include. * camel-store.c (camel_mkdir_hier): Convenience function that it seems a number of camel-store implementations used gal for. * providers/nntp/camel-nntp-store.c (ensure_news_dir_exists): Lets not depend on gal for just e_mkdir_hier() - use camel_mkdir_hier() instead. * providers/nntp/camel-imap-store.c: Lets not depend on gal for just e_mkdir_hier() - use camel_mkdir_hier() instead. * camel-session.c (camel_session_get_storage_path): Don't depend on e_mkdir_heir() anymore, use the CamelStore version. * camel-folder-search.h: Removed gal dependency, why was this even there in the first place? * providers/imap/camel-imap-folder.c: Don't need gal/util/e-util.h here, so remove it. * string-utils.c (strstrcase): New function, well more like old function brought back to life so we don't have to depend on gal. * providers/imap/camel-imap-store.c (imap_store_setup_online): Use strstrcase rather than e_strstrcase so we don't depend on gal. (get_unread_online): Same here. * providers/smtp/camel-smtp-transport.c (smtp_helo): Use strstrcase. svn path=/trunk/; revision=9383
* Updated to reflect the few changes made to the CamelPgpContext class.Jeffrey Stedfast2001-04-131-0/+2
| | | | | | | | | | | | | | | 2001-04-12 Jeffrey Stedfast <fejj@ximian.com> * camel-pgp-mime.c: Updated to reflect the few changes made to the CamelPgpContext class. * camel-pgp-context.c: Updated to subclass of CamelCipherContext. * camel-cipher-context.[c,h]: New base class for CamelPgpContext. Also contains the replacement for CamelPgpValidity, CamelCipherValidity. svn path=/trunk/; revision=9283
* Added pgp-mime.c to the tests.Jeffrey Stedfast2001-04-121-0/+2
| | | | | | | | | | | | | | | | 2001-04-11 Jeffrey Stedfast <fejj@ximian.com> * tests/smime/Makefile.am: Added pgp-mime.c to the tests. * tests/smime/pgp-mime.c: Test suite for camel-pgp-mime.c functions. * Makefile.am: Add camel-pgp-mime.[c,h] to the build. * camel-pgp-mime.c: Made a number of fixes to get it to compile and also fixed a few logic errors (mostly forgetting to reset streams) so that it worked (thanks to the pgp-mime test program). svn path=/trunk/; revision=9247
* Check if gethostbyname_r take five paramsJP Rosevear2001-04-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-11 JP Rosevear <jpr@ximian.com> * configure.in: Check if gethostbyname_r take five params * acconfig.h: add GETHOSTBYNAME_R_FIVE_ARGS 2001-04-11 JP Rosevear <jpr@ximian.com> * providers/imap/Makefile.am: user GNOME_INCLUDEDIR since gnome files are included in the top level camel headers and the gtk include dir is now versioned and such * providers/local/Makefile.am: ditto * providers/pop3/Makefile.am: ditto * providers/smtp/Makefile.am: ditto * providers/sendmail/Makefile.am: ditto * camel-service.c: use five arg version of gethostbyname_r if appropriate (camel_get_host_byname): check if msg->herr is non-zero instead of checking if msg->hp is null since we may not always have msg->hp svn path=/trunk/; revision=9239
* Added camel-pgp-context.[c,h] to the build. Also added tests/smime/pgp.cJeffrey Stedfast2001-04-101-0/+2
| | | | | | | | | | | | | 2001-04-06 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Added camel-pgp-context.[c,h] to the build. Also added tests/smime/pgp.c and Makefile.am * tests/smime/pgp.c: New test suite for PGP functions. * camel-pgp-context.c: Various fixes to get it to build. svn path=/trunk/; revision=9213
* Added tests/ back inJeffrey Stedfast2001-04-041-1/+1
| | | | | | | | | | | | | | | 2001-04-03 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Added tests/ back in * camel-mime-utils.c (header_decode_text): Ignore whitespace between encoded words (there were a few cases where it didn't before). (header_encode_string): Preserve whitespace between words that are to be encoded by encoding them too. (header_encode_phrase): Same here but with phrases. svn path=/trunk/; revision=9158
* New files to handle the LOGIN SASL mechanism.Jeffrey Stedfast2001-04-021-0/+2
| | | | | | | | | | | | | | | | | | | 2001-04-01 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-login.[c,h]: New files to handle the LOGIN SASL mechanism. * camel-sasl-plain.c: Removed the definition of camel_sasl_login_authtype. * camel-sasl.c (camel_sasl_new): Oops. I thought LOGIN was an alias to PLAIN. I was wrong. These two SASL objects have to be separate. * providers/smtp/camel-smtp-transport.c (smtp_auth): Updated to check for and use authmech->quick_login when available. svn path=/trunk/; revision=9088
* If we aren't going to even check the resp/free buffer that gets returnedJeffrey Stedfast2001-03-281-1/+1
| | | | | | | | | | | | | | | 2001-03-27 Jeffrey Stedfast <fejj@ximian.com> * providers/pop3/camel-pop3-folder.c (pop3_sync): If we aren't going to even check the resp/free buffer that gets returned from camel_pop3_command, don't even bother using it. Send in NULL instead. (pop3_get_message): Check to make sure that the `result' string is non-NULL. It's possible that some POP servers may return with "+OK\r\n<message>..." rather than the expected "+OK ### octets\r\n<message>..." svn path=/trunk/; revision=8985
* Use camel_vtrash_folder_new() to create the vtrash folder now.Jeffrey Stedfast2001-03-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-26 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (init_trash): Use camel_vtrash_folder_new() to create the vtrash folder now. * camel-vtrash-folder.[c,h]: New subclass of CamelVeeFolder for our vTrash folders. * camel-folder.c (camel_folder_copy_messages_to): Don't watch for vtrash folders anymore. (camel_folder_move_messages_to): Same. * camel-vee-folder.c (camel_vee_folder_class_init): Update. (vee_move_messages_to): Rewrite to use the new move API. * camel-filter-driver.c (do_copy): Updated to reflect copy_message_to changes. Create a temporary uid array and use that. (do_move): Same. (camel_filter_driver_filter_message): And again, here... * providers/imap/camel-imap-folder.c (imap_copy_messages_to): Update to the new API. (imap_move_messages_to): Same. (get_uid_set): New function to create a `set' string based on an array of UIDs for use with imap_copy_messages_to. * camel-folder.c (camel_folder_copy_messages_to): Replaces camel_folder_copy_message_to (camel_folder_move_message_to): Replaces camel_folder_move_message_to. svn path=/trunk/; revision=8960
* Added $(EXTRA_GNOME_CFLAGS)Christopher James Lahey2001-03-201-0/+1
| | | | | | | | 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Makefile.am (INCLUDES): Added $(EXTRA_GNOME_CFLAGS) svn path=/trunk/; revision=8838
* Don't include system include dir.Jeffrey Stedfast2001-03-181-1/+1
| | | | | | | | | | | | | 2001-03-17 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Don't include system include dir. * camel.c: Use quotes around the nss.h include so it doesn't try to use the systen nss.h file. * camel-tcp-stream-ssl.c: Same here. svn path=/trunk/; revision=8786
* Numerous fixes to get it to build correctly with NSS enabled.Jeffrey Stedfast2001-03-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | 2001-03-14 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c: Numerous fixes to get it to build correctly with NSS enabled. * camel-remote-store.c (remote_connect): Pass in the session and expected host args, oops. * camel-provider.h (CAMEL_URL_ALLOW_SSL): Defined. * providers/imap/camel-imap-store.c (camel_imap_store_init): Check to see if we are supposed to use SSL and set the options accordingly. (imap_connect): Return FALSE here instead of NULL. * providers/imap/camel-imap-provider.c: Add CAMEL_URL_ALLOW_SSL. * providers/imap/libcamelimap.urls: Add "imaps" which is the protocol for Secure IMAP. svn path=/trunk/; revision=8711
* AddedJeffrey Stedfast2001-03-151-0/+2
| | | | | | | | | | | | 2001-03-14 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.[c,h]: Added * Makefile.am: Added camel-tcp-stream-openssl.[c,h] to the build. * camel-types.h: Added CamelTcpStreamSSL and CamelTcpStreamOpenSSL svn path=/trunk/; revision=8710
* re-constify inbuf, to remove a warning.Not Zed2001-03-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-14 Not Zed <NotZed@Ximian.com> * camel-mime-filter-charset.c (filter, complete): re-constify inbuf, to remove a warning. * camel-mime-parser.c (folder_scan_step): When we're out of data, run the filter_complete. For some reason the logic that was there was never being run, always try it now, i think it was to work around a buggy filter, rather than fix it the right way. * camel-folder-summary.c (summary_build_content_info): If indexing html parts, use the html filter to convert it to some indexable format. (summary_build_content_info): Reset the filters before adding them back to the stream, if they get re-used in a given instance (likely). * Makefile.am (libcamelinclude_HEADERS): Added camel-mime-filter-html.[ch]. (INCLUDES): Added xml clags 2001-03-05 Not Zed <NotZed@Ximian.com> * camel-folder-search.c (camel_folder_search_class_init): Setup a new function, "uid" which matches uids. (search_uid): Implement the "match uid" command. svn path=/trunk/; revision=8705
* Added camel-tcp-stream-ssl to the build.Jeffrey Stedfast2001-03-141-0/+2
| | | | | | | | | | | 2001-03-13 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Added camel-tcp-stream-ssl to the build. * camel-remote-store.h: Add a use_ssl member to the CamelRemoteStore object. svn path=/trunk/; revision=8698
* Oops. Make this a subclass of CamelTcpStream, not CamelStream.Jeffrey Stedfast2001-03-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2001-03-13 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_get_type): Oops. Make this a subclass of CamelTcpStream, not CamelStream. * camel-types.h: Add the defs for CamelTcpStream and CamelTcpStreamRaw * Makefile.am: Add camel-tcp-stream and camel-tcp-stream-raw to the build. * camel-remote-store.c (remote_connect): Update to use CamelTcpStreams. * camel-tcp-stream-raw.c (stream_connect): Made cancellable by copying the currently used code in camel-remote-store.c. (stream_setsockopt): Oops, flags = fcntl (..., GET_FL); (camel_tcp_stream_raw_get_type): Oops. Make this a subclass of CamelTcpStream, not CamelStream. svn path=/trunk/; revision=8697
* #include "camel-sasl-digest-md5.h" (camel_sasl_authtype_list): addJeffrey Stedfast2001-03-021-0/+2
| | | | | | | | | | | | | | 2001-03-01 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl.c: #include "camel-sasl-digest-md5.h" (camel_sasl_authtype_list): add DIGEST-MD5 stuff here. (camel_sasl_authtype): And here too. (camel_sasl_new): And here... * camel-sasl-digest-md5.[c,h]: new SASL class for DIGEST-MD5 (has been tested and proven to work). svn path=/trunk/; revision=8513
* camel depends on krb4 now (where available), for camel-sasl-kerberos4.cDan Winship2001-03-021-1/+4
| | | | | | | | | | * Makefile.am (libcamel_la_LIBADD, INCLUDES): camel depends on krb4 now (where available), for camel-sasl-kerberos4.c * camel-sasl-kerberos4.[ch]: Make this at least compile. Dunno if it works yet. svn path=/trunk/; revision=8451
* Added camel-sasl-anonymous.[c,h] to the build.Jeffrey Stedfast2001-03-011-0/+2
| | | | | | | | | | | | | | | 2001-02-28 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Added camel-sasl-anonymous.[c,h] to the build. * camel-sasl-anonymous.[c,h]: new SASL class for ANONYMOUS * camel-sasl-plain.c (plain_challenge): Oops, have a state for setting sasl->authenticated = TRUE; * camel-sasl-cram-md5.c (cram_md5_challenge): Same here. svn path=/trunk/; revision=8433
* Added camel-sasl*.[c,h] to the build.Jeffrey Stedfast2001-03-011-0/+8
| | | | | | | | | | | | | | | | | | | | | | 2001-02-28 Jeffrey Stedfast <fejj@ximian.com> * Makefile.am: Added camel-sasl*.[c,h] to the build. * camel-sasl.[c,h]: new "abstract" SASL class * camel-sasl-kerberos4.[c,h]: new SASL class for KERBEROS_V4 * camel-sasl-cram-md5.[c,h]: new SASL class for CRAM-MD5 * camel-sasl-plain.[c,h]: new SASL class for PLAIN * providers/imap/camel-imap-auth.c: Removed the base64 functions. * camel-mime-utils.c (base64_encode_simple): Moved here from camel-imap-auth.c (base64_decode_simple): Same. svn path=/trunk/; revision=8428
* Removed all files.Not Zed2001-02-221-0/+4
| | | | | | | | | | | | | | | | | | | | | 2001-02-22 Not Zed <NotZed@Ximian.com> * providers/vee/*: Removed all files. * camel-private.h: Move camel-vee-private.h stuff into here. * camel-session.c: Move the vee_provider here, and initialise it always as part of a session. The vfolder provider is always available. * providers/Makefile.am: Remove "vee" from the build list, now built as part of the main library. * Makefile.am (libcamelinclude_HEADERS): (libcamel_la_SOURCES): Added camel-vee-store.[ch], camel-vee-folder.[ch]. svn path=/trunk/; revision=8340
* Changed to push the operation into a status stack.Not Zed2001-02-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-07 Not Zed <NotZed@Ximian.com> * camel-operation.c (camel_operation_start): Changed to push the operation into a status stack. (camel_operation_progress): Changed to only accept % complete. (camel_operation_reset): Free status stack as well. * providers/pop3/camel-pop3-folder.c (pop3_get_message): Get the octect count from the return line, and pass it to get_additional_data(). (pop3_refresh_info): Added status stuff. * providers/pop3/camel-pop3-store.c (camel_pop3_command_get_additional_data): Added a total bytes expected argument for progress reporting & fixed callers. (camel_pop3_command_get_additional_data): Added progress reporting. * providers/local/camel-mbox-summary.c (mbox_summary_sync_full): (mbox_summary_sync_quick): (summary_rebuild): Added progress reporting stuff. svn path=/trunk/; revision=8095
* Changed the subject search to handle case sensitive when it is mixed case.Not Zed2001-01-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-25 Not Zed <NotZed@Ximian.com> * tests/folder/test3.c: Changed the subject search to handle case sensitive when it is mixed case. * Makefile.am (libcamel_la_SOURCES): Added camel-ssearch-private.c (noinst_HEADERS): Added camel-search-private.h * camel-folder-search.c (check_header): New function to do the work of the various header checks. (search_header_matches): (search_header_starts_with): (search_header_ends_with): (search_header_contains): Use check_header to do the work. (build_match_regex): Removed. * camel-search-private.c (header_soundex): New function to match words to phrases using soundex algorithm. * camel-filter-search.c (soundexcmp): Removed. (check_match): Moved to search-private.h 2001-01-24 Not Zed <NotZed@Ximian.com> * camel-search-private.c (camel_search_build_match_regex): Added extra flags, so the same function can be used for start/end/whole/partial matches. (camel_search_header_match): Convenience function to check a single header against all sorts of different matches. * providers/imap/camel-imap-search.c (imap_body_contains): Fix for e_sexp api changes. * camel-folder-search.c: Fix for e_sexp api changes. (search_header_contains): Free args/quit on unknown header. (search_header_matches): " (search_header_starts_with): " (search_header_ends_with): " (match_message): Add an exception argument. (search_body_contains): Free args/quit on fatal error. (message_body_contains): Removed (moved to camel-search-private.c), fixed callers. * camel-filter-search.c: Fix for e_sexp api changes. (build_match_regex, message_body_contains): Moved into camel-filter-private.c Fixed callers. (check_header): moved guts to camel-search-private, and changed to use regex's for everything. Just calls that with the right args. (check_header): GEts the header, decodes it, and checks for failure, and whatnot. (check_match): Removed. (header_soundex): Changed significantly. Now it soundexes each word in the header separately, and compares it to the first argument. * tests/folder/test9.c (main): Fix for api changes. (main): Added tests to see that invalid match and action rules are properly detected. * camel-filter-driver.c (camel_filter_driver_filter_mbox): Remove the 'finished message' bit. (camel_filter_driver_filter_message): Remove an accidentally checked in debug. (camel_filter_driver_filter_message): Fix for e-sexp api changes. svn path=/trunk/; revision=7796
* Index: ChangeLogMichael Zucci2001-01-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Index: ChangeLog =================================================================== RCS file: /cvs/gnome/evolution/camel/ChangeLog,v retrieving revision 1.684 diff -r1.684 ChangeLog 0a1,34 > 2001-01-17 Not Zed <NotZed@Ximian.com> > > * camel-folder.c (free_summary): Call > camel_folder_summary_array_free() to do the work. > (get_summary): Use camel_folder_summary_array() to get the array > atomically. These fixes allow folder/test8 to work again, and fix > a sort of race where the summary size can change while we were > making a copy of it. > > * camel-folder-summary.c (camel_folder_summary_array): Get the > summary array atomically, so it can't contain empty records. > (camel_folder_summary_array_free): And free it. > > * tests/lib/camel-test.c (die): If we are verbose & in threads, > then goto sleep so we can debug. > > * tests/folder/test8.c (worker): Add a missing pull() for > comnparing content. > > * camel-filter-search.c: Fix the symbol table, so match-all is an > immediate function, as it should be. > > * tests/folder/test9.c (main): New test, tests some filtering > things. > > * tests/message/test3.c (main): Dont use a boundary string with > spaces in it. Folding can corrupt it. Maybe the folding isn't > working entirely right, but anyway. > > * camel-session.c: Debug out the debug. > > * camel-filter-driver.c (camel_filter_driver_filter_folder): Plug > a messageinfo leak. > 1a36,94 > > * camel-filter-search.c (header_exists): Changed to support > multiple args (or'd together). > (header_contains): Cleaned up to match the search code. Why did > fejj change it? I'll never know. > (header_matches): > (header_starts_with): > (header_ends_with): Big cleanup of fejj's "i'm the cut & paste > king" code. Also properly handle or'ing of additional args to > match what the folder-search code should do. > (check_match): New function which does the annoying matching > stuff (for header matches). > (check_header): Similarly, handles or'ing of the matches together. > (header_contains): > (header_matches): > (header_starts_with): > (header_ends_with): Call check_header to do the actual work. > (header_soundex): And here too. > (match_all): Yeah like match-all isn't passed expression results, > its passed expression terms. Fix this so match-all works like it > should, by executing the contained expression. > (message_body_contains): Copied directly from > camel-folder-search.c, a more robust/faster/simpler body search > code. > (mime_part_matches): Removed entirely. > (handle_multipart): Removed entirely. > (build_match_regex): Copied from camel-folder-search. Builds a > set of simple strings into a regex pattern that matches any of > them (for faster & simpler matching). Expanded to accept regex > patterns itself, so it can merge them together. > (body_contains): Use build match/match message to match using a > built regex. > (body_regex): Likewise, this time we tell it we're building a > regex though. > (header_full_regex): Use build_match_regex to take the drudgery > out of it, and expand it to handle multiple regex's at once. > (get_full_header): slightly cleaner (well i dunno, the sprintf > stuff just got to me). > (header_regex): Cleaned up to use build_match_Regex too, and to > properly check types. > (filter_message_search): Just allocate 'fms' on the stack. > > * camel-filter-driver.c (camel_filter_driver_finalise): > (camel_filter_driver_init): > (camel_filter_driver_class_init): > (camel_filter_driver_get_type): Changed from gtk object to camel > object. > (camel_filter_driver_add_rule): New function to add a rule to be > processed in sexp form. > (camel_filter_driver_init): Init the rules list. > (camel_filter_driver_finalise): Clear the rules/rules list. > (camel_filter_driver_filter_message): Scan rules list directly > rather than creating on the fly. > > * Makefile.am (libcamelinclude_HEADERS): Added camel-filter-driver.h > (libcamel_la_SOURCES): Added camel-filter-driver.c, code taken > from filter-driver, which can drive, uh, filters based on sexp's. > (libcamelinclude_HEADERS): > (libcamel_la_SOURCES): Added camel-filter-search.[ch] svn path=/trunk/; revision=7560
* Remove this. It was only a thin wrapper around struct _header_content_typeDan Winship2000-12-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | * gmime-content-field.[ch]: Remove this. It was only a thin wrapper around struct _header_content_type anyway, and didn't match the naming scheme of anything else. * Makefile.am: Remove gmime-content-field.[ch] * camel.h: Remove gmime-content-field.h * camel-types.h: Add CamelContentType as a typedef for struct _header_content_type (especially for use outside of camel). * camel-multipart.c: * camel-mime-part.c: * camel-mime-message.c: * camel-folder-summary.c: * camel-folder-search.c: * camel-data-wrapper.[ch]: Use CamelContentType and header_content_type_* functions rather than the GMime stuff. * camel-mime-part-utils.c: * camel-medium.c: Remove unused gmime-content-field.h include. svn path=/trunk/; revision=7186
* Lock the command channel while searching. (imap_body_contains): IfNot Zed2000-12-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-24 Not Zed <NotZed@HelixCode.com> * providers/imap/camel-imap-search.c (imap_body_contains): Lock the command channel while searching. (imap_body_contains): If performing a whole uid search, then add references to our own summary items, dont look it up in the folder. This way they can't vanish unexpectedly. * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a private field. * providers/imap/camel-imap-private.h: Added lock for imap searches. * Merge from camel-mt-branch. * providers/imap/camel-imap-folder.c (imap_update_summary): Merge fix, use the folder->summary. (imap_get_message_flags, imap_set_message_flags, imap_get_message_user_flag, imap_set_message_user_flag): Removed again. (camel_imap_folder_init): Setup private data/lock. (imap_finalize): Free private data/search lock. (imap_search_free): Lock the search_lock. (imap_search_by_expression): Lock the search lock when using the search object. Also copy/ref hte summary, rather than getting it directly. (imap_refresh_info): Free any info lookups. Use folder->summary not imap_folder->summary. And lock around commands. svn path=/trunk/; revision=7150
* Remove use of linewrap filter. Headers are now wrapped. encode_8bitMichael Zucci2000-12-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * providers/smtp/camel-smtp-transport.c (smtp_data): Remove use of linewrap filter. Headers are now wrapped. encode_8bit already enforces a 998 octet line limit. (smtp_data): Also fixed a memleak, we always have to unref our own copy of the filters. We also dont need to remove them manually, so dont bother. The type's an int too ... * camel-internet-address.c (internet_unformat): When scanning past quotes, remove them also. (camel_internet_address_format_address): If the name contains "'s, or ','s then strip and quotes and wrap the whole lot in one set of quotes. * Makefile.am (noinst_HEADERS): We dont want to install camel-charset-map-private.h, ever. There are probably other similar files ..? * camel-mime-part.c (write_to_stream): Fold header lines appropriately as we're writing them out. * camel-mime-utils.c (header_fold): Add a new argument, headerlen, tells it how long the associated header token is. (header_fold): Also,k check to see if we need to fold first, using a better algorithm, and also accept already-folded lines, and re-process accordingly. (rfc2047_decode_word): Add a little buffer space to iconv output for shifting overheads? (rfc2047_decode_word): finish the iconv with a null call, to flush shift state, etc. (rfc2047_encode_word): Attempt to break up long words into appropriately sized, independent, chunks. See rfc2047, section 2. (header_decode_mailbox): Dont add in extra spaces into the output if we are decoding adjacent encoded words. We can only guess this case, as some broken mailers put encoded words inside quoted words. (header_encode_phrase): Dont merge words if they are going to end up too long. Also change back ot only merge consecutive words of the same type. e.g. 'foo. blah fum.' -> "foo." blah "fum." or 'iam an. idiot' -> iam "an." idiot svn path=/trunk/; revision=6902
* Add tests.Not Zed2000-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-24 Not Zed <NotZed@HelixCode.com> * Makefile.am (SUBDIRS): Add tests. * camel-mime-filter-basic.c (filter): Well, I'll add the extra bytes here too, lathough not strictly needed, might save a re-malloc when we get to complete(). * camel-mime-filter-charset.c (filter): Make sure we have room if we only convert very short data. (complete): and here too. * tests/Makefile.am: Initial test harness & tests. Requires gcc for this. * camel-internet-address.c (d): Turn off debug. * camel-charset-map.c (camel_charset_step): Oops, & masks for set intersection, not | them. Dunno how this got even close to working. 2000-11-23 Not Zed <NotZed@HelixCode.com> * camel-mime-filter-basic.c (filter): For base64 encoding, the output size for 0, 1, or 2 bytes of input can exceed input*2, so make sure we account for that as well. (complete): And here. (complete): Similarly for qp encoding, if we have a trailing space, we need some extra bytes (not needed for 'filter()', as any such bytes are stored in state/save). * camel-mime-utils.c (quoted_decode_step): Removed fixme not required. (quoted_encode_close): Dont append a trailing afterall. Otherwise a pass through the encode/decode will grow the message each time. svn path=/trunk/; revision=6656
* Added camel-folder-thread.[ch].Not Zed2000-11-211-0/+2
| | | | | | | | | | | | | | 2000-11-21 Not Zed <NotZed@HelixCode.com> * Makefile.am (libcamel_la_SOURCES): Added camel-folder-thread.[ch]. * camel-folder-thread.c: message-threading algorithm, taken from evolutions' mail component, as it is generally more useful than just for evolution itself. Changed to use e-memchunks as well to speed it up a little and use less mem. svn path=/trunk/; revision=6623
* New file - utility functions for locking using different strategies and/orNot Zed2000-11-161-0/+2
| | | | | | | | | | | 2000-11-16 Not Zed <NotZed@HelixCode.com> * camel-lock.c: New file - utility functions for locking using different strategies and/or for locking folders safely. * Makefile.am (libcamel_la_SOURCES): Adde camel-lock.[ch] svn path=/trunk/; revision=6590
* Implement a complete() function, now we need one. (filter): Upgraded toNot Zed2000-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-07 Not Zed <NotZed@HelixCode.com> * camel-mime-filter-bestenc.c (complete): Implement a complete() function, now we need one. (filter): Upgraded to match rfrc2045 properly. Checks also for length of line and valid CRLF sequences. (camel_mime_filter_bestenc_get_best_encoding): Do the work of working out what is the best encoding given what we found about the stream. * camel-mime-part.c (camel_mime_part_encoding_to_string): Use a lookup table to get the encoding naem, and add the binary type. (camel_mime_part_encoding_from_string): Likewise for the reverse. * camel-mime-part.h: Added the binary encoding type, see rfc2045. * camel-mime-utils.c (header_param_list_format_append): Dont put a space before ;'s in parameter lists, makes them more readable/consistent. * camel-mime-message.c (multipart_has_8bit_parts): Cleaned up the old stuff, well removed it. (camel_mime_message_set_best_encoding): Added another argument that lets you select what you want to set the best of. i.e. for smtp transport we only need 7 bit, and dont need to optimise the charset (although of course, we should always). (find_best_encoding): Implement this feature, if we are not getting the best charset, use the one we have. (best_encoding): Set the charset on the part appropriately. Sigh, the interfaces for this are nonexistant. (find_best_encoding): Tell the bestenc filter that lf should be treated as crlf for the purposes of determining encodings. 2000-11-06 Not Zed <NotZed@HelixCode.com> * camel-charset-map.c (camel_charset_init): Init function for an iterative charset determinator. (camel_charset_step): Iterate another buffer. (camel_charset_mask): Removed, since it couldn't have worked. (camel_charset_best): Use the iterative interface to do the work. (camel_charset_best_name): Get the best name for a charset so far. * camel-mime-filter-bestenc.c: New class, a stream filter that can be used to memory-efficiently determine the best encoding and/or charset to use for a given stream of bytes. * Makefile.am (libcamelinclude_HEADERS): Added stream-null*. (libcamel_la_SOURCES): Added bestenc* * camel-stream-null.c: New class, a null-stream, that always succeeds, and never has any contents. * camel-stream.c: Minor pointless changes. Was going to do something else but changed my mind. Added trivial default implementations for all callbacks. * camel-mime-message.h: Cleaned up some old cruft. * camel-folder-summary.c (camel_folder_summary_format_address): address_list_format() no longer encodes, so we dont need to decode it. * camel-address.c (camel_address_unformat): New function, attempts to reverse the formatting process on display addresses. (camel_address_length): New function to get the number of addresses, without having to peek the structure. * camel-mime-message.c (camel_mime_message_set_from): Fix a typo. (camel_mime_message_finalize): Only unref from/reply_to if we have it. (camel_mime_message_set_recipients): New function - set the recipients as a CamelInternetAddress. This function effectively deprecates the older recipient setting functions. (camel_mime_message_add_recipient): What the hell, i'll bite the bullet. Terminate this function. The old api was ambiguious and inefficient and didn't work right anyway. (camel_mime_message_remove_recipient_address): And this one. (camel_mime_message_remove_recipient_name): And this one too. (camel_mime_message_set_recipients): If we set an empty header, then remove it from the header list. Allow a null receipient object to clear a header. (camel_mime_message_set_from): Likewise, if setting an empty from address. (camel_mime_message_encode_8bit_parts): Eeek!! camel_stream_mem_new_with_byte_array owns the byte_array we give it, so make sure we dont free any of it! (camel_mime_message_encode_8bit_parts): Infact, i'll just rewrite the whole lot, its a bit of a mess. Should really rename it and make it a little more useful too, lets see ... (best_encoding): This has a string interface? Oh boy. (camel_mime_message_foreach_part): New experimental function to iterate over all message parts. Might not remain. (camel_mime_message_has_8bit_parts): New implementation using foreach_part. Fixed a couple of problems. (find_best_encoding): New function, that finds the best encoding for a given part (will probably be moved to camel-mime-part), and also the best charset to use if it is a text part. Since one affects the other it is a two pass process, but uses streams and not memory to achieve this. (camel_mime_message_set_best_encoding): Uses the function above to configure an entire message for the best encoding possible given transport constraints. (camel_mime_message_encode_8bit_parts): Reimplemented to use the function above to perform the work. * camel-internet-address.c (camel_internet_address_format_address): Dont put <> around a lone address with no real name. (camel_internet_address_encode_address): Similarly. (internet_decode): Actually return the count of decoded addresses. (internet_unformat): Implement the unformatting routine. 2000-11-05 Not Zed <NotZed@HelixCode.com> * providers/smtp/camel-smtp-transport.c (_send_to): Changed to get the internetaddress directly, rather than having to parse it itself. * camel-address.c (camel_address_format): Added a new function which will format address, suitable for display. (camel_address_cat): Concatentate 1 camel address onto another. It is upto the caller to ensure the addresses are of compatible types. (camel_address_new_clone): New function to create a new address by copying an existing one of the same type. (camel_address_copy): New helper function to copy an address. * camel-mime-message.h (struct _CamelMimeMessage): Removed cached copy of date string. (struct _CamelMimeMessage): Added date_received info. * camel-mime-message.c (camel_mime_message_get_date_string): Removed. Nothing uses it anyway, and it is redundant. (camel_mime_message_finalize): No more date_str. (camel_mime_message_init): No more date_str, initialise date_received* (write_to_stream): Change the check for a date header. (process_header): No longer track the date_str. (camel_mime_message_get_received_date): Removed. totally invalid anyway. (camel_mime_message_get_sent_date): Removed. Redundant. The only 'date' is the sent date, the received date is just made up. (camel_mime_message_get_date): Args changed to be more consistent with utility functions. (camel_mime_message_get_date): Dont set the date when we're asked for it (if its not set by the time its written, it'll be set then). (camel_mime_message_get_date_received): Actually do 'the right thing' here, if we have a received header, use that to determine the received date. And return the data in the same format as get_date. (camel_mime_message_set_from): Changed the api to better match what we should be doing. Pass a camelinternetaddress, etc. (camel_mime_message_set_reply_to): Cahnged similarly to take an internetaddress. (camel_mime_message_get_reply_to): Likewise. (camel_mime_message_finalize): Unref the from/reply_to objects. (format_address): Removed, no longer needed. (process_header): Changed to store the from/reply_to as internetaddress's. (write_to_stream): Set the from header directly to empty, if we dont have one. Maybe we should just abort, and/or create one based on the current user. * camel-mime-utils.c (header_address_list_format): Renamed to header_address_list_encode, which is what it is actually doing. (header_address_list_format_append): Similarly. (encoding_map[]): Removed, no longer used. (header_address_list_encode_append): Take another arg, do we encode the address (for internet), or not (for display - utf8 only). (header_address_list_format): Re-added this function, but now it generates a display version only. Surprise surprise, that is all anythign needs to generate anyway. Sigh. * camel-internet-address.c (camel_internet_address_get): Return false if we get an invalid index only. (camel_internet_address_encode_address): Helper function to encode a single address for mailing. (internet_encode): Use the above function to format it. (camel_internet_address_format_address): Format a single address for display. (internet_format): Implement the display version. (camel_internet_address_class_init): Init the internet_format virtual function. (internet_cat): Implement virtual function to concatenate addresses. * camel-folder-summary.c (camel_folder_summary_info_new_from_header): new function, only build the summary info, dont add it. (camel_folder_summary_info_new_from_parser): Likewise, for new info from parser. (camel_folder_summary_add_from_parser): Cahnged to call function above to build info. (camel_folder_summary_add_from_header): Changed to call function above, to build info. (camel_folder_summary_info_free): New function to free the summary message info. (camel_folder_summary_clear): Changed to clal above to free info. (camel_folder_summary_remove): Likewise. (camel_folder_summary_add): Cleaned up the clashing uid re-assignment logic a little bit. (camel_folder_summary_decode_uint32): Fixed a typo, 01 != -1. (camel_folder_summary_decode_time_t): Return -1 on error. (camel_folder_summary_encode_off_t): New function to encode an off_t type. (camel_folder_summary_decode_off_t): And likewise for the reverse. (CAMEL_FOLDER_SUMMARY_VERSION): Bumped the summary version, since we're now encoding time/off_t's right. (summary_header_save): Use time_t encoder to save the timestamp. (summary_header_load): Likewise for decoding the timestamp. (content_info_load): Decode off_t types directly, now we can. (content_info_save): And likewise for encoding. (camel_folder_summary_add_from_message): New function, create a summary item from an existing message and add it. (camel_folder_summary_info_new_from_message): New function, create a summary item from an existing message. (summary_build_content_info_message): New function to do the dirty work of building the conent info/indexing, from a message source. (format_recipients): Format an internetaddress suitable for the summary. (message_info_new_from_message): Build a new summary item from a mime message. (content_info_new_from_message): Build a new conent info from a mime part. (camel_folder_summary_class_init): Init the new class functions. (message_info_new_from_message): Fixed for message api change. Added documentation to the functions. svn path=/trunk/; revision=6474
* build md5-utils72000-10-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2000-10-27 <jpr@helixcode.com> * Makefile.am: build md5-utils * md5-utils.c: Make part of util, get rid of camel stream util function include string.h * md5-utils.h: ditto 2000-10-27 <jpr@helixcode.com> * providers/pop3/Makefile.am: Tidy up build * providers/smtp/Makefile.am: ditto * Makefile.am: Move md5-utils.[hc] to e-util because the addressbook is going to use md5 hashes for pilot syncing. Maybe the calendar conduits as well because this is a good idea Chris had. svn path=/trunk/; revision=6234
* Build fixes from Jacob, same as the other branch.Ettore Perazzoli2000-10-201-0/+2
| | | | svn path=/trunk/; revision=6035
* New function to fold headers.Not Zed2000-09-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-28 Not Zed <NotZed@HelixCode.com> * camel-mime-utils.c (header_fold): New function to fold headers. 2000-09-27 Not Zed <NotZed@HelixCode.com> * camel-mime-parser.c (folder_scan_header): If we had an empty header, then it must be end of the headers too. (folder_scan_init): No we dont need to init the outbuf with a nul terminator. * camel-folder-summary.c (camel_folder_summary_set_uid): New function to reset the uid to a higher value. * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync): "something failed (yo!)" what sort of crap is this? Fixed all the indenting again, what wanker keeps running stuff through indent? (message_info_new): Check the uid we loaded off the disk, if it existed already, assign a new one. If it didn't then make sure the nextuid is higher. * camel-charset-map.c: New file, used to build a large unicode decoding mapping table, and use it to determine what is the lowest charset a given word can be encoded with. Uses tables from libunicode's source. * camel-internet-address.c (internet_encode): Use header_phrase_encode to properly encode the fullname, as required. refixed indenting. Who keeps doing that? (camel_internet_address_find_address): Changed fatal return/warnings into assertions. * camel-mime-utils.c (header_raw_append_parse): Check : explicitly (removed from is_fieldname() macro). (camel_mime_special_table): Changed to short, so we can represent more bit types. (quoted_encode): Take a mask of the safe chars for this encoding. (header_address_decode): Removed a #warning that makes no sense anymore. (header_decode_date): Fixed the 'broken date' parser code, if it ever decoded it it just threw away the result. (header_encode_string): Use better charset matching for encoding strings as well. 2000-08-31 Not Zed <NotZed@HelixCode.com> * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Save the index if we do a sync. (camel_mh_summary_check): Save the index here too. Probably. svn path=/trunk/; revision=5615
* Use the linewrap filter to achieve full RFC0821 compliance.Jeffrey Stedfast2000-09-201-1/+2
| | | | | | | | | | | 2000-09-19 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (smtp_data): Use the linewrap filter to achieve full RFC0821 compliance. * camel-mime-filter-linewrap.[c,h]: New mime-filter to word-wrap. svn path=/trunk/; revision=5510
* CamelRemoteStore: a new generic store for stores that connect to servers. ↵Peter Williams2000-08-301-0/+2
| | | | | | Prepare for the ability to cancel operations (much better exception handling). Clean up IMAP like nobody's business svn path=/trunk/; revision=5103
* Merge with camel-async.Peter Williams2000-08-111-4/+4
| | | | svn path=/trunk/; revision=4687
* New code to keep an on-disk cache of what UIDs have been seen in a folder.Dan Winship2000-08-091-37/+39
| | | | | | | | | | | | | | | | | | * camel-uid-cache.c: New code to keep an on-disk cache of what UIDs have been seen in a folder. * camel-provider.h: Add new flags CAMEL_PROVIDER_IS_SOURCE (mail can arrive in it by non-Camel means) and CAMEL_PROVIDER_IS_STORAGE (you can work with mail directly without needing to copy it local). * providers/*/camel-*-provider.c: Add flags as needed: imap and mbox are SOURCE and STORAGE. mh and nntp are just STORAGE, pop3 is just SOURCE. * camel-mime-message.c (process_header): Add another subject g_strstrip that fejj's earlier commit missed. svn path=/trunk/; revision=4616
* Bye bye bye.Dan Winship2000-07-241-4/+0
| | | | | | | | | * camel-folder-pt-proxy.[ch], camel-arg-collector.c, camel-marshal-utils.[ch]: Bye bye bye. * Makefile.am: remove reference to camel-arg-collector.c svn path=/trunk/; revision=4291
* Utilities for parsing broken date strings.Jeffrey Stedfast2000-07-011-0/+2
| | | | | | | | | | | 2000-06-30 Jeffrey Stedfast <fejj@helixcode.com> * broken-date-parser.[c,h]: Utilities for parsing broken date strings. * providers/imap/camel-imap-folder.c: fixed some mem leaks svn path=/trunk/; revision=3840
* Removed the camel-mime-filter-smtp.h entry from Makefile.am - oops!Jeffrey Stedfast2000-06-131-1/+0
| | | | svn path=/trunk/; revision=3537
* Deprecated.Jeffrey Stedfast2000-06-131-1/+0
| | | | | | | | | | | | | | | | | | | 2000-06-12 Jeffrey Stedfast <fejj@helixcode.com> * camel-mime-filter-smtp.c: Deprecated. * providers/smtp/camel-smtp-transport.c (smtp_data): Updated to use camel-mime-filter-crlf with my 'dot' extension in place of camel-mime-filter-smtp * camel-mime-part.c (write_to_stream): Updated to reflect changes made to camel-mime-filter-crlf.c * camel-mime-filter-crlf.c (filter): Modified to be able to encode/decode dots ("\n.\n"<->"\n..\n"). Also fixed the decoder so that it should no longer get caught in an infinite loop. svn path=/trunk/; revision=3536
* New filter to do CRLF<->LF conversion. (Currently only tested in theDan Winship2000-06-131-0/+2
| | | | | | | | | | | | * camel-mime-filter-crlf.c: New filter to do CRLF<->LF conversion. (Currently only tested in the LF->CRLF direction.) * camel-mime-part.c (write_to_stream): if content-type is text, and it's QP or B64 encoded, pass through the CRLF filter before the other filter to satisfy the "canonical encoding" rules in the MIME spec. svn path=/trunk/; revision=3529
* Added a missing smtp-related file to the dist.Ross Golder2000-05-281-0/+1
| | | | svn path=/trunk/; revision=3242
* Removed camel-simple-data-wrapper again. Less code to maintain == betterNotZed2000-05-261-2/+0
| | | | | | | | | | | | | | 2000-05-25 NotZed <NotZed@HelixCode.com> * Makefile.am (libcamel_la_SOURCES): Removed camel-simple-data-wrapper again. Less code to maintain == better code. * camel-data-wrapper.c (construct_from_stream): Fixes for bug where text attachments dont work. Made data-wrapper concrete for the second time. svn path=/trunk/; revision=3207
* stuffJeffrey Stedfast2000-05-231-0/+1
| | | | svn path=/trunk/; revision=3168
* remove get/set_output_stream operations. They're redundant withDan Winship2000-05-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-data-wrapper.c: remove get/set_output_stream operations. They're redundant with write_to_stream, and CamelMimePart and CamelMimeMessage only implement the latter, meaning that trying to get_output_stream on a CamelMimeMessage that was built from pieces rather than being parsed from a stream doesn't work. Anything that uses get_output_stream can be rewritten to use write_to_stream, so we'll standardize on that. (camel_data_wrapper_new): remove this: CamelDataWrapper is supposed to be an abstract class. (write_to_stream): remove default implementation. (Moved to CamelSimpleDataWrapper) * camel-simple-data-wrapper.c: resurrect, although it's not really the same thing it was before. A simple data wrapper, which is backed by a CamelStream. * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): Use construct_from_stream rather than set_output_stream. (camel_mime_part_construct_content_from_parser): Change camel_data_wrapper_new to camel_simple_data_wrapper_new. * camel-mime-part.c (camel_mime_part_set_content): Change camel_data_wrapper_new to camel_simple_data_wrapper_new. svn path=/trunk/; revision=3112
* remove some cruft that we're not currently using.Dan Winship2000-05-121-28/+2
| | | | | | * Makefile.am: remove some cruft that we're not currently using. svn path=/trunk/; revision=3002
* Removed dist-hook section.Christopher James Lahey2000-05-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed dist-hook section. * configure.in: Set the version number. Added a check for gnome window icons. Removed a bunch of unused Makefiles. * tools/Makefile.am: Created a proper EXTRA_DIST section. * widgets/e-text/Makefile.am: Added e-text-event-processor-types.h. From addressbook/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am: Added e-book-types.h, e-card-pairs.h, e-card-types.h. * backend/pas/Makefile.am: Added pas-backend-ldap.h. * contact-editor/Makefile.am: Added a proper EXTRA_DIST section. Removed some old defines. * ename/Makefile.am: Added e-name-western-tables.h. * gui/component/Makefile.am: Added e-ldap-server-dialog.h. Added a proper EXTRA_DIST section. * gui/minicard/e-reflow.c: Added a missed cast. * printing/Makefile.am: Added a proper EXTRA_DIST section. From calendar/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added main.h. Combined the two EXTRA_DIST sections. From camel/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added camel-types.h, camel-folder-pt-proxy.h, and camel-thread-proxy.h. From default_user/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * Makefile.am, local/Calendar/Makefile.am, local/Contacts/Makefile.am, local/Directories/Makefile.am, local/Directories/subfolders/Bigfoot/Makefile.am, local/Directories/subfolders/Netcenter/Makefile.am, local/Drafts/Makefile.am, local/Inbox/Makefile.am, local/Outbox/Makefile.am, local/Trash/Makefile.am: Created a proper EXTRA_DIST section. From filter/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * filter-arg.h: Changed tree.h to gnome-xml/tree.h. * Makefile.am: Added filter-arg-types.h, filter-arg.h, filter-xml.h, filter-format.h, filter-druid.h, filter-editor.h. From libical/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * configure.in: Reorder Makefiles so that it will build. From mail/ChangeLog: 2000-05-09 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed folder-browser-factory.h since it doesn't exist. Added mail-display.h, mail-types.h, pixmaps.h. From widgets/e-table/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-col-dnd.h and table-test.h. From wombat/ChangeLog: 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added an include for the pcs directory. svn path=/trunk/; revision=2966
* Merged NEW_SUMMARY branch back to trunk, and resolved conflicts.NotZed2000-05-081-18/+19
| | | | | | | | | | | | | 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
* Make camel not leak like a sieve.Dan Winship2000-05-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Maxcount is minimum of the max and the requested count, not the maximum :)NotZed2000-05-051-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* No, we're not going to have g_strcasecmp for no good reason,NotZed2000-05-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Some small build fixes:Jacob Leach2000-05-041-0/+1
| | | | | | | | | | | * 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
* REmove gmime-utils.h from here.NotZed2000-05-031-0/+2
| | | | | | | | | | | | | | | | | | | | 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
* Set G_LOG_DOMAIN in following files.Matthew Loper2000-05-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* > * gmime-utils.[ch]: What the hell, remove it. This will break theMichael Zucci2000-05-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | > 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
* Dont try and check a NULL header.NotZed2000-04-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Class to represent news addresses - currently empty, and not built.NotZed2000-04-281-0/+4
| | | | | | | | | | | | | | | 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
* Remove. We weren't using the fields that made this different fromDan Winship2000-04-271-2/+0
| | | | | | | | | | | | | * 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
* sync to current realityDan Winship2000-04-271-2/+0
| | | | | | | | * camel.h: sync to current reality * camel-folder-utils.[ch]: removed svn path=/trunk/; revision=2642
* Big cleanup of camel-stream-*, got rid of 3 classes, improved the interfaces,NotZed2000-04-261-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and fixed at least one problem (end of stream never happening in certain cases). Things that can fail now have a way of saying they failed too. So much for taking ANZAC day off to get drunk! 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. svn path=/trunk/; revision=2624
* No longer call data_wrapper_repository_init.NotZed2000-04-241-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-24 NotZed <NotZed@HelixCode.com> * 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-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. 2a51,93 * 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. 4a96,102 (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. 11a110,111 (_get_message_by_uid): Use construct_from_stream() instead of creating our own parser. 16a117,131 (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 ... 19a135,136 (construct_from_stream): Removed! Job taken over by construct_from_parser. 24a142 (set_input_stream): REmoved. Replaced by construct_from_parser. svn path=/trunk/; revision=2577
* MERGE NEW_PARSER branch into HEAD, fixed conflicts.NotZed2000-04-211-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-20 NotZed <NotZed@HelixCode.com> * 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. svn path=/trunk/; revision=2531
* kill camel-logDan Winship2000-04-191-2/+0
| | | | svn path=/trunk/; revision=2487
* This didn't belong in Camel. Move to mail/Dan Winship2000-04-151-2/+0
| | | | | | | | | | | 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. svn path=/trunk/; revision=2436
* Fix the embarassing cursor bug.Miguel de Icaza2000-04-121-2/+2
| | | | | | Fix the embarassing cursor bug. svn path=/trunk/; revision=2404
* New file with new function to dot-lock an mbox file and copy it to a safeDan Winship2000-04-101-0/+2
| | | | | | | * camel-movemail.c: New file with new function to dot-lock an mbox file and copy it to a safe private directory. svn path=/trunk/; revision=2356
* the URL RFC says the port must be numeric, so we don't want to doDan Winship2000-04-061-2/+2
| | | | | | | | | | | * 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.) svn path=/trunk/; revision=2300
* remove camel-stream-buffered-fs here tooDan Winship2000-03-281-2/+0
| | | | svn path=/trunk/; revision=2192
* New function to scan the provider dir and return a list of all providers.Dan Winship2000-03-231-2/+3
| | | | | | | * camel-provider.c (camel_provider_scan): New function to scan the provider dir and return a list of all providers. svn path=/trunk/; revision=2145
* Added camel-stream-buffer to build.NotZed2000-03-011-0/+2
| | | | | | | | | | | | 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. svn path=/trunk/; revision=1995
* include camel-transportDan Winship2000-02-251-0/+2
| | | | svn path=/trunk/; revision=1923
* A lot of changes in the way the parsing works. I am too lazyBertrand Guiheneuf2000-02-221-0/+2
| | | | | | | | | | 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. svn path=/trunk/; revision=1893
* make a blocking version of the header parser. When the fs stream usesbertrand2000-02-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=1778
* remove camel-stream-buffer from compilation process. It is not hereBertrand Guiheneuf2000-02-141-2/+0
| | | | svn path=/trunk/; revision=1775
* New file, implements the search api for mbox folders.NotZed2000-02-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=1772
* don't build thread related tests if evolution has been compiled with nobertrand2000-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=1725
* parent class is now CamelSeekableStream idem idem idem idem (_seek):bertrand2000-01-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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". svn path=/trunk/; revision=1622
* New files. You'll be able to use a CamelFormatter to get html-formattedMatthew Loper2000-01-211-0/+2
| | | | | | | | * camel/camel-formatter.c, camel/camel-formatter.h: New files. You'll be able to use a CamelFormatter to get html-formatted versions of a CamelMimeMessage. svn path=/trunk/; revision=1600
* remove non updated tests from the build process.bertrand2000-01-131-1/+0
| | | | | | | | | | | | | | | | | | 2000-01-12 bertrand <bertrand@helixcode.com> * tests/Makefile.am (noinst_PROGRAMS): remove non updated tests from the build process. * camel/Makefile.am : remove the rfc2047 related files from the build process as for the moment, nothing has been decided concerning unicode. * Makefile.am (evolution_msg_composer_LDADD): use $(EXTRA_GNOME_LIBS_THREADS) to link with gthread svn path=/trunk/; revision=1564
* Lots of reorganization to get the Evolution shell to begin its life. ItArturo Espinosa2000-01-061-0/+1
| | | | | | | | | Lots of reorganization to get the Evolution shell to begin its life. It also includes a new evolution widget from Damon. Miguel. svn path=/trunk/; revision=1536
* part of the mbox provider.bertrand1999-12-221-1/+1
| | | | | | | | | | | | 1999-12-22 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/mbox/camel-mbox-store.h: * camel/providers/mbox/camel-mbox-store.c: * camel/providers/mbox/camel-mbox-folder.h: * camel/providers/mbox/camel-mbox-folder.c: part of the mbox provider. svn path=/trunk/; revision=1510
* implemented. The routines in this file will be called by providers tobertrand1999-12-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-16 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-utils.c (camel_aml_expunge_messages): implemented. The routines in this file will be called by providers to handle the list of message already standing in memory. 1999-12-15 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-utils.c: * camel/camel-folder-utils.h: New files, misc utilities for the folder providers. Includes active message list utilities. * camel/camel-folder.c (_has_message_number_capability): (camel_folder_has_message_number_capability): Added this to know if a folder provides number-based message access. * camel/camel-folder.c (_get_message_count): added warning when called directly. (_append_message): ditto (_open_async): ditto (_close_async): ditto (_delete_messages): ditto (_expunge): ditto (_get_message_by_number): ditto (_get_message_uid): ditto (_get_message_uid_by_number): ditto (_get_message_by_uid): ditto (_get_uid_list): ditto svn path=/trunk/; revision=1492
* Make `make distcheck' work.Ettore Perazzoli1999-11-171-3/+5
| | | | svn path=/trunk/; revision=1397
* Added streaming capability to CamelDataWrapper. This makes it possible, forEttore Perazzoli1999-11-171-0/+5
| | | | | | | example, to build multipart messages out of files that are on disk without loading them in memory. svn path=/trunk/; revision=1394
* Here is my initial Evolution work: message composition widget and someEttore Perazzoli1999-11-061-1/+2
| | | | | | installation fixes for Camel. svn path=/trunk/; revision=1369
* A lot of changes. The thread proxy mechanismbertrand1999-10-141-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is now functional. The signal proxy needs to be tested though. The thread proxy folder is being implemented. A rough summary : 1999-10-13 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder.c (camel_folder_close): the folder->close method is now asynchronous. * camel/camel-folder-pt-proxy.c (_folder_open_cb): (_open): (_folder_open_cb): (_open): open/close method implemented in the thread proxy folder. More to come. * camel/camel-exception.c (camel_exception_xfer): new utility func. * camel/camel-marshal-utils.c: some new marshallers * camel/camel-folder-pt-proxy.c: Some explanations on the thread proxy system. 1999-10-11 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-marshal-utils.c: camel/camel-marshal-utils.h: Handles operation marshalling. * camel/camel-thread-proxy.c: camel/camel-thread-proxy.h: new files. Generic proxy system. * camel/camel-folder-pt-proxy.c moved all proxy related code in dedicated files. (camel_folder_pt_proxy_init): removed proxy initialisation code (_finalize): removed proxy finalization code * camel/camel-exception.c (camel_exception_new): (camel_exception_set): (camel_exception_free): New funcs. svn path=/trunk/; revision=1328
* weekly commitBertrand Guiheneuf1999-10-091-0/+2
| | | | svn path=/trunk/; revision=1322
* redesign of the proxy/marshaling code. Uses GtkArg now. sync commit.Bertrand Guiheneuf1999-09-281-1/+3
| | | | | | | * redesign of the proxy/marshaling code. Uses GtkArg now. * sync commit. Evolution does not build at all now. svn path=/trunk/; revision=1260
* syncBertrand Guiheneuf1999-09-231-1/+3
| | | | svn path=/trunk/; revision=1255
* Build fixBertrand Guiheneuf1999-09-231-6/+6
| | | | svn path=/trunk/; revision=1254
* Check pthreads.bertrand1999-09-221-4/+21
| | | | | | | | | | | | | 1999-09-21 bertrand <Bertrand.Guiheneuf@aful.org> * configure.in: Check pthreads. * camel/Makefile.am: camel-folder-pt-proxy.c is only compiled when pthreads are available. svn path=/trunk/; revision=1247
* New object. Operation queue. Meant to be used in non-blocking proxybertrand1999-09-171-0/+2
| | | | | | | | | | | 1999-09-17 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-op-queue.h: * camel/camel-op-queue.c: New object. Operation queue. Meant to be used in non-blocking proxy objects. svn path=/trunk/; revision=1231
* First proxy (pthread based) implementation starts.bertrand1999-09-141-0/+2
| | | | | | | | | | | | | | | | * First proxy (pthread based) implementation starts. 1999-09-14 bertrand <Bertrand.Guiheneuf@aful.org> * camel/Makefile.am (libcamel_la_SOURCES): added camel-folder-pt-proxy.[ch] to the build process. * camel/camel-folder-pt-proxy.c (_init_with_store): started implementation of the pthread-based folder proxy. svn path=/trunk/; revision=1223
* imported md5 coding routine from rpm. Compiles.bertrand1999-09-061-0/+2
| | | | | | | | | 1999-09-06 bertrand <Bertrand.Guiheneuf@aful.org> * camel/md5-utils.c: imported md5 coding routine from rpm. Compiles. svn path=/trunk/; revision=1182
* added summary files buildbertrand1999-09-041-0/+2
| | | | | | | | | | | | 1999-09-04 bertrand <Bertrand.Guiheneuf@aful.org> * camel/Makefile.am: added summary files build * camel/camel-folder-summary.[ch]: basic summary framework svn path=/trunk/; revision=1176
* new func. More work on new independant recipient code.bertrand1999-08-301-0/+2
| | | | | | | | | | | | | | | 1999-08-30 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-recipient.c (camel_recipient_get): (camel_recipient_remove): (camel_recipient_add): new func. More work on new independant recipient code. 1999-08-29 bertrand <Bertrand.Guiheneuf@aful.org> * MAINTAINERS: updated my e-mail address. svn path=/trunk/; revision=1148
* new file, groups mime-part related utils. Meant to be used by providersbertrand1999-08-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 1999-08-26 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part-utils.c: new file, groups mime-part related utils. Meant to be used by providers subclassing MimeMessage. (camel_mime_part_construct_headers_from_stream): (camel_mime_part_construct_content_from_stream): no more useless temporary hash table. * camel/camel-mime-part.c (_construct_from_stream): calls mime-part-utils functions now. * camel/gmime-utils.c (_store_header_pair_from_string): do not use hash table to store header, use an array instead. * MimePart cleanup. Not complete yet. Content must not be parsed when constructing but only when content object is requested. Default implementation will keep content in a stream. svn path=/trunk/; revision=1144
* new class. Will handle all sort of information media (Mime mail messages,bertrand1999-08-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-08-24 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-medium.c (camel_medium_class_init): new class. Will handle all sort of information media (Mime mail messages, Lotus Notes mail messages, postit notes, faxes, who knows .... :) CamelMimePart will inherit from it. * camel/camel-mime-part.c (_set_disposition): (_set_description): description and disposition parameters are now const. * camel/gmime-content-field.c (gmime_content_field_free): added assertion code. * camel/providers/MH/camel-mh-folder.c (_get_message): uses buffered stream. * camel/camel-stream-buffered-fs.c: new stream to accelerate file ops. Thanks to jwz, I've decided to add a level of abstraction to Camel. In the future, it should be able to handle other mail systems, but also non-mail information vehicles. Enough for today. Roller time! svn path=/trunk/; revision=1140
* those two func go here now.bertrand1999-08-131-0/+2
| | | | | | | | | | | | | | | | | | | | | 1999-08-13 bertrand <Bertrand.Guiheneuf@aful.org> * camel/hash-table-utils.c (g_strcase_equal): (g_strcase_hash): those two func go here now. * camel/hash_table_utils.c (hash_table_generic_free): free a (gpointer, gpointer) hash table pair. * camel/camel-mime-message.c (camel_mime_message_init): use case insensitive hash table functions. (_set_flag): (camel_mime_message_set_flag): (_get_flag): (camel_mime_message_get_flag): Use const for flag name, they are now duplicated. svn path=/trunk/; revision=1110
* new memory buffer based stream.Bertrand Guiheneuf1999-08-021-0/+2
| | | | | | | | | | | | | | | | | * camel/camel-stream-mem.c: * camel/camel-stream-mem.h: new memory buffer based stream. * camel/camel-stream-fs.c (_seek): implementation for file system based stream. * camel/camel-stream.c (camel_stream_seek): new method. * camel/camel-stream-fs.c (camel_stream_fs_class_init): pass CamelStreamFsClass instead of CamelStreamClass. svn path=/trunk/; revision=1056
* merge a lot of work. Rough ChangeLog will followBertrand Guiheneuf1999-08-011-0/+10
| | | | svn path=/trunk/; revision=1052
* new class. Simple implementation of a data wrapper: simply keeps thebertrand1999-06-251-0/+2
| | | | | | | | | | | | | 1999-06-24 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-simple-data-wrapper.[ch]: new class. Simple implementation of a data wrapper: simply keeps the stream result in a byte array. * camel/camel-mime-part.c (_parse_header_pair): added a warning. Have to think about the correct way to store content type stuff. svn path=/trunk/; revision=995
* use new stream code instead of raw file * stuff.bertrand1999-05-311-0/+2
| | | | | | | | | | | | | | | | | | 1999-05-31 bertrand <Bertrand.Guiheneuf@inria.fr> * tests/test2.c (main): use new stream code instead of raw file * stuff. * camel/gmime-utils.c (get_header_table_from_stream): new func. Will replace get_header_table_from_file and will be used to parse headers from files as well as from memory buffers. * camel/camel-stream-fs.c: CamelStream Subclass. File system based stream. svn path=/trunk/; revision=961
* new class. Represents an abstract stream object.bertrand1999-05-311-0/+2
| | | | | | | | | 1999-05-30 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-stream.h: new class. Represents an abstract stream object. svn path=/trunk/; revision=960
* Mime message ...Bertrand Guiheneuf1999-05-131-0/+2
| | | | svn path=/trunk/; revision=922
* disposition is now a full GMimeContentField object.Bertrand Guiheneuf1999-05-131-2/+4
| | | | | | | | | | | | | | | | | | | * camel/camel-mime-part.h (struct ): disposition is now a full GMimeContentField object. * camel/gmime-content-field.c: new file handle "type/subtype ;parameter=value ; parameter=value ..." BNF grammar elements (gmime_content_field_write_to_file): new func * camel/gmime-utils.c (gmime_write_header_pair_to_file): namespace change Some work on mime stuff. Mime part can save itself into a file. This stuff is boring. svn path=/trunk/; revision=921
* overload wrapper class method. (_write_to_file): start to write some textbertrand1999-05-121-0/+2
| | | | | | | | | | | 1999-05-11 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-mime-part.c (_write_to_file): overload wrapper class method. (_write_to_file): start to write some text in file. svn path=/trunk/; revision=904
* new class. models a mime mail part.bertrand1999-05-091-0/+2
| | | | | | | | | 1999-05-08 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-mime-part.[ch]: new class. models a mime mail part. svn path=/trunk/; revision=894
* sync - Started work on messages classes.Bertrand Guiheneuf1999-05-081-1/+3
| | | | | | Bertrand. svn path=/trunk/; revision=892
* initialize folder object.bertrand1999-04-261-0/+2
| | | | | | | | | | | | | | | 1999-04-25 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-session.c (camel_session_get_store_from_provider): initialize folder object. * camel/camel-store.c (init): new method. called by session object at instantiation time. * camel/camel-store.h (struct _CamelStore): new fields : session and url_name svn path=/trunk/; revision=879
* basic provider structure. Have to write the code for dynamic loading.bertrand1999-04-251-0/+2
| | | | | | | | | | 1999-04-25 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-provider.[ch]: basic provider structure. Have to write the code for dynamic loading. svn path=/trunk/; revision=876
* Utility functions to parse URLs. Stolen shamelessly from gzillabertrand1999-04-231-2/+4
| | | | | | | | | | | | | | 1999-04-23 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/url-util.[ch]: Utility functions to parse URLs. Stolen shamelessly from gzilla (www.gzilla.com) written by Raph Levien <raph@acm.org> * camel/Makefile.am: added url-util.[ch] compilation. svn path=/trunk/; revision=871
* start test provider.bertrand1999-04-221-1/+1
| | | | | | | | | 1999-04-21 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/providers/MH/camel-mh-folder.c (camel_mh_folder_get_type): start test provider. svn path=/trunk/; revision=864
* simple service class addedBertrand Guiheneuf1999-04-211-0/+2
| | | | svn path=/trunk/; revision=859
* started implementation typo uncommented the store related code.bertrand1999-04-191-0/+2
| | | | | | | | | | | | | | | 1999-04-18 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-store.[ch]: started implementation * camel/camel-folder.c (camel_folder_get_type): typo uncommented the store related code. (camel_folder_create): enable som store relted code. Not finished. Have to define public methods first. * camel/camel-log.h: some explanation about the log system svn path=/trunk/; revision=854
* some work log system for camel some utilities for GString objectsbertrand1999-04-181-2/+6
| | | | | | | | | | | | | | | 1999-04-18 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-folder.c: some work * camel/camel-log.c: log system for camel * camel/gstring-util.c: some utilities for GString objects Work on obmail translation. Bertrand svn path=/trunk/; revision=851
* Initial revisionBertrand Guiheneuf1999-04-181-0/+24
svn path=/trunk/; revision=846