Commit Graph

924 Commits

Author SHA1 Message Date
c6fc4e27a9 When we add a new name, up all of the cache limits, because we're probably
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
2002-03-25 12:11:44 +00:00
17ef9cfeaf Updated to use the same logic as the POP code.
2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c
	(connect_to_server_wrapper): Updated to use the same logic as the
	POP code.

svn path=/trunk/; revision=16203
2002-03-18 21:59:54 +00:00
ae8129bbb2 No longer takes a stls_supported argument since we no longer need it with
2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-store.c (connect_to_server): No longer
	takes a stls_supported argument since we no longer need it with
	the new logic.
	(connect_to_server_wrapper): New logic: First try connecting to
	the SSL port (995 by default), if that fails with
	SERVICE_UNAVAILABLE, then we attempt to connect (to port 110 by
	default) and try to use STARTTLS.

svn path=/trunk/; revision=16202
2002-03-18 21:31:25 +00:00
1d0160ac11 Added a work-around for SMTP servers that can't read the RFCs and thus
2002-03-13  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_auth): Added a
	work-around for SMTP servers that can't read the RFCs and thus
	implement SASL incorrectly. Oh well, that's life in the world of
	mail clients I guess.

svn path=/trunk/; revision=16152
2002-03-13 23:44:29 +00:00
7e221fcca9 reverted my USER/PASS quoting fix
svn path=/trunk/; revision=16148
2002-03-13 21:55:53 +00:00
521ba6b4bf Quote the USER and PASS arguments since some people have spaces in their
2002-03-13  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Quote
	the USER and PASS arguments since some people have spaces in their
	user-names and/or passwords.

svn path=/trunk/; revision=16144
2002-03-13 20:47:00 +00:00
00dce466dd oops, musta backspaced over a brace?
svn path=/trunk/; revision=16098
2002-03-11 17:06:27 +00:00
dd30dd5376 These fixes should fix bug #21737.
2002-03-11  Jeffrey Stedfast  <fejj@ximian.com>

	These fixes should fix bug #21737.

	* providers/smtp/camel-smtp-transport.c
	(connect_to_server_wrapper): Same as with the POP code.

	* providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
	Slight restructuring of the if-statements for the USE_SSL_ALWAYS
	case so that we can't possibly return TRUE unless we really did
	connect successfully.

svn path=/trunk/; revision=16097
2002-03-11 17:01:15 +00:00
6024691d3c Rename the OpenSSL implementation of things to match the NSS
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
2002-03-11 02:33:27 +00:00
b1b809031f Remove this: it couldn't be generically used, because different subclasses
* camel-tcp-stream.c (camel_tcp_stream_get_socket): Remove this:
	it couldn't be generically used, because different subclasses
	returned entirely different types of data.
	(camel_tcp_stream_get_local_address,
	camel_tcp_stream_get_remote_address): Add these to replace what
	get_socket was being used for.
	(camel_tcp_address_new, camel_tcp_address_free): Utility functions
	for get_{local,remote}_address.

	* providers/smtp/camel-smtp-transport.c: Change localaddr to a
        CamelTcpAddress *.
        (connect_to_server): Call camel_tcp_stream_get_local_address to
	get the local IP address.
        (smtp_disconnect): free	localaddr.
        (smtp_helo): Update for localaddr change.

        * camel-tcp-stream-raw.c (stream_get_socket): Remove
	(stream_get_local_address, stream_get_remote_address): Implement.

	* camel-tcp-stream-ssl.c (stream_get_socket): Remove
	(stream_get_local_address, stream_get_remote_address): Implement.

        * camel-tcp-stream-openssl.c (stream_get_socket): Remove
	(stream_get_local_address, stream_get_remote_address): Implement.

svn path=/trunk/; revision=16092
2002-03-11 00:53:49 +00:00
626182bef5 Don't call camel_remote_store_get_authtypes since we no longer subclass
2002-03-08  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-provider.c
	(camel_provider_module_init): Don't call
	camel_remote_store_get_authtypes since we no longer subclass
	camel-remote-store.

	* providers/pop3/camel-pop3-engine.c: Added STARTTLS to the
	capabilities to look for.
	(camel_pop3_engine_reget_capabilities): New function to re-get
	capabilities.

	* providers/pop3/camel-pop3-store.c: Updated to not subclass
	CamelRemoteStore.
	(connect_to_server): Rewritten to not depend on CamelRemoteStore's
	connect implementation. Also added support for STLS (aka
	STARTTLS).

svn path=/trunk/; revision=15998
2002-03-08 23:43:43 +00:00
fb1819e374 Fix to work with OpenSSL.
2002-03-06  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (connect_to_server): Fix
	to work with OpenSSL.

svn path=/trunk/; revision=15959
2002-03-07 00:15:44 +00:00
6a2ba3bd3a Make this compile.
* providers/smtp/camel-smtp-transport.c (smtp_construct): Make
	this compile.

svn path=/trunk/; revision=15946
2002-03-06 19:14:50 +00:00
f0ca248aed treat "" as "always" to maintain compatablity with old config settings
svn path=/trunk/; revision=15939
2002-03-06 01:43:22 +00:00
bdb8a0a993 Start the ssl stream off in non-ssl mode (useful for STARTTLS).
2002-03-05  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_new_raw):
	Start the ssl stream off in non-ssl mode (useful for STARTTLS).
	(camel_tcp_stream_openssl_enable_ssl): New function to toggle an
	ssl stream into ssl mode.
	(open_ssl_connection): Close the sockfd on fail so our caller
	doesn't have to - this also allows us to save the original errno.
	(stream_connect): If we want ssl mode, do our ssl stuff.
	(camel_tcp_stream_openssl_class_init): Init some SSL stuff here
	instead of in open_ssl_connection since these only ever need to be
	called once.
	(stream_read): Only use SSL_read if we are in ssl mode.
	(stream_write): Only use SSL_write if we are in ssl mode.

	* providers/smtp/camel-smtp-transport.c (smtp_helo): Check for the
	STARTTLS extension.
	(connect_to_server): Try to use STARTTLS whenever possible rather
	than the old way of doing things.
	(connect_to_server_wrapper): Wrapper around connect_to_server() to
	first try STARTTLS and then attempt normal SSL mode if we can't
	connect via STARTTLS.

	* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): New
	function to toggle an ssl stream into ssl mode.
	(camel_tcp_stream_ssl_new_raw): Start the ssl stream off in
	non-ssl mode (useful for STARTTLS).
	(stream_connect): Only connect in SSL mode if required.

svn path=/trunk/; revision=15937
2002-03-06 00:33:37 +00:00
5dafa97f0a Since the AUTH token sometimes uses '=' instead of whitespace, don't use
2002-02-12  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_helo): Since the
	AUTH token sometimes uses '=' instead of whitespace, don't use
	smtp_token_next here.

svn path=/trunk/; revision=15688
2002-02-12 20:39:54 +00:00
eeb0091ac1 Duh, when we grab the apop stamp it needs to include the <> as well, I
2002-02-09  Not Zed  <NotZed@Ximian.com>

        * providers/pop3/camel-pop3-engine.c (get_capabilities): Duh, when
        we grab the apop stamp it needs to include the <> as well, I even
        read the rfc, silly me.

        * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Doh,
        when iterating the authtype list, it helps to goto the next node.
        Found with help from miles.

svn path=/trunk/; revision=15636
2002-02-09 11:31:18 +00:00
d56ec225b8 The day number has to be 2 chars wide, space filled to work properly with
2002-02-08  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-spool-summary.c
        (camel_spool_summary_build_from): The day number has to be 2 chars
        wide, space filled to work properly with pine, etc.

        * providers/local/camel-spoold-store.[ch]: new type of provider
        'spool directory', which lets you view external mbox dirs without
        adding any extra cruft.  Perhaps it should use . files to store
        summaries?  Still a bit experimental, there's a warning when you
        select it in the account editor.  Finished off most of #1185.
        Can't rename or move folders.

        * camel-mime-utils.c (header_decode_date): If the date is
        100->1900 then we actually want to use it as the year in the tm
        struct, not year+100.  e.g. year 102 -> 2002, not 2102.

2002-02-07  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-spool-store.c (get_folder): Pass path into
        spool_folder_new.

        * providers/local/camel-spool-folder.c (camel_spool_folder_new):
        (camel_spool_folder_construct): Take the full path to the folder
        and use that as the file path, independent of the full_name we
        use.

2002-02-07  Not Zed  <NotZed@Ximian.com>

        * providers/local/camel-local-provider.c: Added new type, spoold
        provider, spoold: for local directories.

        * providers/imap/camel-imap-store.c (get_one_folder_offline):
        Create offline uri's in a compatible manner to online ones.

svn path=/trunk/; revision=15606
2002-02-08 02:10:46 +00:00
92d7dbf6ce Implementation of NTLM (aka "Secure Password Authentication") auth, taken
* 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
2002-02-08 01:56:45 +00:00
e456a9a264 Use "pop" instead of "pop3" so current configurations continue to work.
2002-01-30  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-provider.c: Use "pop" instead of
	"pop3" so current configurations continue to work.

svn path=/trunk/; revision=15532
2002-01-30 23:05:36 +00:00
b894c24f03 Changed name from "NT Login" to simply "Login".
2002-01-30  Not Zed  <NotZed@Ximian.com>

        * camel-sasl-login.c: Changed name from "NT Login" to simply
        "Login".

        * providers/pop3/*: Entirely new pop implmentation, supporting
        pipelining.

2002-01-29  Not Zed  <NotZed@Ximian.com>

        * camel-data-cache.c (free_busy): We dont want to unref the
        stream, instead, stop listening to the finalised events, and free
        the path only.

2002-01-25  Not Zed  <NotZed@Ximian.com>

        * camel-data-cache.c (stream_finalised): Remove the object from
        the busy_stream hashtable, not the busy_path hashtable.

svn path=/trunk/; revision=15521
2002-01-30 05:14:48 +00:00
5aab824c94 Added more kludge to an existing Exchange IMAP 5.5 kludge to work around
2002-01-29  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (imap_update_summary): Added
	more kludge to an existing Exchange IMAP 5.5 kludge to work around
	it returning multiple messages with the same UIDs.

svn path=/trunk/; revision=15513
2002-01-29 23:13:36 +00:00
aeb798c028 New function to decode an enhanced status code. (smtp_set_exception): Sets
2002-01-28  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_decode_status_code):
	New function to decode an enhanced status code.
	(smtp_set_exception): Sets an exception based on the
	Enhanced-Status-Code.
	(esmtp_get_authtypes): Don't diplicate the key in the hash since
	the key and value are the same.
	(smtp_rcpt): Include the failed recipient in the error message to
	be more helpful to the user.

	* camel-mime-utils.c (hex_decode): Make sure to allocate enough
	for the NUL byte.

svn path=/trunk/; revision=15500
2002-01-29 00:31:58 +00:00
6861836d29 Use flags rather than a bunch of gboolean variables. (smtp_connect): Same.
2002-01-28  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_construct):
	(connect_to_server): Use flags rather than a bunch of gboolean
	variables.
	(smtp_connect): Same.
	(smtp_mail): Here too. Use the enhanced status codes if available.
	(smtp_data): And again here.
	(smtp_helo): Finally here. Also detect the ENHANCEDSTATUSCODES
	extension.
	(smtp_rcpt): Use the enhanced status codes if available.
	(smtp_rset): Here too.
	(smtp_quit): And finally here.

	* camel-transport.h: Removed gboolean supports_8bit since this is
	pretty local to only SMTP for now.

svn path=/trunk/; revision=15498
2002-01-28 22:10:44 +00:00
4ba09274d6 Clean up some of the Makefiles so we dont' link every library multiple
times, causing big libtool 1.4 pain.

svn path=/trunk/; revision=15461
2002-01-24 23:16:18 +00:00
cf8db42ff8 As a temporary solution, just printf ("\a"); to make a beep :-)
2002-01-21  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-filter-driver.c (do_beep): As a temporary solution, just
	printf ("\a"); to make a beep :-)

	* providers/imap/camel-imap-command.c
	(imap_command_strdup_vprintf): Encode the mailbox to UTF-7 here.

	* providers/imap/camel-imap-utils.c (imap_parse_list_response):
	Decode the mailbox name as we parse the list response.
	(imap_mailbox_decode): It's only an illegal mailbox name if it
	didn't switch back to US-ASCII mode.

svn path=/trunk/; revision=15421
2002-01-21 23:28:20 +00:00
da5d9e6dc2 New function to decode an IMAP mailbox name from modified UTF-7 encoding
2002-01-18  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-utils.c (imap_mailbox_decode): New
	function to decode an IMAP mailbox name from modified UTF-7
	encoding to UTF-8.
	(imap_mailbox_encode): New function to convert a mailbox name from
	UTF-8 to IMAP's modified UTF-7 encoding.

svn path=/trunk/; revision=15361
2002-01-19 00:03:05 +00:00
b238693b64 Updated to match the new send_to API. (smtp_send): Get the from address
2002-01-15  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
	match the new send_to API.
	(smtp_send): Get the from address and pass that along to
	smtp_send_to().

	* providers/sendmail/camel-sendmail-transport.c
	(sendmail_send_to): Updated to match the new send_to API.

	* camel-transport.c (camel_transport_send_to): Now takes a from
	argument too.

svn path=/trunk/; revision=15328
2002-01-15 19:22:14 +00:00
811c9c4acd Sort the needheaders UID array and fixed to respect the UID_SET_LIMIT.
2002-01-15  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (imap_update_summary): Sort
	the needheaders UID array and fixed to respect the
	UID_SET_LIMIT. This should now finish the fixification of bug
	#2529. There's still the possible issue that a command-line (The
	only command-line I can think of that can still be too long is a
	SEARCH command, but this can't possibly be fixed until we rewrite
	the imap code to use Zucchi's ImapEngine idea).

svn path=/trunk/; revision=15327
2002-01-15 18:58:24 +00:00
d54a3c91c5 Updated to use the new imap_uid_array_to_set() interface.
2002-01-14  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
	Updated to use the new imap_uid_array_to_set() interface.
	(imap_expunge_uids_resyncing): Same.
	(do_copy): Here too.
	(imap_update_summary): Added a FIXME comment to rewrite allowing
	for a uid-set limitation.
	(get_matching): Copy some of the logic over from
	imap_uid_adday_to_set() to limit the length of the uid-set string.
	(imap_sync_online): Added a comment to explain what is going on
	with get_matching() since the behavior has changed slightly.

	* providers/imap/camel-imap-utils.c (imap_uid_array_to_set):
	Modify the interface so that we can limit the size of the uid set
	string returned.

svn path=/trunk/; revision=15318
2002-01-14 20:14:15 +00:00
345d090ac8 Rewritten to use a cache for body searches when online. Will need some
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
2002-01-14 09:35:52 +00:00
b2512674a0 Kludge around a bug in Exchange 5.5 that reports 2 messages with the same
2002-01-11  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (imap_update_summary): Kludge
	around a bug in Exchange 5.5 that reports 2 messages with the same
	UID. Fixes bug #17694. Replaces the fix from yesterday.

svn path=/trunk/; revision=15298
2002-01-11 23:47:29 +00:00
9a6363178b If PATH_MAX doesn't exist, use _POSIX_PATH_MAX.
2002-01-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/local/camel-local-folder.c: If PATH_MAX doesn't exist,
	use _POSIX_PATH_MAX.

svn path=/trunk/; revision=15291
2002-01-11 01:53:17 +00:00
b7b8622a46 If mi is NULL, don't bother updating it. Should fix bug #17694.
2002-01-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (imap_update_summary): If mi
	is NULL, don't bother updating it. Should fix bug #17694.

svn path=/trunk/; revision=15290
2002-01-10 23:15:45 +00:00
47aeef26e5 Kludge around Microsoft Exchange 5.5 (bug #5348) by forgetting our
2002-01-10  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (imap_update_summary): Kludge
	around Microsoft Exchange 5.5 (bug #5348) by forgetting our
	currently selected folder and re-SELECTing it so that the Exchange
	server has a chance to realise it has new messages.

svn path=/trunk/; revision=15284
2002-01-10 19:51:10 +00:00
623a8d83ce If the mbox file is a symlink, follow the symlink and get the One True
2002-01-09  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/local/camel-mbox-folder.c (camel_mbox_folder_new): If
	the mbox file is a symlink, follow the symlink and get the One
	True Path so that we can rewrite the mbox later without worrying
	about clobbering the symlink.

2002-01-08  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-filter-search.c (TODO): There are a few sexp callbacks
	that could be modified to use fms->info rather than using a
	message object (like date and possibly mlist stuff) but *only* if
	the date exists on the CamelMessageInfo object (since it may be
	blank except for message flags).
	(camel_filter_search_get_message): New internal convenience
	function to make sure that the FilterMessageSearch has loaded the
	message (and to load the message if this isn't the case).
	(check_header): Call camel_filter_search_get_message().
	(header_exists): Same.
	(header_regex): Here too.
	(header_full_regex): And here.
	(body_contains): Again here.
	(body_regex): Here too.
	(get_sent_date): Here also.
	(get_received_date): Same.
	(get_source): Here if we need to.
	(camel_filter_search_match): Now takes a callback function/data
	pair for on-demand message loading so that we don't necessarily
	have to load the message if the defined filter rules don't require
	it.

	* camel-filter-driver.c (camel_filter_driver_filter_folder): Don't
	bother fetching the message here, let
	camel_filter_driver_filter_message() worry about this.
	(get_message_cb): New utility callback to fetch a message.
	(camel_filter_driver_filter_message): Only fetch the message if we
	absolutely need it to get a CamelMessageInfo. Instead of passing a
	message object to camel_filter_search_match(), pass get_message_cb
	and some user_data so that the matching code can fetch the message
	on demand.

svn path=/trunk/; revision=15276
2002-01-09 21:34:07 +00:00
00903a7e0f Change the prototype for camel_address_get_type to return a CamelType
2001-12-20  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-address.h: Change the prototype for camel_address_get_type
	to return a CamelType (since internally this is what it returns
	and also in case we decide to write a replacement for the current
	CamelObject it'd be easier to drop in).

	* camel-internet-address.h: Same but for
	camel_internet_address_get_type()

	* providers/smtp/camel-smtp-transport.c (smtp_send_to): Updated to
	use a CamelAddress of recipients.
	(smtp_send): Since smtp_send_to now takes a CamelAddress
	recipients argument, our lives have been simplified and we can now
	just concat To/Cc/Bcc into a recipients addr and send away.

	* providers/sendmail/camel-sendmail-transport.c
	(sendmail_send_to): Updated to use a CamelAddress of recipients.

	* camel-transport.c (camel_transport_send_to): Now takes a
	CamelAddress argument for the recipient list rather than a GList.

svn path=/trunk/; revision=15197
2001-12-20 18:45:22 +00:00
6662ed356b install in the right directory. (accidentally didn't commit these before)
svn path=/trunk/; revision=15186
2001-12-19 21:10:27 +00:00
d55058d663 only use major and minor version in the camel providerdir, not micro and nano
svn path=/trunk/; revision=15121
2001-12-17 17:59:47 +00:00
c2e29d97bf Reverted my previous changes here since it doesn't actually work afterall.
2001-12-16  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (get_content): Reverted my
	previous changes here since it doesn't actually work afterall.

	* providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
	Update to do uudecoding when appropriate.

svn path=/trunk/; revision=15098
2001-12-17 02:51:00 +00:00
fc59dc8c6f Try to use the original boundary so luis will stop bugging me about "data
2001-12-16  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (get_content): Try to use the
	original boundary so luis will stop bugging me about "data
	corruption". Also preserve other params in the multipart
	content-type by dumping it to a string and setting it on the mime
	part.

svn path=/trunk/; revision=15094
2001-12-17 01:52:40 +00:00
78416d76d4 Try to use the original boundary so luis will stop bugging me about "data
2001-12-16  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (get_content): Try to use the
	original boundary so luis will stop bugging me about "data
	corruption".

svn path=/trunk/; revision=15093
2001-12-17 00:57:10 +00:00
0c3435a0e1 Don't use regex matching. Fixes bug #16227.
2001-11-29  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-search.c (search_body_contains): Don't use regex
	matching. Fixes bug #16227.

	* camel-mime-message.c (best_encoding): Check the content-object's
	mime type, not the mime part types. Should fix bug #15843.

2001-11-27  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (get_content): Return NULL if
	construct_from_stream fails.
	(get_message): Same.
	(get_message_simple): Here too.
	(add_message_from_data): And here.

svn path=/trunk/; revision=14834
2001-11-30 23:43:39 +00:00
d46cb0fd8d Completely new implementation of NNTP.
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
2001-11-30 03:09:38 +00:00
4b89a1c6b2 If the uid doesn't have a ',' in it, fail to crash.
2001-11-25  Not Zed  <NotZed@Ximian.com>

        * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message): If
        the uid doesn't have a ',' in it, fail to crash.

        * providers/nntp/camel-nntp-newsrc.c
        (camel_nntp_newsrc_article_is_read): check group != NULL before scanning.
        (camel_nntp_newsrc_get_highest_article_read): "
        (camel_nntp_newsrc_get_num_articles_read): "
        (camel_nntp_newsrc_mark_range_read): "

        * providers/nntp/camel-nntp-store.c
        (camel_nntp_store_get_overview_fmt): IF we dont have
        nntp_list_follows, dont try and get a list response.
        (nntp_store_get_folder_info): Set path part of folderinfo.

svn path=/trunk/; revision=14799
2001-11-27 23:05:30 +00:00
b1efae86ff Check to see that errno is non-zero before returning g_strerror. If it's
2001-11-20  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (get_smtp_error_string):
	Check to see that errno is non-zero before returning
	g_strerror. If it's 0, then we have an unknown error.

svn path=/trunk/; revision=14790
2001-11-26 21:32:26 +00:00
48820eabf4 Abort if body == NULL.
2001-11-16  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-utils.c (imap_parse_body): Abort if
	body == NULL.

svn path=/trunk/; revision=14738
2001-11-16 23:19:55 +00:00
b64fee1ba4 see the ChangeLog, I forget
svn path=/trunk/; revision=14736
2001-11-16 22:58:53 +00:00
5701b20541 If we get a BYE response, call camel_service_disconnect() and set an
2001-11-14  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-command.c
	(camel_imap_command_response): If we get a BYE response, call
	camel_service_disconnect() and set an exception. Also do the check
	for "* BYE" first instead of passing it off imap_read_untagged()
	since we'll just waste time in there mallocing left and right only
	to arrive at the single response line "* BYE" again :-)

svn path=/trunk/; revision=14735
2001-11-16 22:55:45 +00:00
9
7f1c4d58ea If we get a user cancel and that causes us to fail to authenticate, abort
2001-11-09    <NotZed@Ximian.com>

        * providers/imap/camel-imap-store.c (imap_auth_loop): If we get a
        user cancel and that causes us to fail to authenticate, abort
        rather than loop forever.  Fix for #14951.

svn path=/trunk/; revision=14648
2001-11-09 21:48:42 +00:00