Commit Graph

31 Commits

Author SHA1 Message Date
f132c28d7f Check if gethostbyname_r take five params
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
2001-04-11 16:10:30 +00:00
fe962a2055 Big header cleanups and nntp compile fix
svn path=/trunk/; revision=9024
2001-03-29 20:31:40 +00:00
5d562c3d3d add a "GList *authtypes", so you can get the list of authtypes used by a
* camel-provider.h: (CamelProvider) add a "GList *authtypes", so
	you can get the list of authtypes used by a provider without
	needing to have an actual CamelService object handy. (Will be
	needed by the new config druid.)
	(CAMEL_PROVIDER_ALLOWS, CAMEL_PROVIDER_NEEDS): New macros to test
	the URL part stuff, since the way it works is too complicated and
	everyone always does it wrong.

	* camel-service.c (camel_service_query_auth_types): Remove the
	@connected arg again: if you don't want to connect, you can just
	get the list of authtypes off the provider.
	(camel_service_free_auth_types): Remove this. All existing
	implementations do authtypes the same way, so just say the caller
	should "g_list_free" the list. (Oh, look, removing this function
	doesn't actually cause the mailer to not build. How 'bout that.)
	(construct, get_path): Use the new URL part macros.

	* camel-remote-store.c (remote_query_auth_types): Update
	(remote_free_auth_types): Nuke
	(camel_remote_store_authtype_list): New function for use by
	subclasses.

	* providers/imap/camel-imap-provider.c:
	* providers/pop3/camel-pop3-provider.c:
	* providers/smtp/camel-smtp-provider.c: Update CamelProvider
	structures.
	(camel_provider_module_init): Put all the SSL parts together so
	there's only 1 #ifdef. Set up the provider authtypes field using
	the SASL, CamelRemoteStore, and standard authtypes, as
	appropriate. Copy that from the normal provider to the SSL
	provider.

	* providers/local/camel-local-provider.c:
	* providers/sendmail/camel-sendmail-provider.c:
	* camel-session.c: Update CamelProvider structures.

	* providers/imap/camel-imap-store.c (query_auth_types):
	* providers/pop3/camel-pop3-store.c (query_auth_types): Update

	* providers/smtp/camel-smtp-store.c (query_auth_types): Update.
	Remove the no_authtype, because that's what "ALLOW_AUTH" rather
	than "NEED_AUTH" means.
	(free_auth_types): Nuke.

svn path=/trunk/; revision=8872
2001-03-21 22:20:29 +00:00
368cd30655 More fixing for exim: It can't deal with "-tif", you need to say "-t -i
* providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
	sendmail_send): More fixing for exim: It can't deal with "-tif",
	you need to say "-t -i -f".

svn path=/trunk/; revision=8674
2001-03-13 17:26:56 +00:00
5b49e84e6a Remove the "-U" for now, because it breaks exim's "sendmail" wrapper. (And
* providers/sendmail/camel-sendmail-transport.c (sendmail_send,
	sendmail_send_to): Remove the "-U" for now, because it breaks
	exim's "sendmail" wrapper. (And it doesn't actually do all that
	much to sendmail's behavior, and it was working fine before
	anyway.)

svn path=/trunk/; revision=8621
2001-03-09 21:53:05 +00:00
e365f46803 Use "-f" to set the envelope from address so bounces go to the right
* providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
	sendmail_send): Use "-f" to set the envelope from address so
	bounces go to the right place. Also, pass "-U" since the man page
	says we're supposed to...

svn path=/trunk/; revision=8521
2001-03-02 15:14:51 +00:00
ddfc033633 Updated.
2001-02-05  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (query_auth_types): Updated.

	* providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types):
	Updated.

	* providers/pop3/camel-pop3-store.c (query_auth_types): Updated.

	* providers/imap/camel-imap-store.c (query_auth_types): Updated.

	* camel-service.c (camel_service_query_auth_types): Now takes a
	boolean value to specify whether or not to connect when
	constructing a supported authtype list.

svn path=/trunk/; revision=7979
2001-02-05 19:55:54 +00:00
881c6eb752 Added profiling temp files.
2001-01-22  Not Zed  <NotZed@Ximian.com>

        * .cvsignore */*/.cvsignore: Added profiling temp
        files.

svn path=/trunk/; revision=7705
2001-01-22 11:57:29 +00:00
5a4fa8505d Add an "url_flags" field to CamelProvider. Move the CAMEL_SERVICE_URL_*
* camel-provider.h: Add an "url_flags" field to CamelProvider.
	Move the CAMEL_SERVICE_URL_* defines here and remove the SERVICE_
	part of the name.

	* camel-service.h: Remove CAMEL_SERVICE_URL_* flags and
	service->url_flags field.

	* camel-service.c (check_url, get_path): Get URL flags from
	service->provider, update for changed flag names.

	* providers/*/camel-*-provider.c: Add URL flags to provider
	structures.

	* providers/*/camel-*-{store,transport}.c, camel-remote-store.c:
	Remove service->url_flags initialization.

svn path=/trunk/; revision=6370
2000-11-03 18:22:34 +00:00
360675f54b lots of i18n fixes
svn path=/trunk/; revision=6143
2000-10-24 05:23:27 +00:00
853d2b99ff Remove default_ports.
* camel-provider.h: Remove default_ports.

	* camel-remote-store.c (remote_connect): Get default_port from
	CamelRemoteStore rather than CamelProvider.

	* providers/{imap,nntp,pop3}/camel-*-store.c: Initialize
	CamelRemoteStore::default_port

	* providers/*/camel-*-provider.c: Remove default_ports.

svn path=/trunk/; revision=5669
2000-10-02 20:14:57 +00:00
dbce630738 Add support for specifying on which port to connect to a server; fix a potential infinite loop in unicode.
svn path=/trunk/; revision=5041
2000-08-25 21:09:53 +00:00
8cb514d6dd Merge with camel-async.
svn path=/trunk/; revision=4687
2000-08-10 17:30:50 +00:00
268f0e60b2 Fix Makefile.am booboo.
svn path=/trunk/; revision=4394
2000-07-27 17:01:05 +00:00
98753e92d2 New method, to return an end-user-friendly name corresponding to a
* camel-service.c (camel_service_get_name): New method, to return
	an end-user-friendly name corresponding to a service. (eg, "POP
	service for danw on trna.helixcode.com").

	* providers/imap/camel-imap-store.c,
	providers/mbox/camel-mbox-store.c,
	providers/nntp/camel-nntp-store.c,
	providers/pop3/camel-pop3-store.c,
	providers/sendmail/camel-sendmail-transport.c,
	providers/smtp/camel-smtp-transport.c: Implement.

svn path=/trunk/; revision=3851
2000-07-01 23:07:18 +00:00
a7f40b2f5f Updated
2000-06-22  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/sendmail/camel-sendmail-provider.c:
	* providers/vee/camel-vee-provider.c:
	* providers/smtp/camel-smtp-provider.c:
	* providers/mbox/camel-mbox-provider.c:
	* providers/pop3/camel-pop3-provider.c:
	* providers/imap/camel-imap-provider.c: Updated

	* camel-session.c: Moved service_cache hash table into the
	providers.
	(service_cache_remove): Updated.
	(camel_session_get_service): Updated.

	* camel-url.c (camel_url_hash): Took out the hashing of
	url->passwd. We don't want this anymore.

	* providers/imap/camel-imap-folder.c (imap_init): Took out
	references to 'namespace'
	(camel_imap_folder_init): Same

	* providers/imap/camel-imap-folder.h: No more namespace. We are
	instead going to use url->path as the namespace.

svn path=/trunk/; revision=3700
2000-06-22 21:51:40 +00:00
94eda6b11d don't pass a second (incorrect) -rpath in addition to the (correct) one
* providers/*/Makefile.am: don't pass a second (incorrect) -rpath
	in addition to the (correct) one automatically provided by
	automake.

svn path=/trunk/; revision=3535
2000-06-12 20:59:32 +00:00
28a05ec767 Add a domain field to CamelProvider, to say what kind of data it provides.
* camel-provider.h: Add a domain field to CamelProvider, to say
	what kind of data it provides.

	* providers/imap/camel-imap-provider.c:
	* providers/mbox/camel-mbox-provider.c:
	* providers/pop3/camel-pop3-provider.c:
	* providers/sendmail/camel-sendmail-provider.c:
	* providers/smtp/camel-smtp-provider.c: Set domain to "mail".

	* providers/nntp/camel-nntp-provider.c: Set domain to "news".

	* providers/vee/camel-vee-provider.c: Set domain to "vfolder". (So
	it doesn't end up being listed as a potential mail source in the
	mail config wizard.)

svn path=/trunk/; revision=3254
2000-05-28 21:29:28 +00:00
2ce4eb74b6 > searchpart = strchr(namepart, '?');
2000-05-19  NotZed  <NotZed@HelixCode.com>

        * camel-simple-data-wrapper.c (construct_from_stream): If we
        already have been constructed, unref our content.
        (write_to_stream): Check we've been constructued, and change for
        stream api changes.

        * camel-mime-parser.c: Removed exception stuff.

        * md5-utils.c (md5_get_digest_from_stream): repaired.

        * camel-mime-message.c: Remove exception from write_to_stream, and
        fix, and fix formatting.

        * providers/sendmail/camel-sendmail-transport.c (_send_internal):
        Fix for stream changes.

        * providers/pop3/camel-pop3-store.c (camel_pop3_command): Fixes
        for stream changes.

        * providers/mbox/camel-mbox-folder.c, and elsewhere, fix all
        stream api changes.
        (mbox_append_message): Use stream_close() now its back.
        (mbox_append_message): unref the from filter.

        * camel-stream-mem.c: And here.

        * camel-stream-fs.[ch]: Here too.

        * camel-stream-filter.c: Likewise.  This is getting tedious.

        * camel-stream-buffer.c (stream_write): Fix a few little problems.
        (stream_close): Reimplmeent.
        (camel_stream_buffer_read_line): Slightly more efficient version,
        that also only allocates the right amount of memory for strings.

        * camel-seekable-substream.c: Likewise.

        * camel-seekable-stream.[ch]: Remove exceptions, fix formatting,
        changes for stream (re)fixes.  set_bounds returns an error.

        * camel-stream.[ch]: Remove exceptions.  Make flush and reset return
        an error code, repair all the screwed up formatting, and put back
        close.

        * camel-mime-part-utils.c
        (camel_mime_part_construct_content_from_parser): And here.

        * camel-mime-part.c (camel_mime_part_set_content): And this too.
        (write_to_stream): Fixed for stream changes.

        * camel.h: Fixed.

        * providers/vee/camel-vee-folder.c (vee_search_by_expression):
        Implement.  Performs an intersection of the two searches.
        (camel_vee_folder_finalise): Unref search folders.
        (vee_append_message): Implement append.

svn path=/trunk/; revision=3142
2000-05-19 19:58:41 +00:00
e7996a7ab1 Bleah. Can't fsync a pipe. As a quick kludge, just don't stream_flush it.
* providers/sendmail/camel-sendmail-transport.c (_send_internal):
	Bleah. Can't fsync a pipe. As a quick kludge, just don't
	stream_flush it. The right fix will require bringing back
	stream_close though.

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

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

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

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

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

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

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

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

	* providers/Makefile.am: disable SMTP for now

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

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

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

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

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

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

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

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

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

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

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

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

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

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

svn path=/trunk/; revision=2756
2000-05-02 21:34:01 +00:00
0524f7c06a Tweak the definition of CamelProvider. Among other things, a provider may
* camel-provider.h: Tweak the definition of CamelProvider. Among
	other things, a provider may now be both a store and a transport.

	* camel-provider.c: Remove a lot of code we had no intention of
	using. This now only contains two functions: camel_provider_init
	to read the installed .urls files, and camel_provider_load to
	load and register a new provider.

	* camel-session.c: Remove more unused code and simplify some of
	the remaining code. The list of available provider modules is now
	stored in the session, and it handles calling camel_provider_load
	to load them as needed. Provider registration is now done by
	calling back from the module init routine, which allows a single
	module to register providers for multiple URL types.

	* providers/*: Update provider structures and init routines for
	the new stuff. Add a .urls file to each provider specifying what
	urls it handles, and install that with the library.

	* providers/nntp/camel-nntp-provider.c: Add hints towards
	supporting both news: and nntp: URLs, and using nntp as both a
	store and a transport.

svn path=/trunk/; revision=2691
2000-04-30 15:36:16 +00:00
9483369aa0 Made Evolution OAF-compatible.
svn path=/trunk/; revision=2673
2000-04-28 04:23:19 +00:00
4d2972e69f Clarify what provider.protocol, provider.name, and provider.description
* camel-provider.h: Clarify what provider.protocol, provider.name,
	and provider.description should be.

	* providers/mbox/camel-mbox-provider.c:
	* providers/pop3/camel-pop3-provider.c:
	* providers/sendmail/camel-sendmail-provider.c:
	* providers/smtp/camel-smtp-provider.c: update protocols, names,
	and descriptions

svn path=/trunk/; revision=2365
2000-04-10 18:01:45 +00:00
6beb74f535 actually record the pid returned by fork(). Noticed by clahey.
* providers/sendmail/camel-sendmail-transport.c (_send_internal):
	actually record the pid returned by fork(). Noticed by clahey.

svn path=/trunk/; revision=2342
2000-04-08 21:53:24 +00:00
6e64a7bada fix the CamelProvider entry (new flags field was missing)
svn path=/trunk/; revision=2156
2000-03-23 21:15:26 +00:00
6efd6e1755 chuuuut.
svn path=/trunk/; revision=1937
2000-02-25 20:08:08 +00:00
f4bdc23dbc another typo
svn path=/trunk/; revision=1926
2000-02-24 23:46:35 +00:00
8034bd1254 Add CamelTransport abstract class and CamelSendmailTransport
svn path=/trunk/; revision=1921
2000-02-24 21:17:27 +00:00