Commit Graph

2195 Commits

Author SHA1 Message Date
1de04ce7bd Use camel-url-scanner instead of regex.
2002-12-10  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-filter-tohtml.c (html_convert): Use camel-url-scanner
	instead of regex.

svn path=/trunk/; revision=19087
2002-12-10 17:40:34 +00:00
ed25ea4d31 Fixed to not be fooled in the case where the address is followed
2002-12-09  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-url-scanner.c (camel_url_addrspec_end): Fixed to not be
	fooled in the case where the address is followed immediately by a
	period.
	(camel_url_web_end): Made more robust.
	(camel_url_scanner_scan): Oops. We need to set the match->pattern
	string pointer to the correct pattern before executing the
	start/end methods (as some of them rely on this info).

svn path=/trunk/; revision=19077
2002-12-10 03:44:17 +00:00
d2971bf645 New code to scan for patterns (used only for url pattern matching atm, but
2002-12-09  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-url-scanner.c: New code to scan for patterns (used only
	for url pattern matching atm, but we may find other uses for this
	and thus rename it? I dunno). Uses ETrie.

svn path=/trunk/; revision=19075
2002-12-09 23:18:31 +00:00
24b06cb2a4 Use a bag instead of a hashtable to track the cache streams.
2002-12-07  Not Zed  <NotZed@Ximian.com>

	* camel-data-cache.c (data_cache_init): Use a bag instead of a
	hashtable to track the cache streams.
	(data_cache_finalise): Same.
	(free_busy): No longer needed.
	(data_cache_expire): use bag instead of hashtable.
	(stream_finalised): No longer required.
	(camel_data_cache_add): objectbagise
	(camel_data_cache_get): "
	(camel_data_cache_remove): "
	(data_cache_path): Set the now expired date before running expiry,
	so it plays better with multiple threads.  Still a couple of
	harmless races.

2002-12-06  Not Zed  <NotZed@Ximian.com>

	* providers/local/camel-spool-store.c (scan_dir): folders ->
	object bag.
	(get_folder_info_mbox): folders -> object bag.

	* providers/local/camel-mh-store.c (folder_info_new): folders ->
	object bag.

	* providers/local/camel-maildir-store.c (scan_dir): folders ->
	object bag.

	* providers/local/camel-local-store.c (rename_folder): folders ->
	object bag.

	* camel-private.h (CamelStorePrivate): Remove 'cache' lock,
	handled by the objectbag.

	* providers/imap/camel-imap-store.c (copy_folder): Removed.
	(imap_store_refresh_folders): folders -> object bag.
	(get_folder_counts): folders -> object bag.

	* camel-vee-store.c (vee_get_folder): changes for folders
	objectbag.
	(vee_get_folder_info): Change to use folders objectbag.  Also,
	dont refresh the base folder if we're in FAST mode.
	(build_info): Removed, no longer needed.
	(vee_rename_folder): Fixed for folders objectbag.

	* camel-store.c (camel_store_init): init the folders objectbag.
	(camel_store_finalize): Destroy the folders object bag.
	(folder_matches):
	(folder_finalize): Removed, now handled implicitly by the
	objectbag.
	(camel_store_get_folder): object bag changes.
	(camel_store_delete_folder): "
	(get_subfolders): Removed, now handled without a callback.
	(camel_store_rename_folder): Changed to use object bag of folders.
	(trash_add_folder): Removed.
	(init_trash): use folders object bag.
	(copy_folder_cache):
	(sync_folder): Removed, no longer needed.  Weird arsed code anyway.
	(store_sync): Use folder object bag instead of hashtable.
	(camel_store_unsubscribe_folder): "
	(camel_store_init): remove cache_lock init, no longer used.
	(camel_store_finalize): Same for cleanup.

2002-12-05  Not Zed  <NotZed@Ximian.com>

	* camel-store.h (struct _CamelStore): change folders from a
	hashtable into a CamelObjectBag.

	* camel-object.c (camel_object_ref): Use type_lock instead of
	class lock for ref counting.
	(camel_object_unref): Use type_lock instead of class lock for
	unref.
	(camel_object_unref): If the object is 'bagged', then also look
	hooks, and remove it from any bags.
	(camel_object_bag_new):
	(camel_object_bag_destroy):
	(camel_object_bag_add):
	(camel_object_bag_get):
	(camel_object_bag_remove_unlocked):
	(camel_object_bag_list):
	(camel_object_bag_abort):
	(camel_object_bag_remove): New functions to implement a utility
	object which can manage a 'bag' of weakly ref'd children in an
	atomic & threadsafe way.

svn path=/trunk/; revision=19056
2002-12-09 00:28:06 +00:00
d4b7008db3 Properly handle the case where the namespace is "". Fixes bug #34975
2002-12-04  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-store-summary.c
	(camel_imap_store_summary_add_from_full): Properly handle the case
	where the namespace is "". Fixes bug #34975

svn path=/trunk/; revision=19002
2002-12-04 16:17:02 +00:00
7ddf575be5 Fixed to not get false positives when the token is shorter than the actual
2002-12-03  Jeffrey Stedfast  <fejj@ximian.com>

	* broken-date-parser.c (get_tzone): Fixed to not get false
	positives when the token is shorter than the actual timezone
	string (but matches the first little bit of it).
	(datetok): Modified to properly handle when the first char of a
	token is a special char (such as a '-') that is also used as a
	token delimiter.

svn path=/trunk/; revision=18996
2002-12-03 18:23:17 +00:00
eaa2814a05 Use the new camel_operation_cancel_prfd() function to get the cancellation
2002-11-21  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.c (stream_read): Use the new
	camel_operation_cancel_prfd() function to get the cancellation fd
	so we can poll on it for cancellation stuff.
	(stream_write): Same.

2002-11-22  Not Zed  <NotZed@Ximian.com>

	* camel-operation.c (camel_operation_cancel_prfd): Implement, gets
	a nspr pr filedesc to poll/wait on
	(struct _CamelOperation): include a pr filedesc.

svn path=/trunk/; revision=18894
2002-11-22 22:29:56 +00:00
239c8b9bf7 If we have a namespace of "", then always match any path.
2002-11-21  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-store-summary.c
        (camel_imap_store_summary_namespace_find_path): If we have a
        namespace of "", then always match any path.
        (camel_imap_store_summary_namespace_find_full): Same, for full
        names. Should address #33309 & friends.

svn path=/trunk/; revision=18884
2002-11-22 03:12:10 +00:00
ccbfa5da03 applied plain_signature_fix.patch
svn path=/trunk/; revision=18841
2002-11-19 18:42:41 +00:00
3a49f0dd08 Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)
* tests/*/Makefile.am: Removed $(GNOME_LIBDIR) and $(GNOMEUI_LIBS)

svn path=/trunk/; revision=18839
2002-11-19 17:21:44 +00:00
7ac3df4983 If the namespace is at/below INBOX, check for the INBOX explicitly (since
2002-11-15  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-store.c (imap_connect_online): If the
	namespace is at/below INBOX, check for the INBOX explicitly (since
	it obviously won't show up in a LSUB INBOX.*). If either INBOX is
	not returned in the response or if the folder flags contain
	\NoSelect, subscribe to INBOX and then try LSUB again.

svn path=/trunk/; revision=18824
2002-11-18 13:23:32 +00:00
c2793329a9 Rewritten. Much much much cleaner implementation now, though uses
2002-11-11  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-filter-tohtml.c (html_convert): Rewritten. Much much
	much cleaner implementation now, though uses malloc/free more
	often than I'd like.

svn path=/trunk/; revision=18691
2002-11-11 15:14:49 +00:00
e1ef0a9ced Use g_strerror when setting an exception string (we need it to be in
2002-11-11  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (get_message_simple): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).

	* providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).

	* providers/pop3/camel-pop3-folder.c (pop3_refresh_info): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).
	(pop3_get_message): Same.

svn path=/trunk/; revision=18690
2002-11-11 06:40:28 +00:00
3eabd14ace Use g_strerror when setting an exception string (we need it to be in
2002-11-11  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/local/camel-spool-summary.c (spool_summary_sync_full):
	Use g_strerror when setting an exception string (we need it to be
	in UTF-8).
	(spool_summary_check): Here too.

	* providers/local/camel-spool-store.c (construct): Use g_strerror
	when setting an exception string (we need it to be in UTF-8).
	(get_folder): Same.
	(scan_dir): Here too.

	* providers/local/camel-spool-folder.c (spool_lock): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).

	* providers/local/camel-mh-summary.c (mh_summary_check): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).

	* providers/local/camel-mh-store.c (delete_folder): Use g_strerror
	when setting an exception string (we need it to be in UTF-8).

	* providers/local/camel-mbox-summary.c (summary_update): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).
	(mbox_summary_sync_full): Here too.
	(mbox_summary_sync_quick): Same.
	(mbox_summary_sync): Also here.
	(camel_mbox_summary_sync_mbox): Again here.

	* providers/local/camel-mbox-folder.c (mbox_lock): Use g_strerror
	when setting an exception string (we need it to be in UTF-8).
	(mbox_append_message): Same.
	(mbox_get_message): Here too.

	* providers/local/camel-maildir-summary.c (maildir_summary_load):
	Use g_strerror when setting an exception string (we need it to be
	in UTF-8).
	(maildir_summary_check): Same.

	* providers/local/camel-maildir-store.c (get_folder): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).
	(delete_folder): Same.
	(delete_folder): Here too.

	* providers/local/camel-local-summary.c (local_summary_sync): Use
	g_strerror when setting an exception string (we need it to be in
	UTF-8).

	* providers/local/camel-local-store.c (get_folder): Use g_strerror
	when setting an exception string (we need it to be in UTF-8).
	(create_folder): Same.
	(xrename): Here too.
	(rename_folder): And here.
	(delete_folder): Also here.

	* camel-provider.c (camel_provider_init): For debugging printfs,
	we want to use normal strerror (we want locale charset, not
	UTF-8).

	* camel-movemail.c (camel_movemail): Use g_strerror when setting
	an exception string (we need it to be in UTF-8).
	(movemail_external): Same.
	(camel_movemail_copy_file): Here too.
	(camel_movemail_solaris): Also here.

	* camel-mime-utils.c (rfc2047_decode_word): For debugging printfs,
	we want to use normal strerror (we want locale charset, not
	UTF-8).
	(header_encode_param): Same.

	* camel-mime-part-utils.c (convert_buffer): For debugging printfs,
	we want to use normal strerror (we want locale charset, not
	UTF-8).

	* camel-lock-client.c (camel_lock_helper_init): Use g_strerror
	when setting an exception string (we need it to be in UTF-8).

	* camel-data-cache.c (camel_data_cache_remove): Use g_strerror
	when setting an exception string (we need it to be in UTF-8).

	* camel-tcp-stream-raw.c (flaky_tcp_write): For debugging printfs,
	we want to use normal strerror (we want locale charset, not
	UTF-8).
	(flaky_tcp_read): Same.

	* camel-gpg-context.c (gpg_ctx_op_step): For debugging printfs, we
	want to use normal strerror (we want locale charset, not UTF-8).

	* camel-service.c (camel_gethostbyname): Use g_strerror when
	setting an exception string (we need it to be in UTF-8).

	* camel-lock.c (camel_lock_dot): Use g_strerror when setting an
	exception string (we need it to be in UTF-8).
	(camel_lock_fcntl): Same.

svn path=/trunk/; revision=18689
2002-11-11 06:24:56 +00:00
ef7e69f0f3 constify the content_type.
2002-11-07  Not Zed  <NotZed@Ximian.com>

        * camel-mime-part.c (camel_mime_part_set_content_type): constify
        the content_type.

svn path=/trunk/; revision=18660
2002-11-08 06:59:12 +00:00
3c508b93d7 don't #include <gtk/gtk.h>
svn path=/trunk/; revision=18639
2002-11-07 21:49:25 +00:00
796a15280d Added.
2002-11-07  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-i18n.h: Added.

	* camel-object.h: #include camel-i18n.h instead of gnome-i18n.h

	* camel-lock.c: Same.

svn path=/trunk/; revision=18638
2002-11-07 21:34:17 +00:00
182aac9271 removed gnome-defs.h, it does not exist.
2002-11-07  Rodrigo Moya <rodrigo@ximian.com>

	* camel-object.h: removed gnome-defs.h, it does not exist.

svn path=/trunk/; revision=18633
2002-11-07 16:34:33 +00:00
c8b587d9c5 Created temporary link list, we need to link with something for gettext.
2002-11-05  Not Zed  <NotZed@Ximian.com>

	* Makefile.am (camel_lock_helper_LDADD): Created temporary link
	list, we need to link with something for gettext.

	* camel.h: Remove gstring-util.h and hash-table-utils.h.

	* camel-text-index.c:
	(text_index_normalise): Changed for g_utf8_strdown api change.

	* camel-search-private.c:
	* camel-mime-utils.c:
	* camel-mime-part-utils.c:
	* camel-html-parser.c:
	* camel-charset-map.c: Include glib/gunicode.h from glib instead
	of gal.

	* camel-filter-driver.c: Remove include of gtk/gtk.h, should never
	have been there.

svn path=/trunk/; revision=18542
2002-11-05 09:05:24 +00:00
9536369bca Removed. Glib2 has this function.
2002-11-01  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (g_string_append_len): Removed. Glib2 has
	this function.

svn path=/trunk/; revision=18499
2002-11-02 00:59:16 +00:00
4eaf9e5699 Use g_path_get_basename instead of g_strdup (g_basename (filename)).
2002-11-01  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/local/camel-local-store.c (delete_folder): Use
	g_path_get_basename instead of g_strdup (g_basename (filename)).

svn path=/trunk/; revision=18498
2002-11-02 00:45:29 +00:00
60c8e14af4 Use g_path_get_dirname since g_dirname has been deprecated.
2002-11-01  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-uid-cache.c (camel_uid_cache_new): Use g_path_get_dirname
	since g_dirname has been deprecated.

svn path=/trunk/; revision=18497
2002-11-02 00:42:07 +00:00
8ae8cb3525 Set the virtual method pointers to the import/export methods.
2002-10-31  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-gpg-context.c (camel_gpg_context_class_init): Set the
	virtual method pointers to the import/export methods.
	(camel_gpg_context_init): Set the key_protocol string.
	(gpg_hash_to_id): Handle 2 more hash types.
	(gpg_id_to_hash): Same.
	(gpg_ctx_op_step): Slight fixes to support import/export.
	(gpg_ctx_parse_status): Fix to hack around the fact that importing
	keys doesn't write to stdout.
	(gpg_import_keys): Implemented.
	(gpg_export_keys): Implemented.

	* camel-cipher-context.c (camel_cipher_context_class_init): Hook
	up default virtual methods for import/export.
	(camel_cipher_import_keys): Implemented.
	(camel_cipher_export_keys): Implemented.

svn path=/trunk/; revision=18475
2002-11-01 00:45:05 +00:00
cfe440f26d oops, commit this too
svn path=/trunk/; revision=18474
2002-10-31 21:57:43 +00:00
29748a7520 Removed hash-table-utils.[c,h] from the build.
2002-10-31  Jeffrey Stedfast  <fejj@ximian.com>

	* Makefile.am: Removed hash-table-utils.[c,h] from the build.

	* hash-table-utils.[c,h]: Removed.

	* string-util.c: Imported g_strcase[hash,equal] into here so we
	can remove hash-table-utils.[c,h].

	* camel-medium.c: Removed #include "hash-table-utils.h"

	* camel-mime-message.c: Same here.

	* camel-mime-part.c: And here.

	* camel-session.c: Here too.

	* providers/imap/camel-imap-store-summary.c: #include
	string-utils.h instead of hash-table-utils.h

	* camel-charset-map.c: Same.

	* camel-folder-summary.c: Here too.

	* camel-provider.c: Again here.

	* camel-store-summary.c: And again...

svn path=/trunk/; revision=18473
2002-10-31 21:57:29 +00:00
f48db35928 Remove a ton of useless snot.
2002-10-31  Jeffrey Stedfast  <fejj@ximian.com>

	Remove a ton of useless snot.

	* Makefile.am: Remove gstring-util.[c,h] from the build.

	* gstring-util.[c,h]: Removed.

	* string-utils.c (string_equal_for_glist): Removed.
	(string_split): Removed.
	(string_trim): Removed.
	(string_prefix): Removed.
	(string_unquote): Removed.
	(strip): Removed.

	* hash-table-utils.c (g_hash_table_generic_free): Removed.

	g_str[n]casecmp functions are deprecated in glib2.

	* string-utils.c (strstrcase): Use strncasecmp instead of
	g_strncasecmp.

	* hash-table-utils.c (g_strcase_equal): Use strcasecmp
	instead of g_strcasecmp.

	* camel-smime-utils.c (camel_smime_is_smime_v3_signed): Same.
	(camel_smime_is_smime_v3_encrypted): Here too.

	* camel-sasl-digest-md5.c (decode_data_type): And here.
	(parse_server_challenge): Again here.

	* camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): Same.
	(camel_pgp_mime_is_rfc2015_encrypted): Same

	* camel-mime-part-utils.c (check_html_charset): Here too.

	* camel-folder-summary.c (camel_system_flag): Same.

svn path=/trunk/; revision=18472
2002-10-31 21:41:26 +00:00
8ef877a11e Don't prematurely set gpg->complete to TRUE. Let gpg_ctx_op_step () set it
2002-10-25  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-gpg-context.c (gpg_ctx_parse_status): Don't prematurely
	set gpg->complete to TRUE. Let gpg_ctx_op_step () set it to TRUE
	when gpg closes the status-fd instead.

svn path=/trunk/; revision=18448
2002-10-28 01:43:08 +00:00
d91b5bb034 ** For bug #31647 and bug #31456.
2002-10-24  Not Zed  <NotZed@Ximian.com>

        ** For bug #31647 and bug #31456.

        * camel-store-summary.c (store_info_string): for STORE_INFO_NAME,
        skip the leading /.

        * providers/imap/camel-imap-store.c
        (parse_list_response_as_folder_info): Remove jeff's last patch,
        and use the store summary to create the name and path of the
        folderinfo so it manages namespace issues.
        (get_folder_info_online): Just pass @top directly to
        build_folder_info always, since namespace is mapped to 1 tree
        level.
        (imap_build_folder_info): Remove jeff's last patch, dont strip
        leading /'s, they shouldn't exist.
        (imap_connect_online): Remove adding the INBOX here, we add it
        later.
        (get_subscribed_folders): Make sure INBOX is always in the list.
        some imap servers dont seem to let you subscribe to it(?), so
        always have it act as subscribed.

        * camel-store.c (camel_folder_info_build): back out the last 2
        patches from Jeff (for #31456) to get the original behaviour.
        (camel_folder_info_build): When creating a fake
        parent, dont strip the namespace from the full_name.  malloc keys
        in hash since we dont have them anymore.
        (free_name): Helper to free names.

        * providers/imap/camel-imap-store-summary.c
        (camel_imap_store_summary_namespace_new): Canonicalise the
        namespace (strip trailing dir_sep), and change the path to remove
        any /'s.
        (camel_imap_store_summary_namespace_find_path):
        (camel_imap_store_summary_namespace_find_full): new, find
        namespace by path/full name.
        (camel_imap_store_summary_full_from_path): Changed to a simple
        wrapper around path_to_full, after checking namespace.
        (camel_imap_store_summary_add_from_full): map the namespace if
        present.
        (camel_imap_store_summary_path_to_full): If namespace exists,
        unmap it.

svn path=/trunk/; revision=18424
2002-10-24 14:01:53 +00:00
08af37f568 Canonicalise the source_uri to not have a path. Fixes bug #32268.
2002-10-18  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-filter-driver.c (camel_filter_driver_filter_folder):
	Canonicalise the source_uri to not have a path. Fixes bug #32268.

2002-10-17  Jeffrey Stedfast  <fejj@ximian.com>

	Possible fix for bug #32270

	* providers/pop3/camel-pop3-store.c (try_sasl): If we get an I/O
	error, we should not be setting the CANT_AUTH exception but should
	instead be setting the SYSTEM exception. Also check for EINTR
	which signifies a USER_CANCEL exception.
	(pop3_try_authenticate): If the auth mechanism isn't supported,
	don't set the CANT_AUTH exception since then we will loop and try
	again with the same data which will just cause an infinite loop.
	(pop3_connect): Simplified a bit.

svn path=/trunk/; revision=18412
2002-10-22 18:17:06 +00:00
a28bbcd16f #include "camel-stream-fs.h" for writing out the certs to disk
svn path=/trunk/; revision=18395
2002-10-18 17:59:59 +00:00
1f92328c4b Do the filtering ourselves. This is so a problem like a missing uid (which
2002-10-03  Not Zed  <NotZed@Ximian.com>

        * camel-folder.c
        (filter_filter): Do the filtering ourselves.  This is so a problem
        like a missing uid (which can happen legitemitely) doesn't
        prematurely abort filtering.  Stop on all other errors.  See
        #31667.

svn path=/trunk/; revision=18392
2002-10-18 03:32:42 +00:00
50e16acfc8 If ~/.camel_certs doesn't exist, create it.
2002-10-17  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.c (camel_certdb_nss_cert_set): If
	~/.camel_certs doesn't exist, create it.

svn path=/trunk/; revision=18391
2002-10-18 03:03:13 +00:00
d4e1fb42e0 helper, build fingerprint. (camel_certdb_nss_cert_get): Helper for nss
2002-10-15  Not Zed  <NotZed@Ximian.com>

        * camel-tcp-stream-ssl.c (cert_fingerprint): helper, build
        fingerprint.
        (camel_certdb_nss_cert_get): Helper for nss certs.  Lookup cert.
        As well as fingerprint, the whole raw cert is checked for
        validity.
        (camel_certdb_nss_cert_add): Add an nss cert to a certdb, also
        saves the cert by fingerprint in ~/.camel_certs/.
        (ssl_bad_cert): Changed to use above functions to simplify logic.
        (ssl_bad_cert): Also added non-compiled code which mimics what
        mozilla does, but it doesn't work right :-/
        (camel_certdb_nss_cert_set): Save the raw cert associated with a
        cert.

        * camel-certdb.c (certdb_cert_free): Free the raw cert data if
        set.

2002-10-14  Not Zed  <NotZed@Ximian.com>

        * camel-file-utils.c (camel_file_util_encode_string): Encode a
        length of 0 as 1, not 0, to match the decode code.

svn path=/trunk/; revision=18385
2002-10-17 03:56:13 +00:00
0372b96a72 No longer takes a path argument. (camel_gpg_context_fianlise): No need to
2002-10-16  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-gpg-context.c (camel_gpg_context_new): No longer takes a
	path argument.
	(camel_gpg_context_fianlise): No need to free ctx->path.
	(gpg_ctx_new): No longer takes a path argument either.
	(gpg_ctx_free): No need to free ctx->path, it's no longer used.
	(gpg_ctx_op_start): Don't stat the path anymore and change the
	first arg to execvp to "gpg" so that we use the shell's
	environment to find gpg.
	(gpg_sign): Updated.
	(gpg_verify): Updated.
	(gpg_encrypt): Updated.
	(gpg_decrypt): Updated.
	(gpg_ctx_get_argv): Removed some debug printfs.

svn path=/trunk/; revision=18383
2002-10-17 03:01:36 +00:00
632e29aba5 If the hash id is NULL, return CAMEL_CIPHER_HASH_DEFAULT. Fixes bug
2002-10-15  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-gpg-context.c (gpg_id_to_hash): If the hash id is NULL,
	return CAMEL_CIPHER_HASH_DEFAULT. Fixes bug #32229.

svn path=/trunk/; revision=18371
2002-10-15 20:09:18 +00:00
aa99a5060a If the response from the IMAP server is "No", don't set the
2002-10-08  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-command.c (imap_read_response): If the
	response from the IMAP server is "No", don't set the
	SERVICE_UNAVAILABLE exception, this makes error reporting in the
	UI for deleting IMAP folders that cannot be deleted inaccurate
	(ie, it reports "Cannot delete in offline mode" which is not the
	problem).

svn path=/trunk/; revision=18356
2002-10-09 17:29:34 +00:00
3b8bf37f68 Fixes bug #31752
2002-10-07  Jeffrey Stedfast  <fejj@ximian.com>

	Fixes bug #31752

	* providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
	forget to send another EHLO command to the server once we toggle
	into STARTTLS mode.
	(smtp_helo): Reset any flags set using the EHLO response and also
	any authtypes.

svn path=/trunk/; revision=18334
2002-10-07 18:13:53 +00:00
bf304afc8a Fix all mailing list regex patterns to allow any number of spaces *or*
2002-10-06  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c: Fix all mailing list regex patterns to allow
	any number of spaces *or* tabs as pre-padding for the header
	values.

svn path=/trunk/; revision=18333
2002-10-07 18:10:24 +00:00
a0b931d89d Use the content-object's rawtext flag to decide if it needs to be filtered
2002-10-03  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-part.c (write_to_stream): Use the content-object's
	rawtext flag to decide if it needs to be filtered through the
	charset filter instead of using the mime part's rawtext flag since
	this will never be set. Partial fix for bug #31655.

svn path=/trunk/; revision=18323
2002-10-04 17:24:45 +00:00
a2db8a30c8 Dont get the filter driver inside the change_lock. Its not necessary, and
2002-10-03  Not Zed  <NotZed@Ximian.com>

        * camel-folder.c (folder_changed): Dont get the filter driver
        inside the change_lock.  Its not necessary, and can cause deadlock
        with the way the mailer gets the filter driver via g_mainloop.
        Should fix #31572.

svn path=/trunk/; revision=18321
2002-10-04 03:00:23 +00:00
f79eb8ef5a Map us-ascii to windows-1252 also.
2002-10-02  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-charset-map.c (camel_charset_iso_to_windows): Map us-ascii
	to windows-1252 also.

svn path=/trunk/; revision=18318
2002-10-03 16:53:20 +00:00
566e0fe148 Add missing ;.
svn path=/trunk/; revision=18315
2002-10-03 01:54:52 +00:00
5799cfdcea /home/notzed/gnome/head/evolution/camel
2002-10-02  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (get_matching): Set *set to
        NULL if we dont get any matches.
        (imap_sync_online): If we get no matches, skip any work, also
        reorder some code to make it easier to skip.  See #31031.

        * providers/imap/camel-imap-store.c
        (imap_check_folder_still_extant): Default to "TRUE", if the list
        command failed, it probably means a server problem, assume the
        worst.  This makes imap_refresh_info not clear the exception and
        crash.  Fixes crash of #31000.

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

        * providers/imap/camel-imap-folder.c (imap_refresh_info): Make
        sure we pass the exception to imap_folder_selected(), otherwise
        failures can be lost.  See bug #31000.

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

        * camel-folder.c (thaw): Add an assertion that the frozen count>0.
        (freeze): Same for >= 0.

        * camel-vee-folder.c (camel_vee_folder_remove_folder): Use the
        unmatched freeze_count when thawing folders removed from
        unmatched, rather than the folder's freeze_count.  Might be
        related to #27391.

svn path=/trunk/; revision=18314
2002-10-03 00:15:23 +00:00
7bbdb47dd5 Use strtol when decoding the timezone (since it can be negative) and don't
2002-10-01  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (decode_internaldate): Use
	strtol when decoding the timezone (since it can be negative) and
	don't forget to increment inptr to the start of the time (ie,
	don't leave inptr pointing to the year when decoding the
	hour:min:sec).

svn path=/trunk/; revision=18283
2002-10-01 18:04:46 +00:00
6122b68bb1 Fixes bug #31456.
2002-09-30  Jeffrey Stedfast  <fejj@ximian.com>

	Fixes bug #31456.

	* providers/imap/camel-imap-store.c (imap_connect_online): Don't
	LSUB "" "*", instead get both an LSUB containing the subfolders of
	the namespace and an LSUB of INBOX (assuming namespace was
	non-empty). This fix really has nothing to do with bug #31456 but
	is what should have been done in the first place.
	(parse_list_response_as_folder_info): Simplify a tad and strip
	extra leading /'s from fi->path.
	(imap_build_folder_info): Strip extra leading /'s from fi->path.

	* camel-store.c (camel_folder_info_build): Don't strip the
	namespace from the fi->full_name when hashing or creating fake
	parent folder-infos. Fixes a bug I found while trying to reproduce
	bug #31456.
	(camel_folder_info_build_path): Strip off extra leading dir_sep
	chars from the path.

svn path=/trunk/; revision=18273
2002-09-30 22:57:42 +00:00
326d9cdc79 Don't strip the namespace from the fi->full_name when hasing or creating
2002-09-30  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-store.c (camel_folder_info_build): Don't strip the
	namespace from the fi->full_name when hasing or creating fake
	parent folders. Fixes a bug I found while trying to reproduce bug
	#31456.

svn path=/trunk/; revision=18270
2002-09-30 20:45:42 +00:00
1dcff68ce6 Remove debug content_info_dump, could cause a crash, and not really needed
2002-09-30  Not Zed  <NotZed@Ximian.com>

	* providers/imap/camel-imap-folder.c (imap_get_message): Remove
	debug content_info_dump, could cause a crash, and not really
	needed anymore.

	* camel-folder-summary.c (camel_content_info_dump): Check ci->type
	!= NULL before dereferencing it.  Should fix crash #31331.

svn path=/trunk/; revision=18259
2002-09-30 05:06:51 +00:00
7ed66fac42 New function to decode the INTERNALDATE response from an IMAP server so we
2002-09-27  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-folder.c (decode_internaldate): New
	function to decode the INTERNALDATE response from an IMAP server
	so we don't have to use my broken-date-parser routines.

2002-09-27  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/imap/camel-imap-store.c (connect_to_server):
	NULL-check the streams before unreffing them in the case of a
	failure during ssl negotiations.

	* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): Check
	SSL_ResetHandshake() for errors. Also force a handshake after
	we've reset the handshake state on the socket.

svn path=/trunk/; revision=18252
2002-09-27 20:20:08 +00:00
636a544373 Use the summary's last uid as the one to fetch from, ignoring the cache.
2002-09-27  Not Zed  <NotZed@Ximian.com>

        * providers/imap/camel-imap-folder.c (imap_update_summary): Use
        the summary's last uid as the one to fetch from, ignoring the
        cache.  Use strotul instead of atoi as well.

        * providers/imap/camel-imap-store.c (get_folder_counts): If we
        have the folder open, and the unread count has changed, refresh
        it.  Should fix #30399 enough.  Also in non-check-all mode, if we
        have the folder open, use it anyway.

svn path=/trunk/; revision=18242
2002-09-27 05:34:05 +00:00
3cb66ed22a Treat spool as a local folder, so the ref checks work right.
2002-09-26  Not Zed  <NotZed@Ximian.com>

	* tests/folder/test2.c (main): Treat spool as a local folder, so
	the ref checks work right.

	* providers/local/camel-spool-store.c
	(get_folder): Use creat() instead of open() to create file.

svn path=/trunk/; revision=18231
2002-09-26 05:56:12 +00:00