Commit Graph

883 Commits

Author SHA1 Message Date
73f34050a1 remove the leading '/'. (nntp_store_subscribe_folder): same.
2000-10-11  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-store.c (nntp_store_unsubscribe_folder): remove the leading '/'.
	(nntp_store_subscribe_folder): same.
	(nntp_store_folder_subscribed): same.

svn path=/trunk/; revision=5868
2000-10-11 23:00:53 +00:00
fc74307dec Quote the mailbox name as it may contain spaces. (imap_copy_message_to):
2000-10-11  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/imap/camel-imap-folder.c (imap_move_message_to): Quote
	the mailbox name as it may contain spaces.
	(imap_copy_message_to): Same.

svn path=/trunk/; revision=5853
2000-10-11 17:42:03 +00:00
4f8ffe430f fill in message_count and unread_message_count properly.
2000-10-10  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-store.c
	(build_folder_info_from_grouplist): fill in message_count and
	unread_message_count properly.

	* providers/nntp/camel-nntp-newsrc.h: reformat.

	* providers/nntp/camel-nntp-grouplist.c
	(camel_nntp_get_grouplist_from_file): remove spew.

	* providers/nntp/camel-nntp-newsrc.c
	(camel_nntp_newsrc_group_get_num_articles_read): new function.
	(camel_nntp_newsrc_group_get_highest_article_read): robustification.

svn path=/trunk/; revision=5832
2000-10-11 04:37:33 +00:00
ce0396bfad Un-rasterize my changelog entry
No, I am not artifically inflating my commit numbers.

svn path=/trunk/; revision=5824
2000-10-10 22:31:26 +00:00
6d9a23e479 Check before deferencing the sep pointer.
2000-10-10  Joe Shaw  <joe@helixcode.com>

	* providers/imap/camel-imap-store.c
	(parse_list_response_as_folder_info): Check before deferencing the
	sep pointer.

svn path=/trunk/; revision=5822
2000-10-10 21:31:49 +00:00
8a246228a9 teach camel about "its" vs. "it's"
2000-10-10  Jacob "Ulysses" Berkman  <jacob@helixcode.com>

	* camel-*.c: teach camel about "its" vs. "it's"

svn path=/trunk/; revision=5819
2000-10-10 16:57:29 +00:00
66cce2a4b4 write out the newsrc. (nntp_store_get_name): if @brief, just return host.
2000-10-09  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-store.c (finalize): write out the
	newsrc.
	(nntp_store_get_name): if @brief, just return host.

	* providers/nntp/camel-nntp-newsrc.c: robustification and bug
	fixes.

svn path=/trunk/; revision=5808
2000-10-10 00:50:46 +00:00
4f9326dff4 Issue a warning if h->value is NULL.
2000-10-08  Miguel de Icaza  <miguel@helixcode.com>

	* camel-mime-part.c (write_to_stream): Issue a warning if h->value
	is NULL.

svn path=/trunk/; revision=5785
2000-10-08 06:56:13 +00:00
8681790bb9 Decode the resulting string.
2000-10-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-folder-summary.c (camel_summary_format_address): Decode
	the resulting string.

svn path=/trunk/; revision=5773
2000-10-06 21:38:36 +00:00
244385f54e add camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add
2000-10-06  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add
	camel-nntp-grouplist.h
	(libcamelnntp_la_SOURCES): add camel-nntp-grouplist.c

	* providers/nntp/camel-nntp-provider.c: add our own hash functions
	for nntp urls.

	* providers/nntp/camel-nntp-newsrc.c
	(camel_nntp_newsrc_group_is_subscribed): new function.
	(camel_nntp_newsrc_subscribe_group): new function.
	(camel_nntp_newsrc_unsubscribe_group): new function.

	* providers/nntp/camel-nntp-newsrc.h: add prototypes for
	_group_is_subscribed, _subscribe_group, and _unsubscribe_group.

	* providers/nntp/camel-nntp-store.c
	(build_folder_info_from_grouplist): new function.
	(nntp_store_get_folder_info): add subscribed_only_parameter.  if
	it's FALSE, load the grouplist and call
	build_folder_info_from_grouplist.
	(nntp_store_folder_subscribed): implement.
	(nntp_store_subscribe_folder): implement.
	(nntp_store_unsubscribe_folder): implement.
	(camel_nntp_store_init): add CAMEL_STORE_SUBSCRIPTIONS to the
	store's flags.

	* providers/mh/camel-mh-store.c (get_folder_info): add
	subscribed_only parameter.

	* providers/mbox/camel-mbox-store.c (get_folder_info): add
	subscribed_only parameter.

	* providers/imap/camel-imap-store.c (get_folder_info): add
	subscribed_only parameter.

	* camel-store.c (camel_store_supports_subscriptions): new function.
	(camel_store_folder_subscribed): new function.
	(camel_store_subscribe_folder): new function.
	(camel_store_unsubscribe_folder): new function.

	* camel-store.h: add prototypes and virtual functions for the
	subscribe implementation.  also, add a subscribed_only argument to
	camel_store_get_folder_info.

svn path=/trunk/; revision=5769
2000-10-06 19:41:58 +00:00
19436bc6fc new file.
2000-10-06  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-grouplist.c: new file.

	* providers/nntp/camel-nntp-grouplist.h: new file.

	* providers/nntp/camel-nntp-types.h: new file.

svn path=/trunk/; revision=5767
2000-10-06 19:31:07 +00:00
ff1f5fc3dd Fix so that we don't encode every single char in the word. Also, do we
2000-10-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-utils.c (quoted_encode): Fix so that we don't encode
	every single char in the word. Also, do we need a safemask? I
	don't see why we would.
	(header_encode_string): Don't strip off the last char!!

svn path=/trunk/; revision=5766
2000-10-06 19:05:22 +00:00
734f0a9402 Fix so that we don't encode every single char in the word. Also, do we
2000-10-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-utils.c (quoted_encode): Fix so that we don't encode
	every single char in the word. Also, do we need a safemask? I
	don't see why we would.

svn path=/trunk/; revision=5765
2000-10-06 17:59:39 +00:00
848c4f059d Don't compile the NNTP provider as it currently doesn't build because
of missing `camel-nntp-types.h'.

svn path=/trunk/; revision=5762
2000-10-06 16:31:06 +00:00
912d759d75 add camel-nntp-grouplist.h (libcamelnntp_la_SOURCES): add
2000-10-06  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/Makefile.am (libcamelnntpinclude_HEADERS): add
	camel-nntp-grouplist.h
	(libcamelnntp_la_SOURCES): add camel-nntp-grouplist.c

	* providers/nntp/camel-nntp-provider.c: add our own hash functions
	for nntp urls.

	* providers/nntp/camel-nntp-newsrc.c
	(camel_nntp_newsrc_group_is_subscribed): new function.
	(camel_nntp_newsrc_subscribe_group): new function.
	(camel_nntp_newsrc_unsubscribe_group): new function.

	* providers/nntp/camel-nntp-newsrc.h: add prototypes for
	_group_is_subscribed, _subscribe_group, and _unsubscribe_group.

	* providers/nntp/camel-nntp-store.c
	(build_folder_info_from_grouplist): new function.
	(nntp_store_get_folder_info): add subscribed_only_parameter.  if
	it's FALSE, load the grouplist and call
	build_folder_info_from_grouplist.
	(nntp_store_folder_subscribed): implement.
	(nntp_store_subscribe_folder): implement.
	(nntp_store_unsubscribe_folder): implement.
	(camel_nntp_store_init): add CAMEL_STORE_SUBSCRIPTIONS to the
	store's flags.

	* providers/mh/camel-mh-store.c (get_folder_info): add
	subscribed_only parameter.

	* providers/mbox/camel-mbox-store.c (get_folder_info): add
	subscribed_only parameter.

	* providers/imap/camel-imap-store.c (get_folder_info): add
	subscribed_only parameter.

	* camel-store.c (camel_store_supports_subscriptions): new function.
	(camel_store_folder_subscribed): new function.
	(camel_store_subscribe_folder): new function.
	(camel_store_unsubscribe_folder): new function.

	* camel-store.h: add prototypes and virtual functions for the
	subscribe implementation.  also, add a subscribed_only argument to
	camel_store_get_folder_info.

svn path=/trunk/; revision=5760
2000-10-06 08:25:36 +00:00
1d7f431754 Encode the name part of the address and don't quote the name.
2000-10-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-utils.c (header_address_list_format_append): Encode
	the name part of the address and don't quote the name.
	(header_decode_text): Rewrote from scratch, the old code was badly
	broken.

svn path=/trunk/; revision=5758
2000-10-06 00:59:34 +00:00
00a9e302ae Use the camel_address_encode function again.
2000-10-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-message.c (camel_mime_message_set_reply_to): Use the
	camel_address_encode function again.
	(camel_mime_message_set_from): Same.

svn path=/trunk/; revision=5756
2000-10-05 23:20:52 +00:00
19d6689653 Modified to not encode space chars in the middle of a line. (isblank): New
2000-10-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-utils.c (quoted_encode_step): Modified to not encode
	space chars in the middle of a line.
	(isblank): New macro if we're not on a system with the GNU isblank
	extension.

	* camel-mime-message.c (camel_mime_message_set_from): Reversed my
	changes, don't header_encode_phrase - it generates broken headers.
	(camel_mime_message_set_reply_to): Same.

svn path=/trunk/; revision=5747
2000-10-05 21:26:28 +00:00
dac3e574bf revert to old method (only use XOVER if OVER is supported.)
2000-10-04  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-utils.c (camel_nntp_get_headers):
	revert to old method (only use XOVER if OVER is supported.)

	* providers/nntp/camel-nntp-store.c
	(camel_nntp_store_get_overview_fmt): handle the case where the
	OVER extension isn't listed but LIST OVERVIEW.FMT works (again,
	INN 2.2).  enable the OVER extension in this case.

svn path=/trunk/; revision=5739
2000-10-05 00:51:58 +00:00
9e9dea1fdf return a gboolean so we can tell if this command worked. we can't key off
2000-10-04  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-utils.c (get_XOVER_headers): return a
	gboolean so we can tell if this command worked.  we can't key off
	the OVER extension being present because at least one server (INN
	2.2) doesn't report the OVER extension but implements the XOVER
	command.  This could of course just be because I'm a loser for
	thinking they were related in the first place.
	(camel_nntp_get_headers): always try XOVER first, and if it fails
	revert to the slow method.

svn path=/trunk/; revision=5723
2000-10-04 21:59:06 +00:00
67360d96cd Fix a case where a variable was free'd and then possibly used in an error
* providers/mbox/camel-mbox-store.c (get_folder): Fix a case where
	a variable was free'd and then possibly used in an error message.

svn path=/trunk/; revision=5722
2000-10-04 21:55:53 +00:00
9eb9d37c84 news: -> nntp:.
2000-10-04  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-provider.c
	(camel_provider_module_init): news: -> nntp:.

svn path=/trunk/; revision=5720
2000-10-04 21:41:13 +00:00
076b83ed4f use "nntp:" instead of "news:" since "news:" urls aren't supposed to have
2000-10-04  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-store.c (nntp_store_get_folder_info):
	use "nntp:" instead of "news:" since "news:" urls aren't supposed
	to have host/user/port info in them.  also, if there's a user
	defined in the url, put it in the urls for our folders.

svn path=/trunk/; revision=5717
2000-10-04 21:32:32 +00:00
aedfd03572 borrow some code from the imap provider to query the user for their
2000-10-04  Chris Toshok  <toshok@helixcode.com>

	* providers/nntp/camel-nntp-auth.c (camel_nntp_auth_authenticate):
	borrow some code from the imap provider to query the user for
	their password, and pass the user/passwd to nntp.  be extra
	paranoid and zero out the password before freeing it.

	* providers/nntp/camel-nntp-store.c (camel_nntp_store_init): add
	ALLOW_USER/ALLOW_PASSWORD/ALLOW_AUTH to the url flags.
	(nntp_store_query_auth_types_generic): return our list of
	auth_types.
	(nntp_store_query_auth_types_connected): broken, return same as in
	query_auth_types_generic.

svn path=/trunk/; revision=5716
2000-10-04 20:36:10 +00:00
549a24c521 IMAP4 (pre-rev1) doesn't support the 'LIST "" ""' idiom, so don't use it.
* providers/imap/camel-imap-store.c (imap_connect): IMAP4
	(pre-rev1) doesn't support the 'LIST "" ""' idiom, so don't use
	it. Just assume the dir_sep is '/'. Shrug.

svn path=/trunk/; revision=5714
2000-10-04 20:10:27 +00:00
4f9f4f44b4 Use header_encode_phrase instead. (camel_mime_message_set_from): Same.
2000-10-04  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-message.c (camel_mime_message_set_reply_to): Use
	header_encode_phrase instead.
	(camel_mime_message_set_from): Same.

svn path=/trunk/; revision=5710
2000-10-04 17:15:41 +00:00
47a2f8444f Handle the case where ct != NULL, but type and subtype are, and also match
2000-10-04  Not Zed  <NotZed@HelixCode.com>

        * camel-mime-utils.c (header_content_type_is): Handle the case
        where ct != NULL, but type and subtype are, and also match that
        against text/plain.

        * camel-folder-summary.c: Bump summary file version.
        (message_info_save): Save the size from the messageinfo.
        (message_info_load): Load the size from the summary file.
        (message_info_load): Fixed up the time_t saving/loading.  There
        was a reason the warning was left there ... obviously nobody could
        read the comment "/* warnings, leave them here */", why do i even
        bother.
        (camel_folder_summary_decode_time_t): Decode a time_t value from
        the summary file.
        (camel_folder_summary_encode_time_t): Encode a time_t value to the
        summary file.

svn path=/trunk/; revision=5706
2000-10-04 15:56:32 +00:00
d23ef47989 Quote the mailbox name when sending a SELECT request otherwise mailboxes
2000-10-03  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/imap/camel-imap-command.c (camel_imap_command): Quote
	the mailbox name when sending a SELECT request otherwise mailboxes
	with spaces in their names will cause problems.

	* camel-mime-message.c (camel_mime_message_set_reply_to): encode
	before setting.
	(camel_mime_message_set_from): Same.

svn path=/trunk/; revision=5697
2000-10-03 22:49:42 +00:00
00f2a8d64e New file containing camel_imap_command and friends. Major
* providers/imap/camel-imap-command.c: New file containing
        camel_imap_command and friends. Major camel_imap_command rewrite
        to remove duplicated code, make the parsing of literals be
        more safe/correct, deal with RECENT/EXPUNGE responses more
        consistently, and make it possible to implement the AUTHENTICATE
        command.

        * providers/imap/camel-imap-utils.c (imap_parse_nstring): New
        function, to parse an IMAP "nstring".

        * providers/imap/camel-imap-store.c: Move command stuff to
        camel-imap-command.c. Update for camel_imap_command changes.

        * providers/imap/camel-imap-folder.c: Update for
        camel_imap_command changes.
        (imap_append_message): CRLF filter the message before sending it.

        * providers/imap/Makefile.am: Add camel-imap-command.[ch], remove
        camel-imap-stream.[ch] for now.

svn path=/trunk/; revision=5693
2000-10-03 20:06:14 +00:00
ed3681564c New convenience function to determine if there are any 8bit mime parts in
2000-10-02  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-message.c (camel_mime_message_has_8bit_parts): New
	convenience function to determine if there are any 8bit mime parts
	in a mime message.
	(camel_mime_message_encode_8bit_parts): New convenience function
	to recursively reencode all 8bit mime parts to either
	quoted-printable or base64 depending on which would be the best
	encoding for that part.

	* providers/smtp/camel-smtp-transport.c (smtp_data): If the mime
	message contains 8bit parts and the server doesn't support 8bit
	transfers, reencode those parts before proceding with the send.
	(smtp_mail): If the mime message contains 8bit parts and the
	server supports the 8BITMIME extension to SMTP, notify the server
	that we'll be sending it 8bit mime parts.
	(_send_to): Find out if the message contains 8bit parts.

svn path=/trunk/; revision=5677
2000-10-02 23:26:53 +00:00
46ffa49aa1 Use the CamelInternetAddress parser. (smtp_get_email_addr_from_text):
2000-10-02  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/smtp/camel-smtp-transport.c (_send_to): Use the
	CamelInternetAddress parser.
	(smtp_get_email_addr_from_text): deprecated.

svn path=/trunk/; revision=5672
2000-10-02 21:13:08 +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
e9dc30dbf0 Remove camel_folder_{get,free}_subfolder_info, as we want to be able to
* camel-folder.[ch]: Remove
	camel_folder_{get,free}_subfolder_info, as we want to be able to
	scan the whole subfolder tree without having to open any folders,
	so this needs to be in CamelStore. Remove can_hold_folders and
	can_hold_messages flags; things that don't hold messages are no
	longer considered CamelFolders.

	* camel-folder-summary.[ch]: Remove CamelFolderInfo stuff.

	* camel-store.[ch]: Add camel_store_{get,free}_folder_info, as
	well as camel_store_free_folder_info_full and ..._nop for default
	implementations, and camel_folder_info_free and
	camel_folder_info_build as convenience functions. Turn
	CamelFolderInfo into a tree structure and also add an "url"
	member.

	* providers/*/camel-*-folder.c: Remove subfolder_info and can_hold
	stuff.
	* providers/*/camel-*-store.c: Add folder_info stuff.

	* providers/imap/camel-imap-folder.c (imap_summary_free): Free the
	summary elements with camel_message_info_free, not
	camel_folder_info_free. Oops.

	* providers/imap/camel-imap-utils.c: const poison

svn path=/trunk/; revision=5663
2000-10-02 19:08:20 +00:00
0212cbae5f More updating... still not usable, or even compilable
svn path=/trunk/; revision=5661
2000-10-02 18:23:40 +00:00
03e1e4756b another mem leak fix
svn path=/trunk/; revision=5633
2000-09-29 04:08:11 +00:00
338c81f70a Fixed some memory leaks. (camel_smtp_transport_init): Initialize
2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/smtp/camel-smtp-transport.c: Fixed some memory leaks.
	(camel_smtp_transport_init): Initialize supports_8bit to FALSE.
	(smtp_helo): If server supports 8bit, set supports_8bit to TRUE.

	* camel-transport.h (struct _CamelTransport): Added variable
	gboolean supports_8bit (we'll need this eventually? - see bugzilla
	bug #53)

	* providers/smtp/camel-smtp-transport.c
	(smtp_get_email_addr_from_text): Ugh, no wonder people were
	getting illegal seek warnings *sigh*. I guess I can only blame
	myself for this one though :-(

svn path=/trunk/; revision=5631
2000-09-29 02:53:47 +00:00
686a7adc09 Don't send the recipient data through smtp_get_email_addr_from_text - this
2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/smtp/camel-smtp-transport.c (_send_to): Don't send the
	recipient data through smtp_get_email_addr_from_text - this is a
	complete waste. In fact, we don't want to have to use that
	function ever.

	* camel-internet-address.c, camel-address.c: Added some gtk-doc comments.

svn path=/trunk/; revision=5629
2000-09-29 01:56:39 +00:00
7ba4d2bed2 Make sure to add the space char after an encoded word when the encoding is
2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-mime-utils.c (header_encode_string): Make sure to add the
	space char after an encoded word when the encoding is iso-8859-1.

svn path=/trunk/; revision=5626
2000-09-28 23:57:54 +00:00
4fccab6c19 When getting a literal string response, don't include the \r\n after the
2000-09-28  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/imap/camel-imap-folder.c (imap_get_message): When
	getting a literal string response, don't include the \r\n after
	the closing } (as in: "... {798}\r\n...")

	* providers/imap/camel-imap-stream.c (stream_read): Same.

svn path=/trunk/; revision=5621
2000-09-28 20:20:56 +00:00
e71de4c021 New function to fold headers.
2000-09-28  Not Zed  <NotZed@HelixCode.com>

        * camel-mime-utils.c (header_fold): New function to fold headers.

2000-09-27  Not Zed  <NotZed@HelixCode.com>

        * camel-mime-parser.c (folder_scan_header): If we had an empty
        header, then it must be end of the headers too.
        (folder_scan_init): No we dont need to init the outbuf with a nul
        terminator.

        * camel-folder-summary.c (camel_folder_summary_set_uid): New
        function to reset the uid to a higher value.

        * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
        "something failed (yo!)" what sort of crap is this?  Fixed all the
        indenting again, what wanker keeps running stuff through indent?
        (message_info_new): Check the uid we loaded off the disk, if it
        existed already, assign a new one.  If it didn't then make sure
        the nextuid is higher.

        * camel-charset-map.c: New file, used to build a large unicode
        decoding mapping table, and use it to determine what is the
        lowest charset a given word can be encoded with.  Uses tables from
        libunicode's source.

        * camel-internet-address.c (internet_encode): Use
        header_phrase_encode to properly encode the fullname, as required.
        refixed indenting.  Who keeps doing that?
        (camel_internet_address_find_address): Changed fatal return/warnings
        into assertions.

        * camel-mime-utils.c (header_raw_append_parse): Check : explicitly
        (removed from is_fieldname() macro).
        (camel_mime_special_table): Changed to short, so we can represent
        more bit types.
        (quoted_encode): Take a mask of the safe chars for this encoding.
        (header_address_decode): Removed a #warning that makes no sense
        anymore.
        (header_decode_date): Fixed the 'broken date' parser code, if it
        ever decoded it it just threw away the result.
        (header_encode_string): Use better charset matching for encoding
        strings as well.

2000-08-31  Not Zed  <NotZed@HelixCode.com>

        * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Save
        the index if we do a sync.
        (camel_mh_summary_check): Save the index here too.  Probably.

svn path=/trunk/; revision=5615
2000-09-28 11:31:29 +00:00
ef97f35231 Return untagged data in a GPtrArray rather than a string, since it saves
* providers/imap/camel-imap-store.c (camel_imap_command_extended):
	Return untagged data in a GPtrArray rather than a string, since it
	saves processing time and is much easier to deal with for several
	commands. Update for camel_imap_folder_changed change.
	(camel_imap_fetch_command): Update for camel_imap_folder_changed
	change.
	(imap_connect, imap_folder_exists): Update for
	camel_imap_command_extended change.

	* providers/imap/camel-imap-folder.c
	(imap_get_message_count_internal,
	imap_get_subfolder_info_internal, imap_search_by_expression):
	Update for camel_imap_command_extended change.

	(imap_get_summary_internal, imap_get_message_info_internal): Use
	camel_imap_fetch_command here now to get around the
	camel_imap_command_extended change.

	(camel_imap_folder_changed): turn expunged into a GArray of ints
	rather than a GPtrArray of strings representing ints.

svn path=/trunk/; revision=5608
2000-09-27 23:55:26 +00:00
7fcd09767d Quote the folder name as it may contain spaces.
2000-09-26  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/imap/camel-imap-folder.c
	(imap_get_message_count_internal): Quote the folder name as it may
	contain spaces.
	(imap_get_subfolder_info_internal): Same.

	* providers/imap/camel-imap-utils.c (imap_parse_list_response): Do
	proper unquoting for folder names.
	(func_get_current_date): Implemented.

	* providers/imap/camel-imap-store.c
	(imap_folder_exists): Quote the folder name as it may have spaces.
	(imap_create): Same.
	(check_current_folder): Same.

svn path=/trunk/; revision=5592
2000-09-26 17:25:22 +00:00
0960633750 Again...wrap the folder names in quotes
2000-09-22  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/imap/camel-imap-folder.c
	(imap_get_message_count_internal): Again...wrap the folder names
	in quotes

	* providers/imap/camel-imap-store.c (imap_folder_exists): Wrap the
	mailbox name in the LIST command in quotes just in case the folder
	has spaces in the name.
	(imap_create): Again, wrap folder name in quotes.
	(check_current_folder): Same...

	* providers/imap/camel-imap-utils.c (imap_parse_list_response):
	Update to unquote mailbox if it's quoted (allows us to get folders
	with spaces in the name).

svn path=/trunk/; revision=5556
2000-09-22 22:35:10 +00:00
0eb67058be The root folder's name is "", not the namespace. (camel_imap_folder_new):
* providers/imap/camel-imap-folder.c
        (imap_get_subfolder_info_internal): The root folder's name is "",
        not the namespace.
        (camel_imap_folder_new): constify folder_name.

        * providers/imap/camel-imap-store.c (get_folder): Create the
        folder with folder_name, not folder_path.
        (camel_imap_command_preliminary): Don't free cmdid here.

svn path=/trunk/; revision=5552
2000-09-22 18:44:07 +00:00
3af1201030 New function to convert Camel flags to an IMAP flag_list.
* providers/imap/camel-imap-utils.c (imap_create_flag_list): New
	function to convert Camel flags to an IMAP flag_list.
	(imap_parse_flag_list): Contrariwise.

	* providers/imap/camel-imap-store.c (camel_imap_command_*): Make
	the @ret arg actually optional, as (mostly) documented.
	(various): Don't pass "&result" to camel_imap_command_* if we're
	just going to immediately free it. Don't record status if we're
	not going to look at it.

	* providers/imap/camel-imap-folder.c: Likewise.
	(imap_summary_free): Use camel_folder_info_free.
	(imap_sync): Use imap_create_flag_list. Clear
	CAMEL_MESSAGE_FOLDER_FLAGGED after syncing so we don't keep
	re-syncing.
	(imap_append_message): Use imap_create_flag_list. Don't leak the
	memstream if the append fails.
	(imap_move_message_to): Use camel_folder_delete_message rather
	than doing it by hand.
	(imap_get_summary_internal, imap_get_message_info_internal): Use
	imap_parse_flag_list and header_raw_clear.
	(camel_imap_folder_changed): Use camel_message_info_free.

svn path=/trunk/; revision=5544
2000-09-21 21:05:56 +00:00
8fb132dab0 INBOX is case-insensitive. (get_root_folder_name): Make the root folder ""
* providers/imap/camel-imap-store.c (get_folder_name): INBOX is
	case-insensitive.
	(get_root_folder_name): Make the root folder "" rather than "/".
	(get_folder): Update for root folder name change.
	(camel_imap_store_get_toplevel_dir): Removed. (Unused, unneeded.)
	(camel_imap_store_folder_path): New function to turn a Camel
	folder name into the corresponding namespaced IMAP path.
	(imap_folder_exists): Make this take a store and a path rather
	than a folder.
	(imap_create): Likewise
	(get_folder): Update for camel_imap_store_folder_path and other
	changes.
	(check_current_folder): Likewise.

	* providers/imap/camel-imap-folder.c: Change a bunch of CamelStore
	variables to CamelImapStore (and add a few more) to prevent excess
	gratuitous casting. Use camel_imap_store_folder_path where
	appropriate.
	(camel_imap_folder_new): Update for root folder name change.

svn path=/trunk/; revision=5541
2000-09-21 19:40:20 +00:00
6820bb50e5 ack, remove the ~ and object files
svn path=/trunk/; revision=5511
2000-09-19 21:50:35 +00:00
e6272ebbed Use the linewrap filter to achieve full RFC0821 compliance.
2000-09-19  Jeffrey Stedfast  <fejj@helixcode.com>

	* providers/smtp/camel-smtp-transport.c (smtp_data): Use the
	linewrap filter to achieve full RFC0821 compliance.

	* camel-mime-filter-linewrap.[c,h]: New mime-filter to word-wrap.

svn path=/trunk/; revision=5510
2000-09-19 21:49:15 +00:00
efc4149c78 When encoding the internet address, quote the name as the name may have
2000-09-19  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-internet-address.c (internet_encode): When encoding the
	internet address, quote the name as the name may have commas or
	any other token which may later confuse our address parser.

svn path=/trunk/; revision=5506
2000-09-19 19:11:15 +00:00
64b4dc6796 Fix the case where INBOX isn't returned in the folder listing.
* providers/imap/camel-imap-folder.c
	(imap_get_subfolder_info_internal): Fix the case where INBOX
	isn't returned in the folder listing.

svn path=/trunk/; revision=5505
2000-09-19 18:56:26 +00:00