aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel.c
Commit message (Collapse)AuthorAgeFilesLines
* Automagically call camel_shutdown() atexit() ;-) (camel_init): AlsoJeffrey Stedfast2001-04-271-14/+19
| | | | | | | | | | | | | | 2001-04-26 Jeffrey Stedfast <fejj@ximian.com> * camel.c (camel_init): Automagically call camel_shutdown() atexit() ;-) (camel_init): Also initialize NSS databases as read/write for S/MIME and if NSS fails to init, try initializing with volatile databases. * camel-file-utils.h: #include <sys/types.h> for off_t. svn path=/trunk/; revision=9609
* Remove UNICODE_CFLAGS (and some other stuff that's redundant withDan Winship2001-04-271-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Big header cleanups and nntp compile fixKjartan Maraas2001-03-301-1/+5
| | | | svn path=/trunk/; revision=9024
* 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
* Don't use the hardcoded cert db directory, use the one passed in.Jeffrey Stedfast2001-03-161-1/+1
| | | | | | | | | | | | | | | | | 2001-03-15 Jeffrey Stedfast <fejj@ximian.com> * camel.c (camel_init): Don't use the hardcoded cert db directory, use the one passed in. * camel-tcp-stream-ssl.c (ssl_get_client_auth): Wrote the default implementation. Not that we'll use this though, since this is the default implementation provided by NSS anyway. This more or less serves as a reference in case we want to change anything. (ssl_auth_cert): Same. (ssl_bad_cert): Changed the prompt string and free it when we're done. svn path=/trunk/; revision=8753
* So it turns out that NSS_Init *isn't* idempotent, so we have to protectJeffrey Stedfast2001-03-151-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-14 Jeffrey Stedfast <fejj@ximian.com> * camel.c (camel_init): So it turns out that NSS_Init *isn't* idempotent, so we have to protect against initializing it more than once(contrary to what their design specs suggest). * camel-session.c (camel_session_get_service): Use camel_exception_is_set() - Makes no difference but it's more consistant with how we normally do it. * camel-provider.h (CAMEL_URL_ALLOW_SSL): We don't need this. * providers/imap/camel-imap-provider.c: Define the imaps provider. (camel_provider_module_init): Register the imaps provider. * camel-provider.c (camel_provider_init): Only add the protocol to the hash table if it's non empty. Also, g_strdup() the filename into the hash table. * providers/imap/camel-imap-store.c (camel_imap_store_init): Eek! So the service's URL isn't set until after this is initialized. This means we can't check for SSL here. (imap_connect): Set the SSL options here instead. svn path=/trunk/; revision=8718
* Eek! So the service's URL isn't set until after this is initialized. ThisJeffrey Stedfast2001-03-151-1/+1
| | | | | | | | | | | 2001-03-14 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (camel_imap_store_init): Eek! So the service's URL isn't set until after this is initialized. This means we can't check for SSL here. (imap_connect): Set the SSL options here instead. svn path=/trunk/; revision=8715
* Since all of the Mozilla libs (including NSPR and NSS) correctly handleJeffrey Stedfast2001-03-141-2/+22
| | | | | | | | | | | | 2001-03-13 Jeffrey Stedfast <fejj@ximian.com> * camel.c (camel_init): Since all of the Mozilla libs (including NSPR and NSS) correctly handle reinitializations, we might as well init both NSPR and NSS in camel_init so we can be sure of that these libs have been initialized. (camel_shutdown): New function to call the NSS cleanup stuff. svn path=/trunk/; revision=8690
* Created a new mode (CAMEL_AUTHENTICATOR_ACCEPT) which is a Yes/No promptJeffrey Stedfast2001-03-101-37/+10
| | | | | | | | | | | | | | 2001-03-09 Jeffrey Stedfast <fejj@ximian.com> * camel-session.c (camel_session_query_authenticator): Created a new mode (CAMEL_AUTHENTICATOR_ACCEPT) which is a Yes/No prompt to the user. This will be needed by the SSL/TLS code to come. Also changed the return value to a gpointer rather than a char* to allow the returning of TRUE/FALSE values. * camel.c: Wrap stuff with HAVE_NSS svn path=/trunk/; revision=8623
* Uses an SSL socket now although there's still a few things missing (likeJeffrey Stedfast2001-01-151-0/+39
| | | | | | | | | | | | | 2001-01-15 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (stream_connect): Uses an SSL socket now although there's still a few things missing (like certificate handling and such). * camel.c (camel_ssl_init): A replacement function for camel_init() that also initializes SSL. svn path=/trunk/; revision=7494
* Lock the command channel while searching. (imap_body_contains): IfNot Zed2000-12-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Set camel_verbose_debug to TRUE if CAMEL_VERBOSE_DEBUG is set in theDan Winship2000-09-161-2/+5
| | | | | | | | | | * camel.c (camel_init): Set camel_verbose_debug to TRUE if CAMEL_VERBOSE_DEBUG is set in the environment. * camel-remote-store.c (remote_send_line, remote_recv_line): only log if camel_verbose_debug is TRUE. svn path=/trunk/; revision=5462
* Cleanup of lots of exception handling ; bugfixesPeter Williams2000-09-061-2/+1
| | | | svn path=/trunk/; revision=5202
* Add support for specifying on which port to connect to a server; fix a ↵Peter Williams2000-08-261-1/+2
| | | | | | potential infinite loop in unicode. svn path=/trunk/; revision=5041
* No longer call data_wrapper_repository_init.NotZed2000-04-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* use libunicode iconv functions rather than libc ones (since libc might notDan Winship2000-04-211-0/+2
| | | | | | | | | | * camel-mime-utils.c (rfc2047_decode_word): use libunicode iconv functions rather than libc ones (since libc might not have them). (header_decode_date): add autoconfiscation on timezone code * camel.c (camel_init): call unicode_init () svn path=/trunk/; revision=2540
* fix the name of "Helix Code, Inc." in all the copyrightsDan Winship2000-03-101-1/+1
| | | | svn path=/trunk/; revision=2091
* don't seek the begining of the substream. (_eos): fix eos conditionbertrand2000-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | 2000-02-16 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-seekable-substream.c (_set_bounds): don't seek the begining of the substream. (_eos): fix eos condition testing. (_finalize): unref parent stream (_init_with_seekable_stream_and_bounds): ref parent stream * camel/gstring-util.c (g_string_equal_for_hash): (g_string_equal_for_glist): return type is int. * camel/camel.h: * camel/camel.c (camel_init): use (void) instead of (). A lot of other small changes to make the set_input_stream scheme work. It actually works. svn path=/trunk/; revision=1798
* don't build thread related tests if evolution has been compiled with nobertrand2000-02-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add recipient_list to the recipients, not recipients_list. I don't knowbertrand2000-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-24 bertrand <bertrand@helixcode.com> * camel/camel-recipient.c (camel_recipient_table_add_list): add recipient_list to the recipients, not recipients_list. I don't know what that variable was doing here. 2000-01-23 bertrand <bertrand@helixcode.com> * camel/camel-store.c (camel_store_get_session): added a public get_session method. * camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary): (camel_mbox_load_summary): load/save message sizes in the summary file * camel/providers/mbox/camel-mbox-summary.h: added a size field to the message information structure. * camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary): copy message size to the mbox summary information too. * camel/camel-stream-fs.c (_seek): updated to work with bounded fs streams. (_write): ditto. (_read): ditto. * camel/camel-stream-fs.h (struct ): added the cur_pos, inf_bound and sup_bound members to allow for bounded fs stream. * camel/camel-stream-fs.c (_set_bounds): new func. (_init_with_fd_and_bounds): idem. (_init_with_name_and_bounds): idem. New functions to allow the usage of bounded fs streams. The bounded fs stream allow, for example, to make a stream from a message stored in an mbox file. svn path=/trunk/; revision=1620
* Updated my e-mail address to reflect my new employmentBertrand Guiheneuf2000-01-041-1/+1
| | | | svn path=/trunk/; revision=1533
* Fix copyright informations once againBertrand Guiheneuf1999-12-151-1/+1
| | | | svn path=/trunk/; revision=1489
* Here is my initial Evolution work: message composition widget and someEttore Perazzoli1999-11-061-2/+1
| | | | | | installation fixes for Camel. svn path=/trunk/; revision=1369
* Copyright changeBertrand Guiheneuf1999-10-231-1/+4
| | | | svn path=/trunk/; revision=1348
* A lot of changes. The thread proxy mechanismbertrand1999-10-141-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Adding missing filesBertrand Guiheneuf1999-08-011-0/+30
svn path=/trunk/; revision=1053