Commit Graph

792 Commits

Author SHA1 Message Date
Jeffrey Stedfast a5fa60b927 Rename the folder to "Trash" and i18nify it.
2001-03-12  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (init_trash): Rename the folder to "Trash" and
	i18nify it.

svn path=/trunk/; revision=8646
2001-03-12 20:33:58 +00:00
Jeffrey Stedfast 6da96db8dd Comment out everything unless HAVE_NSS is defined.
2001-03-09  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.h: Comment out everything unless HAVE_NSS
	is defined.

	* camel-tcp-stream-ssl.c (stream_read): Don't use errno, use
	nspr's error code stuff.
	(stream_write): Same.

svn path=/trunk/; revision=8626
2001-03-11 04:35:20 +00:00
Jeffrey Stedfast abe164fb39 Created a new mode (CAMEL_AUTHENTICATOR_ACCEPT) which is a Yes/No prompt
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
2001-03-10 00:15:49 +00:00
Dan Winship 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
Dan Winship b3bb38e036 Fix a bug that could make this walk off the end of a string. (The bug has
* camel-mime-utils.c (header_fold): Fix a bug that could make this
	walk off the end of a string. (The bug has been there since
	December... maybe this will fix some unreproduceable crashes?)

svn path=/trunk/; revision=8619
2001-03-09 20:36:12 +00:00
Jeffrey Stedfast 180b0898db Changes so that the folder gets added to the vtrash reguardless of whether
2001-03-08  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (camel_store_get_folder): Changes so that the
	folder gets added to the vtrash reguardless of whether or not the
	store is holding it's own folder lookup hash.
	(init_trash): Oops, lets try locking the cache before we go and
	add all the cached folders to the vtrash.

svn path=/trunk/; revision=8609
2001-03-08 23:33:32 +00:00
Jeffrey Stedfast e74803511e These fixes make it so that the CamelStore does not actually hold a ref on
2001-03-08  Jeffrey Stedfast  <fejj@ximian.com>
	These fixes make it so that the CamelStore does not actually hold
	a ref on it's vTrash folder. The vTrash folder is now created ONLY
	when it is requested. This solves the problem of not being able to
	unref a Store and have it disconnect/finalize like we expect it to.

	* camel-store.c (init_trash): When we create the vtrash, add all
	previously opened folders to it and hook on to the finalize event
	so that we can then set the store->vtrash to NULL.
	(get_trash): If a vtrash folder for the store doesn't exist,
	init_trash() and then try.
	(construct): No longer need this.
	(camel_store_class_init): Don't override the construct method.
	(camel_store_finalize): We no longer hold a ref on the vtrash so
	don't unref it.

svn path=/trunk/; revision=8595
2001-03-08 20:01:42 +00:00
Jeffrey Stedfast c5d148704d Implement. (get_trash): Implement. (camel_pop3_store_class_init): Override
2001-03-07  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-store.c (init_trash): Implement.
	(get_trash): Implement.
	(camel_pop3_store_class_init): Override the default init_trash and
	get_trash virtual functions. Hopefully this should fix the problem
	of pop3 sotre's not disconnecting after the send&recv code
	finishes downloading mail.

	Wonder if I should override the default implementation for the
	mbox, mh, and maildir too?

svn path=/trunk/; revision=8592
2001-03-08 03:43:33 +00:00
Dan Winship e6d034f755 (remote_recv_line): Fix another problem...
svn path=/trunk/; revision=8585
2001-03-07 21:30:22 +00:00
Dan Winship ef11943259 Remove some unused stuff
* providers/local/camel-mbox-provider.c:
	* providers/vee/.cvsignore:
	* providers/vee/libcamelvee.urls: Remove some unused stuff

svn path=/trunk/; revision=8582
2001-03-07 15:48:30 +00:00
Dan Winship 0d71999052 Return the return value of camel_service_connect rather than returning
* camel-remote-store.c (camel_remote_store_connected): Return the
	return value of camel_service_connect rather than returning
	!camel_exception_is_set(), since that will be wrong if ex==NULL...
	Fixes a crash in the IMAP keepalive code, but this same problem
	probably exists in other places too...

svn path=/trunk/; revision=8580
2001-03-07 15:28:33 +00:00
Jeffrey Stedfast 5f97f6226b Redone so as to save on memory allocations and speed.
2001-03-06  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-sasl-digest-md5.c (compute_response): Redone so as to save
	on memory allocations and speed.

svn path=/trunk/; revision=8573
2001-03-06 21:34:56 +00:00
Jeffrey Stedfast 691be72a02 Don't return NULL if the token is non-NULL. This is why:
2001-03-05  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-sasl-plain.c (plain_challenge): Don't return NULL if the
	token is non-NULL. This is why:

	sending : AUTH PLAIN
        received: 334 ok. go on.                 <-- this is why
        sending : ZGZPaQpAZ214Lm5ldBBnb29jYXI=
        received: 235 {mp005-rz3} go ahead

	* camel-sasl.c (camel_sasl_authtype): Add the PLAIN type here.
	(camel_sasl_authtype_list): And here too.

	* camel-sasl-plain.c: Initialize the camel_sasl_plain_authtype.

	* camel-sasl-plain.h: extern the camel_sasl_plain_authtype.

svn path=/trunk/; revision=8562
2001-03-05 21:28:08 +00:00
Jeffrey Stedfast 4d126fb674 i18n'd some strings in here.
2001-03-05  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-store.c (imap_connect): i18n'd some
	strings in here.

	* providers/smtp/camel-smtp-transport.c (smtp_connect): Keep
	trying to authenticate until either we succeed or until the user
	cancels.

svn path=/trunk/; revision=8561
2001-03-05 21:08:45 +00:00
Jeffrey Stedfast 31cab455ff Wrote a new version of header_fold() that takes a 'force' option and uses
2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c: Wrote a new version of header_fold() that
	takes a 'force' option and uses another new function called
	header_fold_next_space() in place of strchr(inptr, ' ') to get the
	next whitespace char. The idea of header_fold_next_space() is to
	not treat spaces between a set of quotes as a space - this way it
	will be possible to fold (for example) the Content-Type MIME
	header without worrying about breaking up a boundary string.
	Note: This code is #if 0'd out until Zucchi approves of the patch.
	Another Note: We will probably still want to use the "don't fold
	this header" hash lookup for headers like the Message-Id and
	possibly a few others.

svn path=/trunk/; revision=8552
2001-03-05 04:02:38 +00:00
Jeffrey Stedfast 6a99ce9981 Make sure there is a space between the name and the address tokens.
2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-internet-address.c
	(camel_internet_address_encode_address): Make sure there is a
	space between the name and the address tokens.

svn path=/trunk/; revision=8551
2001-03-05 02:43:44 +00:00
Jeffrey Stedfast 559f8e8245 encoded string segments need to be at least 8 chars (7 doesn't leave room
2001-03-04  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (rfc2047_decode_word): encoded string
	segments need to be at least 8 chars (7 doesn't leave room for an
	ecoding value. To be more realistic, even 8 chars isn't enough as
	this assumes there is no charset nor any encoded text. If the
	encoding value is not 'Q' or 'B', then return NULL. This fixes bug
	#1689.

svn path=/trunk/; revision=8550
2001-03-05 00:37:44 +00:00
Not Zed ab118da377 New function to remove a folder from a vfolder.
2001-03-03  Not Zed  <NotZed@Ximian.com>

        * camel-vee-folder.c (vee_folder_remove_folder): New function to
        remove a folder from a vfolder.
        (camel_vee_folder_remove_folder): New public function to remove a
        folder from a vfolder.

svn path=/trunk/; revision=8532
2001-03-02 23:37:43 +00:00
Jeffrey Stedfast 3e3a1d5e1c Doh! Set the CAMEL_URL_ALLOW_AUTH flag.
2001-03-02  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-provider.c: Doh! Set the
	CAMEL_URL_ALLOW_AUTH flag.

	* providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
	Updated with the extended AUTH return codes.

svn path=/trunk/; revision=8530
2001-03-02 22:09:40 +00:00
Jeffrey Stedfast 82b9322f93 oops, forgot the changelog
svn path=/trunk/; revision=8528
2001-03-02 19:40:08 +00:00
Jeffrey Stedfast 1f40b4ba9a Don't forget to unref the SASL object.
2001-03-02  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-store.c (try_auth): Don't forget to
	unref the SASL object.

	* providers/smtp/camel-smtp-transport.c (query_auth_types):
	Implemented.
	(smtp_auth): Implemented.
	(smtp_helo): Don't bother parsing the authtypes if we already have
	them.
	(smtp_connect): call smtp_auth() here if we found any authtypes.
	(smtp_disconnect): Updated as I now use a hash table for the
	supported authtypes rather than a linked list.
	(esmtp_get_authtypes): modify to use a hash table instead of a
	linked list and also use isspace() rather than == ' '.

svn path=/trunk/; revision=8525
2001-03-02 19:19:31 +00:00
Dan Winship 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
Jeffrey Stedfast 81b0fea2f0 #include "camel-sasl-digest-md5.h" (camel_sasl_authtype_list): add
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
2001-03-02 02:29:08 +00:00
Dan Winship 17d6ee9943 Add an "authtypes" hash table to CamelImapStore recording the supported
* providers/imap/camel-imap-store.c: Add an "authtypes" hash table
	to CamelImapStore recording the supported authtypes.
	(connect_to_server): Record supported authtypes in the authtypes
	hash rather than the capabilities bitmask, since now the IMAP code
	is no longer responsible for keeping track of which authtypes we
	support.
	(query_auth_types): Use camel_sasl_authtype_list to get the
	SASL-supported authtypes.
	(try_auth): New function to try a SASL auth mechanism. Sort of
	formerly imap_try_kerberos_v4_auth.
	(imap_connect): Get rid of the krb4-specific bits and genericize
	them for any SASL authtype.

	* providers/imap/Makefile.am: Remove camel-imap-auth.[ch] (moved
	into camel-imap-store.c since it's now constant size) and the
	KRB4_CFLAGS and KRB4_LDFLAGS references.

svn path=/trunk/; revision=8463
2001-03-01 22:39:52 +00:00
Dan Winship 61a496ffca Take a GByteArray as input as well. Comment that you can pass %NULL for
* camel-sasl.c (camel_sasl_challenge): Take a GByteArray as input
	as well. Comment that you can pass %NULL for @token to get the
	initial auth data for mechanisms that are client-initiated.
	(camel_sasl_challenge_base64): Convenience function for protocols
	that use base64-encoded SASL.
	(camel_sasl_authenticated): Implement this... (it was prototyped
	already)
	(camel_sasl_new): Function to take a service name, a mechanism
	name, and a CamelService, and return a CamelSasl for it.
	(camel_sasl_authtype, camel_sasl_authtype_list): Functions to
	return CamelServiceAuthType information about SASL mechanisms, to
	allow providers to deal with them generically.

	* camel-sasl-anonymous.c, camel-sasl-plain.c: Update/simplify for
	CamelSasl changes. Both of these are single-round
	(client-initiated) mechanisms, so they don't need to keep state.
	(camel_sasl_plain_new): Removed; use camel_sasl_new instead.
	(Can't get rid of camel_sasl_anonymous_new though...)

	* camel-sasl-cram-md5.c: Update/simplify for CamelSasl changes.
	(camel_sasl_cram_md5_new): Removed; use camel_sasl_new instead.
	(cram_md5_challenge): Use md5_get_digest where possible, and
	various other minor simplifications. CRAM-MD5 only has a single
	round, so there's no need to keep track of state. This code is now
	tested (against Cyrus IMAPd) and known to work.

	* camel-sasl-kerberos4.h: Update/simplify for CamelSasl changes.
	Make only a single #ifdef HAVE_KRB4. Remove stuff from priv that
	isn't needed between rounds.
	(camel_sasl_kerberos4_new): Removed; use camel_sasl_new instead
	(krb4_challenge): Fix up the logic I broke in my previous "at
	least make it compile" fixes, update to match other changes, and
	remove IMAP-isms that shouldn't be in the generic code. This still
	isn't tested, because we're stuck behind a NAT right now...

svn path=/trunk/; revision=8462
2001-03-01 22:23:23 +00:00
Jeffrey Stedfast e2fda906bc Don't base64 encode the data, leave that up to the provider to do if it
2001-03-01  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-sasl-anonymous.c (anon_challenge): Don't base64 encode the
	data, leave that up to the provider to do if it needs to. Also
	save on some memory allocations and stuff.

	* camel-sasl-cram-md5.c (cram_md5_challenge): Same here. Also get
	rid of the need for the temp buf as we can just write it to the
	GByteArray.

svn path=/trunk/; revision=8456
2001-03-01 18:15:23 +00:00
Jeffrey Stedfast 1cd06b6bfb Don't base64 encode the data, leave that up to the provider to do if it
2001-03-01  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-sasl-anonymous.c (anon_challenge): Don't base64 encode the
	data, leave that up to the provider to do if it needs to. Also
	save on some memory allocations and stuff.

	* camel-sasl-cram-md5.c (cram_md5_challenge): Same here.

svn path=/trunk/; revision=8454
2001-03-01 18:01:27 +00:00
Not Zed 90dabbdb22 Reconstify variables to match iconv.
2001-03-02  Not Zed  <NotZed@Ximian.com>

        * camel-mime-utils.c (rfc2047_encode_word, rfc2047_decode_word):
        Reconstify variables to match iconv.

        * camel-search-private.c (camel_ustrstrcase): Change some
        assertions back into valid returns.

svn path=/trunk/; revision=8452
2001-03-01 17:31:33 +00:00
Dan Winship 47497db453 camel depends on krb4 now (where available), for camel-sasl-kerberos4.c
* 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
2001-03-01 17:16:32 +00:00
Peter Williams 9f072e4e81 Assert url_string != NULL.
2001-03-01  Peter Williams  <peterw@ximian.com>

       * camel-url.c (camel_url_new): Assert url_string != NULL.

svn path=/trunk/; revision=8439
2001-03-01 06:15:03 +00:00
Jeffrey Stedfast eb3167206c Added camel-sasl-anonymous.[c,h] to the build.
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
2001-02-28 23:24:15 +00:00
Jeffrey Stedfast 65839ea1ee A fix for broken mailers that send 2-digit years (ie "Wed, 28 Feb 01
2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (header_decode_date): A fix for broken
	mailers that send 2-digit years (ie "Wed, 28 Feb 01
	04:59:41"). Fixes bug #1633.

	* camel-filter-driver.c (camel_filter_driver_filter_folder): Check
	to make sure message isn't NULL.

svn path=/trunk/; revision=8431
2001-02-28 21:06:44 +00:00
Dan Winship f50ddd9de1 If we get back 0 bytes from camel_stream_buffer_gets, that means the
* camel-remote-store.c (remote_recv_line): If we get back 0 bytes
	from camel_stream_buffer_gets, that means the socket got
	disconnected, so set an exception. (Noticed because of a message
	that crashes our IMAP server when you try to look at it. :)

svn path=/trunk/; revision=8429
2001-02-28 18:41:27 +00:00
Jeffrey Stedfast 4321d72d9b Added camel-sasl*.[c,h] to the build.
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
2001-02-28 18:16:02 +00:00
Dan Winship fe8e875972 Group messages into sets with the same flags and use the IMAP message set
* providers/imap/camel-imap-folder.c (imap_sync): Group messages
	into sets with the same flags and use the IMAP message set
	notation rather than doing a separate STORE FLAGS for each one.
	This cuts the network traffic down to just a handful of commands
	per sync rather than one per changed message. Removed the progress
	notification stuff since it's no longer meaningful and should
	hopefully be unnecessary.
	(imap_copy_message_to): move the former sync_message function
	into here, since it's no longer shared with imap_sync.

svn path=/trunk/; revision=8396
2001-02-26 21:38:39 +00:00
Jeffrey Stedfast a596227e1c Made thread-safe and moved to above the test code.
2001-02-26  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c: Made thread-safe and moved to above the test
	code.

	* camel-mime-message.c (camel_mime_message_init): Set the
	message_id to NULL.
	(camel_mime_message_finalize): Free the message_id.
	(camel_mime_message_set_message_id): New function to set the
	Message-Id.
	(camel_mime_message_get_message_id): New function to get the
	Message-Id.
	(process_header): Decode the message-id.

svn path=/trunk/; revision=8393
2001-02-26 19:56:58 +00:00
Jeffrey Stedfast 585f905ecd init the vTrash folder here instead of in store_init.
2001-02-24  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (construct): init the vTrash folder here instead
	of in store_init.
	(camel_store_class_init): init service_class->construct.
	(camel_store_finalize): We only need to unref the vtrash folder.
	(init_trash): don't create a vstore since we don't need it.

svn path=/trunk/; revision=8378
2001-02-24 17:44:28 +00:00
Jeffrey Stedfast afd1cad2da init get_trash and init_trash. (camel_store_init): call the virtual
2001-02-23  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (camel_store_class_init): init get_trash and
	init_trash.
	(camel_store_init): call the virtual init_trash function.
	(camel_store_finalize): unref the vtrash folder/store if present.
	(camel_store_get_folder): Add the new folder to the vtrash
	vfolder.
	(init_trash): default implementation of init_trash.
	(get_trash): default implementation of get_trash.

	* camel-vee-store.c (vee_init_trash): No-op.
	(vee_get_trash): return NULL

svn path=/trunk/; revision=8368
2001-02-23 16:52:55 +00:00
Michael Zucci c13a70e866 Doh, cut and paste problem, use mlist not cc.
* camel-folder-summary.c (camel_message_info_new_from_header):
	Doh, cut and paste problem, use mlist not cc.

	* camel-folder.c (move_message_to):
	(copy_message_to): If the source folder doesn't support a
	summary, dont try and get the message info from it.

svn path=/trunk/; revision=8361
2001-02-23 01:40:46 +00:00
Not Zed 978bfbefbb Implement a pseudo-header "x-camel-mlist" which just looks up in the
2001-02-23  Not Zed  <NotZed@Ximian.com>

        * camel-filter-search.c (check_header): Implement a pseudo-header
        "x-camel-mlist" which just looks up in the message info for a
        match.

        * camel-folder-search.c (check_header): Add pseudo-header
        "x-camel-mlist" which can be used to match on mailing list.

svn path=/trunk/; revision=8355
2001-02-22 23:32:34 +00:00
Not Zed 7698a3941b Add some internal progress reporting. (imap_rescan): Do some progress
2001-02-23  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (imap_sync): Add some
        internal progress reporting.
        (imap_rescan): Do some progress reporting.

        * camel-mime-part.c (init_header_name_table): Add the message-id
        to the formatted table, so we dont try and wrap it, and break it.

svn path=/trunk/; revision=8350
2001-02-22 22:21:28 +00:00
Jeffrey Stedfast 0a3fde6ecd Remove the 'FIXME: remove because this isn't required...' comment for
2001-02-22  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder.h: Remove the 'FIXME: remove because this isn't
	required...' comment for copy_message_to since we now need and
	cherish its existance in the filter-driver code ;-)

	* camel-filter-driver.c (camel_filter_driver_filter_message): Now
	takes a UID and CamelFolder arguments (which can be NULL) to allow
	for possible optimizations when copying messages between folders
	on the same store.
	(camel_filter_driver_filter_mbox): Updated (passes NULL for both
	since this case can't be optimized anyway).
	(camel_filter_driver_filter_folder): Updated to pass in the uid
	and folder of the message.

svn path=/trunk/; revision=8346
2001-02-22 16:22:27 +00:00
Dan Winship fa3dd0054f #define this as the set of all IMAP system flags
* providers/imap/camel-imap-summary.h (CAMEL_IMAP_SERVER_FLAGS):
	#define this as the set of all IMAP system flags

	* providers/imap/camel-imap-folder.c (sync_message): after syncing
	flags, set server_flags to (flags & CAMEL_IMAP_SERVER_FLAGS)
	rather than just "flags", since any other flags won't have been
	synced. Prevents the CAMEL_MESSAGE_ATTACHMENTS flag from getting
	lost.

svn path=/trunk/; revision=8344
2001-02-22 14:58:56 +00:00
Not Zed c81bce50bb Removed all files.
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
2001-02-21 20:30:29 +00:00
Not Zed 6d69d56d0c Removed, not used. (camel_vee_folder_new): Removed call to build_folder.
2001-02-22  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (vee_folder_build): Removed,
        not used.
        (camel_vee_folder_new): Removed call to build_folder.
        (vee_get_message): Dont try and free the mi if we didn't get it.

        * camel-folder.c (camel_folder_change_info_new): Added a hash
        table of what we have in the lists, plus moved private things into
        private pointer.
        (camel_folder_change_info_add_source): Fixed up private accesses.
        (camel_folder_change_info_add_uid): Changed to use a hashtable to
        see if we already have the uid, etc.
        (camel_folder_change_info_remove_uid): Similar.
        (change_info_remove): Likewise.
        (camel_folder_change_info_clear): Fixes for privatisations.
        (camel_folder_change_info_free): "

svn path=/trunk/; revision=8339
2001-02-21 20:13:42 +00:00
Dan Winship 782a42ee7d Fixes for IMAP4-pre-rev1 from Torsten Schulz.
* providers/imap/camel-imap-folder.c (fetch_medium): Fixes for
	IMAP4-pre-rev1 from Torsten Schulz.

svn path=/trunk/; revision=8318
2001-02-21 17:20:00 +00:00
Not Zed 72bc2233d2 Take the ^Header: part out of the expression, since we look that up
2001-02-20  Not Zed  <NotZed@Ximian.com>

        * camel-mime-utils.c (mail_list_magic): Take the ^Header: part out
        of the expression, since we look that up ourselves.
        (header_raw_check_mailing_list): When getting the match, get match
        1, not match 0, we dont want the full string match.

        * camel-folder-summary.c (CAMEL_FOLDER_SUMMARY_VERSION): Bumped
        for summary change.
        (message_info_new): Extract the mlist info from the headers.
        (message_info_load): Load mlist from summary.
        (message_info_save): Save mlist to summary.
        (message_info_free): Save the mlist entry.
        (camel_message_info_new_from_header): Extract mailing list header.
        (camel_message_info_dup_to): Copy the mlist entry.
        (camel_message_info_free): Free mlist.
        (message_info_dump): Dump the mlist.

        * camel-folder-summary.h: Add an mlist (mailing list) string to
        the summary.

svn path=/trunk/; revision=8295
2001-02-20 00:19:16 +00:00
Not Zed 10fba20de9 Added flags argument. (message_changed): Add support for the auto-update
2001-02-19  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Added
        flags argument.
        (message_changed): Add support for the auto-update flag, in which
        case we auto-match the content as it changes.
        (camel_vee_folder_init): Remoive "DYNAMIC" optionality
        (camel_vee_folder_finalise): "
        (vee_expunge): As we expunge folders, re-sync their content by
        rerunning the query.

        * providers/vee/camel-vee-store.c (vee_get_folder): Pass flags to
        folder new.

2001-02-18  Not Zed  <NotZed@Ximian.com>

        * providers/vee/Makefile.am (noinst_HEADERS): Added
        camel-vee-private.h.

        * providers/vee/camel-vee-private.h: New file to add locking stuff
        for vee folders.

        * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Add
        locking around unmatched setup.
        (camel_vee_folder_init): Setup lock.
        (camel_vee_folder_finalise): Free locks.
        (folder_changed): Add locking.
        (unmatched_finalise): "
        (message_changed): "
        (vee_folder_build): "

2001-02-17  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (vee_folder_add): Check uid
        doesn't exist before adding it.

2001-02-16  Not Zed  <NotZed@Ximian.com>

        * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Create
        a new virtual virtual folder UNMATCHED, to store all messages that
        dont match other vfolders.
        (unmatched_folder_changed): When a vfolder issues a changed event,
        use its info to update the unmatched folder info.
        (unmatched_finalise): When a vfolder is finalised, remove any uids
        it has as if we had a removed event for it.

svn path=/trunk/; revision=8276
2001-02-19 20:59:54 +00:00
Jeffrey Stedfast c5386f52ca Thaw the defaultfolder. (camel_filter_driver_set_default_folder): Thaw the
2001-02-16  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-filter-driver.c (camel_filter_driver_finalise): Thaw the
	defaultfolder.
	(camel_filter_driver_set_default_folder): Thaw the defaultfolder
	we're about to replace, and freeze the new defaultfolder.

svn path=/trunk/; revision=8259
2001-02-17 01:28:43 +00:00
Jeffrey Stedfast f89ca302d1 Emit the folder_created signal here.
2001-02-15  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/vee/camel-vee-folder.c (camel_vee_folder_new): Emit
	the folder_created signal here.

	* providers/local/camel-local-folder.c
	(camel_local_folder_construct): Emit the folder_created signal.

	* providers/local/camel-local-store.c (delete_folder): On error,
	free the 'name' string so we don't leak. Also emit the
	folder_deleted signal.

	* providers/imap/camel-imap-store.c (subscribe_folder): Emit the
	folder_created signal.
	(unsubscribe_folder): Emit the folder_deleted signal.

	* camel-store.c (camel_store_class_init): Added folder_created and
	folder_deleted signal defs.

svn path=/trunk/; revision=8246
2001-02-15 19:20:38 +00:00