1 2007-08-28 Ross Burton <ross@openedhand.com>
4 Fix FSF address (Tobias Mueller, #470445)
6 2007-08-27 Johnny Jacob <jjohnny@novell.com>
8 ** Fix for 261084 by Jared Moore <cornflake.pirate@gmail.com>
10 * camel-folder-search.c: String change.
13 2007-08-27 Srinivasa Ragavan <sragavan@novell.com>
15 ** Fix for bug #256878 from Vincent Untz
17 * camel-cipher-context.h:
18 * camel-gpg-context.c: (gpg_verify), (gpg_decrypt):
20 2007-08-23 Matthew Barnes <mbarnes@redhat.com>
22 * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_get):
23 Simplify the code; use g_file_get_contents() (#437331).
25 2007-08-20 Matthew Barnes <mbarnes@redhat.com>
28 Add argument checks to several public functions (#467883).
30 2007-08-16 Milan Crha <mcrha@redhat.com>
32 ** Part of fix for bug #350539
34 * camel-filter-search.c: (check_header):
35 * camel-smime-context.c: (camel_smime_context_describe_part):
36 * camel-mime-part-utils.c:
37 (camel_mime_part_construct_content_from_parser):
38 * camel-gpg-context.c: (gpg_decrypt):
39 Ensures non-NULL part/message/dw/ipart/content.
41 2007-08-14 Jens Granseuer <jensgr@gmx.net>
43 ** Fix for bug #466309
45 * camel-folder-summary.c: (camel_folder_summary_add_from_parser):
46 declare variables at the beginning of the block. Fixes building
47 with non-C99 compilers.
49 2007-08-13 Milan Crha <mcrha@redhat.com>
51 ** Fix for bug #352346
53 * camel-provider.h: Added new constants CAMEL_URL_PART_PATH_DIR and
54 CAMEL_URL_NEED_PATH_DIR; when CAMEL_URL_NEED_PATH_DIR is set, then
55 in editor dialog is choosing file, without it directory.
57 2007-08-13 Srinivasa Ragavan <sragavan@novell.com>
59 ** Fix for bug #420462
61 * camel-store.c: (camel_folder_info_build): If the FolderInfo doesn't
62 have a child, unset the NO_CHILDREN flag.
64 2007-08-12 Rob Bradford <rob@openedhand.com>
66 * camel-text-index.c: (camel_text_index_new):
67 Fix syntax error introduced by my patch. Kudos to Theppitak
68 Karoonboonyanan for discovering it.
70 2007-08-12 Johnny Jacob <jjohnny@novell.com>
72 ** Fix for 387806 by Rob Bradford <rob@openedhand.com>
74 * camel-text-index.c: Add some checking of return values when
75 calling camel_block_file_new_block.
77 2007-08-12 Johnny Jacob <jjohnny@novell.com>
79 ** Fix for Bug 261084 from Jared Moore
81 * camel-folder-search.c :
83 2007-07-28 Ross Burton <ross@openedhand.com>
86 * camel-folder-summary.c:
87 Add some sanity checks (#460861)
89 2007-07-29 Srinivasa Ragavan <sragavan@novell.com>
91 ** Fix for bug #402925 from hggdh
93 * camel.c: (camel_init):
95 2007-07-09 Gilles Dartiguelongue <gdartigu@svn.gnome.org>
97 * camel-folder.c: (camel_folder_change_info_add_update),
98 (change_info_remove), (camel_folder_change_info_add_uid),
99 (camel_folder_change_info_remove_uid),
100 (camel_folder_change_info_change_uid):
101 * camel-gpg-context.c: (gpg_ctx_get_diagnostics),
102 (gpg_ctx_parse_status):
103 * camel-mime-filter-bestenc.c: (filter):
104 * camel-mime-filter-tohtml.c: (writeln):
105 * camel-search-private.c: (camel_ustrstrcase), (camel_ustrcasecmp),
106 (camel_ustrncasecmp), (camel_search_header_match),
107 (camel_search_message_body_contains), (camel_search_words_simple):
108 * camel-url-scanner.c: (camel_url_scanner_scan):
109 * camel-utf8.c: (g_string_append_u), (camel_utf8_ucs2):
110 Fix compilation warnings (#363384)
112 2007-06-20 Milan Crha <mcrha@redhat.com>
114 ** Fix for bug #449531
116 * camel-mime-filter-pgp.c: (filter_run):
117 Accept one space on a line after signature header as separator.
119 2007-07-09 Srinivasa Ragavan <sragavan@novell.com>
121 ** Fix for bug #434356 from Jindrich Makovicka
123 * camel-mime-utils.c: (header_decode_lwsp), (header_decode_domain):
125 2007-07-02 Srinivasa Ragavan <sragavan@novell.com>
127 ** Fix for bug #412735 from Pascal Terjan
129 * camel-url-scanner.c: (url_stop_at_brace):
131 2007-06-26 Philip Van Hoof <pvanhoof@gnome.org>
133 * providers/local/camel-maildir-folder.c: Bugfix when renaming from
134 tmp to cur didn't work (which can happen on FAT32 that doesn't allow
135 certain special characters that are used by the Maildir spec).
137 2007-06-21 Irene Huang <irene.huang@sun.com>
139 * camel-sasl-gssapi.c: (gssapi_challenge): replace gss_nt_service_name
140 with GSS_C_NT_HOSTBASED_SERVICE.
142 2007-06-14 Philip Van Hoof <pvanhoof@gnome.org>
144 * camel-net-utils.c: Memory leak fix
146 2007-06-14 Philip Van Hoof <pvanhoof@gnome.org>
148 * camel-imap-folder.c: Security bugfix. The sequence can be a negative
149 value while it is being used as the index of an array (#447414)
151 2007-06-10 Matthew Barnes <mbarnes@redhat.com>
153 * camel-object.c (cobject_state_read), (cobject_state_write):
154 Calculate CamelArgV sizes in such a way that it doesn't produce
155 negative intermediate values. Negative values are bad because
156 the terms of the expression are unsigned. (#331099)
158 2007-06-06 Sankar P <psankar@novell.com>
160 * camel-sasl-gssapi.c:
161 Fixed some wrong pre-processor directives,
162 that were causing build-break.
165 2007-06-05 Irene Huang <irene.huang@sun.com>
167 * camel-sasl-gssapi.c: Add headers for Sun Kerberos
170 2007-06-05 Irene Huang <irene.huang@sun.com>
172 * camel-sasl-gssapi.c:
174 2007-06-01 Karl Relton <karllinuxtest.relton@ntlworld.com>
176 ** Fix for bug #311512
178 * camel-folder.c (folder_changed): Block "folder_changed" signal
179 propagation until filtering has completed.
180 (camel_folder_change_info_new): Added a new uid_filter array.
181 (change_info_recent_uid, change_info_filter_uid): Silently add
183 (camel_folder_change_info_cat): Silently add uids to recent and
185 (camel_folder_change_info_recent_uid): Use the new
186 change_info_recent_uid() function and also add the uid to the
188 (camel_folder_change_info_clear): Clear the filter uid set.
189 (camel_folder_change_info_free): Free the filter uid set.
191 2007-05-24 Ross Burton <ross@openedhand.com>
193 * providers/sendmail/Makefile.am:
194 Add missing link flags to fix build with -z,defs. (#409542, Loic
197 2007-05-16 Jules Colding <colding@omesc.com>
199 * camel-lock.c (camel_lock_dot): Use g_mkstemp()
201 * camel-folder-summary.c (camel_folder_summary_save): Fix file
202 descriptor leak. fclose() a fdopen() stream instead of
203 close()'ing the underlying file descriptor.
205 * camel-uid-cache.c (camel_uid_cache_save): Cleanups, such as
206 setting cache->fd = -1 when fd has been closed.
208 * camel-block-file.c (key_file_use): Do not close() if (fd == -1)
210 * camel-index-control.c (do_perf): Fix file descriptor leak
212 * camel-charset-map.c (main): Check for return value
214 * camel-text-index.c (dump_raw): Fix file descriptor leak
216 * camel-lock.c (main): Fix file descriptor leak.
218 * camel-lock-client.c (camel_lock_helper_init): Fix file
221 * camel-process.c (camel_process_fork): Fix file descriptor leak
223 2007-05-15 Srinivasa Ragavan <sragavan@novell.com>
225 * camel-disco-store.c: (camel_disco_store_prepare_for_offline):
226 Added a new api to fetch a folder for offline sync. *
229 2007-05-12 Jules Colding <colding@omesc.com>
231 * camel-store.h (CamelFolderInfo): Change type of unread and total
232 members to gint32 instead of guint32. The previous unsigned members
233 are initialized to a negative value (-1) by many CamelFolderInfo
234 producers. To do that is ugly. Changing the type to a signed data
235 type will make a negative initialization value acceptable. We
236 won't be able to index folders with more than ~2 billion messages,
237 but who has that many anyway?
239 2007-05-07 Matthew Barnes <mbarnes@redhat.com>
241 * camel-stream-vfs.c:
242 * camel-stream-vfs.h:
243 Fix warnings reported by 'sparse'. Patch from Kjartan Maraas.
245 2007-04-30 Srinivasa Ragavan <sragavan@novell.com>
247 * Makefile.am: Added the include files part of core to the
248 installation path. Build break.
250 2007-04-27 Matthew Barnes <mbarnes@redhat.com>
252 ** Fixes part of bug #418852
254 * Note, these changes touch almost every file in Camel.
256 * Replace C++ declaration guards (extern "C" { ... }) with
257 G_BEGIN_DECLS / G_END_DECLS, or add them to headers with
258 no declaration guards at all.
260 * Use GLib's i18n support instead of Camel's (now deprecated).
262 * Use quotes and brackets consistently in #include directives.
264 * Remove CAMEL_EXPLICIT_TRANSLATION_DOMAIN from Makefiles.
266 * Fix documentation warnings identified by Gtk-Doc.
269 Expose Camel's entire "core" (non-provider) API.
272 Deprecate this API. Use GLib's i18n support instead.
274 * camel-folder.h (camel_folder_get_message_flags):
275 * camel-folder.h (camel_folder_set_message_flags):
276 * camel-folder.h (camel_folder_get_message_user_flag):
277 * camel-folder.h (camel_folder_set_message_user_flag):
278 * camel-folder.h (camel_folder_get_message_user_tag):
279 * camel-folder.h (camel_folder_set_message_user_tag):
280 * camel-folder.h (camel_folder_get_unread_message_count):
281 * camel-folder.h (camel_folder_ref_message_info):
282 Add deprecation guards around these function declarations.
284 2007-04-05 Ross Burton <ross@openedhand.com>
286 * camel-data-cache.c: (camel_data_cache_new):
287 * camel-object.c: (camel_object_state_write):
288 * camel-session.c: (get_storage_path):
289 * camel-uid-cache.c: (camel_uid_cache_new):
290 Use g_mkdir_with_parents (#383686).
292 2007-04-03 Srinivasa Ragavan <sragavan@novell.com>
294 ** Fix for bug #322105
296 * camel-folder-summary.c: (info_set_flags): Fix for non-junk messages
299 2007-04-01 Matthew Barnes <mbarnes@redhat.com>
301 * camel-mime-utils.c (rfc2047_encode_word):
302 Properly escape what would otherwise be a trigraph (??=).
303 Patch from Kjartan Maraas.
305 * camel-search-private.c (header_match):
306 * camel-url.c (camel_url_to_string):
307 Fix a compiler warning. Patch from Kjartan Maraas.
309 2007-03-29 Matthew Barnes <mbarnes@redhat.com>
312 E-D-S requires GLib 2.10 now; remove dead backward-compatibility
313 code for GLib < 2.8 (#418971).
315 2007-03-16 Matthew Barnes <mbarnes@redhat.com>
317 ** Fixes part of bug #360240
319 * camel-stream-vfs.c (camel_stream_vfs_new_with_handle):
320 Remove unused variable.
322 2007-02-26 Srinivasa Ragavan <sragavan@novell.com>
324 ** Fix for bug #331813
326 * camel-mime-filter-tohtml.c: Patch from Gilles
329 2007-02-23 Matthew Barnes <mbarnes@redhat.com>
339 * camel-text-index.c:
340 Migrate from EMutex to GStaticMutex or GStaticRecMutex.
342 2006-01-08 Veerapuram Varadhan <vvaradhan@novell.com>
344 ** Fixes eds part of bgo #362638 - Patch submitted by Matthew
347 * camel/camel-private.h:
348 * camel/camel-session.c: Replace EThread with GThreadPool.
350 2006-12-14 Veerapuram Varadhan <vvaradhan@novell.com>
352 ** Fixes for bgo #349445 - Patch submitted by Bastien Nocera
354 * camel-url-scanner.c: (url_stop_at_brace): Added parameter to
355 return appropriate "open" equivalent of the url_braces array.
356 (camel_url_web_end): Do not remove ')' and '\'' from the end of URL.
358 2006-12-14 Veerapuram Varadhan <vvaradhan@novell.com>
360 ** Fix for bnc #208395
362 * camel-url.[ch]: (camel_url_decode_path): Added method to
363 decode path, by preserving the path-delimiter.
365 2006-11-08 Sankar P <psankar@novell.com>
367 * camel-folder-summary.h: Added support for CAMEL_MESSAGE_HIDDEN and
368 CAMEL_MESSAGE_USER_NOT_DELETABLE flags which can be used in mailer
369 and for proxy rights management.
371 2006-11-06 Srinivasa Ragavan <sragavan@novell.com>
373 ** Fix for bug #330157
375 * camel-vee-folder.c: (camel_vee_folder_remove_folder),
376 (camel_vee_folder_finalise): Dont unref if the sub folder is a
379 2006-11-02 Hans Petter Jansson <hpj@novell.com>
381 * camel-mime-filter-tohtml.c (writeln): Prevent potential buffer
384 * camel-gpg-context.c (gpg_ctx_op_step): Clear the poll structures'
385 events fields, so we don't pass uninitialized values to poll().
387 2006-11-02 Harish Krishnaswamy <kharish@novell.com>
389 * camel-mime-filter-crlf.c (filter): Fixes buffer overrun.
390 Bug #369168. Patch submitted by Hans Petter Jansson.
392 2006-10-05 Tor Lillqvist <tml@novell.com>
394 Fixes from Steffen Eschenbacher:
396 * camel-stream-vfs.c (camel_stream_vfs_finalize): Call
397 gnome_vfs_close() on the GnomeVFSHandle *, not close(). (#350576,
400 * camel-url.c (camel_url_new_with_base, camel_url_to_string): On
401 Win32, for file: urls, simply call g_filename_{to/from}_uri.
402 (#358010) We could do this on all platforms maybe?
404 2006-09-14 Veerapuram Varadhan <vvaradhan@novell.com>
408 * camel-filter-search.c: (run_command): Unref GMainContext
409 * camel-filter-driver.c: (pipe_to_system): ditto
411 2006-08-28 Veerapuram Varadhan <vvaradhan@novell.com>
413 ** Fixes bug #331099 based on patches by Eric Anholt
414 <anholt@FreeBSD.org> and Joe Marcus Clarke <marcus@FreeBSD.org>
416 * camel-object.c: (cobject_state_read): Cast the input for
417 g_try_malloc to gulong.
419 2006-08-23 Wang Xin <jedy.wang@sun.com>
423 * camel-stream-vfs.c: (stream_read), (stream_write), (stream_seek):
424 GnomeVFSFileSize should be used, not ssize_t.
426 2006-08-23 Srinivasa Ragavan <sragavan@novell.com>
428 ** Fix for bug #349960 by Daniel Gryniewicz
430 * camel-stream-vfs.c: (camel_stream_vfs_new_with_uri): Set the excl
431 flag to FALSE to over write existing file.
433 2006-07-24 Veerapuram Varadhan <vvaradhan@novell.com>
435 * camel-folder-summary.h: Added CamelFolderMetaSummary structure
436 that holds values for meta summary file.
438 * camel-folder-summary.c (summary_meta_header_load),
439 (summary_meta_header_save), (meta_message_info_save): Newly added
440 virtual methods to load and save meta-headers and meta-message
442 (camel_folder_summary_load), (camel_folder_summary_save): Load and
443 save meta-summary information as well.
445 * providers/local/camel-mbox-summary.c (meta_message_info_save):
446 Save message offset in the meta-summary file.
448 * camel-file-utils.[c,h] (camel_file_util_encode_fixed_string),
449 (camel_file_util_decode_fixed_string): Encode and decode fixed
452 2006-07-07 Jeffrey Stedfast <fejj@novell.com>
454 Fix for a bug pvanhoof spotted with my last patch
456 * camel-string-utils.c (camel_pstring_add): If the value is in the
457 table already and 'own' is TRUE, g_free the passed-in string.
459 2006-07-07 Sankar P <psankar@novell.com>
461 * camel-string-utils.c (camel_pstring_add):
462 Fixes a variable naming error. Fixes build break.
464 2006-07-06 Jeffrey Stedfast <fejj@novell.com>
466 Based on a suggestion/patch by pvanhoof
468 * camel-string-utils.c (camel_pstring_add): New function that now
469 holds the main logic of the old camel_pstring_strdup function. If
470 'own' is TRUE, re-use the memory if the string doesn't already
471 exist and free it otherwise. If FALSE, strdup the value if it
472 doesn't already exist.
473 (camel_pstring_strdup): Calls camel_pstring_add() with 'own' as
476 * camel-folder-summary.c (message_info_new_from_header): Use
477 camel_pstring_add instead of camel_pstring_strdup here to prevent
478 unnecessary strdup/freeing.
479 (message_info_load): Same.
481 2006-06-26 Jeffrey Stedfast <fejj@novell.com>
483 * camel-gpg-context.c (gpg_ctx_parse_status): Only set name to ""
484 if it wasn't already set. Fixes bug #345965.
486 2006-06-15 Tor Lillqvist <tml@novell.com>
488 * camel.c (camel_init): On Win32, NSS wants the directory name in
489 system codepage, not UTF-8. No need to handle g_atexit()
490 differently on Win32 any longer, in current GLib it is on Win32
491 just a #define for atexit().
493 2006-06-15 Andre Klapper <a9016009@gmx.de>
495 * camel-gpg-context.c:
497 * camel-net-utils.c: changing "cancelled" to "canceled" in
498 user-visible strings. Fixes bug #342163.
500 2006-06-15 Andre Klapper <a9016009@gmx.de>
502 * addressbook/libebook/e-book.c:
504 * camel/camel-folder.c:
506 * camel/providers/nntp/camel-nntp-folder.c:
508 * camel/providers/pop3/camel-pop3-folder.c: changing "uri" to
509 "URI" in user-visible strings. Fixes bug #342161.
511 2006-06-09 Chris Heath <chris@heathens.co.nz>
513 * camel-net-utils.c (camel_getnameinfo): Fix memory leak
515 * camel-folder-search.c (camel_folder_search_search): Ditto
517 * camel-digest-folder.c (digest_add_multipart): Ditto.
520 2006-06-02 Tor Lillqvist <tml@novell.com>
522 * camel-file-utils.c (camel_read, camel_write, camel_read_socket)
523 (camel_write_socket): Improve doc comment, mention the Win32
526 2006-05-25 Srinivasa Ragavan <sragavan@novell.com>
528 * camel-stream-vfs.h: Added the missed file to commit.
530 2006-05-24 Srinivasa Ragavan <sragavan@novell.com>
532 * Makefile.am: Added new files for camel vfs stream
533 * camel-stream-vfs.[ch]: Added a new gnome-vfs backend for
536 2006-05-05 Jeffrey Stedfast <fejj@novell.com>
538 * camel-charset-map.c (camel_charset_best_mask): Fixed a
539 mis-ordering of an if-statement clause that caused bug #340717.
541 2006-05-01 Jeffrey Stedfast <fejj@novell.com>
543 * camel-gpg-context.c (gpg_ctx_parse_status): Handle prompts from
544 GnuPG asking for the user's PIN for their SmartCard. Fixes bug
547 2006-04-19 Jeffrey Stedfast <fejj@novell.com>
549 * camel-mime-filter-pgp.c (filter_run): You cannot CANNOT modify
550 the input strings. EVER. Fixed to not do that and to also work if
551 there is preface before the pgp block (previous code failed in
553 (reset): Reset the filter state.
555 2006-04-13 Jeffrey Stedfast <fejj@novell.com>
557 * camel-mime-utils.c (camel_header_raw_check_mailing_list): Fixed
558 a goof in the last patch.
560 2006-04-12 Jeffrey Stedfast <fejj@novell.com>
562 * Fixes to many source files to suppress compiler warnings thanks
565 2006-04-04 Jeffrey Stedfast <fejj@novell.com>
567 * camel-charset-map.c (main): Set appropriate structs/struct
568 elements to static/const.
570 * camel-charset-map-private.h: Regenerated.
572 2006-04-05 Simon Zheng <simon.zheng@sun.com>
576 * camel-search-private.c (header_match):
577 (camel_search_header_match):
578 To traverse strings by utf8 char order rather than one by one byte,
579 use camel_utf8_getc() and other utf8-specific routines instead.
581 2006-03-20 Parthasarathi Susarla <sparthasarathi@novell.com>
585 * camel-mime-utils.c (header_decode_mailbox): Do not decode_lwsp
586 if there is a space in mail id, just append it. Also do not
587 truncate address if addr is not NULL.
589 2006-03-20 Srinivasa Ragavan <sragavan@novell.com>
591 * camel-gpg-context.c (gpg_ctx_parse_status): Added flag to ask
594 * camel-session.h: Added the flag for passphrase.
596 2006-03-20 Srinivasa Ragavan <sragavan@novell.com>
598 * providers/groupwise/camel-groupwise-store.c:
599 (groupwise_build_folder_info): Added flags for the system folders.
601 2006-02-21 Rohini S <srohini@novell.com>
605 * camel-url-scanner.c (camel_url_addrspec_start): conditions
606 modified to parse only valid mailto links
608 2006-02-21 Rohini S <srohini@novell.com>
612 * camel-mime-filter-tohtml.c: add new pattern for sftp urls.
614 2006-02-21 Rohini S <srohini@novell.com>
616 * camel-url-scanner.c (camel_url_web_end): Modified to accept urls
620 2006-02-16 Parthasarathi Susarla <sparthasarathi@novell.com>
622 * camel-disco-diary.c (camel_disco_diary_log): proceed only if
623 diary is a valid pointer
625 2006-02-13 Rohini S <srohini@novell.com>
629 * camel-url-scanner.c (camel_url_addrspec_start): modified to
630 remove all invalid characters in the beginning of a email address
632 2006-02-02 Parthasarathi Susarla <sparthasarathi@novell.com>
636 * camel-gpg-context.c (gpg_ctx_parse_status): do not search if the
639 2006-02-02 Parthasarathi Susarla <sparthasarathi@novell.com>
641 * camel-object.c (object_finalise):
642 (camel_message_info_free): decrement Ref count properly
644 2006-02-02 Tor Lillqvist <tml@novell.com>
647 * camel-net-utils.c: Make it compile on Win32 also without
648 getaddrinfo() (with NEED_ADDRINFO).
650 2006-01-25 Not Zed <NotZed@Ximian.com>
652 * camel-folder-search.c (search_match_threads): add new
653 match-thread type "unreplied", matches messages that are unreplied
655 Committed to head on behaf of Notzed
657 2006-01-23 Parthasarathi Susarla <sparthasarathi@novell.com>
659 * camel-mime-utils.c (camel_content_type_unref):
660 Id the content-type refcount is <1 then free it and
663 2006-01-17 Parthasarathi Susarla <sparthasarathi@novell.com>
665 * camel-service.c (camel_service_disconnect):
666 set the service-status to CAMEL_SERVICE_DISCONNECTED
668 2006-01-10 Simon Zheng <simon.zheng@sun.com>
670 * camel-file-utils.h:
671 * camel-file-utils.c: Delete function camel_mkdir().
673 * camel-data-cache.c (camel_data_cache_new):
674 * camel-object.c (camel_object_state_write):
675 * camel-session.c (get_storage_path):
676 * camel-uid-cache.c (camel_uid_cache_new):
677 * providers/imap/camel-imap-folder.c (camel_imap_folder_new):
678 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
679 * providers/imapp/camel-imapp-folder.c (camel_imapp_folder_new):
680 * providers/local/camel-local-store.c (get_folder):
681 * providers/local/camel-mbox-store.c (get_folder):
684 * providers/local/camel-spool-store.c (spool_get_meta_path):
685 * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new):
686 Because of deletion of camel_mkdir(), all the callers use
687 e_util_mkdir_hier() instead and add the related header file
688 <libedataserver/e-data-server-util.h>.
691 * camel-win32.c: As file e-util.h is renamed,
692 replace "libedataserver/e-util.h" as
693 "libedataserver/e-data-server-util.h".
695 2006-01-05 Kjartan Maraas <kmaraas@gnome.org>
697 * camel-session.c (camel_session_get_network_state): Return stuff
698 from this non-void function.
700 * providers/imap4/camel-imap4-store.c (connect_to_server): Move
701 some vars inside #ifdef HAVE_SSL
703 * providers/local/camel-local-store.c (xrename): Use NULL not 0 as
704 the last parameter to g_strconcat().
706 2006-01-04 Tor Lillqvist <tml@novell.com>
708 * camel-win32.c (setup): Modify calls to e_util_replace_prefix()
709 according to its changed interface.
711 * Makefile.am (INCLUDES): Need to pass also E_DATA_SERVER_PREFIX
712 to the compilation because of the above.
714 2005-12-22 Shreyas Srinivasan <sshreyas@novell.com>
716 * Network Manager Support
718 * camel-session.[h,c]: Add a gboolean network_state which the
719 shell uses to set the current network state. Add new api's
720 camel_session_get_network_state and
721 camel_session_set_network_state.
723 * camel-offline-folder.c: If network down then dont sync folders
724 while going offline and send clean as FALSE to
725 camel_service_disconnect.
727 * camel-disco-folder.c: If network down then dont sync folders
728 while going offline and send clean as FALSE to
729 camel_service_disconnect.
731 2005-12-13 Tor Lillqvist <tml@novell.com>
733 * camel-filter-driver.c: Use gstdio wrappers. Use
736 * camel-filter-driver.c (pipe_to_system)
737 * camel-filter-search.c (run_command): Use
738 g_spawn_async_with_pipes() instead of manual fork/dup/exec dance.
741 * camel-junk-plugin.c: Just cosmetics.
743 * camel-lock.c: Use g_usleep() instead of sleep() which isn't
744 available (as such) on Win32. No locking implementation for Win32
745 yet (none of USE_DOT, USE_FCNTL or USE_FLOCK get defined on
746 Win32), I wonder whether it is necessary t ohave one? Is locking
747 used to guard against several threads in Evolution (or Evolution
748 and the E-D-S or E-E processes) accessing the same files
749 simultaneously, not just against other apps accessing them while
752 * camel-object.c: Use gstdio wrappers. Use binary mode when
753 opening files. Use g_path_get_dirname().
755 Use a separate have_owner boolean flag field to indicate whether
756 the pthread_t owner field is valid in the _CamelObjectBagKey
757 struct. There is no portable way to check a pthread_t for
758 uninitializedness. Remove the E_THREAD_NONE magic constant. Use
759 pthread_equal() to compare pthread_t values.
761 * camel-tcp-stream.h: Include Winsock headers on Win32.
763 * camel-tcp-stream-raw.h (struct _CamelTcpStreamRaw): There is no
764 way to find out a socket's blockingness state on Win32, so keep
765 the state in a separate flag field on Win32.
767 * camel-tcp-stream-raw.c: Use socket API wrapper macros to hide
768 Unix/Winsock differences. Use camel_read_socket() and
769 camel_write_socket() to read and write from sockets. Use
770 ioctlsocket(FIONBIO) to set and clean nonblocking mode on Win32.
772 * camel-tcp-stream-ssl.c (set_errno): Most of the network related
773 errno values don't exist in the Win32 C library, so use ifdef
775 (stream_read, stream_write): Check PR_GetError() instead of errno.
776 No ETIMEDOUT on Win32, so use the catch-all EIO instead.
777 (cert_fingerprint): The fingerprint is used as a file name, and
778 there can't be colons in file names on Win32, so use underscore
780 (camel_certdb_nss_cert_get, camel_certdb_nss_cert_set): Use gstdio
781 wrappers. Use g_get_home_dir() on Win32 instead of $HOME.
783 2005-12-11 Tor Lillqvist <tml@novell.com>
785 * camel-gpg-context.c: Use gstdio wrappers. Ifdef out
786 implementation on Win32 for now. Will have to come back to this
787 later. Probably running a gpg subprocess is not the right way to
789 (swrite): Use g_get_tmp_dir(), g_build_filename(), g_mkstemp().
791 * camel-net-utils.c (gai_strerror): Implement gai_strerror() for
793 (cs_waitinfo): Use select() instead of poll() on Win32. Use
794 g_win32_error_message(WSAGetLastError()) for socket API error
797 * camel-net-utils.h: Include the Winsock2 headers on Win3.
799 * camel-session.c (get_storage_path): No need to have ifdefs for
800 g_access() here, camel-private #defines g_access as access when
801 builing against an older GLib.
803 2005-12-07 Jeff Cai <jeff.cai@sun.com>
805 * camel-vee-folder.c (vee_search_by_expression),
806 (vee_search_by_uids): if search expression of a vfolder is null,
807 make it an empty string. Fix #323433
809 2005-12-08 Tor Lillqvist <tml@novell.com>
811 * camel-file-utils.c: Win32 port: Include <winsock2.h>. Use
812 g_htonl() and g_ntohl().
813 (camel_mkdir): Implement using g_mkdir_with_parents() when
814 compiling against GLib 2.8 or later.
815 (camel_file_util_safe_filename): Need to encode more unsafe chars
817 (camel_read, camel_write): Not cancellable on Win32. But then
818 these functions should be used only with regular files, not
820 (camel_read_socket, camel_write_socket): New functions, to be used
821 for sockets. On Unix just call camel_read() and camel_write(). On
822 Win32 use recv() and write(). read() and write() can not be used
823 on sockets in Windows. read() and write() are in the C library,
824 which knows nothing about sockets.
825 (camel_file_util_savename): Clarify doc comment. Use
826 g_path_get_dirname() instead of looking for '/'. Use
827 g_path_get_basename(), and g_build_filename() to construct the
830 2005-12-06 Tor Lillqvist <tml@novell.com>
833 * camel-mime-filter-basic.c
834 * camel-mime-filter-charset.c
835 * camel-mime-filter-from.c
836 * camel-mime-filter-index.c
837 * camel-mime-filter-windows.c
838 * camel-mime-filter.c
839 * camel-mime-part-utils.c
840 * camel-multipart-encrypted.c
841 * camel-multipart-signed.c
843 * camel-offline-folder.c
844 * camel-offline-store.c
846 * camel-sasl-anonymous.c
847 * camel-sasl-cram-md5.c
848 * camel-sasl-digest-md5.c
849 * camel-sasl-kerberos4.c
854 * camel-search-private.c
856 * camel-smime-context.c
858 * camel-stream-buffer.c
859 * camel-stream-filter.c
860 * camel-stream-process.c
863 * camel-url-scanner.c
865 * camel-vee-summary.c
866 * camel-vtrash-folder.c
867 * camel.c: Unify header inclusion order and style purely for
870 2005-12-02 Shi Pu <shi.pu@sun.com>
874 * camel-exception.c: (camel_exception_get_description):
877 2005-12-01 Tor Lillqvist <tml@novell.com>
879 * camel-private.h: If building against a GLib older than 2.8, map
880 those gstdio wrappers that were introduced only in 2.8 to their
881 normal counterparts here. (When building for Win32, we require
882 GLib and GTK+ 2.8, so this is for Unix only.)
884 2005-12-01 Chenthill Palanisamy <pchenthill@novell.com>
886 * camel-data-cache.c:
887 * camel-session.c: (get_storage_path):Use the functions
888 defined in glib -2.8 only for win32 as it fails to build
889 for OS which has glib 2.4.
891 2005-12-01 Tor Lillqvist <tml@novell.com>
893 * camel-mime-message.c: Add gmtime_r() implementation (a simple
896 * camel-win32.c: Drop the realpath() implementation. realpath() is
897 only used in one place in providers/local/camel-local-folder.c,
898 and it's better to just enclose that code snippet (which isn't
899 needed on Win32 anyway) in an ifdef.
901 * camel-private.h: Drop the realpath() declaration from
902 here. Remove the S_ISLNK() and lstat() dummy definitions. They are
903 also used only in the place mentioned above.
905 2005-12-01 Chenthill Palanisamy <pchenthill@novell.com>
907 reviewed by Srinivasa Ragavan <sragavan@novell.com>
909 * camel-private.h: Declare the functions _camel_get_*
910 only for win32 as camel-win32.c is inlcuded only for
911 win32. Fixes a build break.
913 2005-11-30 Tor Lillqvist <tml@novell.com>
915 * camel-file-utils.h: Define O_BINARY as 0 on Unix. Add
916 declarations for camel_read_socket() and camel_write_socket(). (In
917 a not yet committed addition to camel-file-utils.c.)
922 * camel-disco-diary.c
923 * camel-folder-summary.c
924 * camel-mime-parser.c
925 * camel-offline-journal.c
928 * camel-store-summary.c
932 * camel-vee-store.c: Use gstdio wrappers for full non-ASCII
933 filename support on Windows.
935 * camel-block-file.c (key_file_use)
936 * camel-certdb.c (camel_certdb_save)
937 * camel-disco-diary.c (camel_disco_diary_new)
938 * camel-folder-summary.c (camel_folder_summary_load)
939 * camel-offline-journal.c (camel_offline_journal_construct)
940 * camel-store-summary.c (camel_store_summary_load,
941 camel_store_summary_save, camel_store_summary_header_load)
942 * camel-stream-fs.c (camel_stream_fs_new_with_name)
943 * camel-text-index.c (dump_raw)
944 * camel-uid-cache.c (camel_uid_cache_new, camel_uid_cache_save):
945 Open file in binary mode.
947 * camel-data-cache.c (data_cache_expire)
948 * camel-provider.c (camel_provider_init): Use GDir instead of
949 dirent API for portability and full non-ASCII filename support on
952 * camel-folder-summary.c (camel_folder_summary_load): On Win32
953 unlink destination before attempting a rename.
955 * camel-mime-parser.c: Drop unused includes. Use
956 g_ascii_strcasecmp() instead of strcasecmp() for well-definedness,
957 and the other string being compared is an ASCII literal anyway.
959 * camel-provider.c (camel_provider_init) Use G_MODULE_SUFFIX
960 instead of hardcoding .so.
962 * camel-session.c (session_thread_wait): Use g_usleep() instead of
963 usleep() for portability.
965 * camel-utf8.c: Use g_htons() and g_ntohs() instead of htons() and
966 ntohs() for portability.
968 2005-11-25 Tor Lillqvist <tml@novell.com>
970 * camel-private.h: Add declaration for our Win32-only fsync() and
971 realpath() implementations. Define S_ISLNK() as 0 and lstat() as
973 (realpath): Use gstdio wrappers.
975 * camel-win32.c (_camel_get_localedir, _camel_get_libexecdir,
976 _camel_get_providerdir): Run-time path construction
977 machinery. Maybe these should just be in libedataserver instead,
978 like _libedataserver_get_extensiondir() etc.
980 2005-11-18 Jeff Cai <jeff.cai@sun.com>
982 * camel-disco-store.c: (disco_connect):
983 If no diary is created, no need to do resync.
985 2005-11-15 Ross Burton <ross@burtonini.com>
988 Use lazy bindings (#321515)
990 2005-11-15 Harish Krishnaswamy <kharish@novell.com>
992 * providers/Makefile.am: Add hula to SUBDIRS.
994 2005-10-23 Parthasarathi Susarla <sparthasarathi@novell.com>
998 * camel-vtrash-folder.c: (vtrash_remove_folder):
999 check if mi->real exists, continue otherwise.
1001 2005-10-11 Vivek Jain <jvivek@novell.com>
1005 * camel-folder-summary.c : (camel_folder_summary_info_new_from_parser)
1006 Null check for p->index before using it.
1008 2005-09-22 Parthasarathi Susarla <sparthasarathi@novell.com>
1012 * camel-mime-filter-bestenc.c:(camel_mime_filter_bestenc_get_best_encode):
1013 Remove the last return statement that can never be reached.
1015 2005-09-15 Sankar P <psankar@novell.com>
1018 Defined new macro CAMEL_FOLDER_TYPE_SENT for identifying sent-folder.
1019 Needed for fixing #257321
1021 2005-09-15 Tor Lillqvist <tml@novell.com>
1023 * broken-date-parser.c (get_wday, get_month)
1024 * camel-folder-search.c (check_header)
1025 * camel-http-stream.c (http_connect, http_get_statuscode)
1026 * camel-mime-filter-enriched.c (param_parse_colour, enriched_to_html)
1028 * camel-mime-utils.c
1030 * camel-sasl-popb4smtp.c
1031 * camel-string-utils.c
1032 * camel-url.c: Use g_ascii_str(n)casecmp() instead of
1033 str(n)casecmp(). The strings we are comparing in these cases
1034 should be just ASCII anyway, so spell it out that we really do
1035 need ASCII casefolding only.
1037 * camel-debug.c: Use e_util_pthread_id() to identify threads.
1039 2005-09-12 Parthasarathi Susarla <sparthasarathi@novell.com>
1043 * camel-lock-client.c: (camel_lock_helper_init):
1044 remove an spurious ','.
1046 2005-09-01 Parthasarathi Susarla <sparthasarathi@novell.com>
1048 * camel-lock-client.c: (camel_lock_helper_init):
1049 use API_VERSION instead of the BASE_VERSION
1051 2005-08-22 Not Zed <NotZed@Ximian.com>
1053 * camel-store.c (camel_store_rename_folder): init folders and only
1056 * camel-offline-journal.c (CAMEL_OFFLINE_JOURNAL_GET_CLASS):
1057 move redefined macro to .h.
1059 * camel-gpg-context.c (gpg_decrypt): cast args properly.
1061 * camel-text-index.c (camel_text_index_validate): cast to int for
1064 * camel-object.c (co_metadata_get): assign metalast to remove
1067 2005-08-19 Not Zed <NotZed@Ximian.com>
1071 * camel-tcp-stream-ssl.c (stream_close): handle re-closing a
1074 2005-08-18 Not Zed <NotZed@Ximian.com>
1078 * camel-gpg-context.c (gpg_decrypt): use the content part's
1079 mime-type to determine options.
1081 2005-08-17 Tor Lillqvist <tml@novell.com>
1083 * camel-operation.c (stamp): Use g_get_current_time() instead of
1084 gettimeofday() for portability.
1086 * camel-cipher-context.c
1087 * camel-vee-folder.c: Drop unneeded <pthread.h>.
1089 * camel-block-file.c
1090 * camel-index-control.c
1092 * camel-partition-table.c
1093 * camel-text-index.c
1094 * camel-vee-summary.c
1095 * providers/groupwise/camel-groupwise-summary.c
1096 * providers/imap/camel-imap-summary.c
1097 * providers/local/camel-local-summary.c
1098 * providers/local/camel-mh-summary.c
1099 * providers/local/camel-spool-summary.c
1100 * providers/nntp/camel-nntp-summary.c: Drop unneeded <sys/uio.h>.
1102 * camel-sasl-digest-md5.h: Drop unneeded <netdb.h>.
1104 * camel-sasl-kerberos4.h
1105 * camel-sasl-kerberos4.c: Move inclusion of <netdb.h> to the
1106 source file so we don't need any Win32 ifdefs in the
1107 header. Include also <netinet/in.h> and "camel-net-utils.h" in the
1110 * camel-service.c: Drop unneeded <sys/poll.h>
1112 * providers/pop3/camel-pop3-store.c
1113 * providers/smtp/camel-smtp-transport.c: Drop unneeded <sys/socket.h>
1114 <netinet/in.h> and <arpa/inet.h>.
1116 2005-08-15 Not Zed <NotZed@Ximian.com>
1118 ** backported from disksummary-branch
1120 * camel-object.c: Change all ref-counting and bag-related
1121 operations to use a simple mutex rather than a recursive one.
1122 Then change the bag to use a cond rather than a semaphore. Fixes
1123 some nasty races exposed by extra paralellism in the code.
1124 (camel_iterator_*): small iterator interface, not used on this
1125 branch; backported to make later merging easier.
1127 2005-08-12 Not Zed <NotZed@Ximian.com>
1129 * camel-mime-filter-windows.c (filter_filter): same.
1131 * camel-mime-filter-charset.c
1132 (camel_mime_filter_charset_new_convert): remove another common
1135 * camel-block-file.c (block_file_validate_root): ifdef out the
1136 'invalid root' stuff.
1138 * camel-folder-summary.c (summary_build_content_info): turn off
1139 the annoying/pointless 'cannot convert xxx' message.
1143 * camel-mime-parser.c (folder_scan_content): make sure *data is
1144 set to something before we exit.
1146 * camel-mime-parser.c (folder_read): use memmove, not memcpy,
1147 since memory areas could overlap.
1149 * camel-html-parser.c (tokenise_step): use the length from the
1150 utf8 conversion, it isn't 0 terminated.
1152 * camel-mime-utils.c (header_decode_quoted_string): if we run out
1153 of string, then don't go past the 0.
1155 2005-08-13 Tor Lillqvist <tml@novell.com>
1157 * camel.c (camel_init): Call atexit() directly on Win32, not
1158 g_atexit(). As g_atexit() is currently implemented, the registered
1159 function gets called when the GLib DLL is detached, not when the
1160 process exits. This causes problems. Calling atexit() in the camel
1161 DLL at least means the function gets called when the camel DLL is
1162 detached, which works OK.
1164 2005-08-12 Tor Lillqvist <tml@novell.com>
1166 * Makefile.am: On Win32: Leave out camel-lock-client and
1167 camel-stream-process from libcamel-provider. Leave out
1168 camel-movemail and camel-sasl-kerberos4 from libcamel. Include
1169 camel-win32 in libcamel. Don't build lock-helper. Use
1170 -no-undefined. Link with CAMEL_LIBS, SOCKET_LIBS and REGEX_LIBS.
1172 * camel-win32.c: New file, some Win32-specific functions.
1174 * providers/Makefile.am: Leave out sendmail on Win32.
1176 2005-08-09 Not Zed <NotZed@Ximian.com>
1178 * camel-store.c (camel_store_get_folder): add some debug logging.
1180 2005-04-17 Changwoo Ryu <cwryu@debian.org>
1184 * Makefile.am (INCLUDES): define CAMEL_EXPLICIT_TRANSLATION_DOMAIN
1185 and EVOLUTION_LOCALEDIR.
1187 * camel.c (camel_init): initialize gettext with bindtextdomain()
1188 and bind_textdomain_codeset().
1190 2005-08-09 Changwoo Ryu <cwryu@debian.org>
1194 * camel-mime-utils.c (rfc2047_encode_word): if the last unicode
1195 character in the input string is non-ASCII, it is always encoded
1196 as a separated chunk.
1198 2005-08-08 Not Zed <NotZed@Ximian.com>
1202 * camel-folder-thread.c (prune_empty): change to depth-first
1203 search so we check for empty children before checking if we have
1205 (dump_tree_rec): update debug func.
1207 2005-08-03 Not Zed <NotZed@Ximian.com>
1211 * camel-mime-message.c (process_header): return false if we have a
1212 to/cc/etc, we can have multiple instances of all of these, and we
1213 dont want to strip them.
1215 2005-07-28 Not Zed <NotZed@Ximian.com>
1219 * camel-store.c (camel_folder_info_build): fix this, again, minor
1220 simplification. it was messing up the namespace != "" case
1223 2005-07-28 Shreyas Srinivasan <sshreyas@novell.com>
1225 * camel-offline-folder.c: (camel_offline_folder_init): Revert old
1226 patch. Copy folder contents locally by default makes evolution crawl.
1228 2005-07-27 Mengjie Yu <meng-jie.yu@sun.com>
1230 * camel-store.c: (camel_isubscribe_subscribe),
1231 (camel_isubscribe_unsubscribe):
1232 Void function should not return value.
1236 2005-07-25 Shreyas Srinivasan <sshreyas@novell.com>
1238 * camel-offline-folder.c (camel_offline_folder_init): Copy
1239 folder contents locally by default.
1241 2005-07-20 Not Zed <NotZed@Ximian.com>
1243 * camel-store.c (camel_store_get_folder_info): Changed the
1244 semantics slightly. !FAST makes no guarantees about message
1247 * camel-disco-store.c: fix up some stupid hidden logic here.
1249 2005-07-19 Not Zed <NotZed@Ximian.com>
1251 * camel-folder.c (camel_folder_refresh_info): remove the folder
1254 * camel-disco-store.c (disco_get_folder_info): dont force a
1255 connect here, it doesn't belong here.
1257 * camel-store.c (camel_store_get_folder_info): remove subscription
1260 2005-07-13 Not Zed <NotZed@Ximian.com>
1262 * camel-store.c (camel_store_init): initialise the mode to
1263 something which reflects the actual mode.
1265 * camel-store.h: fix the permission bit names and mode name.
1267 * camel-session.c (camel_session_class_init,
1268 camel_session_set_online): Create/emit a new event 'online'.
1270 2005-07-10 Shreyas Srinivasan <sshreyas@novell.com>
1272 * camel-store.h: Add a new #define to identify proxy stores
1273 and a new data member permissions to hold store specific permissions.
1275 2005-07-08 Harish Krishnaswamy <kharish@novell.com>
1277 ** Patch submitted by Greg Hudson <ghudson@mit.edu>
1279 * camel-sasl-login.c: (login_challenge): Wait for the
1280 server to initiate the challenge.
1282 2005-07-06 Vivek Jain <jvivek@novell.com>
1284 * camel-folder.c: (folder_changed) check if junk_plugin is
1285 supplied before starting any junk specific operation
1286 * camel-junk-plugin.[ch]: pass CamelJunkPlugin object in all the
1288 * camel-junk-plugin.c: (camel_junk_plugin_init) use csp->init(csp)
1289 style in place of (* csp->init)(csp) similar change in all other callbacks
1291 2005-06-24 Matt Brown <matt@mattb.net.nz>
1293 * camel-gpg-context.c: Extend verify and decrypt functions to support
1294 inline pgp signed messages via x-inlinepgp-signed/x-inlinepgp-encrypted
1296 * camel-mime-filter-pgp.h:
1297 * camel-mime-filter-pgp.c:
1298 New filter to strip dash encoding from inline pgp signed messages.
1300 2005-06-09 Sarfraaz Ahmed <asarfraaz@novell.com>
1302 * camel-store.c (camel_folder_info_build): Minor typo in debug message.
1304 2005-05-16 Jeffrey Stedfast <fejj@novell.com>
1306 * camel-mime-filter-basic.c (complete): Call
1307 camel_quoted_encode_close() instead of quoted_decode_close() when
1310 * camel-mime-utils.c (camel_quoted_decode_close): This function
1311 was named incorrectly, it's really camel_quoted_encode_close
1312 (camel_quoted_encode_close): New name.
1314 2005-05-07 Sankar P <psankar@novell.com>
1316 * camel-provider.h: Added a new flag
1317 CAMEL_PROVIDER_DISABLE_SENT_FOLDER so as to facilitate disabling
1318 sent button and prevent copying sent items. This flag is
1319 introduced for the GroupWise provider, but can be made use of by
1320 any other type of provider, if needed.
1322 2005-04-26 Ross Burton <ross@burtonini.com>
1324 * camel/broken-date-parser.c:
1325 * camel/camel-block-file.c:
1326 * camel/camel-charset-map-private.h:
1327 * camel/camel-mime-message.c:
1328 * camel/camel-mime-utils.c:
1329 * camel/camel-object.c:
1330 * camel/camel-url-scanner.c:
1331 * camel/camel-utf8.c:
1332 * camel/gentables.pl:
1333 Add the const keyword liberally.
1335 2005-04-18 Jeffrey Stedfast <fejj@novell.com>
1337 * camel-url-scanner.c (camel_url_web_end): Handle the case where
1338 the path doesn't exist in the url. See bug #301037 for more
1341 2005-04-07 Jeffrey Stedfast <fejj@novell.com>
1345 * camel-mime-utils.c (camel_header_encode_string): If
1346 camel_charset_best() returns NULL, default to UTF-8.
1347 (camel_header_encode_phrase): Same as above.
1349 2005-04-11 Harish Krishnaswamy <kharish@novell.com>
1352 * providers/local/Makefile.am:
1353 * providers/pop3/Makefile.am:
1354 * providers/smtp/Makefile.am:
1355 * tests/folder/Makefile.am:
1356 * tests/lib/Makefile.am:
1357 * tests/message/Makefile.am:
1358 * tests/mime-filter/Makefile.am:
1359 * tests/misc/Makefile.am:
1360 * tests/smime/Makefile.am:
1361 * tests/stream/Makefile.am:
1364 2005-03-31 Jeffrey Stedfast <fejj@novell.com>
1366 * camel-sasl-digest-md5.c (camel_sasl_digest_md5_finalize): If the
1367 SASL negotiation fails or is cancelled, then the challenge and/or
1368 response may be NULL and so dereferencing them will cause a
1369 crash. Possible fix for bug #72325.
1371 2005-03-25 Jeffrey Stedfast <fejj@novell.com>
1373 * camel-mime-utils.c (header_append_param): Don't try to convert
1374 boundary param values into UTF-8 even if they contain binary
1375 text. Based on a patch from Pavel Fedin.
1377 2005-03-15 Jeffrey Stedfast <fejj@novell.com>
1379 * camel-stream.c (camel_stream_read): Fix for systems where read
1380 is a macro by David Malcolm.
1382 2005-03-01 Not Zed <NotZed@Ximian.com>
1384 * tests/misc/test2.c: fix the case of the charset specification,
1385 now we properly canonicalise them.
1387 2005-03-01 Not Zed <NotZed@Ximian.com>
1391 * tests/misc/test1.c: Test case for references decoding.
1393 * camel-mime-utils.c (header_decode_addrspec): if we get no start
1394 word, then return NULL not "".
1396 2005-03-02 Not Zed <NotZed@Ximian.com>
1400 * camel-mime-utils.c (rfc2047_encode_word): if we fail to convert
1401 all the buffer, skip the content we didn't convert - don't just
1402 skip the number of bytes we didn't convert from the start of the
1404 (header_encode_phrase_merge_words): when we merge the word, make
1405 sure we merge the encoding too.
1407 2005-03-02 Not Zed <NotZed@Ximian.com>
1409 ** See bug #70590 (again)
1411 * camel-filter-driver.c (camel_filter_driver_filter_message):
1412 don't drop to default folder if we moved it.
1413 (do_move): mark moved, not copied.
1415 2005-03-01 Not Zed <NotZed@Ximian.com>
1419 * camel-mime-message.c (process_header): if there are no addresses
1420 in from or reply-to header, don't save empty address list.
1422 2005-02-28 Not Zed <NotZed@Ximian.com>
1426 * camel-mime-utils.c (header_encode_param): just call
1427 camel_charset_best once to get the best charset, and handle a NULL
1428 charset name case properly.
1430 * camel-charset-map.c (camel_charset_step): use the camel utf8
1431 functions for robustness (&fix possible buffer-read-overflow).
1432 Perform some short-circuit optimisation when we can.
1434 2005-02-28 Not Zed <NotZed@Ximian.com>
1438 * camel-filter-driver.c (do_move): Make this copy+delete, and
1439 terminate processing implicitly.
1441 2005-02-24 Not Zed <NotZed@Ximian.com>
1445 * camel-nntp-address.[ch]: cameladdress implementation for list of
1448 2005-02-11 Radek Doulik <rodo@novell.com>
1450 * camel-filter-search.c (junk_test): use camel debug
1452 * camel-junk-plugin.c: use camel debug
1454 2005-02-09 Jeffrey Stedfast <fejj@novell.com>
1456 * camel-store.c (camel_folder_info_build): Fix the FIXME about
1457 using fragment instead of path for those urls which use fragment
1458 instead. Also fixes bug #71747.
1460 2005-02-07 JP Rosevear <jpr@novell.com>
1462 * camel-iconv.c: remove dead file
1464 2005-02-07 Jeffrey Stedfast <fejj@novell.com>
1466 * tests/folder/test11.c: Fixed junk/trash folder names/paths.
1468 2005-02-04 Not Zed <NotZed@Ximian.com>
1470 * camel-filter-search.c (check_header): don't try to match against
1471 mlist if the mlist entry is NULL.
1473 * camel-store-summary.h: make the store-info flags match the
1474 store:folder_info flags.
1476 * Revert jeffs changes, they weren't needed.
1478 2005-02-02 Jeffrey Stedfast <fejj@novell.com>
1480 * camel-store.h (CAMEL_STORE_FOLDER_INFO_SUBSCRIPTION_INFO):
1481 Added. Hint to the provider that we want the
1482 CAMEL_FOLDER_SUBSCRIBED flag (even if we aren't requesting
1483 CAMEL_STORE_FOLDER_INO_SUBSCRIBED).
1484 * camel-folder-summary.h:
1485 Added some RESERVED bits for the summary->flags (last 24 bits are
1486 for provider specific flags).
1488 2005-02-01 Not Zed <NotZed@Ximian.com>
1492 * camel-vee-store.c (camel_vee-store_init): api chanes
1494 * camel-vtrash-folder.c (camel_vtrash_folder_new): api chagne and
1495 translate the short name.
1497 * camel-vee-folder.c (camel_vee_folder_construct): take full-name
1498 argument separately from short-name.
1499 (camel_vee_folder_new): calculate short-name.
1501 * camel-store.c (camel_store_get_folder_info): set the folder type
1504 * camel-store.h: add a bitfield for a folder-type hint. used to
1505 indicate inbox/trash/etc (mainly for gui icons).
1507 ** See bug #38791 and bug #36142.
1509 * camel-gpg-context.c (gpg_ctx_op_step): use poll rather than
1510 select, and listen to the cancellation fd as well. perform all
1512 (gpg_sign): remove cancellation check/processing.
1514 (gpg_encrypt): same.
1515 (gpg_decrypt): same.
1516 (gpg_ctx_op_step): remove the messy execption handling stuff, it
1518 (gpg_import_keys, gpg_export_keys): clean up exception case.
1522 * camel-filter-driver.c (do_score): don't use
1523 camel_folder_set_message_user_tag anymore, use the messageinfo
1525 (do_adjust_score): implement missing function.
1527 * camel-store.c (camel_store_folder_uri_equal): check the path
1528 isn't NULL before dereferencing it. Could happen with badly
1529 formed uris (since we're comparing folders, it MUST contain a path
1532 2005-01-31 Parthasarathi Susarla <sparthasarathi@novell.com>
1534 * providers/groupwise/camel-groupwise-folder.c
1535 (groupwise_folder_get_message): fixed a crash
1536 while getting message. also applied lock
1537 when getting message
1538 * providers/groupwise/camel-groupwise-store.c
1539 (gropuwise_get_folder_info),
1540 (groupwise_create_folder),
1541 (groupwise_delete_folder): applied locks which
1542 were missed out previously
1544 2005-01-31 Hans Petter Jansson <hpj@novell.com>
1546 * camel-mime-utils.c (camel_mime_special_table): Remove this, it's
1547 declared externally now.
1549 2005-01-31 Not Zed <NotZed@Ximian.com>
1553 * tests/mime-filter/test1.c: added new test for
1554 camel-mime-filter-canon.c
1556 * camel-mime-filter-canon.c (filter_run): separated out from
1557 filter. Fix a case when it finds an embedded "From " not to
1558 create "=46rom rom".
1559 (complete): Properly canonicalise \n -> \r\n rather than just
1560 copying it across (use filter_run now).
1564 * camel-vtrash-folder.h: move Junk and Trash into the ".#evolution"
1567 * camel-store.c (add_special_info): only compare the full name for
1572 * camel-filter-search.c (check_header): check all instances of
1573 headers for match string.
1575 2005-01-28 Not Zed <NotZed@Ximian.com>
1577 * camel-provider.h: Added CAMEL_URL_PART_HIDE* options, required
1578 for more flexible extensibility.
1580 2005-01-29 Sivaiah Nallagatla <snallagatla@novell.com>
1582 * providers/groupwise/camel-groupwise-store.c
1583 (groupwise_auth_loop) : change the default to 7191
1584 use "use_ssl" param from CamelUrl instead of soap_ssl
1586 2005-01-29 Sivaiah Nallagatla <snallagatla@novell.com>
1588 * providers/groupwise/camel-groupwise-provider.c
1589 (camel_provider_init) : Make the soap mailer
1590 default for groupwise accounts. exporting USE_IMAP
1591 will cause imap to be used
1593 2005-01-27 Jeffrey Stedfast <fejj@novell.com>
1595 * providers/imap4/camel-imap4-summary.c
1596 (camel_imap4_summary_init): Default the have_mlist bit to TRUE so
1597 that upgraders from 2.0 won't have their summaries rescanned.
1598 (camel_imap4_summary_flush_updates): Always update have_mlist to
1601 2005-01-27 Parthasarathi Susarla <sparthasarathi@novell.com>
1603 * providers/groupwise/camel-groupwise-folder.c
1604 (groupwise_refresh_info):
1605 (gw_update_summary): using getquickmessages instead of get items
1607 * providers/groupwise/camel-groupwise-store.c
1608 (groupwise_get_folder): using get quick messages instead of get
1611 2005-01-27 Jeffrey Stedfast <fejj@ximian.com>
1613 * providers/imap4/camel-imap4-summary.c (untagged_fetch_all):
1614 Decode References to improve threading code (In-Reply-To from
1615 ENVELOPE just wasn't good enough to make users happy). See bug
1617 (untagged_fetch_all): Look at the Content-Type header to decide if
1618 the message might contain attachments.
1619 (imap4_summary_fetch_all): Added References and Content-Type to
1622 * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
1623 Fixed to handle "" as the delim portion of the NAMESPACE. Fixes
1626 2005-01-26 Jeffrey Stedfast <fejj@novell.com>
1628 * providers/imap4/camel-imap4-summary.c (imap4_header_load): Check
1629 whether or not we have mlist info in our summary.
1630 (imap4_header_save): Save have_mlist.
1631 (camel_imap4_summary_flush_updates): Modified to clear the summary
1632 and do a complete refetch if enable_mlist has been newly enabled
1633 and we don't already have mlist info in our summary info's.
1634 (imap4_fetch_all_add): If the \Recent flag is set, also add it to
1635 the "recent" changes structure so the filetr code knows to filter
1638 2005-01-25 Jeffrey Stedfast <fejj@novell.com>
1640 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
1641 Setup filtering and junk filtering stuff.
1643 2005-01-24 JP Rosevear <jpr@novell.com>
1645 * tests/folder/test6.c: get imap4 not imap
1647 * tests/folder/test4.c: ditto
1649 2005-01-24 Jeffrey Stedfast <fejj@novell.com>
1651 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
1652 Default enable_mlist to ON.
1653 (imap4_append_message): Don't compare date_received against -1,
1654 compare it to 0 (since that's what it'll be if unset).
1656 2005-01-24 Jeffrey Stedfast <fejj@ximian.com>
1658 * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
1659 Respect the user's namespace override setting.
1660 (imap4_get_folder_info): Changed the behaviour a bit to work like
1661 the old imap code: only use the cache if the network is
1662 unavailable, otherwise always scan the server for the folder
1664 (imap4_get_folder_info): Always get INBOX (fix for cases where
1665 INBOX wasn't under the namespace and for cases where it's not
1668 2005-01-24 Parthasarathi Susarla <sparthasarathi@novell.com>
1670 * providers/groupwise/camel-groupwise-folder.c
1671 (groupwise_transfer_messages_to): using moveItemRequest for moving
1672 messages between folders.
1674 2005-01-23 Jeffrey Stedfast <fejj@ximian.com>
1676 * providers/imap4/camel-imap4-store.c (imap4_construct): Check if
1677 we have the use_lsub url param and set the store->flags
1680 2005-01-24 Not Zed <NotZed@Ximian.com>
1684 * providers/pop3/camel-pop3-store.c (pop3_connect): fix the
1685 exception case for re-prompting for the password.
1687 ** See bug #71625, and bug #56110.
1689 * providers/imap/camel-imap-folder.c (get_content): when getting a
1690 simple content for a message, don't get .TEXT, as that is the full
1691 content of a message, not the part itself.
1693 2005-01-23 Jeffrey Stedfast <fejj@ximian.com>
1695 * providers/imap4/camel-imap4-summary.c (untagged_fetch_all):
1696 Handle BODY[HEADER.FIELDS ...] responses for cases where we may
1697 wish to query for mailing-list headers.
1698 (imap4_summary_fetch_all): If enable_mlist is set for this folder,
1699 then query for mailing-list headers as well.
1701 * providers/imap4/camel-imap4-folder.c (imap4_getv): Added a new
1702 property to enable mlist detection (which will change our summary
1703 query to the same as the old imap code).
1704 (imap4_setv): Implemented.
1706 2005-01-21 Jeffrey Stedfast <fejj@novell.com>
1708 * providers/imap4/camel-imap4-summary.c (imap4_header_load): Fixed
1709 to load fixed_int32's rather than uint32's.
1710 (imap4_header_save): Fixed to save fixed_int32's rather than
1711 uint32's for compat with old imap code.
1713 * providers/Makefile.am: Removed "imap" from the build and made
1714 "imap4" the default.
1716 * providers/imap4/libcamelimap4.urls: Fixed to only list "imap"
1718 * providers/imap4/camel-imap4-provider.c: Changed the 'protocol'
1719 string to "imap" from "imap4" so we override the old imap urls.
1721 * providers/imap4/camel-imap4-summary.c: Updated to load/save in
1722 the same format as the old imap code so no migration is necessary.
1724 * camel-offline-journal.c: Same.
1726 * camel-offline-folder.c (camel_offline_folder_downsync): Use a
1727 new macro to get the class from the offline folder object, don't
1728 cast the object as a class.
1730 2005-01-20 Parthasarathi Susarla <sparthasarathi@novell.com>
1732 * providers/groupwise/camel-groupwise-folder.c
1733 (groupwise_folder_get_message) : support for status
1734 for message tracking.
1735 Removed compiler warnings.
1737 2005-01-20 Parthasarathi Susarla <sparthasarathi@novell.com>
1739 * providers/groupwise/camel-groupwise-folder.c
1740 (groupwise_folder_get_message):
1741 Show warning, but display message in case we cannot get
1743 Display the itip control for appointments even if no
1744 message body is present
1745 * providers/groupwise/camel-groupwise-store.c
1746 (groupwise_get_folder_info):
1747 Not displaying the Calendar and Contacts folders in the mail
1750 2005-01-20 Not Zed <NotZed@Ximian.com>
1752 * camel-lock-helper.c (main): since malloc(MAXINT+1) returns a
1753 valid pointer, validate the length of the path before using it.
1754 set maximum path to 65000 characters. Spotted by Max Vozeler
1757 2005-01-19 Jeffrey Stedfast <fejj@novell.com>
1759 * camel-offline-folder.c (camel_offline_folder_class_init): Only
1760 init the perperties list once (class_init can be called multiple
1763 * providers/imap4/camel-imap4-utils.c: disable debugging.
1765 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
1766 Set a cmeta file path.
1768 * providers/imap4/camel-imap4-command.c: Disable debugging spew
1769 unless imap4:command is enabled.
1771 * camel-offline-folder.c (camel_offline_folder_downsync): Documented.
1773 * camel-offline-store.c (camel_offline_store_set_network_state):
1774 Use NULL as the search expression which forces all messages to be
1777 2005-01-18 Jeffrey Stedfast <fejj@novell.com>
1779 * providers/imap4/camel-imap4-summary.c (imap4_header_load): Load
1780 the IMAP4 summary version.
1781 (imap4_header_save): Save the IMAP4 summary version.
1783 2005-01-13 Jeffrey Stedfast <fejj@novell.com>
1785 * providers/groupwise/camel-groupwise-journal.c
1786 (groupwise_entry_load): Simplified the exception case. Also, in
1787 the exception case don't abort() if entry->type is an unknown type
1788 (keeps us from "crashing" on invalid/corrupted journal data).
1789 (camel_groupwise_journal_append): Don't free the uid here.
1790 (camel_groupwise_journal_transfer): Same.
1791 (groupwise_entry_write): Save the original_uid for TRANSFER types
1792 as we need it when we later replay the journal.
1793 (groupwise_entry_load): Load the original_uid here for TRANSFER
1795 (groupwise_entry_free): Free the original_uid too.
1796 (groupwise_entry_play_transfer): Untangled from the APPEND entry
1797 replay because the code has very little to nothing in
1798 common. Also, after transfer we need to get the new message info
1799 structure and copy user tags/flags and system flags over or we
1800 lose that information.
1801 (play_update): Removed.
1803 2005-01-19 Parthasarathi Susarla <sparthasarathi@novell.com>
1805 * providers/groupwise/camel-groupwise-folder.c
1806 (groupwise_folder_get_message): set the message id as the uid
1807 for the CamelMimeMessage
1809 2005-01-18 Parthasarathi Susarla <sparthasarathi@novell.com>
1811 * providers/groupwise/camel-groupwise-store.c:
1812 Removed debug statements and compiler warnings
1814 2005-01-17 Sivaiah Nallagatla <snallagatla@novell.com>
1816 * camel-groupwise-provider.c : remove poa ip and
1817 soap ssl settings. We no longer need them as we now use soap for mail
1819 * camel-groupwise-store.c (groupwise_auth_loop) :
1820 when use_ssl is whenever possible try to login
1821 using https and them if it fails using http
1823 2005-01-17 Not Zed <NotZed@Ximian.com>
1825 * tests/lib/folders.c (test_folder_basic): dont enforce local
1826 store == no inbox; maildir implements one now.
1828 * camel-multipart-signed.c (skip_content): in the message state
1829 skip a state, otherwise we go nowhere but down an overflowed stack
1832 2005-01-14 Not Zed <NotZed@Ximian.com>
1834 ** Better fix for #65178.
1836 * tests/folder/test11.c: new maildir test.
1838 * camel-store.c (camel_store_folder_uri_equal): dont pass NULL
1839 values to compare_folder_name.
1841 * providers/local/camel-maildir-store.c (get_folder_info):
1842 reimplemented, now everything isn't a subfolder of INBOX ('.')
1844 (get_inbox): call main entry point so we don't create multiple
1846 (scan_dirs): re-implemented using non-recursive implementation.
1847 (scan_fi, scan_free, scan_equal, scan_hash): helpers for above.
1848 (md_canon_name): helper to canonicalise old-format names to new
1850 (maildir_hash_folder_name, maildir_compare_folder_name): implement
1851 custom folder hash functions so canonicalisation works.
1852 (get_folder): canoncalise name before using it. special case '.'
1853 aka 'inbox', so that it is implicitly created if accessed.
1854 (delete_folder): don't let the caller delete ".".
1855 (camel_folder_info_new): removed.
1857 2005-01-14 Jeffrey Stedfast <fejj@novell.com>
1859 * providers/smtp/camel-smtp-transport.c
1860 (connect_to_server_wrapper): if the first connection fails, clear
1861 the exception before trying again.
1862 (connect_to_server): Use ssl_new_raw() for STARTTLS mode
1863 conenctions. Fixes bug #71082.
1865 2005-01-14 Jeffrey Stedfast <fejj@novell.com>
1867 * providers/imap4/camel-imap4-journal.c (imap4_entry_play_append):
1868 Get the appended_uid from camel_folder_append_message() so that we
1869 can copy all user flags/tags over from the journal info over to
1870 the real summary info once the append has completed (assuming of
1871 course that the server supports UIDPLUS).
1872 (camel_imap4_journal_readd_failed): New function to readd
1873 message-info's from failed journal appends to the folder summary
1874 so that they aren't lost from the user's message-list (they have
1875 to temporarily be removed while the summary updates itself from
1876 the server or Bad Things (tm) would happen).
1878 * providers/imap4/camel-imap4-summary.c
1879 (camel_imap4_summary_flush_updates): Readd the failed journal
1880 replay info's to the summary so even if messages fail to be
1881 appended to the folder, the user will still see them in his/her
1884 2005-01-12 Jeffrey Stedfast <fejj@novell.com>
1886 * providers/imap4/camel-imap4-provider.c: Use the same key
1887 shortcuts as current imap code.
1889 2005-01-13 Not Zed <NotZed@Ximian.com>
1893 * providers/local/camel-maildir-store.c (get_folder_info)
1894 (get_folder): if the incoming folder name starts with /, convert
1895 it to implicit start with "./".
1899 * providers/nntp/camel-nntp-store.c
1900 (nntp_store_get_subscribed_folder_info): emit a folder_changed
1901 event if refreshing it added any changes.
1903 2005-01-12 Not Zed <NotZed@Ximian.com>
1907 * camel-multipart-signed.c (parse_content): re-implemented to use
1908 camel-mime-parser. For the annoying pathalogical case of re-used
1909 multipart boundary markers.
1911 * camel-mime-parser.c (folder_scan_step): modified the multipart
1912 state so that we don't try to match the same boundary again if
1913 we've already seen an end boundary for this part. This is for the
1914 annoying case of a multipart inside a multipart which shares an
1915 identical boundary marker (groupwise!).
1916 (camel_mime_parser_tell_start_boundary): new function to indicate
1917 the offset of the start of the last boundary.
1919 * tests/message/test3.c (main): remove the nonfatal fixme & put
1920 extra null check for pre/postface text checks.
1922 * tests/message/test2.c (convert): use size_t for iconv length
1925 2005-01-11 Jeffrey Stedfast <fejj@novell.com>
1927 * providers/imap4/camel-imap4-store-summary.c
1928 (camel_imap4_store_summary_get_folder_info): Fixed a possible
1929 uninitialised condition.
1931 2005-01-12 Sushma Rai <rsushma@novell.com>
1933 * camel-provider.[ch]: Removed camel_provider_validate_user()
1934 and added a void pointer to CamelProvider structure.
1936 2005-01-12 Not Zed <NotZed@Ximian.com>
1940 * camel-vee-folder.c (vee_delete): fix past-o, unlock not lock
1943 2005-01-08 Not Zed <NotZed@Ximian.com>
1945 * camel-sasl-ntlm.c: convert all the unsigned long/long stuff to
1946 guint32 since it seems to need 32 bit integers.
1948 * camel-url.c (camel_url_new_with_base): cast length to int.
1950 * providers/imap/camel-imap-command.c
1951 (imap_command_strdup_vprintf): cast strlen to int.
1953 * camel-mime-utils.c (append_quoted_pair, header_decode_text): use
1954 gssize for length to match dumb g-api.
1956 2005-01-11 Parthasarathi Susarla <sparthasarathi@novell.com>
1958 * providers/groupwise/camel-groupwise-store.c
1959 (groupwise_create_folder): fixed a crash when creating a folder.
1960 was not building the folder info
1962 2005-01-11 Parthasarathi Susarla <sparthasarathi@novell.com>
1964 * providers/groupwise/camel-groupwise-folder.c
1965 (groupwise_sync): to sync back flags to the server. currently
1966 can sync only read messages.
1967 (groupwise_append_message): set source based on folder
1968 * providers/groupwise/camel-groupwise-utils.[ch]
1969 (do_flags_diff): finds the difference between flags. Based on the
1972 2005-01-11 JP Rosevear <jpr@novell.com>
1974 * providers/groupwise/camel-groupwise-transport.h: remove defines
1976 * providers/groupwise/camel-groupwise-transport.c (groupwise_send_to)
1977 (groupwise_send_to): use util routine to build item
1979 * providers/groupwise/camel-groupwise-store.h: new protos
1981 * providers/groupwise/camel-groupwise-store.c
1982 (groupwise_rename_folder): use new api name and don't strdup the
1984 (camel_groupwise_store_folder_lookup): find folder from container id
1986 * providers/groupwise/camel-groupwise-journal.[hc]: implement
1987 journalling for append and transfer
1989 * providers/groupwise/camel-groupwise-folder.h: add journal member
1991 * providers/groupwise/camel-groupwise-folder.c
1992 (groupwise_folder_get_message): use new api name and don't strdup
1994 (groupwise_refresh_info): ditto
1995 (groupwise_append_message): ditto
1996 (groupwise_expunge): ditto
1997 (groupwise_transfer_messages_to): handle being in offline mode
1999 * providers/groupwise/Makefile.am: build journal sources
2001 2005-01-11 Parthasarathi Susarla <sparthasarathi@novell.com>
2003 * providers/groupwise/camel-groupwise-folder.c
2004 (groupwise_append_message): support for append messages
2005 into groupwise folders.
2006 * providers/groupwise/camel-groupwise-utils.[ch]
2007 (camel_groupwise_util_item_from_message): creates an groupwise
2008 item from CamelMimeMessage
2010 2005-01-11 Vivek Jain <jvivek@novell.com>
2011 * camel-store.h : defined flags for shared folders
2013 2005-01-11 Not Zed <NotZed@Ximian.com>
2017 * camel-multipart-signed.c (parse_content): treat the post pointer
2018 as binary, not 0 terminated.
2020 2004-12-23 Not Zed <NotZed@Ximian.com>
2024 * providers/imap/camel-imap-command.c (imap_read_untagged): scan
2025 the non-literal contnet for s-expression brackets, and if we seem
2026 to be outside of one, don't try the 'blank line after literal'
2029 2005-01-10 Jeffrey Stedfast <fejj@novell.com>
2031 * providers/groupwise/camel-groupwise-folder.c
2032 (groupwise_folder_get_message): Updated the offline check to use
2033 CamelOffline methods.
2034 (groupwise_refresh_info): Same.
2035 (groupwise_cache_message): Removed.
2036 (groupwise_folder_get_message): Use CAMEL_RECIPIENT_TYPE_* rather
2038 (groupwise_expunge): Updated to fit the normal CamelStore expunge
2039 API and fixed a deadlock condition.
2041 * providers/groupwise/camel-groupwise-store.c
2042 (groupwise_get_folder_offline): Removed.
2043 (groupwise_get_folder_online): Renamed to groupwise_get_folder()
2044 and made to handle offline case.
2045 (groupwise_connect_offline): Removed.
2046 (groupwise_disconnect_offline): Removed.
2047 (groupwise_get_fodler_info_online): Renamed
2048 groupwise_get_folder_info() - if in offline mode, do the offline
2050 (groupwise_create_folder): Updated for CamelOfflineStore stuff.
2051 (groupwise_delete_folder): Same.
2052 (groupwise_rename_folder): Same.
2054 * providers/imap4/camel-imap4-stream.c: Disable token debug spew
2055 unless imap4:stream debug is enabled.
2057 2005-01-10 Sushma Rai <rsushma@novell.com>
2059 * camel-provider.[ch] (camel_provider_validate_user):
2060 Given the server URL, validates the user credentials if
2061 the provider supports.
2062 Added temporarily for Exchange connector, will be removed
2063 once connector plugin is made external.
2065 2005-01-10 Parthasarathi Susarla <sparthasarathi@novell.com>
2067 * providers/groupwise/camel-groupwise-folder.c
2068 (groupwise_folder_get_message),
2069 (groupwise_refresh_info): included default and notification in
2070 the view list for e_gw_connection_get_item.
2072 * providers/groupwise/camel-groupwise-store.c
2073 (groupwise_get_folder_online):included default and notification
2074 in the view list for e_gw_connection_get_items.
2076 * providers/groupwis/camel-groupwise-transport.[ch]
2077 (groupwise_send_to): sets send options in EGwItem by parsing the
2078 camelmimemessage for send-option headers
2080 2005-01-10 Parthasarathi Susarla <sparthasarathi@novell.com>
2082 * providers/groupwise/camel-groupwise-store-summary.[ch]:
2083 implements the CamelStoreSummary Class providing support
2084 for store summary for the soap provider.
2086 * providers/groupwise/camel-groupwise-store.c
2087 (groupwise_get_folder_info_online): saves the store summary
2088 after building folder info.
2090 2005-01-07 Jeffrey Stedfast <fejj@novell.com>
2092 * providers/imap4/camel-imap4-store.c (imap4_connect): Same as
2093 imap4-folder changes.
2094 (imap4_disconnect): Same.
2095 (imap4_get_folder): Same.
2096 (imap4_query_auth_types): Same.
2097 (imap4_create_folder): Same.
2098 (imap4_delete_folder): Same.
2099 (imap4_rename_folder): Same.
2100 (imap4_subscribe_folder): Same.
2101 (imap4_unsubscribe_folder): Same.
2103 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
2104 Instead of checking the session online state, check the
2105 OfflineStore network availability state.
2107 (imap4_refresh_info): Same.
2108 (imap4_get_message): Here too.
2109 (imap4_append_message): Same.
2110 (imap4_transfer_messages_to): Same.
2112 2005-01-07 Parthasarathi Susarla <sparthasarathi@novell.com>
2114 * providers/groupwise/camel-groupwise-transport.c
2115 (groupwise_send_to): fixed the problem of the mail message (body)
2116 being treated as an attachment
2118 2005-01-07 JP Rosevear <jpr@novell.com>
2120 * providers/groupwise/camel-groupwise-store.c
2121 (groupwise_store_construct): don't free an alloca'd memory pointer
2123 2005-01-06 Jeffrey Stedfast <fejj@novell.com>
2125 * providers/imap4/camel-imap4-summary.c: Changed to use the new
2126 CamelOfflineJournal API.
2128 * providers/imap4/camel-imap4-journal.c: Changed to inherit from
2129 the new CamelOfflineJournal class.
2131 * providers/imap4/camel-imap4-folder.c: Changed to inherit from
2133 (camel_imap4_folder_class_init): Removed the properties setup code
2134 - no longer needed as it is handled in our parent class now.
2135 (camel_imap4_folder_finalize): Use camel_offline_journal_write()
2137 * providers/imap4/camel-imap4-store.c: Changed to inherit from
2138 CamelOfflineStore rather than CamelStore.
2140 * camel-offline-journal.[c,h]: New abstract class for keeping a
2141 journal of folder operations done while in offline mode. (Future
2142 replacement for CamelDiscoDiary?)
2144 * camel-offline-folder.[c,h]: New abstract class for offline
2145 folders - handles syncing messages from the server to disk for
2146 offline use. (Future replacement for CamelDiscoFolder?)
2148 * camel-offline-store.[c,h]: New abstract class for offline stores
2149 - handles switching between network avail/unavail. (Future
2150 replacement for CamelDiscoStore?)
2152 2005-01-06 Parthasarathi Susarla <sparthasarathi@novell.com>
2154 * providers/groupwise/camel-groupwise-store.[ch]
2155 (groupwise_get_folder_info_online): update the total and unread
2156 mail count from soap response
2157 (groupwise_rename_folder): fixed problems in renaming groupwise
2159 (storage_path_lookup): returns the storage path for the groupwise
2162 * providers/groupwise/camel-groupwise-folder.c
2163 (groupwise_folder_get_message): support for shared folder
2164 notification type. displaying the itip control for appoinments.
2165 (groupwise_folder_rename): support function for renaming cache and
2166 summary when a groupwise folder is renamed
2167 (groupwise_transfer_online): function for copying/moving messages
2169 (convert_to_calendar): function to populate data for displaying
2170 appointments by itip control
2172 * providers/groupwise/camel-groupwise-transport.c
2173 (groupwise_send_to): support for sending attachments
2175 2005-01-04 Sivaiah Nallagatla <snallagatla@novell.com>
2177 * providers/groupwise/camel-groupwise-store.c
2178 (groupwise_create_folder, groupwise_delete_folder),
2179 (groupwise_rename_folder): prevent these operations in offline
2182 2005-01-04 Parthasarathi Susarla <sparthasarathi@novell.com>
2184 * providers/groupwise/camel-groupwise-store.c
2185 (groupwise_store_construct): initialise the store summary.
2187 2005-01-04 Parthasarathi Susarla <sparthasarathi@novell.com>
2189 * providers/groupwise/camel-groupwise-transport.c
2190 (groupwise_send_to): freeing the recipient list and assigning to
2191 NULL, which was causing a crash while sending mails.
2193 2004-12-31 JP Rosevear <jpr@novell.com>
2195 * providers/groupwise/Makefile.am: dist the private header, fix
2198 * tests/smime/pgp.c (main): use define for data location
2200 * tests/smime/Makefile.am: define for the data dir
2202 * tests/mime-filter/test-charset.c (main): load and output to the
2205 * tests/message/Makefile.am: clean up generated files
2207 * Makefile.am: clean up the package config data
2209 * tests/Makefile.am: dist the data dir
2211 2004-12-23 Sivaiah Nallagatla <snallagatla@novell.com>
2213 * providers/groupwise/camel-groupwise-provider.c : changed the
2214 offline_sync setting label
2216 2004-12-23 Parthasarathi Susarla <sparthasarathi@novell.com>
2217 * providers/groupwise/camel-groupwise-private.h:
2218 Added the file which was missed out in the previous commit.
2220 2004-12-23 Parthasarathi Susarla <sparthasarathi@novell.com>
2222 * providers/groupwise/camel-groupwise-store.[ch]
2223 * providers/groupwise/camel-groupwise-transport.[ch]
2224 * providers/groupwise/camel-groupwise-utils.[ch]
2225 * providers/groupwise/camel-groupwise-store-summary.[ch]
2226 * providers/groupwise/camel-groupwise-summary.[ch]:
2227 Added the above files for implementing mailer for soap based
2228 camel provider for groupwise server.
2229 * providers/groupwise/Makefile.am : added new files to SOURCES
2230 * providers/groupwise/camel-groupwise-provider.c:(camel_provider_module_init):
2231 check for an environment variable SOAP_MAILER, if not present will use IMAP
2234 2004-12-23 Not Zed <NotZed@Ximian.com>
2236 * camel-folder-search.c (check_header): treat a missing header as
2237 if it was set to "".
2239 * camel-object.c (camel_object_is, camel_object_class_is)
2240 (camel_interface_is): check for null values before dereferencing
2243 2004-12-20 David Mosberger-Tang <David.Mosberger@acm.org>
2245 * camel-mime-parser.c: Include "libedataserver/e-memory.h".
2246 (STRUCT_ALIGN): Remove.
2247 (MemPoolNode): Likewise.
2248 (MemPoolThresholdNode): Likewise.
2249 (MemPool): Likewise.
2250 (mempool_new): Likewise.
2251 (mempool_alloc): Likewise.
2252 (mempool_flush): Likewise.
2253 (mempool_free): Likewise.
2254 (struct _header_scan_stack): Change type of "pool" from MemPool to
2256 (folder_pull_part): Call e_mempool_destroy() instead of
2258 (header_append_mempool): Call e_mempool_alloc() instead of
2260 (folder_scan_header): Call e_mempool_new() instead of
2263 2004-12-20 Not Zed <NotZed@Ximian.com>
2265 * camel-operation.c (camel_operation_init): remove
2266 (camel_operation_shutdown): remove.
2267 (co_getcc): new helper to get the current thread-specific value &
2270 * camel-mime-utils.c (camel_mime_utils_init): removed, taken from
2271 prebuilt tables now.
2272 (header_remove_bits, header_init_bits, header_decode_init)
2273 (base64_init): removed, handled by perl script now.
2275 * camel.c (camel_shutdown): dont shutdown mime utils anymore.
2277 * camel-mime-utils.c (mailing_list_init): move the mailing list
2278 init stuff from camel-mime-utils-init to here.
2279 (camel_header_raw_check_mailing_list): call mailing_list_once to
2280 init the regular expression tables.
2281 (camel_mime_utils_shutdown): removed, it can 'leak' the static
2283 (base64_init): removed, this data never changes, keep table in
2286 2004-12-15 Rodney Dawes <dobey@novell.com>
2288 * Makefile.am: Move camel-search-private.h to libcamelinclude_HEADERS
2289 so we can install it so Evolution can build from a disted tarball
2291 2004-12-14 Jeffrey Stedfast <fejj@novell.com>
2293 * providers/imap4/camel-imap4-folder.c
2294 (imap4_transfer_messages_to): Doh. Unlock the connect_lock at the
2295 end, don't lock it again :)
2297 * providers/imap4/camel-imap4-journal.c
2298 (camel_imap4_journal_append): Now takes an appended_uid
2299 argument. Also fixed to add a message-info place-holder to the
2302 * providers/imap4/camel-imap4-folder.c (imap4_append_message): get
2303 an appedned_uid for the journalled append.
2304 (imap4_transfer_messages_to): Updated for appended_uid API change.
2306 2004-12-14 Jeffrey Stedfast <fejj@novell.com>
2308 * providers/imap4/camel-imap4-journal.[c,h]: New source files
2309 implementing a basic journal.
2311 * providers/imap4/camel-imap4-summary.c
2312 (camel_imap4_summary_flush_updates): Replay the journal.
2314 * providers/imap4/camel-imap4-folder.c
2315 (camel_imap4_folder_finalize): Write/unref the journal.
2316 (camel_imap4_folder_new): Create a journal object.
2317 (imap4_append_message): Journal the message append if we're in
2319 (imap4_transfer_messages_to): Implement offline copy/move support
2320 using the new journal code.
2322 2004-12-09 Jeffrey Stedfast <fejj@novell.com>
2324 * providers/imap4/camel-imap4-folder.c (imap4_append_message):
2325 Don't bother sending UID APPEND if the caller doesn't care about
2328 2004-12-13 Not Zed <NotZed@Ximian.com>
2330 * tests/lib/Makefile.am: put the test-provider stuff back in.
2332 * tests/*/Makefile.am: version libcamel*.
2334 * tests/lib/camel-test-provider.[ch]: duh, re-implement, it got
2337 2004-12-07 Jeffrey Stedfast <fejj@novell.com>
2339 * providers/imap4/camel-imap4-folder.c (imap4_append_message):
2340 Need to have the folder as the first vararg.
2342 2004-12-06 Rodney Dawes <dobey@novell.com>
2344 * camel-lock-client.c (camel_lock_helper_init):
2345 Exec camel-lock-helper-$BASE_VERSION instead of just camel-lock-helper
2347 2004-12-06 Jeffrey Stedfast <fejj@novell.com>
2349 * camel-sasl-gssapi.c: #include "camel-net-utils.h"
2351 * camel-net-utils.h: #include sys/types.h for size_t, etc.
2353 2004-12-06 Rodney Dawes <dobey@novell.com>
2355 * Makefile.am: Fix pkgconfig bits to dist the unversioned .in files
2358 * tests/lib/Makefile.am: Removed camel-test-provider stuff, since it
2359 isn't in the source tree
2361 2004-11-29 Mengjie Yu <meng-jie.yu@sun.com>
2363 * providers/imap/camel-imap-provider.c:add mnemonic for checkboxes.
2365 2004-12-03 Jeffrey Stedfast <fejj@novell.com>
2367 * providers/imap4/camel-imap4-store.c (connect_to_server): Same.
2369 * providers/nntp/camel-nntp-store.c (connect_to_server): Same.
2371 * providers/imap/camel-imap-store.c (connect_to_server): Same.
2373 * providers/pop3/camel-pop3-store.c (connect_to_server): Same.
2375 * providers/smtp/camel-smtp-transport.c (connect_to_server): Wrap
2376 ssl stream stuff in #ifdef's so the code can be built without SSL
2377 support and not contain unresolved symbols.
2379 2004-12-03 Sivaiah Nallagatla <snallagatla@novell.com>
2381 * providers/groupwise/camel-groupwise-provider.c: Remove
2382 unnecessary includes . Remove camel-gw-listener stuff from here as
2383 we are going to make it a plugin
2385 * providers/groupwise/Makefile.am: Remove camel-gw-listner.c from
2388 * providers/Makefile.am: add groupwise to SUBDIRS
2390 2004-12-02 Not Zed <NotZed@Ximian.com>
2394 * providers/imap/camel-imap-command.c (imap_read_untagged): gross
2395 hack, if we get a blank line after a literal, assume the server
2396 (read: groupwise) made a mistake. Given the complexity of this
2397 code i'm not sure it is the server anyway but what can you do.
2399 2004-12-01 Not Zed <NotZed@Ximian.com>
2403 * camel-multipart-signed.c (parse_boundary): take end of data
2404 argument, so it handles binary data. Use a binary data string
2405 search rather than strstr.
2406 (parse_content): dont bother to append a \0 on the end of the
2407 data, not binary capable.
2409 2004-11-23 Not Zed <NotZed@Ximian.com>
2413 * camel-smime-context.c (sm_get_passwd): removed. All callers
2414 that passed it now pass NULL. This is so we don't override the
2415 password function set by e-cert-db. Seems to work ok, I think.
2417 2004-11-22 Not Zed <NotZed@Ximian.com>
2421 * providers/smtp/camel-smtp-transport.c (smtp_helo): if we have
2422 ipv6 address and it is numeric, prefix it with "IPv6:"
2424 2004-11-30 Not Zed <NotZed@Ximian.com>
2426 * providers/nntp/camel-nntp-stream.c (CAMEL_NNTP_STREAM_LINE):
2427 rename to STREAM_LINE_SIZE so it doesn't override the STREAM_LINE
2429 (camel_nntp_stream_init): fix for above change.
2431 2004-11-28 S.Çağlar Onur <caglar@uludag.org.tr>
2435 * camel-charset-map.c (camel_charset_iso_to_windows):
2437 * camel-filter-search.c (check_header):
2439 * camel-folder-search.c (check_header):
2441 * camel-folder-summary.c
2442 (message_info_new,summary_build_content_info,camel_system_flag):
2444 * camel-html-parser.c (camel_html_parser_attr):
2446 * camel-mime-filter-enriched.c
2447 (param_parse,camel_mime_filter_enriched_init):
2449 * camel-mime-parser.c (folder_scan_step,main):
2451 * camel-mime-utils.c (camel_header_param,camel_header_set_param),
2452 (camel_content_type_is,camel_transfer_encoding_from_string),
2453 (camel_content_type_format,camel_content_type_simple),
2454 (camel_header_decode_date,header_raw_find_node):
2456 * camel-sasl-digest-md5.c (decode_data_type):
2458 * providers/imap/camel-imap-command.c (camel_imap_response_free):
2460 * providers/imap/camel-imap-folder.c (camel_imap_folder_new),
2461 (camel_imap_folder_selected,imap_refresh_info),
2462 (camel_imap_folder_new,camel_imap_folder_selected):
2464 * providers/imap/camel-imap-store.c (imap_get_capability),
2465 (imap_connect_online,get_folder_online,get_folder_offline),
2466 (get_subscribed_folders,folder_hash,get_folders):
2468 * providers/pop3/camel-pop3-store.c (get_folder):
2470 * tests/lib/folders.c (test_folder_message_ops): some strcasecmp()
2471 calls changed with g_ascii_strcasecmp() for Turkish character
2472 conversiton problems
2473 [http://www.i18nguy.com/unicode/turkish-i18n.html]
2475 2004-10-12 Radek Doulik <rodo@ximian.com>
2477 * camel-junk-plugin.c: new init method implementation
2479 * camel-junk-plugin.h: added junk plugin init declaration
2481 2004-11-10 Not Zed <NotZed@Ximian.com>
2485 * camel-service.c (cs_getnameinfo): honour the NI_NAMEREQD flag.
2487 * providers/smtp/camel-smtp-transport.c (smtp_helo): change the
2488 nameinfo flags a bit so we know when we got a numeric name and
2489 need to wrap it in [].
2491 2004-11-21 Sivaiah Nallagatla <snallagatla@novell.com>
2493 * providers/groupwise/camel-groupwise-provider.c : added
2494 a setting to mark the account for offline usuage
2496 * providers/groupwise/came-gw-listener.c
2497 (add_esource) (modify_esource) : changed the prototypes
2498 to pass CamelUrl instead of individual properties
2499 Add offline_sync property on e-sources if account is
2502 2004-11-18 Not Zed <NotZed@Ximian.com>
2504 * providers/nntp/camel-nntp-stream.c:
2505 * providers/nntp/camel-nntp-store.c:
2506 * providers/nntp/camel-nntp-summary.c: Make debug run based on
2507 'nntp' debug option.
2509 * providers/nntp/camel-nntp-stream.c (stream_fill): if we get a 0
2510 read, return ECONNRESET. This should really have been put on the
2511 stream for that imap hack fix.
2513 * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
2514 retry if the password attempt failed.
2518 * providers/nntp/camel-nntp-store.c (xover_setup): don't overwrite
2519 exception if we get a failure.
2520 (camel_nntp_command): if we continue, then set the return code to
2521 -1, so we re-loop rather than abort.
2523 2004-11-15 Jeffrey Stedfast <fejj@novell.com>
2525 * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
2526 In the fallback cases, clear the exception first.
2528 * providers/imap/camel-imap-store.c (connect_to_server_wrapper):
2529 In the fallback cases, clear the exception first.
2531 * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
2532 In the fallback cases, clear the exception first.
2534 2004-11-15 Jeffrey Stedfast <fejj@novell.com>
2536 * providers/imap/camel-imap-store.c (connect_to_server): Use
2537 camel_tcp_stream_ssl_new_raw() for STARTTLS stream.
2539 * providers/imap4/camel-imap4-store.c (connect_to_server): Use
2540 camel_tcp_stream_ssl_new_raw() for STARTTLS stream.
2542 * providers/pop3/camel-pop3-store.c: Change default port numbers
2543 to be correct (they shouldn't all be the pop3s port).
2544 (connect_to_server): Moved the last tcp_stream unref to afetr the
2545 last fail-check so that we won't ever get a double-unref on
2546 something we only own one ref on.
2547 (connect_to_server): Unref the tcp_stream if we fail to create an
2548 engine object before returning fail.
2549 (connect_to_server): Use camel_tcp_stream_ssl_new_raw() for
2552 * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line):
2553 Fix bug #69408 by filling our input buffer if inptr == inend.
2555 2004-11-13 Jeffrey Stedfast <fejj@ximian.com>
2557 * providers/imap4/camel-imap4-engine.c
2558 (camel_imap4_engine_parse_resp_code): Handle numeric tokens for
2559 the COPYUID set values as well.
2561 2004-11-12 Jeffrey Stedfast <fejj@novell.com>
2563 * providers/imap4/camel-imap4-summary.c (camel_imap4_summary_new):
2564 Folder now gets set on the CamelFolderSummary object rather than
2565 the CamelIMAP4Summary.
2566 (imap4_fetch_all_update): Base summary class now has a folder
2567 member, use that instead.
2568 (imap4_fetch_all_add): Same.
2569 (imap4_summary_fetch_all): Same.
2570 (imap4_summary_fetch_flags): Same.
2571 (camel_imap4_summary_set_uidvalidity): Same.
2572 (camel_imap4_summary_expunge): Same.
2573 (camel_imap4_summary_flush_updates): Same.
2575 * providers/imap4/camel-imap4-folder.c (imap4_append_message):
2576 Init appended_uid value to NULL
2578 * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
2579 Properly handle NILs for the namespace separator (somehow I missed
2582 2004-12-02 Not Zed <NotZed@Ximian.com>
2584 * Makefile.am: version all the libraries with the base version of the
2585 package. move libcamel-1.2 into libdir, etc.
2587 * camel.pc.in: remove the provider stuff from here.
2589 * camel-provider.pc.in: create a camel-provider pc file.
2591 2004-11-16 Not Zed <NotZed@Ximian.com>
2593 * tests/lib/folders.c (test_folder_message_ops): updated counts for
2594 delete also marking unread.
2596 * tests/lib/camel-test.c (camel_test_provider_init): new api for
2597 initialising test system 'in-build'.
2599 * camel-provider.c: remove the assertions, init if we need to,k
2600 use pthread_once stuff to serialise it.
2602 * tests/folder/test3.c (main): remove gtk stuff (???).
2604 * tests/*: Fix all the makefiles. Made make-check work 'in-build'.
2606 * tests/lib/folders.c (test_folder_counts): update for api changes.
2607 (test_message_info): similar.
2609 * providers/Makefile.am: removed groupwise from the build, this
2610 can't go in here anymore, not in its current state.
2612 * camel-net-utils.c (camel_gethostbyaddr_r)
2613 (camel_gethostbyname_r): the old e_gethost* calls from
2616 2004-11-15 Not Zed <NotZed@Ximian.com>
2618 * providers/imap/camel-imap-utils.c (imap_path_to_physical):
2619 copied from e-path.c.
2620 (imap_path_find_folders): copied from e-path.c.
2622 * camel.h: remove the provider stuff from the header.
2624 * camel-provider.c: globalise provider_init variable, and asserton
2625 it in all functions that rely on it.
2627 * camel-service.c: removed getaddrinfo/etc.
2629 * camel-net-utils.[ch]: separate out camel_getaddrinfo etc.
2631 * Makefile.am: split camel into 2 libraries, libcamel and
2634 * camel-multipart-signed.c (camel_multipart_signed_sign)
2635 (camel_multipart_signed_verify, prepare_sign): remove old
2638 * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt)
2639 (camel_multipart_encrypted_decrypt): remove old deprecated api.
2641 2004-11-12 Not Zed <NotZed@Ximian.com>
2643 ** Merge in notzed-messageinfo-branch, fix some minor conflicts.
2645 2004-11-11 Jeffrey Stedfast <fejj@novell.com>
2647 * providers/imap4/camel-imap4-store.c (imap4_reconnect): Free the
2648 passwd here if we need to retry to authenticate.
2650 2004-11-10 Jeffrey Stedfast <fejj@novell.com>
2652 * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
2653 Use the expanded ALL macro as on closer inspection of the RFC,
2654 we're not allowed to use macros in conjunction with other FETCH
2655 items (such as UID in our case).
2657 2004-11-09 Not Zed <NotZed@Ximian.com>
2659 * providers/imap/camel-imap-folder.c (imap_get_message): before
2660 short-circuiting the check for child content, check the child
2661 content info is actually correct.
2663 2004-11-08 Not Zed <NotZed@Ximian.com>
2667 * providers/imap/camel-imap-folder.c (get_message): remove spec
2668 argument, always calculate it from the content-info.
2669 (content_info_incomplete): recursively check the content-info for
2670 completeness, not just one level.
2672 2004-11-09 Jeffrey Stedfast <fejj@novell.com>
2674 * providers/imap4/camel-imap4-provider.c: Updated the properties
2675 to include all the same settings as the old imap code.
2677 * providers/imap4/camel-imap4-folder.c (imap4_getv): Implemented.
2678 (imap4_setv): Implemented.
2680 2004-11-08 Jeffrey Stedfast <fejj@novell.com>
2684 * camel-gpg-context.c (gpg_decrypt): We need to extract just the
2685 application/pgp-encrypted part from the multipart/encrypted that
2686 gets passed in. Added checks to verify that the input part is the
2687 correct type as well. Once we have the application/pgp-encrypted
2688 part, we need to use camel_data_wrapper_decode_to_stream() in case
2689 the part was encoded in any way.
2691 2004-11-09 Jeffrey Stedfast <fejj@novell.com>
2693 * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line):
2694 Handle not getting the CRLF pair together. Also don't require that
2695 we have at least 3 bytes in the read buffer as it is possible we
2696 don't have that much (see bug #69160).
2698 2004-11-08 Jeffrey Stedfast <fejj@novell.com>
2700 * providers/imap4/camel-imap4-store.c (imap4_subscribe_folder):
2701 Note the folder-info just subscribed.
2702 (imap4_unsubscribe_folder): Unnote the folder-info.
2704 2004-11-04 Jeffrey Stedfast <fejj@novell.com>
2706 * providers/imap4/camel-imap4-engine.c: Added much in-line
2708 (engine_parse_capability): Use g_ascii_str[n]casecmp().
2709 (camel_imap4_engine_nstring): New convenience function.
2711 2004-11-02 Not Zed <NotZed@Ximian.com>
2713 * camel-object.c (camel_object_hook_event): check interfaces for
2715 (camel_object_trigger_event): check interfaces for events too.
2716 (camel_object_class_add_event): more checks for interfaces vs
2717 normal object classes.
2718 (camel_object_class_add_interface): add an interface to a class.
2719 (camel_object_get_interface): query for interfaces on an object.
2720 (camel_object_get_type): register the interface type.
2722 2004-11-02 Jeffrey Stedfast <fejj@novell.com>
2724 * providers/imap4/camel-imap4-store.c (imap4_folder_utf7_name):
2725 Don't bother getting the folder delim if the name is "" since we
2726 don't need it in that case.
2728 * providers/imap4/camel-imap4-utils.c
2729 (camel_imap4_get_path_delim): add an assert that s->namespaces is
2732 * providers/imap4/camel-imap4-stream.c
2733 (camel_imap4_stream_literal): Update stream->inptr after fetching
2736 * providers/imap4/camel-imap4-summary.c (envelope_decode_address):
2737 Do proper cleanup in case of error and also handle literals.
2739 * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
2740 Removed camel_service_connect() call which is no longer needed.
2741 (imap4_connect): If engine is already connected, shortcut to
2742 simply returning success.
2743 (imap4_disconnect): Check engine state rather than poking at
2746 2004-11-01 Jeffrey Stedfast <fejj@novell.com>
2748 * providers/smtp/camel-smtp-transport.c
2749 (connect_to_server_wrapper): Do the same SSL->TLS and TLS->CLEAR
2750 fallbacks that the 2.0 (and older) code did.
2752 * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
2755 * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
2758 * providers/imap/camel-imap-store.c (connect_to_server_wrapper):
2761 2004-11-01 Jeffrey Stedfast <fejj@novell.com>
2763 * providers/imap4/camel-imap4-summary.c
2764 (camel_imap4_summary_expunge): Remove expunged messages from the
2766 (camel_imap4_summary_set_uidvalidity): Clear the cache if the
2767 UIDVALIDITY has changed.
2769 * providers/imap4/camel-imap4-folder.c (imap4_get_message): If the
2770 message exists in the cache, use that rather than fetching it from
2771 the server and cache messages fetched from the server for later
2773 (camel_imap4_folder_finalize): Unref the cache if non-NULL.
2774 (camel_imap4_folder_new): Create the CamelDataCache.
2776 * providers/imap4/camel-imap4-store.c (imap4_create_folder): Cache
2777 the folder-info on the summary if successful.
2778 (imap4_delete_folder): Un-cache the folder-info from the summary.
2780 * providers/imap4/camel-imap4-store-summary.c (load_namespaces):
2782 (save_namespaces): Same.
2783 (camel_imap4_store_summary_unnote_info): New function.
2784 (camel_imap4_store_summary_get_folder_info): Fixed the logic a
2787 2004-11-11 Not Zed <NotZed@Ximian.com>
2789 * providers/imap4/*: Update for folder-summary api changes.
2791 * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
2792 clean up the logic for getting counts from the folder, we have
2793 code to do this already. Also always run it against the selected
2794 folder, does'nt need to have FAST bit unset.
2796 * camel-folder-summary.c (camel_folder_summary_info_new): removed.
2798 * camel-string-utils.c (camel_pstring_strdup, camel_pstring_free):
2799 pooled string allocators. Oh so much easier than the poolv thing,
2800 and these refcount too.
2802 * camel-folder-summary.h: put message_id back into the summary.
2804 2004-11-08 Not Zed <NotZed@Ximian.com>
2806 * camel-folder.c (camel_folder_get_deleted_message_count): use
2807 getv method to get the deleted count.
2808 (get_deleted_message_count): removed.
2810 * camel-vtrash-folder.c (vtrash_getv): override the unread count
2811 to ignore junked or deleted.
2813 * camel-folder.c (folder_getv): ignore junked and deleted in the
2816 * camel-vee-folder.c (camel_vee_folder_finalise): changed the
2817 logic slightly not to call internal functions directly.
2818 (vee_delete): implement, remove all our folders when we're
2819 deleted, to give unmatched at least a snowflakes chance in hell of
2822 * camel-vtrash-folder.c (vtrash_search_by_expression)
2823 (vtrash_search_by_uids, vtrash_folder_changed, vtrash_add_folder)
2824 (vtrash_remove_folder, vtrash_rebuild_folder): implement
2825 vtrash-optimised versions. Much faster.
2827 * camel-vee-folder.c (camel_vee_folder_set_folders): don't rebuild
2829 (camel_vee_folder_add_folder): track folders here, but invoke
2830 virtual method to let subclasses know about it.
2831 (camel_vee_folder_remove_folder): similar.
2832 (vee_search_by_uids): free the folder_uids array with TRUE,
2833 plugging memory leak.
2835 2004-11-06 Not Zed <NotZed@Ximian.com>
2837 * camel-vee-folder.c: Removed vname, use Folder->full_name
2838 instead. Make add_folder/remove_folder/set_expression/set_folders
2840 (vee_add_folder): virtual implementation.
2842 * camel-vee-summary.c (camel_vee_summary_add): remove folder arg.
2844 2004-11-05 Not Zed <NotZed@Ximian.com>
2846 * camel-vee-summary.c (vee_info_set_flags): don't emit changed for
2847 ourselves, let it filter through the changed handler, otherwise we
2849 (vee_info_set_user_tag, vee_info_set_user_flag): same.
2851 * camel-folder-summary.c (message_info_new_from_header): use the
2852 string pool for allocations.
2853 (message_info_load): same here.
2854 (camel_pstring_strdup): noop for NULL or ""
2855 (camel_pstring_free): same.
2856 (summary_assign_uid): don't always assing the flagged bit, der.
2858 2004-11-02 Not Zed <NotZed@Ximian.com>
2860 * camel-folder-summary.c (camel_pstring_strdup)
2861 (camel_pstring_free, message_info_free, message_info_clone):
2862 'uniquify' the strings.
2864 2004-10-28 Jeffrey Stedfast <fejj@ximian.com>
2866 * providers/imap4/camel-imap4-summary.c (envelope_decode_nstring):
2867 Handle literal strings.
2868 (envelope_decode_date): Same. Fixes bug #68894.
2870 * providers/imap4/camel-imap4-stream.c
2871 (camel_imap4_stream_next_token): Properly tokenise "\*" as a flag
2872 token. Fixes bug #68869.
2874 2004-10-21 Björn Torkelsson <torkel@acc.umu.se>
2876 * camel-sasl-kerberos4.c: #include "camel-i18n.h"
2878 2004-10-27 Julio M. Merino Vidal <jmmv@menta.net>
2880 * camel-operation.c (camel_operation_shutdown): fix the arguments
2881 to pthread_key_delete.
2883 2004-10-26 Jeffrey Stedfast <fejj@novell.com>
2885 * providers/imap4/camel-imap4-store-summary.[c,h]: New files
2886 implementing a folder-info cache for offline mode (and faster
2889 * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
2890 Cache the folder-info for later use in offline mode.
2892 * providers/imap4/camel-imap4-utils.c
2893 (camel_imap4_get_path_delim): Instead of assigning top = "INBOX",
2894 do strcpy (top, "INBOX") so that we can later modify the
2895 string. Fixes bug #68814.
2897 2004-10-25 Jeffrey Stedfast <fejj@novell.com>
2899 * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
2900 Updated to use the public function in camel-imap4-utils.c
2901 (camel_imap4_engine_finalize): Same.
2903 * providers/imap4/camel-imap4-store.c (imap4_construct): Setup and
2904 load the store summary.
2905 (camel_imap4_store_finalize): Unref the store summary.
2906 (imap4_get_folder): Implemented offline support.
2907 (imap4_folder_utf7_name): Pass the summary to get_delim rather
2909 (imap4_create_folder): Same.
2910 (imap4_reconnect): Update the namespaces on the store summary.
2911 (connect_to_server): Update the store summary capabilities.
2913 * providers/imap4/camel-imap4-utils.c
2914 (camel_imap4_get_path_delim): Now takes a store-summary rather
2915 than an engine so that it will work in offline mode.
2916 (camel_imap4_namespace_clear): Moved here from
2917 camel-imap4-engine.c
2918 (camel_imap4_namespace_list_copy): New convenience function.
2919 (camel_imap4_namespace_list_free): New.
2921 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
2922 Check the return value of summary loading in offline mode (if it
2923 fails, we can't get the folder).
2925 2004-10-21 Jeffrey Stedfast <fejj@novell.com>
2927 * camel-sasl-gssapi.c: #include "camel-i18n.h"
2929 2004-10-20 Jeffrey Stedfast <fejj@ximian.com>
2931 * providers/imap4/camel-imap4-store.c (imap4_get_folder): Don't
2932 allow users to create folders in offline mode. When in offline
2933 mode, use a different codepath to get a folder object.
2934 (imap4_noop): Handle offline mode.
2935 (imap4_unsubscribe_folder): Throw an exception if we are in
2937 (imap4_subscribe_folder): Same.
2938 (imap4_get_folder_info): Started to implement offline
2939 support. Also, even if we are in online mode but the engine has
2940 not yet been connected, we should follow the "offline" code path
2941 and get the folder info's from the cache.
2942 (imap4_rename_folder): Disallow in offline mode.
2943 (imap4_delete_folder): Same.
2944 (imap4_connect): Handle offline mode.
2945 (imap4_disconnect): Handle offline mode and do proper locking.
2946 (imap4_query_auth_types): Same.
2948 2004-10-19 Jeffrey Stedfast <fejj@ximian.com>
2950 * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
2951 Removed an already-fixed FIXME comment.
2952 (imap4_summary_fetch_flags): Same.
2954 * providers/imap4/camel-imap4-folder.c (imap4_get_path_delim):
2955 Removed. Use camel_imap4_get_path_delim() instead.
2956 (camel_imap4_folder_new): Updated.
2957 (imap4_sync): If we aren't online, we're done. nothing to do.
2958 (imap4_refresh_info): Same.
2959 (imap4_append_message): Same but set an exception.
2960 (imap4_transfer_messages_to): Same.
2962 * providers/imap4/camel-imap4-utils.c
2963 (camel_imap4_get_path_delim): Moved here from camel-imap4-store.c
2965 * providers/imap4/camel-imap4-store.c (imap4_try_authenticate):
2966 Change the service string for the sasl mechanism to"imap" rather
2968 (imap4_get_path_delim): Removed.
2969 (imap4_create_folder): Updated.
2970 (imap4_folder_utf7_name): Same.
2972 2004-10-13 Not Zed <NotZed@Ximian.com>
2974 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new)
2975 (imap4_sync_changes, imap4_sync):
2976 * providers/imap4/camel-imap4-summary.c (untagged_fetch_all): kill
2977 cast as lvalue warning.
2979 * camel-string-utils.h: add prototype for camel_toupper.
2981 * providers/imap4/camel-imap4-utils.c:
2982 * providers/imap4/camel-imap4-summary.c:
2983 * providers/imap4/camel-imap4-folder.c:
2984 * providers/imap4/camel-imap4-engine.c:
2985 * providers/imap4/camel-imap4-command.c:
2986 * providers/imap4/camel-imap4-store.c: include camel-i18n.h.
2988 2004-10-12 Not Zed <NotZed@Ximian.com>
2992 * providers/nntp/camel-nntp-store.c (connect_to_server): if we
2993 have a username, try to authenticate before doing anything else.
2997 * providers/nntp/camel-nntp-summary.c (add_range_xover)
2998 (add_range_head): use raw_command_auth since we might need auth
3001 * providers/nntp/camel-nntp-store.c (camel_nntp_raw_command_auth):
3002 new almost-raw command that also does auth.
3003 (xover_setup, connect_to_server, camel_nntp_command): use
3004 raw_command_auth since we might need auth here.
3006 2004-10-12 Not Zed <NotZed@Ximian.com>
3008 ** See bug #67898 and probably others.
3010 * providers/imapp/camel-imapp-store.c (connect_to_server):
3011 * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
3012 * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
3013 * providers/imap/camel-imap-store.c (connect_to_server_wrapper):
3014 * providers/nntp/camel-nntp-store.c (connect_to_server_wrapper):
3015 * providers/smtp/camel-smtp-transport.c (connect_to_server_wrapper):
3016 Fallback to hard-coded port number if the name lookup fails and no
3019 2004-10-11 Not Zed <NotZed@Ximian.com>
3023 * camel-mime-utils.c (camel_header_raw_check_mailing_list):
3024 initialise the match start/end pointers, since some regexec's
3025 don't seem to do it.
3027 2004-10-09 Sivaiah Nallagatla <snallagatla@novell.com>
3029 * providers/groupwise/camel-gw-listner.c (add_esource) : add the
3030 source uid to list of selected calendar and tasks so that
3031 groupwise calendar and tasks are automatically selected
3032 (remove_esource) : remove the uids from corresponding gconf keys
3035 2004-10-08 Not Zed <NotZed@Ximian.com>
3039 * providers/nntp/camel-nntp-store.c
3040 (nntp_store_get_cached_folder_info): compare newsgroup names case
3043 2004-10-05 Jeffrey Stedfast <fejj@novell.com>
3045 * camel-service.c (camel_getaddrinfo): Check msg->result for error
3046 and set an exception if appropriate.
3047 (camel_getnameinfo): Same.
3049 2004-10-04 Jeffrey Stedfast <fejj@novell.com>
3051 * camel-service.c (camel_getaddrinfo): Add a non-const cast for
3052 hints when changing the ai_family member in the IPv6-disabled
3053 case. Fixes bug #67028.
3055 2004-10-05 Not Zed <NotZed@Ximian.com>
3059 * camel-service.c (cs_getaddrinfo, cs_getnameinfo): don't loop on
3060 EAI_AGAIN, it doesn't appear to mean the same as EAGAIN does with
3061 system calls (i guess 'no shit sherlock' really).
3063 2004-10-04 JP Rosevear <jpr@novell.com>
3065 * providers/imap4/camel-imap4-provider.c: include camel-i18n.h
3067 2004-10-01 Jeffrey Stedfast <fejj@novell.com>
3069 * camel-service.c (camel_getaddrinfo): Avoid assigning a value to
3070 the member of a const struct (which newer gcc's apparently break
3071 over) by casting to non-const.
3073 2004-09-28 Not Zed <NotZed@Ximian.com>
3077 * providers/nntp/camel-nntp-store.c (camel_nntp_command): if we
3078 get an error selecting the folder, disconnect/include it in the
3080 (camel_nntp_command): don't set the exception based on errno,
3081 exception processing is already done. don't clear it if we're on
3084 2004-09-27 Not Zed <NotZed@Ximian.com>
3086 * providers/nntp/camel-nntp-store.c (nntp_get_folder_info): don't
3087 do any locking here.
3088 (nntp_store_get_folder_info_all): move the locking here.
3089 (nntp_store_get_subscribed_folder_info): and some here too.
3091 * providers/nntp/camel-nntp-store.c:
3092 * providers/nntp/camel-nntp-folder.c: Remove nntp command_lock and
3093 just use the service connect lock for serialisation.
3095 2004-09-14 Jeffrey Stedfast <fejj@novell.com>
3097 * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
3098 s/not/no/ in the error string. Fixes bug #65828.
3100 2004-09-24 Not Zed <NotZed@Ximian.com>
3102 * camel-vee-store.c (camel_vee_store_finalise): free the unmatched
3105 * camel-vee-folder.c (vee_folder_remove_folder): lock main folder
3106 summary lock before doing the unmatched stuff, so the order is
3109 2004-08-25 Ed Catmur <ed@catmur.co.uk>
3113 * camel-vee-store.c:
3114 * camel-vee-folder.c: move the unmatched
3115 folder onto the camel-vee-store object. Removede the global
3116 unmatched folder and associated locks/etc, fixed all the code up
3117 to work with the new unmatched folder, if present.
3119 2004-09-27 Not Zed <NotZed@Ximian.com>
3121 * providers/local/camel-spool-folder.c (camel_spool_folder_new):
3122 make sure body indexing is turned off always, missed the ~ bit.
3124 * providers/local/camel-spool-store.c (camel_folder_info_new):
3125 dont take unread count.
3126 (spool_fill_fi): copied from mbox more or less.
3127 (scan_dir): use fill_fi to setup counts.
3128 (spool_new_fi): replace camel_foldeR_info_new with one that does
3129 most of the work, also generates uri's properly.
3130 (get_folder_info_mbox): make the 'system' inbox name translatable.
3132 * providers/local/camel-mbox-folder.h: make the
3133 camel_mbox_folder_get* functions properly public.
3135 * providers/local/camel-local-folder.h: pass the object to the
3136 virtual methods now, fix all callers.
3138 * providers/local/camel-spool-folder.c (spool_get_full_path)
3139 (spool_get_meta_path): implement, this needs to work differnetly
3140 to the parent classes implementations :-/.
3142 2004-09-22 Jeffrey Stedfast <fejj@novell.com>
3144 * providers/imap/camel-imap-store.c (connect_to_server): Instead
3145 of doing a host-lookup ourselves, get it passed in to us as an
3146 argument. Also simplified a bit (try_starttls is no longer an
3148 (connect_to_server_wrapper): Simplified (we no longer have
3149 fallback cases for SSL stuff). Also, perform host lookup here.
3151 * providers/imap4/camel-imap4-store.c: Same changes as above.
3153 * providers/pop3/camel-pop3-store.c: Same.
3155 * providers/smtp/camel-smtp-transport.c: Same. Other changes
3156 include making the code consistant with the other providers.
3158 * providers/nntp/camel-nntp-store.c: Same as pop/imap.
3160 2004-09-21 Not Zed <NotZed@Ximian.com>
3164 * camel-movemail.c (camel_movemail): don't clear exception on entry.
3166 * camel-folder-search.c (match_words_message): use local exception.
3168 * camel-operation.c (camel_operation_cancel_check): soak up all
3169 cancellation requests as soon as we get one.
3170 (camel_operation_uncancel): soak up all cancellation reqeusts when
3173 * camel-uid-cache.c (camel_uid_cache_save): open the file O_TRUNC
3174 rather than O_EXCL, otherwise a crash would mean this file never
3176 (camel_uid_cache_save): block cancellation around writes otherwise
3177 we could be interupted from old cancellation.
3179 * providers/local/camel-local-folder.c
3180 (camel_local_folder_construct): don't clear exception here, just
3181 don't pass it to summary load.
3183 * providers/pop3/camel-pop3-store.c (pop3_connect): only clear the
3184 exception when we received one we handled.
3186 * camel-filter-driver.c (close_folder): if exception is already
3187 set, don't pass it to folder.sync().
3189 * camel-lock.c (camel_lock_folder): don't clear the exception
3190 here, if it came in set its a programming error.
3192 * camel-filter-driver.c (camel_filter_driver_filter_message): if
3193 the exception is set after evaluating the expression, stop
3196 2004-09-13 Not Zed <NotZed@Ximian.com>
3200 * camel-service.c: removed the old hostent based hostname interfaces.
3202 * camel-sasl-kerberos4.c (krb4_challenge): new hostname interfaces.
3204 * camel-sasl-gssapi.c (gssapi_challenge): new hostname interfaces.
3206 * camel-sasl-digest-md5.c (digest_md5_challenge): use new hostname
3208 (generate_response): just take hostname directly, not hostent.
3210 * camel-mime-utils.c (camel_header_msgid_generate): use new
3211 hostname interfaces.
3213 * providers/smtp/camel-smtp-transport.c (connect_to_server): fixed
3214 to use new addrinfo apis.
3216 * providers/pop3/camel-pop3-store.c (connect_to_server): fixed to
3217 use new addrinfo apis.
3219 * camel-tcp-stream-ssl.c (stream_connect): try all addresses
3222 * camel-tcp-stream.c (camel_tcp_stream_get_remote_address)
3223 (camel_tcp_stream_get_local_address): return a sockaddr now, and
3224 also the address length. Fixed all implementations and callers.
3225 (camel_tcp_stream_connect): use addrinfo rather than hostent for
3226 host AND port info. Fixed all implementations and callers.
3228 2004-09-22 Not Zed <NotZed@Ximian.com>
3230 * camel-folder-summary.c (camel_folder_summary_decode_token):
3231 handle a zero-length token read rather than failing.
3233 2004-09-21 Not Zed <NotZed@Ximian.com>
3237 * camel-http-stream.c (stream_read): handle relative url's in
3239 (camel_http_stream_set_proxy): generate the basic auth token for
3240 basic proxy auth if we have a user and password.
3242 * camel-http-stream.c: turn off debug.
3244 2004-09-08 Hannah & Fazlu <hannah_lins@yahoo.co.in>
3248 * camel/camel-smime-context.c: Change of strings.
3250 2004-09-15 Not Zed <NotZed@Ximian.com>
3254 * providers/local/camel-local-folder.c
3255 (camel_local_folder_construct): only emit folder_created if we
3256 actually created it.
3258 2004-09-03 Not Zed <NotZed@Ximian.com>
3260 * camel-tcp-stream-ssl.c (stream_connect): make ssl connection
3261 async and cancellable, and minor api update to async connection.
3263 2004-08-27 Not Zed <NotZed@Ximian.com>
3267 * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
3268 forget the password if it was wrong.
3270 2004-08-26 Sivaiah Nallagatla <snallagatla@novell.com>
3272 * providers/groupwise/camel-gw-listner.c
3273 (add_calendar_tasks_sources) : change the "CheckList" to "Tasks"
3274 as there is another foder called chekclist in groupwise not
3275 related to tasks Fixes #64092
3277 2004-08-25 Frederic Crozat <fcrozat@mandrakesoft.com>
3279 * camel-folder.c (folder_getv): Init one variable (remove warning)
3280 and don't redefine it.
3282 2004-08-23 Not Zed <NotZed@Ximian.com>
3286 * providers/imap/camel-imap-store.c (get_subscribed_folders): only
3287 LSUB folders we're interested in, and check full name of each path
3289 (imap_is_subfolder): helper for above.
3291 2004-08-23 Jeffrey Stedfast <fejj@novell.com>
3293 * providers/imap/camel-imap-store.c (get_folders): Check for an
3294 exception from get_folders_online() here so that we don't send
3295 commands to an IMAP server after a disconnect for example. See bug
3296 #63504 for an example.
3298 2004-08-23 Jeffrey Stedfast <fejj@novell.com>
3300 * camel-tcp-stream-openssl.c (open_ssl_connection): Call
3301 SSL_CTX_set_default_verify_paths() to initialise the certificate
3302 database paths. Thanks to Anton Altaparmakov for this fix.
3304 2004-08-21 Sivaiah Nallagatla <snallagatla@novell.com>
3306 * providers/groupwise/camel-gw-listener.c (account_changed) :
3307 if any of the settings required for soap interaction changes
3308 try connecting to server and resetup the ESources
3309 * providers/groupwise/camel-groupwise-provider.c ": don't
3310 check soap ssl setting by default to be in consistent with
3313 2004-08-16 Not Zed <NotZed@Ximian.com>
3315 * providers/groupwise/camel-groupwise-provider.c
3316 (camel_provider_module_init): pass an exception handle to
3319 2004-08-13 Jeffrey Stedfast <fejj@novell.com>
3321 * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
3322 Use g_ptr_array_sized_new() rather than using set_size() after
3323 creating a GPtrArray so that array->len starts out at 0.
3324 (imap4_summary_fetch_flags): Same.
3326 2004-08-13 Sivaiah Nallagatla <snallagatla@novell.com>
3328 * providers/groupwise/camel-gw-listener.c (account_changed):
3329 remove the cal/taksks sources when account is disbaled. Also do
3330 not try to to create sources when a disabled account is changed to
3332 (camel_gw_listener_construct): do not add the disbaled accounts
3333 to exitsting groupwise accounts list
3335 2004-08-13 Sivaiah Nallagatla <snallagatla@novell.com>
3337 * providers/groupwise/camel-groupwise-provider.c: update ssl
3338 setting label and title of the soap settings section. Fixes #62747
3340 2004-08-13 Rodney Dawes <dobey@novell.com>
3342 * camel-sasl-gssapi.c: Handle et/comm_err.h as well as the
3345 2004-08-11 Jeffrey Stedfast <fejj@novell.com>
3349 * camel-mime-utils.c (append_quoted_pair): New function to append
3350 a string of text that may contain quoted-pairs.
3351 (header_decode_text): Now takes a ctext argument specifying
3352 whether or not to expect comments and to handle them.
3353 (camel_header_decode_string): Pass FALSE as ctext argument.
3354 (camel_header_format_ctext): New function to format text|comment
3355 header field bodies.
3357 2004-08-10 Not Zed <NotZed@Ximian.com>
3359 * providers/groupwise/camel-gw-listener.c
3360 (get_addressbook_names_from_server): fix for e_passwords api
3361 change, and handle reprompting as well.
3363 2004-08-06 Jeffrey Stedfast <fejj@novell.com>
3365 * providers/imap4/camel-imap4-summary.c (untagged_fetch_all): Call
3366 camel_operation_progress().
3367 (imap4_summary_fetch_all): Setup info we need for progress
3369 (imap4_summary_fetch_flags): Same.
3371 2004-08-04 Rodney Dawes <dobey@novell.com>
3373 * camel-charset-map.c: #include <gal/util/e-iconv.h>
3375 2004-08-03 Jeffrey Stedfast <fejj@novell.com>
3377 * camel-url-scanner.c (camel_url_scanner_scan): In the case of
3378 start() or end() failing, loop starting with the first character
3379 immediately following the failed match position. Fixes bug #62136.
3381 2004-08-03 Jeffrey Stedfast <fejj@novell.com>
3383 * providers/imap4/camel-imap4-store.c (imap4_construct): Pass a
3386 * providers/imap4/camel-imap4-engine.c
3387 (camel_imap4_engine_iterate): Reconnect if needed.
3388 (camel_imap4_engine_new): Now takes a reconnect func.
3390 2004-07-30 Jeffrey Stedfast <fejj@novell.com>
3392 * providers/imap4/camel-imap4-engine.c
3393 (camel_imap4_engine_capability): This needs to prequeue the
3394 CAPABILITY command rather than queue it normally for the case of
3396 (camel_imap4_engine_namespace): Same.
3398 2004-07-30 Jeffrey Stedfast <fejj@ximian.com>
3400 * camel-mime-utils.c (camel_header_encode_string): Similar fix as
3401 below in a later if-statement. Thanks to Suresh for spotting this
3404 2004-07-28 Jeffrey Stedfast <fejj@novell.com>
3406 * camel-mime-utils.c (camel_header_encode_string): Fixed an ABR
3407 that may have been responsible for bug #62029.
3409 2004-07-29 Sivaiah Nallagatla <snallagatla@novell.com>
3411 * proivders/groupwise/camel-groupwise-provider.c: Add an entry to
3412 specify POA address and a check box to say whehter ssl has to be
3413 used for SOAP or not
3414 (groupwise_auto_detect_cb): new function to automatically fill POA
3415 address with host specified in receiving mail page
3416 (camel_provider_module_init): use the new auto_detect funcntion
3418 * providers/groupwise/camel-gw-listener.c (modify_esource)
3419 (account_changed, add_calendar_tasks_sources)
3420 (remove_calendar_tasks_sources, get_addressbook_names_from_server)
3421 (add_addressbook_sources, modify_addressbook_sources)
3422 (remove_addressbook_sources): while forming the uri, use the value
3423 from new poa_address setting instead of url->host. Also use ssl
3424 setting from the new check box provider instaed of imap one
3425 (get_addressbook_names_from_server): display an error to user when
3426 connection cpuld not be established with server during account
3429 2004-07-26 Jeffrey Stedfast <fejj@novell.com>
3431 * camel-charset-map.c (camel_charset_best_mask): Changed the logic
3432 slightly to only match certain charsets if the locale matches
3433 (Macedonians don't want to use koi8-r for example).
3435 2004-07-27 Not Zed <NotZed@Ximian.com>
3439 * providers/groupwise/camel-groupwise-provider.c: added junk settings.
3441 2004-07-27 Jeffrey Stedfast <fejj@novell.com>
3443 * providers/imap4/camel-imap4-engine.c
3444 (camel_imap4_engine_prequeue): Changed to be the same prototype as
3446 (engine_prequeue_folder_select): Updated.
3448 * providers/imap4/camel-imap4-store.c (connect_to_server): Use
3449 engine_prequeue() for STARTTLS in case we are reconnecting and
3450 already have a command queue.
3451 (imap4_try_authenticate): Use prequeue() here too.
3452 (imap4_reconnect): Moved all the connect logic in here.
3453 (imap4_connect): just lock and call reconnect().
3455 2004-07-27 Sivaiah Nallagatla <snallagatla@novell.com>
3459 * providers/groupwise/camel-groupwise-provider.c
3460 (camel_provider_module_init): do not set transport object for
3461 groupwise provider. We want user to use SMTP itself instead of
3464 2004-07-26 Jeffrey Stedfast <fejj@novell.com>
3466 * providers/imap4/camel-imap4-store.c (connect_to_server): Don't
3467 instantiate an engine here. Instead, take an engine as an argument
3468 (it has a service pointer) and connect using that. Also, if
3469 connect fails, don't unref the engine.
3470 (connect_to_server_wrapper): Now also takes an engine argument
3471 rather than a service argument.
3472 (imap4_try_authenticate): Now also takes an engine argument.
3473 (imap4_connect): Pass the engine to connect/auth functions rather
3475 (imap4_query_auth_types): Updated.
3476 (imap4_disconnect): Don't unref the engine here.
3477 (camel_imap4_store_init): Create the engine here.
3478 (imap4_get_folder_info): Can't check engine == NULL to know to
3479 connect (that was a broken check anyway).
3481 * providers/imap4/camel-imap4-engine.c (camel_imap4_engine_new):
3482 Now simply takes a service argument rather than a session and url.
3483 (camel_imap4_engine_next_token): Set the state to DISCONNECTED.
3484 (camel_imap4_engine_eat_line): Same.
3485 (camel_imap4_engine_line): Same.
3486 (camel_imap4_engine_literal): Same.
3488 2004-07-22 Not Zed <NotZed@Ximian.com>
3492 * providers/pop3/camel-pop3-engine.c (camel_pop3_engine_iterate):
3493 if we get an io error, move every current/active and queued
3494 command to the done queue and mark as failed.
3496 2004-07-19 Jeffrey Stedfast <fejj@novell.com>
3498 * providers/imap/camel-imap-store.c (get_subscribed_folders): Free
3499 result after parsing it. Fixes a leak.
3501 2004-07-19 Not Zed <NotZed@Ximian.com>
3503 * camel-mime-filter-canon.c (filter): only copy 5 chars after the
3504 F if we actually have "From ", otherwise we might have F.{,4}\n
3505 instead and break eol canonicalisation. For #53355.
3507 2004-07-16 Not Zed <NotZed@Ximian.com>
3509 * camel-gpg-context.c: Added some debug stuff.
3511 2004-07-15 Jeffrey Stedfast <fejj@novell.com>
3513 * providers/imap/camel-imap-folder.c (imap_transfer_online): Don't
3514 grab the connect_lock before calling refresh_info so that we avoid
3515 the deadlock in bug #61551.
3517 2004-07-14 Jeffrey Stedfast <fejj@novell.com>
3521 * camel-process.c (camel_process_fork): Same.
3523 * camel-filter-driver.c (pipe_to_system): Fixed strings
3525 2004-07-12 Sivaiah Nallagatla <snallagatla@novell.com>
3527 * providers/groupwise/camel-gw-listener.c (add_esource)
3528 (modify_esource, add_addressbook_source)
3529 (modify_addressbook_sources): pass "use_ssl" value to these
3530 functions and set it on e-source
3531 (add_calendar_tasks_source): read the "use_ssl" param from camel
3532 url and pass it to add_esource) calls
3533 (get_addressbook_names_from_server): use "https" or http depending
3534 upon whther ssl is enabled or not
3535 (account_changed): compare urls from account instead of uris
3536 formed to know wheter somehting in the account changed
3538 2004-07-09 Not Zed <NotZed@Ximian.com>
3540 ** This is no guarantee of security, but its just a helper to
3541 prevent old memory accidentally being included/used elsewhere.
3543 * camel-smime-context.c (sm_decrypt): mark the output stream
3546 * camel-gpg-context.c (gpg_decrypt): set the output stream to
3547 secured, so we automagically blank it out on finalise.
3549 * camel-stream-mem.c (camel_stream_mem_set_secure): set the
3550 memory-stream 'secured', all we do at the moment is blank out the
3552 (camel_stream_mem_set_byte_array, camel_stream_mem_finalize):
3553 clear memory if owner and secured. kill dead comment.
3554 (clear_mem): utilitiy to set memory to 0xABADF00D
3556 2004-07-08 Not Zed <NotZed@Ximian.com>
3560 * camel-cipher-context.c (camel_cipher_sign):
3561 (camel_cipher_verify, camel_cipher_encrypt, camel_cipher_decrypt):
3562 Add preliminary progress reporting.
3564 2004-07-07 Chris Toshok <toshok@ximian.com>
3566 * providers/groupwise/Makefile.am (INCLUDES): use
3567 CAMEL_GROUPWISE_CFLAGS.
3568 (libcamelgroupwise_la_LIBADD): use CAMEL_GROUPWISE_LIBS.
3570 2004-09-07 Not Zed <NotZed@Ximian.com>
3572 * providers/groupwise/camel-groupwise-provider.c: put the options
3573 in their own section.
3575 2004-09-06 Not Zed <NotZed@Ximian.com>
3577 * camel-search-private.c (utf8_get): remove this, and make the
3578 code use camel_utf8_getc instead. Quite a bit faster esp if
3579 optimising with inlines.
3581 * camel-object.c (check_magic_fail): change the check_magic code
3582 to mostly run from a macro, its worth it.
3584 2004-09-04 Not Zed <NotZed@Ximian.com>
3586 * providers/local/camel-mbox-summary.c (message_info_new): fix
3589 * providers/pop3/camel-pop3-engine.c (get_capabilities): remove
3590 some unused variables.
3592 * camel-object.h: remove camel-i18n.h, fixed all c files where
3595 2004-08-25 Not Zed <NotZed@Ximian.com>
3597 * camel-list-utils.[ch]: Copied e_dlist* stuff to here, part of
3598 removing e-util dependency on camel.
3600 2004-08-05 Not Zed <NotZed@Ximian.com>
3602 * providers/local/camel-local-provider.c: same.
3604 * providers/imap/camel-imap-provider.c: put the extra stuff into a
3607 * providers/imapp/camel-imapp-provider.c: same.
3609 * providers/pop3/camel-pop3-provider.c: make sure each section
3612 2004-08-03 Not Zed <NotZed@Ximian.com>
3614 * camel-url.c (camel_url_set_param): when clearing a param, use
3615 remove_data instead of set_data_full. craptatious glib at it
3618 * providers/nntp/camel-nntp-provider.c: turn on ssl option.
3620 2004-07-07 Not Zed <NotZed@Ximian.com>
3622 * camel-folder.c: removed filter-rule.h ugh.
3624 2004-07-02 Christian Neumair <chris@gnome-de.org>
3626 * camel-smime-context.c: s/Can't/Cannot/.
3628 2004-06-30 Jeffrey Stedfast <fejj@novell.com>
3630 * providers/imap4/camel-imap4-search.c (imap4_body_contains): Set
3631 the size of the ptrarray to prevent potentially realloc'ing
3634 2004-06-29 Jeffrey Stedfast <fejj@novell.com>
3636 * providers/imap4/camel-imap4-command.c
3637 (camel_imap4_command_newv): Aded a new %formatter 'V' which takes
3638 a string vector (needed for SEARCH).
3640 * providers/imap4/camel-imap4-search.[c,h]: New source files
3641 implementing search functionality.
3643 * providers/imap4/camel-imap4-folder.c (imap4_sync_flag): Use the
3644 new public version of imap4_get_uid_set().
3645 (imap4_transfer_messages_to): Same.
3646 (camel_imap4_folder_new): Create a search context.
3647 (camel_imap4_folder_finalize): Unref the search context.
3648 (camel_imap4_folder_class_init): Override the search methods.
3649 (imap4_search_by_expression): New.
3650 (imap4_search_by_uids): New.
3651 (imap4_search_free): New.
3653 * providers/imap4/camel-imap4-utils.c (camel_imap4_get_uid_set):
3654 Moved here from camel-imap4-folder.c
3656 2004-06-29 Not Zed <NotZed@Ximian.com>
3658 * camel-vee-store.c (vee_rename_folder): add any parents of the
3659 new name before we actually do the rename so the rename has
3660 somewhere to go to. #60775.
3662 2004-06-28 Not Zed <NotZed@Ximian.com>
3664 * providers/local/camel-maildir-folder.c (maildir_folder_getv):
3665 override CAMEL_FOLDER_NAME arg so we can translate "." into
3668 * providers/local/camel-maildir-store.c (camel_folder_info_new):
3669 take url argument directly, fixes a memleak.
3670 (camel_folder_info_new): make the toplevel "." into "Inbox"
3672 (maildir_rename_folder): dont let users rename inbox.
3674 2004-06-27 Jeffrey Stedfast <fejj@novell.com>
3676 * camel-url-scanner.c (camel_url_web_end): More fixes.
3678 2004-06-25 Jeffrey Stedfast <fejj@novell.com>
3680 * camel-url-scanner.c (camel_url_web_end): Fixed to handle :pass
3681 in proto://user:pass@host. Fixes bug #60104.
3683 2004-06-24 Jeffrey Stedfast <fejj@novell.com>
3685 * providers/pop3/camel-pop3-store.c (connect_to_server): Error out
3686 and set an exception if camel_pop3_engine_new() returns NULL
3687 (which it can do now).
3689 * providers/pop3/camel-pop3-engine.c (get_capabilities): No longer
3691 (camel_pop3_engine_new): Reads the greeting itself and returns
3692 NULL if an error occurs (like stupid braindamaged piece of shit
3693 POP servers that spew debug prinfs).
3695 * providers/local/camel-spool-folder.c (spool_lock): If we fail to
3696 lock the folder, close the lockfd and reset it to -1. Fixes bug
3699 2004-06-23 Jeffrey Stedfast <fejj@novell.com>
3701 * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
3702 First LIST/LSUB the toplevel folder, and then LIST/LSUB the
3703 subfolders (it needs to be 2 commands to work properly).
3704 (imap4_delete_folder): CLOSE the folder we are about to DELETE if
3705 it is currently SELECTED.
3707 * providers/imap/camel-imap-provider.c (imap_url_equal): Same.
3709 * providers/imap4/camel-imap4-provider.c (imap4_url_equal): Check
3712 * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
3713 Hide password, etc info in the fi->uri's.
3714 (imap4_create_folder): Don't bother to use
3715 imap4_get_folder_info(), we can construct the fi ourselves.
3716 (imap4_delete_folder): Emit the folder_deleted signal and
3717 construct an fi ourselves.
3718 (imap4_subscribe_folder): Same.
3719 (imap4_unsubscribe_folder): Same.
3721 * providers/imap4/camel-imap4-provider.c: Specify that the
3722 fragment is the path.
3724 2004-06-21 Christian Kellner <gicmo@xatom.net>
3726 * camel-service.c (service_setv): Really set the path if tag is
3729 2004-06-21 Jeffrey Stedfast <fejj@novell.com>
3731 * camel-mime-filter-enriched.c (enriched_to_html): Fixed a number
3732 of issues described in bug #49497.
3734 2004-06-18 Jeffrey Stedfast <fejj@novell.com>
3736 * camel.c (camel_shutdown): Call camel_mime_utils_shutdown() and
3737 camel_operation_shutdown().
3739 * camel-operation.c (camel_operation_shutdown): New function.
3741 * camel-mime-utils.c (camel_mime_utils_shutdown): New function to
3742 clean up the compiled regexes.
3744 * camel-stream-buffer.c (set_vbuf): Need to re-init sbf->ptr and
3745 sbf->end too, or we'll be sorrryy!
3747 2004-06-18 Not Zed <NotZed@Ximian.com>
3749 * camel-exception.h (CAMEL_EXCEPTION_INITIALISER): setup for
3750 static inititialisation.
3752 2004-06-17 Jeffrey Stedfast <fejj@ximian.com>
3754 * providers/imap4/camel-imap4-folder.c (uidset_init): init
3755 tail->last to (guint32) -1, so that index = tail->last + 1 will
3756 start at 0 at the top of uidset_add() :-)
3758 2004-06-17 Rodney Dawes <dobey@novell.com>
3760 * camel-mime-filter-tohtml.c: Add support for the webcal, callto, and
3761 h323 URIs when we get them in mails
3763 2004-06-17 Jeffrey Stedfast <fejj@novell.com>
3765 * camel-mime-filter-tohtml.c: Don't foolishly unmunge From_
3766 lines. First off, we don't even know if our input stream came from
3767 an mbox file and secondly, the ">From " may have been intentional
3768 by the author. We Just Don't Know (tm).
3770 2004-06-15 Jeffrey Stedfast <fejj@novell.com>
3772 * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
3773 Make sure we have elements in the array, if not then we're done
3776 2004-06-17 Jeffrey Stedfast <fejj@ximian.com>
3778 * providers/imap4/camel-imap4-folder.c (imap4_get_uid_set): Fixed
3779 to work properly. It was getting ranges wrong before sometimes
3780 which was making me lose mail! Ugh.
3782 Thanks to Christian Kellner for pointing out these bugs (and
3783 submitting the original patch for service_setv)
3785 * camel-service.c (service_setv): Don't use (tag &
3786 CAMEL_ARG_IGNORE) to determine if we should ignore this
3787 tag. CAMEL_ARG_IGNORE is not a bit flag.
3789 * providers/imap/camel-imap-store.c (imap_setv): Don't use (tag &
3790 CAMEL_ARG_IGNORE) to determine if we should ignore this
3791 tag. CAMEL_ARG_IGNORE is not a bit flag.
3793 2004-06-16 Jeffrey Stedfast <fejj@ximian.com>
3795 * providers/imap4/camel-imap4-folder.c (imap4_refresh_info): Only
3796 force a re-update of all FLAGS if this folder wasn't in the
3797 SELECTED state. Otherwise, simply send a NOOP.
3799 * providers/imap4/camel-imap4-summary.c: Added a 'first' member to
3800 the imap_fetch_all_t struct so we can use that as a base offset in
3801 our GPtrArray, allowing us to limit resource consumption which
3802 could otherwise get quite large. Also added a ChangeInfo member
3803 that was needed for changes to untagged_fetch_all().
3804 (imap4_fetch_all_add): Use fetch->first as a base offset and
3805 change int i to guint32 i. Also updated to sue the fetch->changes.
3806 (imap4_fetch_all_update): Same.
3807 (untagged_fetch_all): Same - this is where it is really valuable,
3808 since we can avoid adding elements to the GPtrArray that we won't
3809 even use. Also needed to change code a big in case index <
3810 fetch->first (which could happen if a server notified us of a
3811 FLAGS change for a message we didn't request info about).
3812 (imap4_fetch_all_free): Free the ChangeInfo.
3813 (imap4_summary_fetch_all): Init fetch->changes and fetch->first.
3814 (imap4_summary_fetch_flags): Same.
3815 (camel_imap4_summary_flush_updates): Only request envelope info if
3816 first <= summary->exists. Avoids needless queries.
3817 (info_uid_sort): #if 0'd
3818 (camel_imap4_summary_flush_updates): No need to sort the summary -
3819 this should never have been needed. I can't remember why I did
3822 2004-06-15 Jeffrey Stedfast <fejj@ximian.com>
3824 * camel-gpg-context.c (gpg_verify): Use
3825 camel_multipart_signed_get_content_stream() rather than getting
3826 the first part and canonicalising it ourselves. Fixes bug #60159.
3828 * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_init):
3829 Init have_unget to FALSE. Don't set unget to NULL, it's no longer
3831 (camel_imap4_stream_finalize): No need to g_free() unget anymore.
3832 (camel_imap4_stream_next_token): Check have_unget rather than
3833 unget != NULL. Set have_unget to FALSE if we get an unget'd token.
3834 (camel_imap4_stream_unget_token): Don't malloc space for an unget
3835 token. The unget token is no longer a pointer.
3837 2004-06-14 Not Zed <NotZed@Ximian.com>
3839 * providers/smtp/camel-smtp-transport.c (smtp_data): use
3841 (smtp_connect): do not re-helo after we've authenticated. This
3842 was a misreading of the spec. We must only re-helo after a
3843 transport layer negotiation.
3845 2004-06-12 Jeffrey Stedfast <fejj@ximian.com>
3847 * providers/imap4/camel-imap4-store.c (imap4_noop): Flush summary
3848 updates for the currently selected folder.
3849 (imap4_noop): Sync the currently selected folder before sending
3852 * providers/imap4/camel-imap4-summary.c
3853 (camel_imap4_summary_set_exists): Don't bother with
3854 exists_changed. We don't need it afterall.
3855 (camel_imap4_summary_flush_updates): Instead of updating flags if
3856 update_flags or exists_changed is set, only bother if update_flags
3857 is set or if exists is smaller than the summary count (since
3858 updating flags is also sueful for determining which messages have
3861 2004-06-11 Jeffrey Stedfast <fejj@novell.com>
3863 * providers/imap4/camel-imap4-folder.c (imap4_refresh_info): Force
3864 updating of the emsage flags (normally this only happens if
3865 something has changed that warrants rescanning them).
3867 2004-06-11 Jeffrey Stedfast <fejj@ximian.com>
3869 * providers/imap4/camel-imap4-folder.c (untagged_fetch): Handle
3870 getting FLAGS even though we didn't request it (server can send us
3871 FLAGS info if another client changed them recently, for
3872 example). Also fixed to handle the fact that not every bit of info
3873 has to be in a single untagged FETCH response - it may come in
3874 several untagged responses.
3876 * providers/imap4/camel-imap4-summary.c (envelope_decode_address):
3877 Decode the email address name token.
3878 (envelope_decode_nstring): rfc2047 decode strings if requested.
3879 (decode_envelope): Request that the subject string be rfc2047
3882 2004-06-11 Not Zed <NotZed@Ximian.com>
3884 * providers/local/camel-maildir-store.c (get_folder_info): if we
3885 scan from "" or top == NULL, then we really want to scan from "."
3888 * camel-url.c (camel_url_new_with_base): don't check the for a
3889 character after the # before extracting the fragment. An empty
3890 fragment is still allowed and # should never be added to the path.
3893 2004-06-11 Jeffrey Stedfast <fejj@ximian.com>
3895 * providers/imap4/camel-imap4-summary.c
3896 (camel_imap4_summary_flush_updates): Don't bother scanning summary
3897 info if EXISTS was 0.
3898 (camel_imap4_summary_set_uidvalidity): Emit the folder_changed
3899 event after clearing the summary.
3900 (camel_imap4_summary_expunge): Emit the folder_changed event after
3901 removing the message from the summary.
3902 (camel_imap4_summary_set_exists): Only set exists_changed if the
3903 new and old exists values are different.
3904 (imap4_fetch_all_add): Emit a folder_changed signal if any new
3906 (imap4_fetch_all_update): Emit a folder_changed event if any uids
3907 were removed or otherwise updated.
3908 (camel_imap4_summary_expunge): Use seqid-1 to determine the actual
3910 (camel_imap4_summary_flush_updates): Added some logic to
3911 distinguish between EXISTS value changing because it changed and
3912 because messages got expunged.
3914 * providers/imap4/camel-imap4-folder.c (imap4_sync): Flush updates
3915 after an EXPUNGE and don't unset expunge if we didn't delete
3916 anything (the logic was wrong anyway).
3917 (imap4_refresh_info): Implemented.
3919 2004-06-10 Jeffrey Stedfast <fejj@ximian.com>
3921 * providers/imap4/camel-imap4-engine.c
3922 (camel_imap4_engine_handle_untagged_1): Don't always try and parse
3923 a RESP-CODE in the BYE case as the RESP-CODE is optional.
3925 2004-06-10 Jeffrey Stedfast <fejj@novell.com>
3927 * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
3928 If flags does not include FOLDER_INFO_FAST, get the total/unread
3929 counts for the folder-info.
3931 * providers/imap4/camel-imap4-engine.c (engine_parse_status):
3933 (camel_imap4_engine_handle_untagged_1): Don't handle untagged
3934 STATUS responses anymore. Let the STATUS requestor handle them
3937 * providers/imap4/camel-imap4-utils.c
3938 (camel_imap4_untagged_status): New function to parse untagged
3941 2004-06-10 Not Zed <NotZed@Ximian.com>
3943 * camel-filter-driver.c (camel_filter_driver_filter_message): add
3945 (open_folder): only ignore the get_folder exception if we have a
3946 default folder, otherwise don't. See #59727.
3948 * providers/nntp/camel-nntp-store.c (camel_nntp_command): move the
3949 stream based checking into the loop, after we connect. Fixes a
3952 2004-06-09 Jeffrey Stedfast <fejj@novell.com>
3954 * camel-gpg-context.c (gpg_verify): Fixed a case where it was
3955 possible to double-free the gpg context.
3956 (gpg_verify): If we don't have a public key, then the signature is
3959 2004-06-09 Jeffrey Stedfast <fejj@ximian.com>
3961 * camel-gpg-context.c (gpg_verify): Don't assign trust to be
3962 UNKNOWN if gpg sent us a NODATA status.
3964 2004-06-07 Jeffrey Stedfast <fejj@novell.com>
3966 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
3967 Load the entire summary, not just the summary header. This way
3968 when the user opens the folder, we don't do a complete re-sync
3969 with the server unnecessarily.
3971 * providers/imap4/camel-imap4-summary.c (untagged_fetch_all): New
3972 info's always have a uid of "", so don't checkagainst NULL.
3974 2004-06-06 Jeffrey Stedfast <fejj@ximian.com>
3976 * providers/imap4/camel-imap4-store.c (imap4_rename_folder):
3977 Implemented, mostly. Still need to update state on the renamed
3978 folder object if instantiated and rename the on-disk cache
3981 * providers/imap4/camel-imap4-folder.c
3982 (camel_imap4_folder_finalize): Free the cachedir.
3983 (camel_imap4_folder_new): Init the cachedir and load the saved
3984 summary before updating it against the server summary.
3986 * providers/imap4/camel-imap4-store.c
3987 (camel_imap4_store_finalize): Free the storage_path.
3988 (imap4_construct): Init the storage_path.
3990 2004-06-04 Jeffrey Stedfast <fejj@novell.com>
3992 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
3993 Initialise the folder->summary and force an update of the message
3994 info cache by selecting the folder and flushing the updates to the
3995 imap4 summary object.
3997 * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
3998 Lock the connect_lock before we check if the engine is NULL and
3999 after we connect (assuming we need to), initialise the engine
4001 (imap4_get_folder_info): Doh. Need to escape the "'s in the LIST
4003 (imap4_get_folder): Same.
4005 * camel-stream-buffer.c (stream_flush): Fixed to work
4006 properly. After we've flushed the buffer, we want to set sbf->ptr
4007 to sbf->buf, we don't want to do sbf->ptr += written, that'll just
4008 corrupt our next write.
4010 * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
4011 Duh. If the user doesn't care about SSL/TLS - use USE_SSL_NEVER,
4014 * camel-tcp-stream-ssl.c (stream_flush): Always just return 0,
4015 don't try to PR_Sync() - fsync on a socket causes an error.
4017 * providers/imap4/camel-imap4-command.c
4018 (camel_imap4_command_step): Set exceptions when write/flush fail.
4020 * providers/imap4/camel-imap4-engine.c
4021 (camel_imap4_engine_take_stream): Set an exception in the case
4022 where we get an unexpected greeting from the server.
4024 * providers/imap4/camel-imap4-store.c (imap4_create_folder):
4025 store->dir_sep no longer exists, so query the engine for the
4026 directory separator for the parent_folder.
4027 (imap4_build_folder_info): CamelFolderInfo no longer has a path
4030 2004-06-03 Not Zed <NotZed@Ximian.com>
4032 * providers/nntp/camel-nntp-store.c (camel_nntp_command):
4033 disconnect if we get an io error or user cancellation.
4034 (nntp_disconnect_online): reset current folder.
4035 (connect_to_server): and here too just to make sure.
4037 * providers/nntp/camel-nntp-folder.c (nntp_folder_sync_online):
4038 only save the summary, don't update from server, thats what
4040 (nntp_folder_download_message): fix exception handling.
4041 (nntp_folder_cache_message): same.
4042 (nntp_folder_get_message): ditto, plus major cleanup.
4043 (nntp_folder_download_message): take combined uid so it can cache
4044 and lookup properly. duh.
4046 * providers/nntp/camel-nntp-store.c
4047 (nntp_store_get_subscribed_folder_info): if not fast, then open
4048 the folder, and update it. Yeah i've given up trying to worry
4049 about performance vs usability.
4051 * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_check):
4052 update the storesummary if we update the folder summary. Hmm,
4053 isn't duplicated data meant to be a bad thing? :P
4055 * providers/nntp/camel-nntp-store.c (camel_nntp_store_set_folder):
4056 removed, now handled by nntp_command.
4057 (nntp_connected): removed, now handled by nntp_command.
4059 * camel-string-utils.c (camel_tolower): added ascii to-lower
4061 (camel_toupper): and upper, for completeness.
4063 * camel-store-summary.c (CAMEL_STORE_SUMMARY_VERSION): bumped file
4064 version by 1. This is a mess, version 1 files treated the
4065 bitfield 'flags' with bit number values not bits. Messy.
4067 * providers/nntp/camel-nntp-store-summary.c (store_info_save):
4068 write last/first count.
4069 (CAMEL_NNTP_STORE_SUMMARY_VERSION): bump version to 1.
4070 (store_info_load): if we're loading >= version 1, then load
4073 * providers/nntp/camel-nntp-store.c
4074 (nntp_store_get_folder_info_all): pass the whole line to
4075 store_info_from_line, dont strip last/first info.
4076 (nntp_store_info_update): renamed from info_new_from_line. only
4077 add if not present. handle updates, try and handle unread counts
4078 and readonly status.
4080 2004-06-02 Not Zed <NotZed@Ximian.com>
4082 * providers/nntp/camel-nntp-store.c: setup xover once we've
4085 * providers/nntp/camel-nntp-summary.c: (xover_setup): moved to
4088 * providers/nntp/camel-nntp-folder.c (folder_check)
4089 (folder_check_free, camel_nntp_folder_new): remove async summary
4092 * providers/nntp/camel-nntp-store.c (camel_nntp_command): take
4093 exception argument again, and folder argument. do retry logic and
4094 auth logic differently.
4095 (camel_nntp_raw_command): raw command interface, dont try
4096 reconnect or anything fancy. pass i/o errors straight out, etc.
4097 (camel_nntp_try_authenticate): change to return return codes &
4100 * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_new):
4101 just take path argument.
4102 (camel_nntp_summary_check): take a store, and a folder name.
4103 (add_range_head, add_range_xover): remove the time based update
4104 events, they never had any effect anyway. Take store argument.
4105 (xover_setup): take store argument.
4107 * camel-folder-search.c (search_match_threads): remove debug.
4109 2004-06-01 Not Zed <NotZed@Ximian.com>
4111 ** A few fixes for better rfc compliance, and cleaner code.
4113 * camel-mime-utils.c (header_encode_param): a bunch of logic
4114 cleanups with new util functions.
4115 (header_decode_init): setup a new type ATTR_CHAR, for
4118 * tests/misc/test2.c (main): new test for rfc2184 stuff.
4120 * camel-mime-utils.c (header_convert): helper to convert between
4122 (rfc2184_decode): fix a bunch of logic problems and use the helper
4123 above to simplify code.
4124 (decode_param_token): removed, not needed.
4125 (header_decode_rfc2184_param): removed, not needed.
4126 (header_decode_param): removed, not needed. ugh.
4127 (header_decode_param_list): completely rewritten, hence lack of
4130 2004-05-31 Jeffrey Stedfast <fejj@ximian.com>
4132 * camel-mime-filter-gzip.c (camel_mime_filter_gzip_finalize):
4133 Don't leak the zlib stream internals.
4135 2004-05-27 Jeffrey Stedfast <fejj@novell.com>
4139 * providers/imap/camel-imap-store.c (camel_imap_store_readline):
4140 Don't override the exception with g_strerror() since presumably
4141 camel_imap_store_is_connected() will have set that for us (and
4142 will have a much more accurate exception anyway).
4144 2004-05-26 Dan Winship <danw@novell.com>
4146 * camel-store.c (camel_store_get_trash): If the store is not a
4147 vtrash store, just invoke the virtual method. (In particular,
4148 don't assume that the trash folder's name is CAMEL_VTRASH_NAME).
4149 If it is a vtrash store, just let camel_store_get_folder() do the
4150 work since it's duplicated there anyway. #57114
4151 (camel_store_get_junk): Likewise.
4153 2004-05-25 Sivaiah nallagatla <snallagatla@novell.com>
4154 * providers/groupwise/came;-gw-listener.c (add_addressbook_sources):
4155 set port property on e-source
4157 2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
4159 * providers/groupwise/camel-gw-listener.c (lookup_account_info):
4160 return NULL when there is no existing gw account with same uid
4162 2004-05-25 Not Zed <NotZed@Ximian.com>
4164 * camel-store.c (camel_folder_info_build_path): removed.
4166 * camel-store.h (CamelFolderInfo): removed 'path', fixed all
4168 (struct _CamelStore): removed 'dir_sep' fixed all uses.
4170 2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
4172 * providers/groupwise/camel-gw-listener.c (add_addressbook_sources)
4173 (add_calendar_tasks_sources) : remove /soap part from uri.
4174 make port as a e-source property instead of putting it in uri
4175 to amek the uris same as that of mail for password sharing
4177 2004-05-24 Not Zed <NotZed@Ximian.com>
4179 * camel-mime-utils.c (camel_header_newsgroups_decode):
4180 fix/rearrange logic. It was using the wrong working pointer.
4182 2004-05-24 Sivaiah Nallagatla <snallagatla@novell.com>
4184 * camel-provider.h: Added CAMEL_PROVIDER_CONF_HIDDEN to
4185 conf item type enum. This is used by groupwise provider
4187 * providers/groupwise/camel-groupwise-provider.c: Added
4188 CAMEL_PROVIDER_CONF_HIDDEN to groupwise_conf_entries to pass the
4191 * providers/imap/camel-imap-store.c (imap_auth_loop): Read the
4192 auth-domain property from imap url and pass it camel sesstion apis
4194 2004-05-22 Not Zed <NotZed@Ximian.com>
4196 * camel-store.c: oops, forgot folder_created. Removed locking, the
4197 object bag serialises stuff for us.
4198 (camel_store_get_junk): same.
4200 ** Another unread count bug, #58814.
4202 * camel-store.c (camel_store_class_init): added a folder_opened
4204 (camel_store_get_folder): emit a folder_opened event whenever we
4205 [re] open the physical folder.
4207 2004-05-21 Jeffrey Stedfast <fejj@novell.com>
4209 * providers/imap/camel-imap-store.c (connect_to_server): Added a
4210 workaround for broken IMAP. Hopefully by forcing only the IMAP4
4211 command subset, we can work around their suckage.
4213 2004-05-21 Not Zed <NotZed@Ximian.com>
4215 * camel-session.c (camel_session_get_password): added a 'domain'
4216 argument, and rearragned arguments to be prettier and more
4217 consistent. Fixed all callers.
4218 (camel_session_forget_password): added a domain argument. Fixed
4223 * camel-folder.c (set_message_flags): if system flags change, then
4224 don't trigger a folder changed event.
4226 * camel-folder-summary.h (CAMEL_MESSAGE_SYSTEM_MASK): added this
4227 to indicate which flags are internal/apps not interested in.
4229 * camel-folder.c (filter_free): rearrange and use some helpers.
4230 (folder_changed): if we're frozen, dont go firing off threads to
4231 do any processing on each change, wait until we're called
4232 unfrozen. Slight code rearragnement.
4233 (filter_filter): add progress to junk learn/unlearn, and separate
4236 2004-05-19 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
4238 Fix for #58738 ja_JP.UTF-8: Evolution crashes when certain
4239 ASCII/non-ASCII combination is used in mail subject
4241 * camel-mime-utils.c (camel_header_encode_string) Use
4242 camel_mime_is_lwsp for determining word separators,
4243 according to rfc822 (which's also same for rfc2047).
4244 g_unichar_isspace as word separator is illegal.
4246 2004-05-20 Jeffrey Stedfast <fejj@novell.com>
4248 Fixes bug #42295 and the infinite loop part of bug #58766 (these 2
4249 bugs are almost identical, except the server responses are broken
4252 * providers/imap/camel-imap-folder.c (imap_update_summary): Remove
4253 the kludge to re-SELECT the folder to force a re-FETCH of
4254 message-info's. This 1) doesn't do what it was meant to do and 2)
4255 has a tendency to cause infinite loops with broken servers such as
4257 (imap_update_summary): Rework the loop that adds messages to the
4258 summary such that if we encounetr an error, we break out and set
4259 an exception (we can keep the messages up to the point of failure,
4260 but none after that because otherwise our uid-to-seqid mapping
4261 would be inconsistant with that of the server and could
4262 potentially cause data loss).
4264 2004-05-20 Not Zed <NotZed@Ximian.com>
4266 * camel-exception.c (camel_exception_setv): re-arrange the code so
4267 exception debug will print the expanded description.
4268 (camel_exception_set): print exception debug.
4270 * providers/pop3/camel-pop3-folder.c (pop3_get_message): same.
4272 * providers/local/camel-mh-folder.c (mh_get_message) *
4273 providers/local/camel-mbox-folder.c (mbox_get_message): *
4274 providers/local/camel-maildir-folder.c (maildir_get_message):
4275 Don't use INVALID_UID for errors which are more system related.
4276 And sync up all the error messages.
4278 * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message):
4279 oops, poke the right uid to get the article number.
4280 (nntp_folder_cache_message): & here too. Somehow fixes #58700,
4281 but i don't know why.
4283 2004-05-19 Not Zed <NotZed@Ximian.com>
4285 * camel-folder.c (transfer_message_to): copy the messageinfo
4286 rather than reference the source folder's one, we poke its flags
4287 variable if the message is deleted. And dont re-delete the
4288 message if its already deleted.
4290 * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message):
4291 use the article number instead of the messageid. Some servers are
4293 (nntp_folder_cache_message): same. See #58655.
4295 * camel-smime-context.c (sm_verify_cmsg): import the certs as
4296 UsageEmailRecipient as well as signer, and also save the certs
4301 * camel-vee-folder.c (vee_sync): don't rebuild auto-type vfolders.
4302 they should always be consistent and it saves a lot of unecessary
4305 * camel-store.c (store_sync): we don't want to sync any vfolders
4306 as part of the store sync call. its used for a different purpose
4307 in vFolders. oh well its a hack.
4309 2004-05-18 Not Zed <NotZed@Ximian.com>
4311 * providers/local/camel-maildir-store.c (fill_fi): do the same
4312 load of mailbox if we're in slow mode as we did for maildir.
4315 * camel-disco-folder.c (disco_expunge_uids): check for NULL
4316 implementation before calling it.
4317 (disco_sync): similar. Fixes crash #58278.
4319 2004-05-17 Jeffrey Stedfast <fejj@novell.com>
4321 * camel-folder-search.c (search_match_threads): Fixed a string type-o.
4323 * camel-smime-context.c (sm_verify_cmsg): Fixed some spelling mistakes.
4325 * camel-gpg-context.c (gpg_decrypt): If the encrypted block was
4326 also signed, set the signature verification status on the Validity
4329 2004-05-17 Not Zed <NotZed@Ximian.com>
4333 * providers/imap/camel-imap-store.c (imap_get_trash)
4334 (imap_get_junk): similar to below.
4336 * providers/local/camel-local-store.c (local_get_trash)
4337 (local_get_junk): set state file on trash/junk to something we know
4340 2004-05-17 Not Zed <NotZed@Ximian.com>
4341 * providers/local/camel-mh-store.c (fill_fi): if we have no folder
4342 in-memory, load it if we're not doing it fast to get really up to
4343 date unread counts. #57616.
4345 2004-05-14 Not Zed <NotZed@Ximian.com>
4347 * camel-store.c (camel_store_create_folder): don't allow creation
4348 of Trash or Junk folders.
4349 (camel_store_rename_folder): similar for rename. #57250.
4351 2004-05-13 Not Zed <NotZed@Ximian.com>
4353 * camel-folder-summary.c (summary_build_content_info): set secure
4354 flag if we have a known security type.
4355 (flag_names[]): Added secure bit.
4356 (summary_build_content_info_message): set secure flag as
4358 (summary_build_content_info_message): dont set attachments for
4359 simple types (non text), only base it on multipart/* stuff.
4360 (summary_build_content_info): same.
4362 * camel-folder-summary.h: added SECURE flag. Indicates signed or
4365 2004-05-12 Jeffrey Stedfast <fejj@novell.com>
4367 * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
4368 Ignore PERMANENTFLAGS if it gives us an empty set. Works around
4369 broken IMAP servers like the one in bug #58355.
4371 2004-05-12 Not Zed <NotZed@Ximian.com>
4373 * camel-folder-search.c (search_threads): changed to match_threads.
4374 (camel_folder_search_search): remove thread matching stuff from here.
4376 2004-05-11 Jeffrey Stedfast <fejj@novell.com>
4378 * camel-smime-context.c (sm_signing_cmsmessage): Fixed a
4379 type-o. Fixes bug #58348.
4381 2004-05-10 Jeffrey Stedfast <fejj@novell.com>
4383 * camel-mime-filter-gzip.[c,h]: New class for zipping/unzipping
4386 * camel-mime-filter-yenc.[c,h]: New class for encoding/decoding
4387 the crack known as YEncode.
4389 2004-05-07 Not Zed <NotZed@Ximian.com>
4391 * camel-folder-thread.c (thread_summary): properly set the parent
4392 nodes for the re-parented phantom-node children. Wasn't that fun
4395 * camel-folder-thread.h: make order and re bitfields, saves 4
4398 2004-05-06 Not Zed <NotZed@Ximian.com>
4400 * camel-digest-folder.c (digest_search_by_expression)
4401 (digest_search_by_uids):
4402 * providers/nntp/camel-nntp-folder.c (nntp_folder_search_by_expression)
4403 (nntp_folder_search_by_uids):
4404 * providers/imap/camel-imap-folder.c (imap_search_by_expression)
4405 (imap_search_by_uids):
4406 * providers/local/camel-local-folder.c (local_search_by_expression)
4407 (local_search_by_uids): use camel_folder_search_search & some minor cleanups.
4409 * camel-folder-search.c (search_threads): keep track of the match
4410 threads option for this search.
4411 (camel_folder_search_match_expression): Removed, not used anymore.
4412 (camel_folder_search_search): new api entry point for searching, a
4413 bit easier to use and needed for thread matching.
4415 * camel-folder-search.c (camel_folder_search_search): new search
4416 api entry point, take a full summary and optionally a subset of
4417 uids to match against.
4418 (search_match_all): use the uids' passed in to only search a
4421 * providers/imap/camel-imap-store.c (connect_to_server): set
4422 nodelay and keepalive on the socket.
4424 * camel-file-utils.c (camel_read): put a timeout on the select.
4425 Logic shuffle to match the ssl stuff.
4426 (camel_write): Similar.
4428 * camel-tcp-stream-ssl.c (stream_connect): remove timeout, use
4429 CONNECT_TIMEOUT directly.
4430 (stream_read): put a timeout on the poll. IO_TIMEOUT. And a
4431 little logic shuffle.
4432 (stream_write): similar.
4433 (CONNECT_TIMEOUT): make this 4 minutes === tcp-raw timeout.
4435 2004-05-05 Not Zed <NotZed@Ximian.com>
4437 * providers/imap/camel-imap-folder.c (get_message_simple): dont
4438 set X-Evolution-Source here anymore, set in caller.
4439 (imap_get_message): move the busted server get into the retry
4440 loop. only leave the simple cache test outside of it.
4442 2004-05-04 Jeffrey Stedfast <fejj@ximian.com>
4444 * camel-session.h: Get rid of #ifdef ENABLE_THREADS stuff, that
4445 was done away with a while back and is causing problems for 3rd
4446 parties trying to use camel unless they explicityly #define
4447 ENABLE_THREADS in their code.
4449 2004-05-04 Christian Kellner <gicmo@xatom.net>
4451 * providers/groupwise/camel-gw-listener.h: Fixed typo.
4453 2004-05-04 Not Zed <NotZed@Ximian.com>
4457 * camel-vee-folder.c (subfolder_renamed_update): when the
4458 subfolder gets renamed, remove all the old uid's and add the new
4459 ones (since the uid is based on the subordinate folder name).
4460 (subfolder_renamed): listen to renamed folder events.
4462 * providers/local/camel-mbox-store.c (get_folder_info): if we're
4463 getting a single folder with no children, make sure we fill the
4464 counts out. Fixes some rename strangeness.
4466 * camel-vee-folder.c (camel_vee_folder_add_folder): hook onto the
4467 folder renamed signal.
4468 (camel_vee_folder_finalise): unhook folder_renamed signal.
4469 (camel_vee_folder_remove_folder): same.
4471 2004-05-03 Not Zed <NotZed@Ximian.com>
4475 * camel-vee-folder.c (camel_vee_folder_add_folder): use the
4476 folder's change log and frozen count, not our copy.
4477 (vee_thaw): dont maintain our frozen count.
4479 (folder_changed_change): if we get changed messages that dont
4480 match, make sure they're also propagated as a change too.
4482 * camel-private.h: remove the freeze_count from
4483 camelveefolderprivate. We already have that in the camel folder
4486 2004-04-30 Priit Laes <amd@tt.ee>
4488 * providers/nntp/camel-nntp-summary.c: Fix typo. #53466.
4490 2004-04-28 Jeffrey Stedfast <fejj@ximian.com>
4492 * providers/imap/camel-imap-folder.c: Change the UID_SET_LIMIT to
4493 768 (something <1000 octets as suggested by rfc2683). Fixes bug
4496 * camel-smime-context.c: Mark exception strings for translation
4497 and fixed a spelling mistake.
4499 2004-04-27 Not Zed <NotZed@Ximian.com>
4503 * camel-vee-store.c (vee_get_folder_info): translate Unmatched in
4504 the folder display name.
4506 * camel-store.c (add_special_info): dont translate full_name or
4507 path, only do that for name.
4509 2004-04-23 Sarfraaz Ahmed <asarfraaz@novell.com>
4511 * camel-provider.h: Added HAS_LICENSE flag for allowing camel
4512 providers to display license file.
4514 2004-04-22 Not Zed <NotZed@Ximian.com>
4516 * providers/imap/camel-imap-folder.c (imap_expunge_uids_online)
4517 (imap_expunge_uids_resyncing): Send a flag list rather than
4518 \Deleted by itself. See #57381.
4520 2004-04-21 Jeffrey Stedfast <fejj@ximian.com>
4522 * providers/imap4/camel-imap4-folder.c (imap4_sync_changes): Don't
4523 bother doing any work if perm_flags is 0.
4525 2004-04-21 Sivaiah Nallagatla <snallagatla@novell.com>
4527 * providers/groupwise/Makefile.am: added CAMEL_LIBS to LIBADD
4529 * providers/groupwise/camel-gw-listener.c
4530 (get_addressbook_names_from_server): added new function to get
4531 addres book names from server.
4532 (add_addressbook_sources) (modify_addressbook_sources) : changed
4533 the implementation to use address book returned form above call
4534 while creating e-sources
4536 2004-04-21 Not Zed <NotZed@Ximian.com>
4538 * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): set
4539 the meta data file on nntp folders.
4541 * camel-disco-folder.c (disco_refresh_info_online): implement
4542 dummy virtual method.
4544 * providers/nntp/camel-nntp-folder.c
4545 (nntp_folder_refresh_info_online): implement. Fixes #57280.
4547 2004-04-19 Jeffrey Stedfast <fejj@ximian.com>
4549 * providers/imap4/camel-imap4-folder.c (untagged_fetch): Fixed to
4550 not expect ]'s as part of the BODY atom token.
4552 2004-04-16 Jeffrey Stedfast <fejj@ximian.com>
4554 * camel-vee-store.c (change_folder): (flags & 0) will never be
4555 true. Fixes bug #56982.
4557 2004-04-15 Jeffrey Stedfast <fejj@ximian.com>
4559 * providers/imap/camel-imap-utils.c: Changed imap_atom_specials[]
4560 to not treat ']' as an atom char (as per rfc3501). Fixes bug
4563 2004-04-14 Jeffrey Stedfast <fejj@ximian.com>
4565 * providers/imap/camel-imap-store.c
4566 (imap_check_folder_still_extant): Use %F instead of %S so that the
4567 folder name gets properly converted from using '/' path delimeters
4568 to whatever the native character the server uses. Should fix bug
4571 2004-04-14 Not Zed <NotZed@Ximian.com>
4573 * camel-disco-store.c (set_status): do offline mail syncing (only
4574 for open folders so far). If we fail doing syncing or store sync,
4577 2004-04-13 Jeffrey Stedfast <fejj@ximian.com>
4579 * providers/imap/camel-imap-store.c (get_folder_online):
4580 Rearranged some error checking code to fix bug #56405.
4582 2004-04-13 Not Zed <NotZed@Ximian.com>
4584 * camel-folder.c (folder_getv): implement the new counts, and get
4585 them all atomically so they're only calculated once and can return
4588 * camel-folder.h: Added CAMEL_FOLDER_DELETED, CAMEL_FOLDER_JUNKED,
4589 and CAMEL_FOLDER_VISIBLE args, to support client display of
4592 2004-04-13 Jeffrey Stedfast <fejj@ximian.com>
4594 * camel-folder.h (camel_folder_delete_message): Fix NotZed's fix
4595 to not mark messages as unseen. Fixes bug #56879.
4597 2004-04-13 Sivaiah Nallagatla <snallagatla@novell.com>
4599 * providers/groupwise/camel-gw-listener.c
4600 (add_addressbook_sources): change the auth type string from
4601 Password to plain/password
4603 2004-04-12 Jeffrey Stedfast <fejj@ximian.com>
4607 * camel-gpg-context.c (gpg_verify): Don't rely on the exit code of
4608 gpg, we already save enough state to decide if the sig is valid
4609 without it. Modified to only set BAD if gpg->validsig and
4610 gpg->nopubkey are both FALSE. If we get a NO_PUBKEY status
4611 message, then it simply means that the the sender could not be
4613 (gpg_ctx_parse_status): Listen for NO_PUBKEY status messages.
4615 2004-04-11 Sivaiah Nallagatla <snallagatla@novell.com>
4617 * providers/groupwise/camel-gw-listener.c
4618 (add_addressbook_sources) (modify_addressbook_sources) : add
4621 2004-04-09 Jeffrey Stedfast <fejj@ximian.com>
4623 * providers/imap/camel-imap-provider.c: Fix capitalisation of the
4624 "mailcheck" section title and move it to the top (so it matches
4627 * providers/imap/camel-imap-folder.c (imap_get_message): Fetch the
4628 entire message in one fell swoop even if the message size is
4629 larger than 5k *if* the message is a single part. Fixes bug #56686.
4631 2004-04-08 Jeffrey Stedfast <fejj@ximian.com>
4633 * providers/imap/camel-imap-store.c (get_folder_online): Changed
4634 (!flags & _CREATE) to (!(flags & _CREATE))
4635 (get_folder_online): Do what create_folder() does and if the
4636 parent folder has \NoInferiors set but contains no messages,
4637 delete the parent folder and recreate it before creating the child
4638 folder. Fixes bug #56651.
4640 2004-04-08 Not Zed <NotZed@Ximian.com>
4642 * camel-folder.h (camel_folder_delete_message): always set the
4643 seen flag when we delete a message. I demand that this may, or
4644 may not, fix #56549.
4646 * camel-folder.c: include camel-debug.h
4647 (camel_folder_set_message_flags): fixed the doco slightly (well
4648 reversed the flag and set explanation) and give an example.
4650 * providers/local/camel-mbox-folder.c
4651 (mbox_set_message_user_flag): message changed to folder_changed.
4652 (mbox_set_message_user_tag): ditto.
4654 * camel-vee-folder.c (camel_vee_folder_finalise): dont hook onto
4656 (camel_vee_folder_add_folder): or unhook.
4657 (camel_vee_folder_remove_folder): "
4658 (message_changed): or proxy.
4660 * camel-folder.c (camel_folder_class_init): removed the
4661 message_changed event - its redundant, and covered by
4662 folder_changed, and just makes life difficult for everything using
4663 message_changed/folder_changed (and nothing uses it anyway).
4664 (message_changed): removed.
4665 (set_message_user_flag): emit a folder_changed event instead of
4667 (set_message_user_tag): "
4668 (set_message_flags): "
4670 * camel-object.h: revered the CAMEL_OBJECT_TYPE change, it should
4671 be a global variable access.
4673 2004-04-06 Jeffrey Stedfast <fejj@ximian.com>
4675 * providers/imap4/camel-imap4-folder.c: Added mutex locking where
4678 * providers/imap4/camel-imap4-store.c: Added mutex locking where
4681 * camel-folder-summary.h (CAMEL_FOLDER_SUMMARY_TYPE): Defined.
4683 * camel-object.h (CAMEL_OBJECT_TYPE): Fixed.
4685 * providers/imap4/camel-imap4-folder.c
4686 (camel_imap4_folder_utf7_name): Implemented.
4688 * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
4689 Use camel_folder_info_build() to build the folder-info tree.
4691 2004-04-06 Not Zed <NotZed@Ximian.com>
4693 * camel-debug.c: #if 0 out the sys/debugreg stuff.
4697 * providers/imap/camel-imap-folder.c (get_content): more debug!
4698 (get_content): if we have no content-type header set on a sub-part
4699 of a multipart/digest, then we need to set it to message/rfc822 as
4700 in the multipart/digest rfc (2046 or so?).
4702 * camel-folder.c (camel_folder_get_message): output this stuff as
4705 * providers/imap/camel-imap-folder.c (imap_get_message): add some
4707 (get_content): get xx.TEXT rather than xx if we're from a message
4712 * camel-folder.c (camel_folder_transfer_messages_to): do not lock
4714 (transfer_message_to): call the main entry point for get message
4719 * camel-vee-store.c (vee_delete_folder): delete the state file if
4722 * camel-object.c (camel_object_state_write): create the parent dir
4723 if we need to. Also spit a warning if we fail in the end.
4725 * camel-vee-folder.c (camel_vee_folder_new): set the persistent
4726 state file location.
4727 (vee_sync): write the state file when we sync.
4729 2004-04-05 Not Zed <NotZed@Ximian.com>
4731 * providers/imap/camel-imap-store.c (get_folders): dont add
4732 folders to folders_out here, only in get_folders_add_folders.
4734 * camel-store.c (camel_folder_info_build): simplify 'list append'
4735 since we have next pointer at the head of the struct.
4737 * providers/imap/camel-imap-store.c (create_folder): fixed
4738 "containes" spelling count.
4739 (get_folder_online): "
4740 (get_folders_add_folders): duh, add the folder info to the
4743 2004-04-02 Jeffrey Stedfast <fejj@ximian.com>
4745 * camel-folder.c (camel_folder_get_deleted_message_count): New
4746 function to get the deleted message count (used for Outbox count
4747 which is total minus deleted).
4749 2004-04-02 Not Zed <NotZed@Ximian.com>
4751 * camel-exception.c (w): turn this on, this should always be on,
4752 it points to real bugs in the code.
4754 * camel-folder-summary.c (summary_build_content_info): dont set
4755 attachments if its a signature block.
4756 (summary_build_content_info_message): same.
4758 2004-04-01 Jeffrey Stedfast <fejj@ximian.com>
4760 * camel-exception.c (w): Wrap annoying exeption warnings with w().
4762 2004-03-30 Jeffrey Stedfast <fejj@ximian.com>
4764 * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
4765 Partially implemented.
4766 (imap4_get_folder): Implemented.
4768 2004-03-30 Jeffrey Stedfast <fejj@ximian.com>
4770 * camel-mime-utils.c (header_decode_param): Use
4771 header_decode_text() rather than rfc2047_decode_word() to decode
4772 the brokenly rfc2047 encoded param value string in case it is
4773 actually made up of multiple rfc2047 encoded words. Thanks to
4774 Andrei Nigmatulin for the fix.
4776 2004-03-30 Not Zed <NotZed@Ximian.com>
4778 * camel-store.c (camel_store_get_folder_info): added some debug to
4779 dump the whole folderinfo tree if store:folder_info is set.
4781 * providers/imapp/camel-imapp-driver.c: #if 0 out some code, to
4784 * camel-url-scanner.c: include ctype.h for isspace (wonder if it
4785 should use utf8 funcs?).
4787 2004-03-29 Not Zed <NotZed@Ximian.com>
4791 * providers/imap/camel-imap-store.c (get_folders): check the
4792 top-level folders list for duplicates as well.
4793 (get_folders_add_folders): split out the folder return merging
4794 code from get_folders. Absolute mess of crap to deal with more
4797 * camel-debug.c (camel_debug_start, camel_debug_end): some helpers
4798 to wrap debug output for atomicicity.
4800 2004-03-29 Jeffrey Stedfast <fejj@ximian.com>
4802 * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
4805 * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
4806 If the namespace begins with "INBOX", canonicalise the INBOX
4807 portion (ie, make it all caps).
4809 * providers/imap4/camel-imap4-store.c (imap4_noop): Implemented.
4811 2004-03-29 Jeffrey Stedfast <fejj@ximian.com>
4813 * providers/imap/camel-imap-store.c (get_folder_status): Updated
4814 to actually parse the STATUS response into a list of item/value
4816 (create_folder): Updated for above change.
4817 (get_folder_counts): Only call get_folder_status() once (we can
4818 get both values with a single call now). Fixes a FIXME and might
4819 also fix bug #55784.
4821 * providers/local/camel-mbox-store.c (get_folder_info): Removed
4824 * providers/local/camel-local-folder.c
4825 (camel_local_folder_construct): Since the folder was *just*
4826 created, it shouldn't have any subfolders so set the
4827 CAMEL_FOLDER_NOCHILDREN flag (altho, ideally, we wouldn't be
4828 guessing these flags at all - rather we'd call get_folder_info()
4829 or some such). Fixes bug #56010.
4831 2004-03-29 Radek Doulik <rodo@ximian.com>
4833 * camel-mime-filter-tohtml.c (html_convert): close pre tag in case
4834 we just flush. I am not sure if it's still worth to check for
4835 inlen == 0 and handle it specially, but didn't want to make too
4840 2004-03-29 Not Zed <NotZed@Ximian.com>
4842 * providers/imap/camel-imap-store.c (get_folder_counts): use
4843 object_bag_peek instead of _get, since we dont want to clash/wait
4844 for reservations. More #56045 related fixes.
4845 (get_folder_counts): revert the lookup/hashtable stuff for the
4846 folder, and use object_bag_peek.
4848 * camel-object.c (camel_object_bag_peek): new method to get an
4849 object bag entry without worrying about if its reserved or not.
4851 * camel-gpg-context.c (gpg_verify): get the content-type off of
4852 the multipart-signed, not its container. This seems wrong
4853 ... but might fix #56084.
4855 * providers/imap/camel-imap-store.c (get_folder_counts): remove
4856 locking here, we're locked whne we enter.
4857 (fill_fi): call refresh_info unlocked. More for #56045.
4859 2004-03-28 Jeffrey Stedfast <fejj@ximian.com>
4861 * providers/imap4/camel-imap-folder.[c,h]: New source files
4862 implementing the CamelFolder class for the new IMAP4
4865 * providers/imap4/camel-imap-summary.[c,h]: New source files
4866 implementing the CamelFolderSummary class for the new IMAP4
4869 2004-03-26 Jeffrey Stedfast <fejj@ximian.com>
4871 * providers/imap/camel-imap-folder.c (imap_update_summary):
4872 Reverted imap.web.de fix.
4874 2004-03-26 Not Zed <NotZed@Ximian.com>
4876 * providers/local/camel-maildir-summary.c (flagbits[]): Added new
4877 maildir flags D for draft and commented P for forwarded.
4879 * providers/imap/camel-imap-store.c (get_folder_counts): Instead
4880 of looking up the folder in the object bag which will handle
4881 reservations and perhaps deadlock, just get the list of opened
4882 folders and use them if they're available. Should fix #56045.
4884 2004-03-25 Jeffrey Stedfast <fejj@ximian.com>
4886 * providers/imap4/camel-imap-engine.c
4887 (camel_imap_engine_parse_resp_code): No longer need to split ']'
4888 tokens from atom tokens due to a fixup in the ABNF grammar in
4891 * providers/imap4/camel-imap-specials.c: Changed ATOM_SPECIALS to
4892 include ']' (this is an addition in rfc3501).
4894 * providers/imap4/camel-imap-store.[c,h]: New Store class for
4895 IMAP. Implemnted a bunch of but still got a ways to go.
4897 2004-03-25 Jeffrey Stedfast <fejj@ximian.com>
4899 * providers/imap/camel-imap-folder.c (imap_update_summary): If the
4900 server is imap.web.de, just ask for all the headers rather than
4901 "HEADER.FIELDS.NOT (RECEIVED)". Actually, maybe we should always
4902 just query for the entire header block?
4903 (imap_get_message): If the server is brain-damaged (that's a
4904 technical term), always fetch the message in whole, never bother
4905 to try and fetch partial messages (Courier-IMAP gives us the wrong
4906 BODY responses fairly often).
4908 * providers/imap/camel-imap-store.c (connect_to_server): Set
4909 store->braindamaged to TRUE if we find the string "Courier-IMAP"
4912 2004-03-25 Jeffrey Stedfast <fejj@ximian.com>
4916 * providers/imap/camel-imap-store.c (create_folder): Don't allow
4917 the user to create folders with #, %, * or the directory separator
4918 in the folder name (added the checks for %, * and #).
4919 (get_folder_online): Add a check to make sure the folder name is
4920 sane before sending a CREATE (ie. we want to allow getting of
4921 folders with discouraged characters in them if they exist, but we
4922 don't want to allow the user to create them).
4924 2004-03-25 Martyn Russell <ginxd@btopenworld.com>
4926 * providers/smtp/camel-smtp-provider.c: Removed newline character
4927 from the provider description
4929 2004-03-25 Sivaiah Nallagatla <snallagatla@novell.com>
4931 * providers/groupwise/camel-groupwise-provider.c: removed ldap
4932 seetings and added a settng for SOAP port
4934 * providers/groupwise/camel-gw-listner.h
4935 (add_calendar_tasks_sources, remove_calendar_tasks_sources),
4936 (modify_calendar_tasks_sources): read port number from url instead
4937 of hardcoding. Also removed code for adding e-sources for ldap
4938 address book and adding now e-sources for groupwise address book
4940 2004-03-24 Jeffrey Stedfast <fejj@ximian.com>
4942 * providers/imap4/camel-imap-engine.c (camel_imap_engine_literal):
4943 New convenience wrapper function.
4944 (engine_parse_status): Fixed to handle literal mailbox strings.
4946 * providers/imap4/camel-imap-command.c (camel_imap_command_newv):
4947 Changed how %L works - create the CamelIMAPLiteral for our caller
4948 instead of expecting them to create it for us. We can autodetect
4949 what type of object (stream vs data-wrapper) the literal is, so
4952 2004-03-23 Jeffrey Stedfast <fejj@ximian.com>
4954 * providers/imap/camel-imap-folder.c (imap_get_message): Reworked
4955 the else bit to fix a bug where if we had the BODY structure, we simply
4956 wouldn't try fetching the actual message.
4958 2004-03-23 Not Zed <NotZed@Ximian.com>
4960 * camel-exception.c (camel_exception_setv): use camel debug to add
4963 * camel.c (camel_init): call camel_debug_init().
4965 * camel-debug.c (camel_debug_init, camel_debug): new util stuff
4966 for extended debug options.
4968 * providers/imap/camel-imap-folder.c (imap_get_message): if we're
4969 supposed to be online, check we are online before proceeding.
4970 Actually major restructure so we re-try the fetch a couple of
4971 times first before failing. i.e. silent reconnect. See #55381.
4973 * providers/imap/camel-imap-store.c (get_folder_info_online):
4974 connect lock around this. was getting a race with mem corruption
4977 2004-03-22 Not Zed <NotZed@Ximian.com>
4979 * camel-mime-utils.c (camel_header_newsgroups_decode)
4980 (camel_header_newsgroups_free): decode newsgroups header into a
4985 * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_check):
4986 NOOP if we're offline.
4988 * providers/nntp/camel-nntp-store.c (nntp_connected): spit a
4989 warning if we try to do stuff whilst offline, rather than crash.
4991 2004-03-19 Not Zed <NotZed@Ximian.com>
4993 * camel-disco-store.c (disco_connect): ref the diary before
4994 replaying it. it could get unreffed during replay if there's an
4995 error and we disconnect.
4997 * camel-store.c (camel_store_get_folder): no longer use
4998 folder_lock, we already have adequate serialisation code here or
5000 (camel_store_get_folder_info): same here.
5002 * providers/imap/camel-imap-store.h: remove async_thread thing.
5004 2004-03-17 Jeffrey Stedfast <fejj@ximian.com>
5006 * providers/imap/camel-imap-folder.c (imap_get_message): Checking
5007 that mi->content->type != NULL is no longer good enough to tell if
5008 a ContentInfo is complete (ie. contains the parsed BODY
5009 response). We need to check that th ContentInfo has children if
5010 the part is a multipart of message/rfc822 part. Apparently Zucchi
5011 didn't test his camel-folder-summary changes using IMAP.
5013 2004-03-17 Radek Doulik <rodo@ximian.com>
5015 * camel-folder-summary.h: use 1<<30 for CAMEL_MESSAGE_JUNK_LEARN,
5016 1<<17 was already used by imap provider and maybe others
5018 2004-03-17 Not Zed <NotZed@Ximian.com>
5020 * providers/local/camel-maildir-store.c: Reverted jeff's fix for
5021 #55018, since it wasn't tested, and doesn't work. Wrote an
5022 alternate implementation, and tested it at least once. Turns out
5023 it was a one line error, it still wasn't tested. Oh well, its
5028 * camel-disco-diary.c (camel_disco_diary_new): seek to the end of
5029 the file after we open it. c99 apparently says the file merely
5030 adds to the end of the file when you write, not that it is opened
5031 and positioned at the end of the file (linux's man pages are out
5034 * camel-folder-summary.c (content_info_new): setup the content
5035 type as well, from the headers.
5037 * providers/imap/camel-imap-summary.c
5038 (camel_imap_summary_add_offline): copy size from the source info.
5040 2004-03-15 Jeffrey Stedfast <fejj@ximian.com>
5042 * camel-folder.c (folder_rename): Always use '/' to derive the
5043 basename of the folder. folder->full_name is always the UNIX-path
5044 evrsion of the folder name, no matter what the actual path
5045 delimeter is on the underlying store.
5047 * providers/imap/camel-imap-store.c (get_folder_online): If the
5048 initial SELECT fails and CREATE is specified, clear the exception
5049 before attempting to CREATE, this way we don't have an exception
5050 set even if the CREATE passes. Fixes bug #55607.
5052 2004-03-16 Not Zed <NotZed@Ximian.com>
5054 * camel-mime-message.c (camel_mime_message_init): rever previous
5055 patch. We don't want to set the default mime/type, it'll break
5058 2004-03-15 Not Zed <NotZed@Ximian.com>
5060 * providers/local/camel-mbox-store.c (delete_folder): same as
5063 * providers/local/camel-local-store.c (delete_folder): NULL out
5064 str before looking up the state file using it. Otherwise we
5067 * camel-mime-parser.c (folder_scan_skip_line): we want to scan
5068 till in-end-1. If we've been called we're either at the end of
5069 data, or we know we have an end of line character within memory.
5070 Another case in Bug #53355.
5072 * providers/imap/camel-imap-folder.c (get_content, get_message):
5073 set the mime-type field on the content the same way as
5074 construct_from_stream does. Bug #55472.
5076 * camel-mime-message.c (camel_mime_message_dump): utility function
5077 to dump message content to stdout.
5078 (camel_mime_message_init): default mime type to message/rfc822.
5080 * camel.c (camel_init): change camel verbose debug to be an int, a
5081 bitmask of debug options.
5083 * camel-mime-utils.c (camel_header_location_decode): drop embedded
5084 whitespace characters, and don't do unquoting, etc. See rfc2557
5085 4.4.2 and rfc2017 3.1.
5087 2004-03-12 Jeffrey Stedfast <fejj@ximian.com>
5089 * providers/smtp/camel-smtp-transport.c (smtp_set_exception): Now
5090 takes an argument to specify whether disconnecting when respbuf is
5091 NULL is safe (to prevent us from recursively disconnecting or
5092 disconnecting during a connect).
5094 2004-03-12 Jeffrey Stedfast <fejj@ximian.com>
5098 * providers/smtp/camel-smtp-transport.c (smtp_helo): Instead of
5099 unreffing the streams, call camel_service_disconnect().
5103 (smtp_send_to): Ignore exceptions for smtp_rset(). Also, check
5104 that we are connected before we try to send (in Evolution's
5105 current usage scenario, this isn't a problem but in the future if
5106 we ever try to fire off several messages via the same smtp
5107 connection, it may be - especially if RSET failed during the
5110 2004-03-12 Radek Doulik <rodo@ximian.com>
5112 * camel-folder.c (folder_changed): clearn the learn bit only if
5115 2004-03-12 Jeffrey Stedfast <fejj@ximian.com>
5117 Fixes for bug #55018.
5119 * providers/local/camel-local-folder.c
5120 (camel_local_folder_construct): Use camel_url_to_string() here
5121 too, so we properly encode the fragment.
5123 * providers/local/camel-mbox-store.c (get_folder_info): Use
5124 CamelURL to properly encode the fi->uri. Pass the CamelURL into
5125 scan_dir() so that scan_dir() can re-use it (rather than having to
5126 malloc/parse/free for each file/dir)
5127 (scan_dir): Use camel_url_to_string().
5129 * providers/local/camel-maildir-store.c (get_folder_info): Same as
5131 (scan_dir): Same as mbox. We also need to set the
5132 CAMEL_FOLDER_NOSELECT flag if appropriate.
5134 * providers/local/camel-mh-store.c (get_folder_info): Same as mbox
5136 (folders_scan): Now takes a url argument which we pass off to
5138 (recursive_scan): Same.
5139 (folder_info_new): Use camel_url_to_string().
5141 2004-03-11 Radek Doulik <rodo@ximian.com>
5143 * camel-folder.c (camel_folder_set_message_flags): watch for
5144 setting JUNK flag, if JUNK_LEARN is not set as well then reset
5146 (folder_changed): look for junk changes in uid_changed's messages,
5147 if these changes request junk filter learning
5148 (CAMEL_MESSAGE_JUNK_LEARN bit set) then prepare junk and nonjunk
5149 uid arrays, clear CAMEL_MESSAGE_JUNK_LEARN bit so that we don't
5151 (folder_changed): start filter thread if there's junk and/or
5153 (filter_filter): if junk/nonjunk arrays are non-NULL, call junk
5154 filter report to learn junk/non-junk messages
5155 (filter_free): free junk/nonjunk uids and arrays
5157 * camel-folder-summary.h: added CAMEL_MESSAGE_JUNK_LEARN to
5158 CamelMessageFlags, used when setting CAMEL_MESSAGE_JUNK flag to
5159 say that we request junk plugin to learn that message as
5162 2004-03-12 Jeffrey Stedfast <fejj@ximian.com>
5164 * providers/smtp/camel-smtp-transport.c (connect_to_server): If
5165 errno is EINTR, set USER_CANCEL instead of SERVICE_UNAVAILABLE or
5174 (smtp_set_exception): Here too.
5175 (smtp_auth): If the AUTH response code is not 334, then use
5176 smtp_set_exception() to get the most accurate error report we can.
5178 2004-03-11 Jeffrey Stedfast <fejj@ximian.com>
5180 * camel-object.c (cobject_state_read): Sanity check that count is
5181 <1024 and also use g_try_malloc so that we can recover if malloc
5184 2004-03-11 Not Zed <NotZed@Ximian.com>
5186 * providers/imap/camel-imap-store.c (no_such_folder): removed
5187 this. not sure what it was doing there, a 1 line funciton used
5189 (get_folder_online): pass exception to camel_imap_command. if we
5190 got a user cancel, pass it up. See #55388.
5191 (hash_folder_name, compare_folder_name): more g_ascii_strcasecmp
5194 2004-03-11 Not Zed <NotZed@Ximian.com>
5196 * camel-vee-store.c (vee_get_folder_info): we need to add the
5197 folderinfo always if we're recursive from top. Should fix #52965
5198 and maybe the other vfolders not showing on startup bug.
5200 * providers/imap/camel-imap-store.c (get_one_folder_offline):
5201 (parse_list_response_as_folder_info): turn off NOINFERIORS always,
5202 translate to nochildren.
5203 (imap_store_refresh_folders): check we're updating an imap folder,
5204 we could also have trash folders in the store too.
5206 2004-03-08 Not Zed <NotZed@Ximian.com>
5208 * camel-vee-store.c (vee_get_folder_info): setup virtual/system
5209 flags as appropriate.
5210 (change_folder): setup flags properly.
5212 * providers/nntp/camel-nntp-store.c
5213 (nntp_store_get_subscribed_folder_info): mark all folders as
5216 * providers/local/camel-mh-store.c (fill_fi): add this to setup
5218 (folder_info_new): call fill_fi to fill unread/total.
5219 (recursive_scan, folders_scan): ahh yeah, so wtf was i thinking,
5220 store->flags != get_folder_info flags!!!!
5222 * providers/local/camel-maildir-store.c (camel_folder_info_new):
5223 remove unread count arg & setup total.
5224 (fill_fi): setup total field.
5225 (scan_dir): remove the code that checked the directory directly -
5226 use fill_fi instead. It will more accurately reflect what you get
5227 when you visit the folder.
5228 (camel_folder_info_new): mark "." as a system folder.
5229 (scan_dir): try to setup children/no children flags properly.
5231 * providers/local/camel-mbox-store.c (fill_fi): setup total field.
5232 (scan_dir): init total.
5233 (get_folder_info): "
5235 2004-03-05 Not Zed <NotZed@Ximian.com>
5237 * providers/imap/camel-imap-store.c
5238 (parse_list_response_as_folder_info): mark INBOX as a system
5239 folder. Can't be renamed/deleted.
5240 (fill_fi): setup total field.
5241 (get_folder_counts): ditto.
5243 * camel-store.c (add_special_info): set the system folder flag.
5245 * camel-store.h: time to fix up the camelfolderinfo mess. fix
5246 some member names, and add some type fields. Fixed all uses.
5248 2004-03-04 Not Zed <NotZed@Ximian.com>
5252 * providers/imap/camel-imap-folder.c (get_content): if the parent
5253 isn't a message/rfc822 type, we don't want to get the section.TEXT
5254 for multipart/signed, we just want to get section.
5256 2004-03-03 Rodrigo Moya <rodrigo@ximian.com>
5258 * providers/groupwise/camel-gw-listener.c
5259 (add_calendar_tasks_sources): use "Calendar" and "Checklist" for the
5260 folder names, instead of "Default".
5261 (remove_calendar_tasks_sources): remove the correct folder.
5263 2004-03-03 Not Zed <NotZed@Ximian.com>
5265 * camel-operation.c (camel_operation_uncancel): attempt at
5266 uncancelling a cancelled operation.
5268 * camel-stream-filter.c (do_write, do_write): fun dun diddley un
5269 fun. Since we're writing a const buffer, we need to copy it
5272 2004-02-27 Not Zed <NotZed@Ximian.com>
5276 * camel-vtrash-folder.c (vtrash_append_message)
5277 (vtrash_transfer_messages_to): error/fail out if the user tries to
5278 copy messages to the trash.
5279 (vtrash_transfer_messages_to): use the destination bit not the
5280 source bit for moving messages to a vtrash folder.
5282 * camel-gpg-context.c (gpg_ctx_parse_status): ignore NODATA
5283 response, otherwise we abort in a meaningless way. See #52939.
5285 * providers/imap/camel-imap-utils.c: use g_ascii_str[n]casecmp
5287 * providers/imap/camel-imap-utils.c (imap_body_decode): fix the
5288 sense of the nil check for the subtype of a mutlipart. See
5291 2004-02-26 Not Zed <NotZed@Ximian.com>
5293 * camel-session.c (camel_session_check_junk_for_imap)
5294 (camel_session_set_check_junk_for_imap): removed.
5296 * providers/imap/camel-imap-provider.c: Add filter_junk and
5297 filter_junk_inbox options to the receive option page.
5299 * providers/imap/camel-imap-store.c (imap_setv, imap_getv): handle
5300 FILTER_JUNK and FILTER_JUNK_INBOX parameters.
5301 (imap_setv): conver to switch rather than if statement.
5302 (construct): handle url args for filter_junk and
5305 * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Set
5306 the folder's flags based on the stores junk settings.
5307 (imap_update_summary): remove the test for
5308 session_check_junk_for_imap, its handled per-store now.
5310 * camel-folder.c (folder_changed): only check for FILTER_RECENT or
5311 FILTER_JUNK to see if we need to do filtering.
5313 * camel-folder.h (CAMEL_FOLDER_FILTER_JUNK): renamed from
5314 CAMEL_FOLDER_SUPRESS_JUNK_TEST (and obviously inverted logic).
5316 2004-03-02 Jeffrey Stedfast <fejj@ximian.com>
5318 * providers/local/camel-mbox-summary.c
5319 (mbox_summary_encode_x_evolution): Overrides the parent method. We
5320 don't want to encode user flags/tags or the size of the header
5321 will change and force a complete rewrite of the mbox file.
5323 2004-02-25 Jeffrey Stedfast <fejj@ximian.com>
5325 * camel-filter-driver.c (camel_filter_driver_filter_folder): Free
5326 the uids *after* reporting Complete, otherwise we get an FMR if
5327 our caller didn't pass in the uids.
5329 * camel-sasl-gssapi.c (gssapi_challenge): #ifdef out another
5330 gss_release_buffer() call as this function causes memory
5331 corruption if using Heimdal's implementation of Kerberos5. Yay
5334 2004-02-25 Radek Doulik <rodo@ximian.com>
5336 * camel-folder.c (get_unread_message_count): do not avoid junk
5337 mails in unread count
5339 2004-02-25 Not Zed <NotZed@Ximian.com>
5341 * providers/imap/camel-imap-summary.h (CAMEL_IMAP_MESSAGE_RECENT):
5342 moved the RECNET flag into the folder area (bit 17-30).
5344 2004-02-24 Not Zed <NotZed@Ximian.com>
5348 * providers/imap/camel-imap-command.c (camel_imap_command): ref
5349 the folder before unreffing store->current_folder, incase they're
5350 the same. Do a select anyway.
5352 * providers/imap/camel-imap-folder.c (imap_refresh_info): keep the
5353 connect_lock for longer, imap_rescan for one assumes its locked.
5354 Fixes a race selecting the folder for refresh.
5356 2004-02-24 Jeffrey Stedfast <fejj@ximian.com>
5358 * camel-stream-process.c: #include <signal.h>, we don't need limits.h
5360 * camel-store.c (camel_store_folder_uri_equal): New function to do
5361 what camel_store_uri_cmp() was supposed to do.
5363 2004-02-23 Rodney Dawes <dobey@ximian.com>
5365 * providers/local/camel-mbox-store.c (scan_dir): If our folder has
5366 a subdir, but no actual children, then we need to unset the flag for
5367 CAMEL_FOLDER_CHILDREN
5371 2004-02-23 Jeffrey Stedfast <fejj@ximian.com>
5373 * camel-store.c (camel_store_uri_cmp): Removed. Useless/broken
5376 2004-02-20 Jeffrey Stedfast <fejj@ximian.com>
5378 * camel-provider.c (camel_provider_list): Init list to NULL to
5379 prevent the crash in bug #54574.
5381 2004-02-19 Chris Toshok <toshok@ximian.com>
5383 * camel-smime-context.c: wrap this file with #ifdef ENABLE_SMIME
5384 instead of #ifdef HAVE_NSS.
5386 2004-02-19 Jeffrey Stedfast <fejj@ximian.com>
5388 * providers/local/camel-mbox-store.c (get_folder): Add sanity
5389 checking to the folder name if we are going to create it, just
5390 like we do in create_folder().
5392 2004-02-19 Not Zed <NotZed@Ximian.com>
5394 * providers/*/camel-*-provider.c
5395 (camel_provider_module_init): Fixes for api changes.
5397 * camel-provider.c (camel_provider_load): no longer take session
5398 argument. the providers are global resources.
5399 (camel_provider_init): dont return anything anymore. (error?)
5400 call from camel_init now. Use a recursive lock too.
5402 * camel-session.c (camel_session_register_provider)
5403 (camel_session_list_providers, camel_session_get_provider): Moved
5404 to camel-provider, camel_provider_register/list/get.
5405 (vee_provider): moved to camel-provider.c
5407 2004-02-18 Jeffrey Stedfast <fejj@ximian.com>
5409 * camel-gpg-context.c (gpg_verify): Use the trust to decide the
5410 validity signature status. (Better way of solving yesterday's
5413 * camel-cipher-context.h: Revert change from yesterday.
5415 2004-02-17 Jeffrey Stedfast <fejj@ximian.com>
5417 * camel-gpg-context.c (gpg_verify): Set the trust.
5419 * camel-cipher-context.h: Add a trust metric to signatures.
5421 2004-02-17 Not Zed <NotZed@Ximian.com>
5423 * camel-vee-store.c (vee_sync): implment, make sync a noop on vee
5424 stores. Speeds up exit, so we don't try and sync and re-sync
5425 folders multiple times.
5429 * providers/nntp/camel-nntp-summary.c (add_range_xover): Fix from
5430 Edd Dumbill <edd@usefulinc.com> to avoid aborting on irrelevently
5433 2004-02-16 Not Zed <NotZed@Ximian.com>
5437 * providers/imap/camel-imap-store.c (fill_fi): similar to mbox
5439 (get_folder_counts): use fill_fi to try and get folder counts if
5440 we're not doing the hard slog.
5441 (get_one_folder_offline): use fill_fi to try to get folder counts
5442 from open folders or summaries.
5444 * providers/local/camel-maildir-store.c (fill_fi): similar to mbox
5446 (scan_dir): use fill_fi to get the unread count now.
5448 * providers/local/camel-mbox-store.c (fill_fi): helper to lookup
5449 unread count either from active folder or from summary file, if
5451 (scan_dir, get_folder_info): use helper above to get folder info.
5453 * devel-docs/camel-folder-summary.txt: New document describing the
5454 format/conventions in the CamelFolderSummary file.
5456 * providers/nntp/camel-nntp-summary.c (summary_header_load/save):
5457 * providers/imapp/camel-imapp-summary.c (summary_header_load/save):
5458 * providers/imap/camel-imap-summary.c (summary_header_load/save):
5459 Handle versions, per-class version number (1).
5461 * providers/local/camel-mbox-summary.c (summary_header_load/save):
5462 Handle versions properly, add a per-class version (1). Write out the
5463 folder size as a size_t rather than 32 bit int.
5465 * providers/local/camel-local-summary.c (summary_header_load/save):
5466 read/write the per-class version number (1).
5468 * camel-folder-summary.c (summary_header_load): do version
5469 checking differently, allow the version to be bumped without
5470 aborting the load. Added unread/deleted/junk counts to base
5472 (summary_header_save): Save out the new-format header. Version
5475 * camel.c (camel_init): return 0 rather than spit a compiler warning.
5477 * camel-file-utils.c (camel_file_util_encode_*_t): macro-ise the
5478 type encoder/decoders. Also add size_t encoder/decoder.
5480 2004-02-13 Jeffrey Stedfast <fejj@ximian.com>
5482 * providers/imap/camel-imap-store.c (get_folder_online): Same.
5484 * providers/local/camel-mh-store.c (get_folder): Same as maildir
5487 * providers/local/camel-maildir-store.c (get_folder): Make
5488 exceptions strings consistanmt with the mbox exception strings
5489 (and vise versa). Also handle the CAMEL_STORE_FOLDER_EXCL flag.
5491 * providers/local/camel-mbox-store.c (get_folder): Check
5492 CAMEL_STORE_FOLDER_EXCL flag.
5494 * providers/local/camel-local-store.c (get_folder): Simplified by
5495 using camel_mkdir instead of doing it manually.
5497 * camel-store.c (camel_store_get_folder): If the folder exists in
5498 the cache and the O_EXCL flag was passed, return NULL and set an
5501 * camel-store.h: Added a new CAMEL_STORE_FOLDER_EXCL flag for use
5504 2004-02-12 Jeffrey Stedfast <fejj@ximian.com>
5506 * camel-file-utils.c (camel_file_util_encode_string): Since
5507 decoding a string doesn't allow strings longer than 65536,
5508 truncate strings that are longer than 65536 here. Fixes bug
5511 2004-02-09 Not Zed <NotZed@Ximian.com>
5515 * providers/local/camel-mbox-store.c: added ".lock" to the list of
5517 (ignore_file): ignore anything ending in ~ too.
5521 * providers/local/camel-local-folder.c
5522 (camel_local_folder_construct): re-enable indexing when folder is
5523 first opened. Also load defaults if no meta-data present.
5525 2004-02-06 Jeffrey Stedfast <fejj@ximian.com>
5527 * camel-provider.c (camel_provider_init): Use strrchr, not strchr.
5529 * camel-gpg-context.c (gpg_ctx_parse_status): Forget the need_id,
5530 not the userid. Fixes bug #53908.
5532 * camel-store.c (add_special_info): Set a CAMEL_FOLDER_VIRTUAL bit
5533 on the special folder info so our UI can know if it is virtual or
5534 not (meant for vTrash/vJunk).
5535 (camel_store_get_folder_info): Don't add vTrash/vJunk if the
5536 NO_VIRTUAL flag bit is set. Used by the subscriptions editor.
5538 2004-02-06 Not Zed <NotZed@Ximian.com>
5540 * camel-folder.c (camel_folder_set_message_flags): changed to
5541 return a boolean to indicate if the flags were actually changed or
5542 not. Fixed all implementors.
5544 2004-02-05 Not Zed <NotZed@Ximian.com>
5546 * providers/local/camel-mbox-store.c (rename_folder): rename
5547 .cmeta file too, and fix the recovery order.
5549 * providers/local/camel-local-store.c (rename_folder): rename the
5552 * providers/local/camel-local-folder.c (local_rename): fix this to
5553 use local_get_full_path stuff.
5555 * camel-store.c (camel_store_rename_folder): fix umr's comparing
5558 2004-02-05 Not Zed <NotZed@Ximian.com>
5562 * camel-provider.c (camel_provider_init): changed to return a
5563 hashtable of url protocols to CamelProviderModule structs, rather
5564 than simple strings.
5566 * camel-session.c (get_provider): if we load a provider module,
5568 (ensure_loaded): Check the module loaded flag before trying to
5571 * providers/local/libcamellocal.urls: Remove spoold from the list,
5572 since it doesn't exist anymore. Actually fixes #53553, the rest
5573 is to robustify the code.
5575 2004-02-05 Not Zed <NotZed@Ximian.com>
5577 * camel-session.c (CS_CLASS): dont typecheck cast.
5579 * camel-store.c (camel_vjunk_folder_new): removed, use
5581 (setup_special): changed to get_special, with a type now, and
5582 dont add vtrash folders to the sources.
5583 (get_trash, get_junk): down to 1 liners, call get_special
5585 * camel-vtrash-folder.c (CF_CLASS): dont use cast typecheck macros
5586 here, makes debugging easier and removes redundant checks.
5587 (camel_vtrash_folder_init): dont set flags here.
5588 (camel_vtrash_folder_new): takes a new argument, type, for junk
5589 folders too, removed name arg (taken from type).
5590 (vtrash_transfer_messages_to): parameterise flag processing.
5592 2004-02-04 Jeffrey Stedfast <fejj@ximian.com>
5594 * providers/imap/camel-imap-store.c: Get rid of some unnecessary
5595 CAMEL_OBJECT() casts.
5597 * providers/imap/camel-imap-folder.c (camel_imap_folder_new): The
5598 folder_name argument passed to this function is ALWAYS in the UNIX
5599 path form (ie. using '/' as the dir sep) and so when getting the
5600 short_name, don't use imap_store->dir_sep as the dir sep, always
5601 use '/'. Fixes bug #53755 for the IMAP case.
5603 2004-02-04 Jeffrey Stedfast <fejj@ximian.com>
5605 Fix for bug #53755 (local folders case)
5607 * providers/local/camel-mbox-store.c (xrename): No longer takes an
5608 exception arg, we just set errno. Our caller can take care of
5609 setting an exception.
5610 (rename_folder): Don't pass an exception to xrename(), we always
5611 overwrote if an error occured it anyway.
5612 (rename_folder): Rename the .sbd as well.
5614 2004-02-04 Not Zed <NotZed@Ximian.com>
5616 * camel-store.c (camel_store_sync): added 'expunge' parameter,
5617 easier 'empty trash on exit' call.
5618 (store_sync): duh, actually pass expunge to folder_sync.
5620 2004-02-04 Not Zed <NotZed@Ximian.com>
5622 * providers/imap/camel-imap-store.c
5623 (parse_list_response_as_folder_info): if we can't add the folder
5624 to the summary {i.e. duplicate}, then ignore it. See #53836.
5626 * camel-store.c (camel_store_delete_folder): changed order around,
5627 first try to delete and only remove from the object bag if the
5628 delete worked. If vjunk/vtrash enabled, don't allow those to be
5630 (cs_delete_cached_folder): helper to delete the folder if its in
5631 the cache, remove it from trash/junk, etc.
5632 (camel_store_unsubscribe_folder): changed similarly to
5635 * camel-vee-store.c (vee_delete_folder): dont do any trash/junk
5638 2004-02-03 Not Zed <NotZed@Ximian.com>
5640 * camel-store.c: use the folders object bag to manage the trash
5641 folder and junk folders. Remove the init_trash and init_junk
5642 stuff, just use get_trash and get_junk to mean the same thing.
5643 Get rid of the hacked up vjunk and vtrash "uri" stuff too.
5645 * camel-object.c (camel_object_bag_add): null out the pair->func,
5646 otherwise we get an uninitalised memory read during unhook event.
5648 2004-02-03 Jeffrey Stedfast <fejj@ximian.com>
5650 * camel-vee-folder.c (vee_folder_build_folder): Use macro casts
5651 from int to pointer.
5653 * camel-folder.c (camel_folder_change_info_add_source): Same as below.
5654 (camel_folder_change_info_add_source_list): Same.
5656 * camel-folder-search.c (camel_folder_search_execute_expression):
5657 Use GINT_TO_POINTER() to cast 1 to a pointer for
5658 g_hash_table_insert().
5660 * camel-vee-folder.c (vee_folder_remove_folder): 64bit fixes.
5661 (folder_added_uid): Same.
5662 (vee_folder_build_folder): Here too.
5663 (folder_changed_add_uid): And here.
5664 (folder_changed_remove_uid): Same.
5666 2004-02-03 Jeffrey Stedfast <fejj@ximian.com>
5668 * tests/misc/url-scan.c: New test suite for url scanning.
5670 * camel-url-scanner.c: Added single/double quotes to url_braces[]
5671 in case the user is quoting the url.
5672 (camel_url_web_end): Add "-;:" to list of punctuation to strip off
5673 the end of urls. Also fixed to handle user@domain's
5674 (camel_url_addrspec_start): Strip open brace characters from the
5675 beginning of the addr.
5676 (camel_url_web_start): Make sure "www" wasn't part of something
5677 not a url (like "Ewww.Gross") by check that pos[-1] is either an
5678 open brace or whitespace.
5679 (camel_url_addrspec_end): Don't allow toplevel domain addr-specs
5680 (if we encounter something that looks like it is a toplevel domain
5681 addr, it is more likely to be bogus than correct).
5683 2004-02-02 Jeffrey Stedfast <fejj@ximian.com>
5685 Fixes for bug #53091.
5687 * providers/imap/camel-imap-store.c (create_folder): Set the new
5688 folder's fi->flags to CAMEL_FOLDER_NOCHILDREN since we know it
5689 doesn't have any (we just created it!).
5690 (subscribe_folder): Same.
5692 * camel-store.c (folder_info_clone_rec): Copy the flags too. Fixes
5693 the local folder case of bug #53091.
5695 2004-01-31 Jeffrey Stedfast <fejj@ximian.com>
5697 * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Same
5700 * providers/smtp/camel-smtp-transport.c (smtp_connect): Instead of
5701 using the form %s@%s in the password prompt, use %s on host %s,
5702 hopefully this will be less confusing to users who have usernames
5703 of the form user@vhost.
5705 2004-01-30 Rodney Dawes <dobey@ximian.com>
5707 * providers/groupwise/camel-groupwise-provider.c: Fix spelling error in
5708 provider description
5712 2004-01-30 Jeffrey Stedfast <fejj@ximian.com>
5714 * camel.c (camel_init): Protect against multiple camel_init()
5715 calls. Remember if we've already been called.
5717 2004-01-30 Not Zed <NotZed@Ximian.com>
5719 * camel-store.c (camel_store_rename_folder): copy the old_name
5720 that comes in, since it might be the actual folder_name, which
5721 will go away during processing. Related to #53123.
5723 2004-01-29 Not Zed <NotZed@Ximian.com>
5727 * providers/nntp/camel-nntp-store.c
5728 (nntp_store_get_cached_folder_info): don't dereference last before
5729 checking if its null.
5731 * camel-object.c (camel_object_bag_rekey): added a doc comment.
5735 * camel-session.c (get_service): free the url once done, it now
5736 gets copied by the service.
5738 * camel-service.c (construct): copy the url that comes in, don't
5739 just '0Wn34z' it. clena up exception handling too.
5741 2004-01-29 Not Zed <NotZed@Ximian.com>
5743 * camel-object.c (cobject_state_write): output scan->name and
5744 scan->value for writing metadata, rather than meta->name/value
5745 which just duplicates the last entry, related to #53195.
5747 * camel-url.c (camel_url_free): zero out passwd/user/host before
5750 2004-01-28 Jeffrey Stedfast <fejj@ximian.com>
5752 * providers/local/camel-mbox-store.c (rename_folder): Make sure
5753 the new dir path exists before trying to rename files to avoid
5754 ENOENT errors. Also save errno when we encounter errors so that we
5755 can report the true error later rather than an error we may get
5756 while reverting changes. Also, it is OK if the ibex files don't
5757 exist, so check for that errno case.
5759 2004-01-28 Sivaih Nallagatla <snallagatla@novell.com>
5761 * providers/groupwise/camel-gw-listener.c (account_changed)
5762 (modify_esources) : add port and /soap parts to relative uri while
5763 updating it when account changed
5765 2004-01-27 Radek Doulik <rodo@ximian.com>
5767 * providers/imap/camel-imap-folder.c (camel_imap_folder_new): set
5768 CAMEL_FOLDER_SUPRESS_JUNK_TEST flag
5769 (imap_update_summary): update CAMEL_FOLDER_SUPRESS_JUNK_TEST flag
5771 * camel-folder.c (folder_changed): use
5772 CAMEL_FOLDER_SUPRESS_JUNK_TEST flag instead of check_junk_for_imap
5774 * camel-folder.h (CAMEL_FOLDER_SUPRESS_JUNK_TEST): added new flag
5776 2004-01-27 Not Zed <NotZed@Ximian.com>
5780 * camel-store.c (camel_store_rename_folder): use object_bag_rekey
5781 to rename the object. object_bag use was broken.
5783 * camel-object.c (camel_object_bag_rekey): new api to atomically
5786 2004-01-23 Radek Doulik <rodo@ximian.com>
5788 * camel-folder.c (folder_changed): use check_junk_for_imap flag
5790 * camel-session.c: add check_junk_for_imap flag
5792 2004-01-23 Not Zed <NotZed@Ximian.com>
5794 * providers/imap/camel-imap-folder.c (IMAP_SMALL_BODY_SIZE):
5795 removed the meaningless fixme, a butt-retrieved-number is as good
5796 as any in this case.
5797 (imap_get_message): revert peterw's change of 2002-07-15, instead
5798 of checking for online mode here, let get_message do it when you
5799 retrieve the parts. This lets a multi-fetch (i.e. large) message
5800 work more betterer in offline mode.
5802 2004-01-22 Jeremy Katz <katzj@redhat.com>
5804 * camel-mime-part.c: Fix prototype to be consistent.
5806 2004-01-21 Not Zed <NotZed@Ximian.com>
5810 * camel-data-cache.c (camel_data_cache_add): put a do-loop around
5811 the object_bag_reserve stuff, otherwise we can add/abort out of
5812 sync (i.e. when object_bag_reserve returned a pointer we mustn't
5815 * camel-object.c (camel_object_bag_*): Added some inline doco.
5817 2004-01-20 Not Zed <NotZed@Ximian.com>
5821 * camel-session.c (camel_session_get_password): merged reprompt
5822 and secret into a flags field, and add more options. Fixed all
5827 * camel-gpg-context.c (gpg_ctx_parse_status): use need_id as the
5828 password key, not userid.
5830 2004-01-19 Siviaah Nallagatla <snallagatla@novell.com>
5832 * providers/groupwise/camel-gw-listener.c
5833 (remove_calender_tasks_sources, modify_calender_tasks_sources):
5834 add port and "/soap" to source uri
5836 2004-01-19 Not Zed <NotZed@Ximian.com>
5838 * camel-vee-store.c (change_folder): use a CamelURL to properly
5839 encode the url we generate.
5840 (vee_get_folder_info): ditto.
5841 (vee_get_folder_info): removed unused variable/warning.
5843 * camel-session.c (vee_provider): Update the provider flags for
5844 URL_FRAGMENT_IS_PATH.
5846 * providers/imapp/camel-imapp-utils.c (imap_parse_addfress_list):
5847 namespaces fixes for HEADER_ADDRESS*
5849 2004-01-17 Jeffrey Stedfast <fejj@ximian.com>
5851 * providers/imap/camel-imap-folder.c (imap_sync_online): Limit the
5852 flags we set (or unset) to the folder's permanent flags.
5854 2004-01-16 Jeffrey Stedfast <fejj@ximian.com>
5856 * camel-mime-message.c (camel_mime_message_build_mbox_from): Same.
5858 * camel-internet-address.c (internet_decode): Same.
5860 * camel-mime-utils.[c,h]: Namespaced camel_header_address_t enums
5861 s/HEADER_ADDRESS_/CAMEL_HEADER_ADDRESS_/g
5863 2004-01-16 Sivaiah Nallagatla <snallagatla@novell.com>
5865 * providers/groupwise/camel-groupwise-provider.c: added some conf
5866 entries for LDAP address setup
5868 * providers/groupwise/camel-gw-listener.c: added
5869 add_ldap_addressbook_source, modify_ldap_addressbook_source,
5870 remove_ldap_addressbook_source functions for setting up LDAP
5871 address book. Also setting "username" property on cal/tasks
5874 2004-01-15 Not Zed <NotZed@Ximian.com>
5878 * camel-object.c (camel_object_bag*): Support reserving different
5879 keys from the same thread. Oh the pain.
5881 * camel-vee-store.c (vee_get_folder_info): implement child flags
5882 properly. Changed to build tree itself rather than calling
5883 camel_folder_info_build.
5884 (vee_get_folder): if we're adding a folder with dummy parents,
5885 create and add the dummy parent folders too (as real folder
5886 objects). We are the only owner of the ref, so this sort of leaks
5887 the folder, but they're small.
5889 2004-01-14 Rodrigo Moya <rodrigo@ximian.com>
5891 * providers/groupwise/camel-groupwise-provider.c
5892 (camel_provider_module_init): missing renaming.
5894 2004-01-14 Rodrigo Moya <rodrigo@ximian.com>
5896 * providers/groupwise/camel-gw-listener.c (add_esource): set the
5897 "auth" property on the ESource's we create, to get authentication.
5899 2004-01-14 Not Zed <NotZed@Ximian.com>
5901 ** Patch from Timo Sirainen <tss@iki.fi> to honour read-only
5902 status for imap folders.
5904 * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
5905 check for read-only status response.
5906 (imap_sync_online): only call sync_offline if we're read-only.
5907 (imap_expunge_uids_resyncing): NOOP for read-only.
5909 2004-01-14 Not Zed <NotZed@Ximian.com>
5911 * providers/local/camel-local-folder.c (local_getv): remove debug
5916 * camel-smime-context.c (sm_get_passwd): removed debugging. If we
5917 get called multiple times in a row, then forget the old password
5918 and re-prompt - it was a bad password. Zero out password memory
5921 2004-01-13 Rodrigo Moya <rodrigo@ximian.com>
5923 * providers/groupwise/camel-groupwise-provider.c: missing renaming.
5925 2004-01-13 Sivaiah Nallagatla <snallagatla@novell.com>
5927 * providers/groupwise/camel-gw-listener.[ch]: renamed
5928 groupwise-config-listener.[ch] to these file names and also
5929 changed code to use CamelURL insted of EUri
5931 * providers/groupwise/camel-groupwise-provider.c: use the renamed
5932 config listener apis
5934 * providers/groupwise/Makefile.am: changed the source file names
5936 2004-01-12 Meilof Veeningen <meilof@wanadoo.nl>
5938 * providers/nntp/camel-nntp-folder.[ch]: now based on discofolder,
5939 cache_message and append_message implemented, only retrieve messages
5940 when we are subscribed, some stubs
5942 * providers/nntp/camel-nntp-provider.c: newsgroup name display
5943 settings, password authentication, fix for check_equal where the
5944 protocols wouldn't be checked
5946 * providers/nntp/camel-nntp-store.[ch]: base on discostore with
5947 online/offline support, subscriptions, downloading changed parts of
5948 the newsgroup list, some stubs, authentication, automatic reconnect
5950 * providers/nntp/camel-nntp-store-summary.[ch]: NNTP store
5951 summary based on IMAP code
5953 * providers/nntp/camel-nntp-summary.c: save summary after xover
5955 * providers/nntp/camel-nntp-grouplist.h: added CamelNNTPGroupList
5958 * providers/nntp/Makefile.am: added store summary
5960 2004-01-12 Not Zed <NotZed@Ximian.com>
5964 * providers/imap/camel-imap-folder.c (get_content): pass in
5965 transfer encoding when setting up wrapper part.
5967 * providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
5968 Added an encoding type parameter, set on data wrapper.
5970 2004-01-10 Jeffrey Stedfast <fejj@ximian.com>
5972 * camel-mime-utils.c (rfc2047_encode_word): if e_iconv() returns
5973 -1, check that errno != EINVAL - if errno *is* EINVAL, it just
5974 means that our convlen wasn't long enough to include the whole
5975 sequence. This is fine, we'll just start where we left off next
5976 loop thru. Fixes bug #52593 (the buffer was duplicated because
5977 state wasn't flushed).
5978 (camel_header_encode_string): Fixed a type-o in loop where
5979 encoding=0, don't g_string_append_len starting at 'word'
5980 inptr-start bytes long - 'word' could be NULL and/or inptr-start
5981 could be longer than inptr-word.
5983 2004-01-09 Rodney Dawes <dobey@ximian.com>
5985 * providers/groupwise/Makefile.am (EXTRA_DIST): libcamelgroupwise.urls
5986 instead of libcamelimap.urls
5988 2004-01-09 Sivaiah Nallagatla <snallagatla@novell.com>
5990 * providers/groupwise/groupwise-config-listener.c
5991 (is_groupwise_account): added null check for source url to take
5992 care of accounts with Server Types as "None"
5994 2004-01-09 Not Zed <NotZed@Ximian.com>
5996 * providers/imap/camel-imap-store.c (imap_forget_folder): fix
5997 removal of journal file, and remove the cmeta state file too.
5999 * providers/imap/camel-imap-folder.c (imap_getv): count up so we
6000 call parent class if we missed any, rather than only if we didn't
6002 (imap_rename): rename the object state file.
6003 (camel_imap_folder_new): set the object state file for persistent
6006 * camel-disco-folder.c (disco_getv): support
6007 (PERSISTENT_)PROPERTIES & OFFLINE_SYNC.
6008 (disco_setv): implement OFFLINE_SYNC.
6009 (camel_disco_folder_get_type): setup disco properties list.
6010 (cdf_folder_changed): honour the offline_sync setting on the
6012 (disco_sync): save object state.
6013 (disco_setv): save object state if it changed.
6015 * camel-data-wrapper.c (camel_data_wrapper_set_mime_type_field):
6016 move assertions here.
6017 (set_mime_type_field): change order slightly to properly handle
6018 setting the same object. removed assertions from internal method.
6020 2004-01-08 Sivaiah Nallagatla <snallagatla@novell.com>
6022 * providers/Makefile.am : add groupwise to SUBDIRS
6024 * providers/groupwise/camel-groupwise-provider.c: new camel
6025 provider for groupwise
6027 * providers/groupwise/groupwise-config-listener.[ch] : new class
6028 to add e-sources for groupwise calender and tasks
6030 * providers/groupwise/Makefile.am : added new files to Makefile.am
6032 2004-01-05 JP Rosevear <jpr@ximian.com>
6034 * camel-utf8.c: include sys/types.h for freebsd
6036 2004-01-05 Rodrigo Moya <rodrigo@ximian.com>
6038 * providers/groupwise/camel-groupwise-provider.c (groupwise_url_hash,
6039 groupwise_url_equal): renamed from imap_*.
6041 2004-01-05 Not Zed <NotZed@Ximian.com>
6043 * camel-tcp-stream-raw.c (socket_connect): check the right return
6044 of the socket call, dont set fd to the value of the -1 check!
6046 2003-12-27 Jeffrey Stedfast <fejj@ximian.com>
6048 * camel-tcp-stream-raw.c (socket_connect): Save errno and check
6049 the return of the socket() call.
6051 2003-12-24 Rodrigo Moya <rodrigo@ximian.com>
6053 * providers/groupwise/camel-groupwise-provider.c
6054 (camel_provider_module_init): g_module_open the other providers we
6055 depend on to avoid load ordering problems.
6057 2003-12-22 Rodrigo Moya <rodrigo@ximian.com>
6059 * providers/groupwise/camel-groupwise-provider.c: removed useless
6060 configuration options, and added other options from the IMAP
6062 (camel_provider_module_init): register a SMTP transport object
6063 also, and removed SASL registration, since we don't support it.
6065 2003-12-19 Sivaiah Nallagatla <snallagatla@novell.com>
6067 * providers/groupwise/Makefile.am:
6068 * providers/groupwise/libcamelgroupwise.urls:
6069 * providers/groupwise/camel-groupwise-provider.c: added Camel
6070 provider for Groupwise accounts, based on the IMAP one.
6072 2003-12-11 Jeffrey Stedfast <fejj@ximian.com>
6074 * camel-gpg-context.c (gpg_ctx_parse_status): Don't immediately
6075 prompt for a passwd after receiving the NEED_PASSPHRASE status
6076 message. Instead, parse the userid that gpg needs a passwd for and
6077 store it on our context. Wait for a GET_HIDDEN status message
6078 before prompting, this way if the user has their gpg configured to
6079 use gpg-agent, the user won't get 2 passwd prompts.
6080 (gpg_sign): Fixed to not free a gpg context that we have not
6081 allocated (could happen in a fail case).
6083 2003-12-10 Jeffrey Stedfast <fejj@ximian.com>
6085 * providers/local/camel-mbox-store.c (get_folder_info): Use
6086 CAMEL_FODLER_NOCHILDREN rather than NOINFERIORS because
6087 NOINFERIORS means the folder cannot contain subfolders. However,
6088 our mbox structure always allows subfolders.
6091 * camel-store.h: Add a CAMEL_FOLDER_NOCHILDREN flag.
6093 * providers/imap/camel-imap-store.c (get_folders): Same as below.
6095 * providers/imap/camel-imap-utils.c (imap_parse_list_response):
6096 s/CAMEL_IMAP_FOLDER_NOCHILDREN/CAMEL_FOLDER_NOCHILDREN/
6098 2003-12-10 Not Zed <NotZed@Ximian.com>
6100 * camel-smime-context.c (sm_verify): also check
6101 application/pkcs7-signature (bloody applemail).
6102 (camel_smime_context_describe_part): as above, and fix the logic.
6103 dont think its used anyway. Bug #51750.
6105 2003-12-10 Not Zed <NotZed@Ximian.com>
6107 * Makefile.am (libcamel_la_SOURCES): put the
6108 camel-smime-context.[ch] back in here, remove it from EXTRA_DIST,
6109 and make it compile optinally the same way camel-tcp-stream-ssl.c
6112 * camel-smime-context.c (sm_verify_cmsg): add signer info to
6115 * camel-cipher-context.c (CamelCipherValidity): Added certinfo to
6116 validity for signing and encrypting, so we can find the keys later
6118 (camel_cipher_validity_add_certinfo): add signer or
6119 encrypter info to the validity.
6120 (camel_cipher_validity_envelope): add sign/encrypt keys.
6122 2003-12-10 Not Zed <NotZed@Ximian.com>
6124 * camel-stream-process.c (do_exec_command): remove dthe clearenv
6125 stuff, not sure why its there. s/setenv/putenv/ for portability.
6128 2003-12-08 Jeffrey Stedfast <fejj@ximian.com>
6130 * camel-mime-utils.c (header_decode_rfc2184_param): Revert the
6131 s/is_/camel_mime_is_/ changes or we get really long variable
6133 (header_decode_param): Same.
6134 (header_decode_param_list): Here too.
6136 2003-12-09 Not Zed <NotZed@Ximian.com>
6140 * providers/imap/camel-imap-store.c (get_folders): add the first
6141 fi to the info's hash, so we dont duplicate it if we come across
6142 it again (which we generally will).
6144 2003-12-09 Not Zed <NotZed@Ximian.com>
6146 * providers/smtp/camel-smtp-transport.c (smtp_send_to): encode the
6147 address before sending it out, rather than using the raw/utf8
6150 * camel-internet-address.c
6151 (camel_internet_address_encode_address): check for quoting the
6152 local part of the address before outputting it.
6153 (cia_encode_addrspec): quote local part if need be.
6154 (camel_internet_address_encode_address): make folding optional
6155 based on whether inlen is null or not.
6157 * camel-mime-utils.[ch]: rename is_* to camel_mime_is_* and export
6160 2003-12-08 Not Zed <NotZed@Ximian.com>
6162 * providers/imap/camel-imap-utils.c (imap_atom_specials): add } to
6163 the atom specials list. This isn't correct, but some busted
6164 servers expect it. Bug #50728.
6166 2003-12-08 Jeffrey Stedfast <fejj@ximian.com>
6170 * providers/local/camel-mbox-store.c (delete_folder): Same.
6172 * providers/local/camel-local-store.c (delete_folder): Unlink the
6175 2003-12-06 JP Rosevear <jpr@ximian.com>
6177 * */Makefile.am: Remove hard coded disable deprecated flags
6179 2003-12-05 Jeffrey Stedfast <fejj@ximian.com>
6181 * camel-gpg-context.c (gpg_ctx_op_start): Properly set the
6182 O_NONBLOCK flag along with any previously set flags.
6184 * camel-filter-search.c (run_command): Don't set O_NONBLOCK on the
6185 pipe (1. we don't need to, and 2. we should have been setting
6186 O_NONBLOCK|prev_flags but we weren't, and so the pipe got
6187 O_RDONLY|O_NONBLOCK even tho we wanted to write to it).
6189 * camel-filter-driver.c (pipe_to_system): Same.
6191 2003-12-04 Radek Doulik <rodo@ximian.com>
6193 * camel-folder.c (folder_changed): check recent messages for junk
6196 * camel-session.c (camel_session_check_junk): new wrapper method
6198 (camel_session_set_check_junk): ditto
6200 * camel-session.h (struct _CamelSession): added check_junk flag
6201 (if to check incoming mail for junk messages)
6203 2003-12-03 Jeffrey Stedfast <fejj@ximian.com>
6205 * camel-store.c (add_special_info): Free fi->path if we are gonna
6206 replace it with the vinfo path.
6208 * providers/local/camel-mbox-store.c (create_folder): Treat
6209 parent_name == NULL and parent_name == "" the same.
6211 * camel-store.c (camel_store_get_folder_info): Only add
6212 vTrash/vJunk info's if we've requested the toplevel folder tree,
6213 otherwise we get vTrash/vJunk folders in odd places in the folder
6215 (add_special_info): Use the provider->url_flags to determine if
6216 the url uses the fragment or not for the path.
6218 2003-12-02 Not Zed <NotZed@Ximian.com>
6220 * providers/local/camel-local-folder.c (local_setv): remove some
6225 * camel-url.c (camel_url_decode): robustify url decoding for bad
6226 input, addresses a crash.
6230 * camel-gpg-context.c (gpg_ctx_free): handle the context being
6231 NULL, and exit silently.
6233 2003-12-01 Jeffrey Stedfast <fejj@ximian.com>
6235 * camel-process.c (camel_process_fork): Start at fd = 3.
6237 * camel-gpg-context.c (gpg_ctx_op_start): Same.
6239 * camel-filter-driver.c (pipe_to_system): Same.
6241 * camel-filter-search.c (run_command): Start at fd = 3.
6243 2003-12-01 Jeffrey Stedfast <fejj@ximian.com>
6245 * camel-stream-process.c (do_exec_command): Same.
6247 * camel-process.c (camel_process_fork): Same.
6249 * camel-filter-search.c (run_command): Same as below.
6251 * camel-filter-driver.c (pipe_to_system): Same as below.
6253 * camel-gpg-context.c (gpg_ctx_op_start): Use fcntl() to set
6254 FD_CLOEXEC on each fd rather than close()ing it. Apparently
6255 Linux's older pthread implementations use sockets and so this
6256 fouls threading up. GO LINUX! GO!
6258 2003-12-01 Radek Doulik <rodo@ximian.com>
6260 * camel-store.c (add_special_info): set SUBSCRIBED and NOINFERIORS
6261 flags to special folders, renamed method from
6262 add_vtrash_or_vjunk_info
6263 (camel_store_get_folder_info): call add_special_info directly
6265 2003-11-28 Radek Doulik <rodo@ximian.com>
6267 * camel-store.c (camel_store_get_folder_info): use old code from
6268 mail-ops to add vtrash/vjunk info
6270 2003-11-28 David Woodhouse <dwmw2@redhat.com>
6272 * providers/imap/camel-imap-provider.c: Enable GUI option for
6273 'custom command' connection.
6274 * providers/imap/camel-imap-store.c: Don't g_free strings in
6275 .rodata. It's considered rude.
6277 2003-11-28 Not Zed <NotZed@Ximian.com>
6279 * camel-mime-utils.c (mail_list_magic[]): Added list-unsubscribe
6282 2003-11-26 Not Zed <NotZed@Ximian.com>
6284 * camel-smime-context.c (sm_verify_cmsg): take a stream rather
6285 than a part for the content.
6286 (sm_verify): get the content directly as a stream.
6288 * camel-multipart-signed.c
6289 (camel_multipart_signed_get_content_stream): new api to get the
6290 content stream which will match the signed version.
6292 2003-11-26 JP Rosevear <jpr@ximian.com>
6294 * Makefile.am: make sure we always dist the smime stuff
6296 2003-11-26 JP Rosevear <jpr@ximian.com>
6298 * Makefile.am (libcamelinclude_HEADERS): conditionally compile
6301 2003-11-25 Not Zed <NotZed@Ximian.com>
6303 * camel-cipher-context.c (camel_cipher_validity_envelope): change
6304 args to make it suit storing the validity in a tree.
6305 (camel_cipher_validity_init): init the list header.
6306 (camel_cipher_validity_clone): call validity_new so it gets init
6308 (camel_cipher_validity_free): free any children nodes recursively.
6310 * camel-cipher-context.h (CamelCipherValidity): added next/prev
6313 2003-11-18 Jeffrey Stedfast <fejj@ximian.com>
6315 * camel-session.c (camel_session_finalise): Don't destroy the
6316 providers as it mans we can never ever have more than 1 session
6317 object. See bug #51119 for details.
6319 2003-11-17 Jeffrey Stedfast <fejj@ximian.com>
6321 * providers/local/camel-mbox-store.c (create_folder): Fixed an
6322 exception to give a more meaningful description.
6323 (get_folder_info): We always want to scan at least one level deep.
6325 2003-11-14 Jeffrey Stedfast <fejj@ximian.com>
6327 * providers/local/camel-mbox-store.c (get_folder_info): Handle ""
6328 as a request for a full dirscan as well (not just NULL). Makes it
6329 consistant with other stores.
6330 (scan_dir): Set the fi->flags appropriately.
6332 * providers/local/camel-mbox-folder.c
6333 (camel_mbox_folder_get_full_path): Removed temporary hack.
6335 2003-11-14 Not Zed <NotZed@Ximian.com>
6337 * camel-mime-parser.c (SCAN_BUF): oops, put the mempool stuff
6338 back, we don't use e-memory afterall. Damn plane hacking.
6340 2003-11-13 Not Zed <NotZed@Ximian.com>
6342 * camel-mime-parser.c: Remove mempool code, we use the stuff in
6344 (PRESERVE_HEADERS): new compile option, if on, we preserve headers
6345 and folding exactly rather than unfolding all input. THIS BREAKS
6346 EVERYTHING right now, so don't turn it on.
6348 * camel-gpg-context.c (gpg_decrypt): reset the input memstream
6349 before passing it to the gpg engine.
6351 * tests/smime/pgp-mime.c (main): redirect /dev/null to stdin so it
6352 doesn't hang waiting for input.
6353 (main): removed from build - this tests multipart/signed
6354 explictly, but now the details of this is handled directly by the
6357 * tests/smime/pgp.c (main): fixes for api changes.
6358 (main): redirect /dev/null to stdin so it doesn't hang waiting for
6361 * tests/message/test1.c (main): update for api changes.
6363 * camel-smime-context.c (sm_verify): look at the content object's
6364 mime type, not the container's type.
6366 2003-11-11 Not Zed <NotZed@Ximian.com>
6368 * camel-cipher-context.c (camel_cipher_validity_set_valid): take
6369 into account the @valid argument and set validity properly.
6370 (camel_cipher_validity_clone): new method to copy validities.
6372 * camel-smime-context.c (sm_signing_cmsmessage): removed a todo.
6374 2003-11-10 Not Zed <NotZed@Ximian.com>
6376 * camel-smime-context.c (sm_verify_cmsg): split out the CMSMessage
6377 verification code so it can be used from enveloped or externally
6380 * camel-cipher-context.c (camel_cipher_verify): only take a
6381 mimepart, internally handle multiparts and the hash.
6383 2003-11-07 Not Zed <NotZed@Ximian.com>
6385 * camel-cipher-context.c: make ciphervalidity a public structure,
6386 added encrypt status.
6387 (camel_cipher_decrypt): changed to return a ciphervalidity. fixed
6389 (camel_cipher_validity_*): Fixed implementations to match new
6390 structure, some of this is now redundant.
6392 2003-11-06 Not Zed <NotZed@Ximian.com>
6394 * camel-smime-context.c (camel_smime_context_describe_part):
6397 2003-11-05 Jeffrey Stedfast <fejj@ximian.com>
6399 * providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
6400 bother trying to see if the server advertises EHLO. Simply always
6401 try EHLO and fall back to HELO if EHLO fails. Fixes bug #50535.
6403 2003-11-05 Not Zed <NotZed@Ximian.com>
6405 * camel-smime-context.c (camel_smime_context_describe_part): new
6406 (unfinished) api to peek inside smime parts to tell us whats in
6409 2003-11-03 Not Zed <NotZed@Ximian.com>
6411 * camel-gpg-context.c (gpg_encrypt): Make this output the
6412 full multipart/encrypted part, not just the encrypted content part.
6414 * camel-cipher-context.c (camel_cipher_sign): change to output
6415 full mime part, not just a stream.
6416 (camel_cipher_canonical_to_stream): utility function to
6417 canonicalise a mimepart to a stream.
6419 * camel-smime-context.c (sm_encode_cmsmessage): removed.
6420 (sm_sign): change interface to output a full mime-part, not just a
6421 part of a mime part in multipart/signed mode.
6423 2003-11-04 Jeffrey Stedfast <fejj@ximian.com>
6425 * camel-gpg-context.c (gpg_ctx_parse_status): We might need to
6426 convert the passwd from UTF-8 into the locale charset. Fixes bug
6429 2003-10-31 Not Zed <NotZed@Ximian.com>
6431 * camel-cms-context.[ch]: removed, now redundant.
6433 2003-10-30 Not Zed <NotZed@Ximian.com>
6435 * camel-smime-context.c (sm_get_passwd): implement something basic.
6437 * camel-cipher-context.h: Added a note about api inconsistencies.
6439 2003-10-30 Not Zed <NotZed@Ximian.com>
6441 * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
6442 fix for cipher_decrypt changes.
6444 * camel-gpg-context.c, camel-cipher-context.c: moved all the init
6445 code to the end to save having to keep forward declarations
6447 (camel_cipher_decrypt): changed to take mimepart input and return
6449 (gpg_decrypt): fix for changed args.
6451 2003-10-29 Not Zed <NotZed@Ximian.com>
6453 * camel-smime-context.[ch]: replaced entirely with a new
6454 implementation which inherits from camel-cipher-context, and add
6457 * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt):
6458 fix for cipher_encrypt api changes.
6459 (camel_multipart_encrypted_decrypt): use g_ascii_strcasecmp.
6461 * camel-gpg-context.c (gpg_encrypt): Fix to handle input/output as
6464 * camel-cipher-context.c (camel_cipher_encrypt): change to take
6465 mimeparts rather than streams as input/output. And remove the
6466 'sign' argument, it is implied if userid is supplied.
6468 2003-10-28 Not Zed <NotZed@Ximian.com>
6470 * tests/smime/pgp.c (main): fix for ciphercontext api changes.
6472 * camel-multipart-signed.c (camel_multipart_signed_verify): pass
6473 in the part to cipher_verify directly.
6474 (camel_multipart_signed_sign): let the cipher context setup the
6477 * camel-gpg-context.c (gpg_sign): put the signature stream into a
6478 mimepart, with appropriate headers/encoding.
6479 (swrite): write out a mimepart rather than a stream.
6480 (gpg_verify): handle changed args.
6482 * camel-cipher-context.c (camel_cipher_sign): write the signature
6483 to a mimepart rather than a simple stream.
6484 (camel_cipher_verify): take the signature as a mimepart not a
6487 2003-10-22 Not Zed <NotZed@Ximian.com>
6489 * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for
6490 ucs2 stuff. ucs2 is 16 bit truncated unicode.
6492 2003-10-28 Jeffrey Stedfast <fejj@ximian.com>
6494 * camel-mime-utils.c: We should check List-Post before List-Id
6495 (List-Post has to contain the mailing-list posting address,
6496 whereas List-Id does not.) WAlso moved X-Loop to after List-Id to
6497 make FreeBSD lusers happy. Fixes bug #32297.
6499 2003-10-28 Jeffrey Stedfast <fejj@ximian.com>
6503 * providers/imap/camel-imap-store.c (connect_to_server): Same
6506 * providers/pop3/camel-pop3-store.c (connect_to_server): Same as
6509 * providers/smtp/camel-smtp-transport.c (connect_to_server): If
6510 HAVE_SSL is undefined, don't default to raw connections if the
6511 option to connect via ssl is set. Instead set an exception and
6514 2003-10-27 Frederic Crozat <fcrozat@mandrakesoft.com>
6516 * camel-mime-utils.c: (camel_header_decode_date):
6517 better detection of broken date to give to broken_date_parser.
6519 2003-10-24 Jeffrey Stedfast <fejj@ximian.com>
6521 * camel-text-index.c (text_index_name_add_buffer): If a word is
6522 longer than CAMEL_TEXT_INDEX_MAX_WORDLEN, then ignore it. This
6525 2003-10-23 Jeffrey Stedfast <fejj@ximian.com>
6527 * *.c: Removed unneeded CAMEL_OBJECT() casts.
6529 2003-10-21 Not Zed <NotZed@Ximian.com>
6531 * providers/local/camel-local-folder.c (local_getv, local_setv):
6532 use the right tag name for the index_body arg.
6533 (local_sync): write any persistent metadata - to make it
6535 (camel_local_folder_construct): turn off indexing, for now, it
6536 should be done in local_setv.
6538 * providers/local/camel-local-folder.h: change body_index to a bool
6541 * camel-object.c (cobject_state_read, cobject_state_write): handle
6543 (cobject_state_write): make sure we free all arg types.
6545 * camel-arg.c (camel_argv_build):
6546 (camel_arggetv_build): handle bool type.
6548 * camel-arg.h: Added BOO (bool) type.
6550 2003-10-15 Not Zed <NotZed@Ximian.com>
6552 * camel-store.c (camel_folder_info_build): Fix so we output the
6553 tree in sorted depth-first order, rather in reverse.
6555 2003-10-16 Jeffrey Stedfast <fejj@ximian.com>
6557 * camel-sasl-kerberos4.c: Fixed a #include.
6559 2003-10-10 Not Zed <NotZed@Ximian.com>
6561 * providers/local/camel-local-provider.c: set the url fragment
6562 flag for local providers.
6564 * camel-provider.h: Move the URL_PART_NEED bits to the high 16
6565 bits, to allow for easier changes in the future. Added a
6566 URL_PART_FRAGMENT flag for providers that use fragment = folder
6569 2003-10-09 Jeffrey Stedfast <fejj@ximian.com>
6571 * camel-mime-utils.c (header_decode_date): Allow timezone offsets
6572 to be up to 14 hours ahead of UTC. Fixes bug #49357.
6574 * broken-date-parser.c (get_tzone): Same.
6576 2003-10-08 Jeffrey Stedfast <fejj@ximian.com>
6578 * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an
6581 2003-09-25 Jeffrey Stedfast <fejj@ximian.com>
6583 * providers/smtp/camel-smtp-transport.c (smtp_helo): If the
6584 localhost lookup results in a numeric IPv6 host, use the form
6585 "[IPv6:<addr>]" as specified in rfc2821. Fixes bug #46006.
6587 2003-09-23 Ettore Perazzoli <ettore@ximian.com>
6589 * providers/local/camel-local-provider.c: Set the IS_STORAGE bit
6590 in the mbox provider, since it can now contain a hierarchy of
6593 2003-09-23 Jeffrey Stedfast <fejj@ximian.com>
6595 * providers/local/camel-mbox-store.c (get_folder): If the CREATE
6596 flag is set and the parent .sbd directory does not exist, create
6599 * camel-mime-utils.c (append_8bit): Don't forget to flush the
6602 * tests/message/test4.c (main): Don't try dot-files.
6604 2003-09-22 Not Zed <NotZed@Ximian.com>
6608 * providers/pop3/camel-pop3-folder.c (cmd_tocache): protect a
6609 divide by 0 for 0 length messages.
6611 2003-09-22 Not Zed <NotZed@Ximian.com>
6613 * providers/imap/camel-imap-provider.c: Added "offline_sync"
6614 option, which lets you synchronise all mail to local storage
6617 * camel-disco-folder.c (cdf_folder_changed): hook onto the folder
6618 changed single, for all new messages, check that they are online
6619 using another thread, if the offline_sync option has been enabled
6622 2003-09-21 Not Zed <NotZed@Ximian.com>
6624 * camel-session.c (session_thread_destroy): call proper entry
6625 point for freeing the message.
6627 2003-09-18 Not Zed <NotZed@Ximian.com>
6629 * camel-folder.c (filter_filter): register the filtering process
6630 for progress, and do progress of the filtering process.
6632 2003-09-17 Not Zed <NotZed@Ximian.com>
6634 * camel.c (camel_init): init camel operation.
6636 * camel-operation.c (camel_operation_reset): removed, not used,
6638 (camel_operation_mute): new method to stop all status updates
6640 (*): Changed to use thread specific data and a list rather than a
6642 (cancel_thread): removed.
6643 (camel_operation_register): return the previously registered op.
6645 2003-09-22 Jeffrey Stedfast <fejj@ximian.com>
6647 * providers/nntp/camel-nntp-store.c (connect_to_server): Fix the
6648 code that creates a new ssl stream to pass the correct arguments
6649 and the proper flags.
6651 * providers/imapp/camel-imapp-folder.c (imap_sync): Cast the
6652 CamelFolder to a CamelIMAPPFolder to hush some compiler warnings.
6654 * camel-mime-utils.h: Define a struct _CamelContentDisposition
6655 (allows the imapp code to compile)
6657 * providers/imapp/camel-imapp-driver.c: #include <string.h>
6659 2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
6661 * camel-mime-utils.c (camel_transfer_encoding_to_string): New
6662 function to replace the one from camel-mime-part.c
6663 (camel_transfer_encoding_from_string): Same.
6664 (camel_content_transfer_encoding_decode): Renamed from
6665 camel_header_content_encoding_decode().
6667 * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed.
6668 (camel_mime_part_encoding_from_string): Removed.
6670 * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding
6673 * camel-folder-summary.c: updated for CamelTransferEncoding
6676 * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding
6679 * camel-mime-message.c: updated for CamelTransferEncoding
6682 * camel-mime-part-utils.c: updated for CamelTransferEncoding
6685 * camel-multipart-signed.c: updated for CamelTransferEncoding
6688 * camel-smime-context.c: updated for CamelTransferEncoding
6691 * providers/imapp/camel-imapp-utils.c: updated for
6692 CamelTransferEncoding namespace changes
6694 * tests/lib/messages.c: updated for CamelTransferEncoding
6697 * tests/message/test1.c: updated for CamelTransferEncoding
6700 2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
6702 * camel-mime-utils.[c,h]: namespaced the encoding/decoding
6705 * camel-mime-filter-basic.c: updated for namespace changes to the
6706 encoding/decoding routines in camel-mime-utils.c
6708 * camel-multipart.c: updated for namespace changes to the
6709 encoding/decoding routines in camel-mime-utils.c
6711 * camel-sasl-digest-md5.c: updated for namespace changes to the
6712 encoding/decoding routines in camel-mime-utils.c
6714 * camel-sasl.c: updated for namespace changes to the
6715 encoding/decoding routines in camel-mime-utils.c
6717 * camel-vee-folder.c: updated for namespace changes to the
6718 encoding/decoding routines in camel-mime-utils.c
6720 * providers/imap/camel-imap-search.c: updated for namespace
6721 changes to the encoding/decoding routines in camel-mime-utils.c
6723 * providers/pop3/camel-pop3-folder.c: updated for namespace
6724 changes to the encoding/decoding routines in camel-mime-utils.c
6726 2003-08-26 Jeffrey Stedfast <fejj@ximian.com>
6728 * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and
6729 s/_header_state/_camel_mime_parser_state/g
6731 * camel-filter-driver.c: Same.
6733 * camel-folder-summary.c: Here too.
6735 * camel-http-stream.c: And here.
6737 * camel-mime-message.c: ...
6739 * camel-mime-part-utils.c: ...
6741 * camel-mime-part.c: ...
6743 * camel-movemail.c: ...
6745 * camel-multipart-signed.c: ...
6747 * camel-multipart.c: ...
6749 * providers/local/camel-mbox-folder.c: ...
6751 * providers/local/camel-mbox-summary.c: ...
6753 * providers/local/camel-mh-summary.c: ...
6755 * providers/nntp/camel-nntp-summary.c: ...
6757 * providers/pop3/camel-pop3-folder.c: ...
6759 2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
6761 * camel-mime-utils.[c,h]: Namespaced.
6763 * camel-data-wrapper.c: updated for namespace changed made to
6764 camel-mime-utils.[c,h]
6766 * camel-digest-folder.c: updated for namespace changed made to
6767 camel-mime-utils.[c,h]
6769 * camel-filter-driver.c: updated for namespace changed made to
6770 camel-mime-utils.[c,h]
6772 * camel-filter-search.c: updated for namespace changed made to
6773 camel-mime-utils.[c,h]
6775 * camel-folder-search.c: updated for namespace changed made to
6776 camel-mime-utils.[c,h]
6778 * camel-folder-summary.[c,h]: updated for namespace changed made
6779 to camel-mime-utils.[c,h]
6781 * camel-http-stream.c: updated for namespace changed made to
6782 camel-mime-utils.[c,h]
6784 * camel-http-stream.h: updated for namespace changed made to
6785 camel-mime-utils.[c,h]
6787 * camel-internet-address.c: updated for namespace changed made to
6788 camel-mime-utils.[c,h]
6790 * camel-medium.[c,h]: updated for namespace changed made to
6791 camel-mime-utils.[c,h]
6793 * camel-mime-message.c: updated for namespace changed made to
6794 camel-mime-utils.[c,h]
6796 * camel-mime-parser.[c,h]: updated for namespace changed made to
6797 camel-mime-utils.[c,h]
6799 * camel-mime-part-utils.c: updated for namespace changed made to
6800 camel-mime-utils.[c,h]
6802 * camel-mime-part.[c,h]: updated for namespace changed made to
6803 camel-mime-utils.[c,h]
6805 * camel-movemail.c: updated for namespace changed made to
6806 camel-mime-utils.[c,h]
6808 * camel-multipart-encrypted.c: updated for namespace changed made
6809 to camel-mime-utils.[c,h]
6811 * camel-multipart-signed.c: updated for namespace changed made to
6812 camel-mime-utils.[c,h]
6814 * camel-multipart.c: updated for namespace changed made to
6815 camel-mime-utils.[c,h]
6817 * camel-search-private.[c,h]: updated for namespace changed made
6818 to camel-mime-utils.[c,h]
6820 * camel-types.h: updated for namespace changed made to
6821 camel-mime-utils.[c,h]
6823 * providers/imap/camel-imap-folder.c: updated for namespace
6824 changed made to camel-mime-utils.[c,h]
6826 * providers/imap/camel-imap-store-summary.c: updated for namespace
6827 changed made to camel-mime-utils.[c,h]
6829 * providers/imap/camel-imap-utils.c: updated for namespace changed
6830 made to camel-mime-utils.[c,h]
6832 * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
6833 changed made to camel-mime-utils.[c,h]
6835 * providers/local/camel-local-summary.[c,h]: updated for namespace
6836 changed made to camel-mime-utils.[c,h]
6838 * providers/local/camel-maildir-summary.c: updated for namespace
6839 changed made to camel-mime-utils.[c,h]
6841 * providers/local/camel-mbox-summary.c: updated for namespace
6842 changed made to camel-mime-utils.[c,h]
6844 * providers/local/camel-spool-summary.h: updated for namespace
6845 changed made to camel-mime-utils.[c,h]
6847 * providers/nntp/camel-nntp-summary.c: updated for namespace
6848 changed made to camel-mime-utils.[c,h]
6850 * providers/nntp/camel-nntp-utils.c: updated for namespace changed
6851 made to camel-mime-utils.[c,h]
6853 * providers/pop3/camel-pop3-folder.c: updated for namespace
6854 changed made to camel-mime-utils.[c,h]
6856 * providers/sendmail/camel-sendmail-transport.c: updated for
6857 namespace changed made to camel-mime-utils.[c,h]
6859 * providers/smtp/camel-smtp-transport.c: updated for namespace
6860 changed made to camel-mime-utils.[c,h]
6862 2003-09-16 Jeffrey Stedfast <fejj@ximian.com>
6864 * providers/local/camel-mbox-folder.c
6865 (camel_mbox_folder_get_full_path): Implement a temp hack so trunk
6866 works until we merge in new-ui-branch.
6868 * camel-stream-filter.c (do_flush): Don't warning about how we
6869 haven't written anything to the stream, this is not an
6870 error. fflush() doesn't care if you try to fflush() a stream
6871 without writing to it, so we shouldn't care either.
6873 2003-09-15 Not Zed <NotZed@Ximian.com>
6875 * providers/imapp/camel-imapp-store.c (store_resp_list)
6876 (imap_login, try_sasl, imap_try_authenticate): removed dead code.
6878 * providers/imapp/camel-imapp-stream.c: return -1 if stream not
6881 * providers/imapp/camel-imapp-engine.c (iterate_completion): put
6882 done request on the done queue, so all requests are always
6884 (camel_imapp_engine_command_free): just spit warnings of active
6885 messages being freed, but abort if the item isn't in any list.
6886 Also remove the node from its list before going on.
6887 (iterate_untagged, iterate_continuation, iterate_completion):
6890 * providers/imapp/camel-imapp-provider.c
6891 (camel_imapp_module_init): move camel_exception_setup call here.
6893 * providers/imapp/camel-imapp-driver.c
6894 (camel_imapp_driver_get_type): remove execption setup here, it
6896 (camel_imapp_driver_list): handle exceptions.
6898 2003-09-12 Jeffrey Stedfast <fejj@ximian.com>
6900 * providers/local/camel-mbox-folder.c
6901 (camel_mbox_folder_get_full_path): Implements
6902 CamelLocalFolder::get_full_path() (publicly namespaced so that
6903 CamelMboxStore can re-use them).
6904 (camel_mbox_folder_get_meta_path): Same.
6906 * providers/local/camel-mbox-store.c (get_folder): Changed the way
6907 the path is constructed, since we now handle subdirectories and
6909 (delete_folder): Try deleting the Folder.sbd directory. We also
6910 need to manage our own meta files since CamelLocalStore's impl
6911 constructs paths differently than what we need.
6912 (create_folder): Implemented.
6913 (rename_folder): Implemented.
6914 (scan_dir): Scan an mbox tree
6915 (get_folder_info): Implemented using scan_dir().
6917 * providers/local/camel-local-store.c (delete_folder): Set fi->url
6918 to the correct value, meaning we need to prefix it with the
6919 protocol and the folder_name is not actually part of the path, it
6920 is a separate component to the url.
6922 * providers/local/camel-local-folder.c
6923 (camel_local_folder_construct): Use the new class virtual method
6924 to construct the full folder path and all the meta files.
6925 (local_get_full_path): Implemented default get_full_path method.
6926 (local_get_meta_path): Implemented default get_meta_path method.
6928 2003-09-11 Dan Winship <danw@ximian.com>
6930 * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la
6932 2003-09-05 Not Zed <NotZed@Ximian.com>
6934 * providers/imap/camel-imap-store.c (imap_noop): call
6935 camel_folder_sync bypassing the folder lock. See
6936 imap_store_refresh_folders too.
6938 2003-09-04 David Woodhouse <dwmw2@infradead.org>
6940 * providers/camel-imap-store.[ch]: Add PREAUTH handling and
6941 pine/mutt/etpan/etc.-style 'ssh <mailhost> exec imapd' support.
6943 2003-09-03 David Woodhouse <dwmw2@infradead.org>
6945 * camel-stream-process.[ch]: New stream implementation for running
6947 * Makefile.am: Compile the above
6949 2003-08-20 Not Zed <NotZed@Ximian.com>
6953 * camel-folder-search.h: Removed match1 member.
6955 * camel-folder-search.c (camel_folder_search_match_expression):
6956 use current directly rather than match1. This method isn't used
6958 (search_not): remove match1 stuff.
6959 (search_match_all): properly handle the match-all against 1
6960 message as a scalar result, not an array result.
6962 2003-09-03 Not Zed <NotZed@Ximian.com>
6964 * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL
6965 proxy_url - unset the proxy.
6967 2003-08-29 Not Zed <NotZed@Ximian.com>
6969 * camel-object.c (camel_object_state_write):
6971 (cobject_setv, cobject_state_read, cobject_state_read)
6972 (cobject_state_write): removed debug printfs.
6974 * providers/local/camel-local-folder.c (local_getv): Need to copy
6975 the local properties list before passing it out, since it's freed.
6977 2003-08-27 Not Zed <NotZed@Ximian.com>
6979 * providers/local/camel-local-folder.c (local_getv): implement
6980 PERSISTENT_PROPERTIES, for index mode.
6982 * camel-object.c (cobject_state_read): Also add property reading,
6983 and bump version to 1.
6984 (cobject_state_write): add persistent property writing.
6986 2003-08-26 Not Zed <NotZed@Ximian.com>
6988 * camel-folder.c (folder_getv): chain up properly.
6990 * camel-file-utils.c (camel_file_util_savename): helper to create
6991 a .#filename filename.
6993 * providers/local/camel-local-folder.c
6994 (camel_local_folder_construct): init meta-data for local folders.
6995 (local_getv): chain up properly, if args are not processed, rather
6996 than don't if they aren't.
6998 2003-08-23 Not Zed <NotZed@Ximian.com>
7000 * camel-object.c (cobject_class_init): added a new event,
7002 (camel_object_meta_set, camel_object_meta_get): meta-data api.
7003 (camel_object_free_hooks): Free meta-data if it is set on the
7006 * providers/local/camel-local-folder.c
7007 (camel_local_folder_get_type): setup a property list for local
7008 folders, just 'index_body' at present.
7010 2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
7012 * camel-filter-driver.c (pipe_to_system): Added some more error
7013 checking for reading/writing to the pipes. Fixes bug #47880.
7015 2003-08-21 Jeffrey Stedfast <fejj@ximian.com>
7017 * camel-data-wrapper.c (decode_to_stream): Don't poke
7018 wrapper->stream directly, use camel_data_wrapper_write_to_stream()
7019 instead as this simplifies things and makes the imap data wrapper
7020 implementation Just Work (tm).
7022 * providers/imap/camel-imap-wrapper.c: changed prototype of
7023 write_to_stream() to return ssize_t.
7025 2003-08-20 Jeffrey Stedfast <fejj@ximian.com>
7027 * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make
7028 sure to ref the stream. Fixes bug #47749.
7030 2003-08-18 Not Zed <NotZed@Ximian.com>
7032 * camel-http-stream.c: Various fixes to make it work.
7034 * tests/smime/pgp-mime.c (main): added missing 'ret' variable.
7036 * providers/smtp/camel-smtp-transport.c (connect_to_server):
7037 * providers/imapp/camel-imapp-store.c (connect_to_server:
7038 * providers/imap/camel-imap-store.c (connect_to_server):
7039 * providers/pop3/camel-pop3-store.c (connect_to_server):
7040 * camel-http-stream.c (http_connect): change service->session for
7043 * camel-tcp-stream-ssl.c: Changed service to session, and fix some
7045 include camel-operation.h
7047 2003-08-15 Not Zed <NotZed@Ximian.com>
7051 * tests/lib/messages.c (test_message_compare): check
7052 write_to_stream returns.
7053 (message_dump_rec): helper to dump message structure.
7055 * camel-mime-part-utils.c
7056 (simple_data_wrapper_construct_from_parser): dont set content
7058 (camel_mime_part_construct_content_from_parser): set it here
7059 instead, on every part. basically same as setting the
7060 mime_type_field always.
7062 * camel-multipart-signed.c (camel_multipart_signed_class_init):
7063 * camel-mime-message.c (camel_mime_message_class_init):
7064 * camel-multipart.c (camel_multipart_class_init): override
7065 decode_to_stream to always do the same as write_to_stream, since
7066 we can never be encoded.
7068 2003-08-15 Jeffrey Stedfast <fejj@ximian.com>
7070 * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
7071 Don't attach any filters to decode base64/qp/etc.
7073 2003-08-14 Jeffrey Stedfast <fejj@ximian.com>
7075 * camel-mime-part.c (write_to_stream): Save errno when
7076 flushing/unreffing the filter stream.
7078 2003-08-13 Jeffrey Stedfast <fejj@ximian.com>
7080 * camel-mime-part.c (write_to_stream): If the content is
7081 base64/qp/uu/etc encoded but the part is 7bit/8bit/(or otherwise
7082 non-encoded), set reencode to TRUE so that we decode the original
7083 content stream. Fixes a bug noticed on
7084 evolution-patches@ximian.com where a patch had a
7085 Content-Transfer-Encoding of 7bit but was base64 encoded.
7087 2003-08-13 Not Zed <NotZed@Ximian.com>
7089 * camel-folder-summary.c (camel_folder_summary_remove_range): Fix
7090 the range check, we were stopping removal of 1 or 2 removals, for
7091 some odd and completely uncomprehensible reason. Perhaps debug
7094 2003-08-13 Not Zed <NotZed@Ximian.com>
7098 * camel-vee-folder.c (vee_sync): Always rebuild folder on any
7099 sync, not just expunge ones.
7101 2003-08-11 Not Zed <NotZed@Ximian.com>
7103 * providers/imapp/camel-imapp-store.c (imap_get_folder_info):
7104 force connect manually so basics work.
7108 * camel-service.c (camel_gethostbyname): duh, pthread_create
7109 returns the error code directly, not via errno.
7110 (camel_gethostbyaddr): Same, also properly handle the failure
7113 2003-08-01 Not Zed <NotZed@Ximian.com>
7117 * camel-filter-search.c (match_all): match-all with no arguments
7118 should always return TRUE.
7120 * camel-folder-search.c (camel_folder_search_execute_expression):
7121 print a warning when we get an invalid result type & fixed a leak
7124 2003-08-08 Jeffrey Stedfast <fejj@ximian.com>
7126 * tests/message/test4.c: New test suite for the mime parser (which
7127 is where the below 2 fixes were noticed).
7129 * camel-mime-parser.c (folder_boundary_check): Calculate 'len' by
7130 subtracting the boundary start from inend rather than 'atleast'.
7131 (folder_scan_content): Calculate 'inend' differently depending on
7134 2003-08-08 Jeffrey Stedfast <fejj@ximian.com>
7136 * camel-mime-filter-tohtml.c (html_convert): Rather than checking
7137 *inptr == '\n', check inptr >= inend - this gets rid of an Invalid
7138 Read report from valgrind.
7140 * camel-mime-part.c (write_to_stream): Don't necessarily re-encode
7141 just because the encodings differ. Need to look into making it so
7142 that message/rfc822 and multipart parts ignore the
7143 Content-Transfer-Encoding header and just keep their 'encoding'
7144 bits set to DEFAULT.
7146 2003-08-05 Jeffrey Stedfast <fejj@ximian.com>
7148 * providers/imap/camel-imap-folder.c (get_content): Updated.
7150 * camel-mime-message.c (camel_mime_message_init): Don't override
7152 (process_header): Updated to use CamelDataWrapper's mime_type
7154 (find_best_encoding): Same.
7155 (best_encoding): Here too.
7157 * camel-digest-folder.c (camel_digest_folder_new): Updated for
7158 CamelMimePart::content_type change.
7160 * camel-mime-part.c (camel_mime_part_init): Override our parent
7161 class's default mime_type.
7162 (camel_mime_part_finalize): Don't need to unref the content_type
7164 (process_header): Updated to use CamelDataWrapper's mime_type
7166 (camel_mime_part_set_filename): Same.
7167 (camel_mime_part_get_filename): Same.
7168 (camel_mime_part_get_content_type): Same.
7169 (set_content_object): Here too.
7170 (write_to_stream): Updated.
7171 (construct_from_parser): Updated.
7173 * camel-mime-part.h: Remove the content_type field.
7175 2003-07-31 Jeffrey Stedfast <fejj@ximian.com>
7177 * tests/lib/messages.c (test_message_compare_content): If the
7178 chunks differ, perform a hexdump on the data being compared so
7179 that we may analyse it easier.
7181 * camel-multipart-signed.c (write_to_stream): Return ssize_t.
7183 * camel-mime-utils.h: Added the CamelMimePartEncodingType enum
7186 * camel-mime-part.h: Removed the CamelMimePartEncodingType enum
7189 * camel-mime-part.c (write_to_stream): Updated to return
7190 ssize_t. Also minor changes to only re-encode the content stream
7191 if the charset or encoding changed (this way we write it out in
7192 the original raw form if nothing changed).
7194 * camel-mime-part-utils.c
7195 (simple_data_wrapper_construct_from_parser): Drastically
7196 simplify. We no longer scan html content to try and find the
7197 charset, nor do we care about converting the content to UTF-8 and
7198 handling broken windows charsets.
7200 * camel-mime-message.c (find_best_encoding): Use
7201 decode_to_stream() here. Also updated to not assume the content
7202 charset is UTF-8 since it is very likely not the case anymore
7203 since data-wrappers no longer are converted to UTF-8 at parse
7206 * camel-folder-summary.c (summary_build_content_info_message): Use
7207 decode_to_stream instead here too.
7209 * camel-folder-search.c (match_words_1message): Use
7210 decode_to_stream instead of write_to_stream so we can search the
7213 * camel-data-wrapper.c (camel_data_wrapper_init): Set the default
7214 encoding to DEFAULT.
7215 (write_to_stream): Updated to return ssize_t
7216 (camel_data_wrapper_decode_to_stream): New virtual function to
7217 decode a data wrapper to a stream (results in nearly identical
7218 behaviour to the old write_to_stream method).
7219 (decode_to_stream): Default implementation of above virtual
7220 method. Decodes base64/qp/etc streams.
7222 * camel-data-wrapper.h: Removed the rawtext bit and added an
7225 2003-08-01 Jeffrey Stedfast <fejj@ximian.com>
7227 * tests/smime/pgp-mime.c: Same.
7229 * tests/smime/pgp.c: Updated to build and to import some custom
7230 gpg keys for use with testing.
7232 2003-07-30 Jeffrey Stedfast <fejj@ximian.com>
7234 * camel-mime-message.c (write_to_stream): Also updated.
7236 * camel-data-wrapper.c (write_to_stream): This should return ssize_t
7238 * camel-multipart-signed.c (write_to_stream): Updated.
7240 * camel-multipart.c (write_to_stream): Same.
7242 * camel-mime-part.c (write_to_stream): Here too.
7244 2003-07-11 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
7246 * camel-iconv.c: Fix for #46168 'some additional locale aliases
7247 required for chinese support'.
7249 2003-07-25 Jeffrey Stedfast <fejj@ximian.com>
7251 * camel-mime-utils.c (header_decode_word): Revert NotZed's fix for
7252 bug #42170 - this causes even more problems than it solves. See
7253 bug #46331 for info. Basically, each address header would be
7254 converted to UTF-8 twice which means no raw 8bit address header
7255 would render correctly.
7256 (header_decode_mailbox): Perform a sanity check on the resultant
7257 addr->str to make sure that it is valid UTF-8, if not convert it
7258 to UTF-8. Fixes bug #42170.
7260 2003-07-23 Ettore Perazzoli <ettore@ximian.com>
7262 * camel-provider.c (camel_provider_init): Print the provider
7263 directory as well, for debugging.
7265 2003-07-23 Jeffrey Stedfast <fejj@ximian.com>
7267 * camel-mime-message.c (find_best_encoding): Revert my previous
7268 changes to this function.
7270 * camel-mime-utils.h: Revert previous changes.
7272 * camel-mime-part.h: Revert previous changes.
7274 * camel-mime-part-utils.c: Revert previous changes.
7276 * camel-data-wrapper.c (camel_data_wrapper_init): Revert previous
7278 (write_to_stream): Revert previous changes.
7280 2003-07-23 Dan Winship <danw@ximian.com>
7282 * camel-block-file.c: #include camel-file-utils.h for camel_read()
7284 * camel-uid-cache.c (camel_uid_cache_save): Remove unused variable
7287 * camel-url.c: #include camel-string-utils.h for camel_strdown
7289 * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Cast
7290 an (unsigned char *) to (char *) to fix a warning
7292 2003-07-17 Jeffrey Stedfast <fejj@ximian.com>
7294 * camel-mime-message.c (find_best_encoding): Updated to convert
7295 to/from the correct charset (since content is no longer
7296 necessarily in UTF-8).
7297 (best_encoding): Free the charset string when we're done with it.
7299 * camel-stream-fs.c (stream_read): Increment the seekable stream
7300 position by the number of bytes read. Oops.
7301 (stream_write): Same here.
7303 2003-07-17 Timo Sirainen <tss@iki.fi>
7307 * providers/imap/camel-imap-folder.c (do_append): Only free the
7308 response after we have finished the literal request, otherwise we
7309 could try processing folder updates incorrectly.
7311 2003-07-14 Jeffrey Stedfast <fejj@ximian.com>
7313 * camel-mime-utils.h: Add the CamelMimePartEncodingType definition
7316 * camel-mime-part.h: Remove the CamelMimePartEncodingType
7319 * camel-mime-part-utils.c
7320 (simple_data_wrapper_construct_from_parser): Don't do any of the
7321 auto-detection we used to do here anymore. Just read the content
7322 into a memory buffer and record the encoding type.
7323 (camel_mime_part_construct_content_from_parser): Don't mangle the
7324 Content-Type struct here anymore.
7326 * camel-data-wrapper.c (camel_data_wrapper_init): Init encoding to
7328 (write_to_stream): If the stream needs to be decoded, decode it.
7330 2003-07-15 Jeffrey Stedfast <fejj@ximian.com>
7332 * camel-stream-fs.c (stream_read): If we read 0 bytes, then set
7335 2003-07-09 Jeffrey Stedfast <fejj@ximian.com>
7337 Get rid of the #ifdef ENABLE_THREADS since we no longer plan to
7338 support/maintain this.
7340 * providers/nntp/camel-nntp-store.c: Here.
7342 * providers/nntp/camel-nntp-newsrc.c: And here.
7344 * providers/nntp/camel-nntp-folder.c: Same.
7346 * providers/local/camel-local-folder.c: And here.
7348 * camel-block-file.c: Here too.
7352 * camel-certdb.c: Here too.
7354 * camel-charset-map.c: And here.
7356 * camel-cipher-context.c: "
7358 * camel-data-wrapper.c: "
7360 * camel-digest-folder.c: "
7362 * camel-exception.c: "
7366 * camel-folder-summary.c: "
7368 * camel-lock-client.c: "
7370 * camel-mime-utils.c: "
7374 * camel-operation.c: "
7376 * camel-partition-table.c: "
7378 * camel-sasl-popb4smtp.c: "
7380 * camel-service.c: "
7382 * camel-session.c: "
7386 * camel-store-summary.c: "
7388 * camel-text-index.c: "
7390 * camel-transport.c: "
7392 * camel-vee-folder.c: "
7394 * camel-tcp-stream-openssl.c: Removed pthread.h, it isn't needed.
7396 2003-07-09 Larry Ewing <lewing@ximian.com>
7398 * camel.h: remove reference to camel-pgp-mime.h
7400 2003-07-08 Jeffrey Stedfast <fejj@ximian.com>
7402 * camel-pgp-mime.[c,h]: Removed.
7404 * camel-iconv.c: Updated (new copy/paste from e-iconv).
7406 * camel-block-file.c (camel_block_file_get_block): Use
7407 camel_read() rather than libc read.
7409 * camel-tcp-stream-raw.c (stream_read): Use camel_read().
7410 (stream_write): Use camel_write().
7412 * camel-stream-fs.c (stream_read): Use camel_read().
7413 (stream_write): Use camel_write().
7415 2003-07-07 Jeffrey Stedfast <fejj@ximian.com>
7417 * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use
7420 * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use
7423 * camel-session.c (get_storage_path): Use camel_mkdir().
7425 * camel-store.c (camel_mkdir_hier): Removed.
7427 * camel-data-cache.c (camel_data_cache_new): Updated to use
7429 (data_cache_path): Same.
7431 * camel-file-utils.c (camel_mkdir): Renamed and documented.
7432 (camel_file_util_safe_filename): Documented.
7433 (camel_read): Moved here from camel-io.c
7434 (camel_write): Same.
7436 * camel-io.[c,h]: Removed.
7438 * camel-uid-cache.c (camel_uid_cache_new): Use the
7439 camel-file-utils.c version of mkdir.
7441 2003-07-07 Jeffrey Stedfast <fejj@ximian.com>
7443 * camel-session.c (camel_session_init): Updated for string-utils
7446 * camel-provider.c: Updated for string-utils namespace changes.
7448 * camel-mime-part.c (init_header_name_table): Updated for
7449 string-utils namespace changes.
7451 * camel-mime-message.c (camel_mime_message_class_init): Updated
7452 for string-utils namespace changes.
7453 (camel_mime_message_init): Same.
7455 * camel-mime-filter-enriched.c
7456 (camel_mime_filter_enriched_class_init): Updated for string-utils
7459 * camel-folder-summary.c (camel_folder_summary_init): Updated for
7460 string-utils namespace changes.
7462 * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and
7463 also namespaced all functions.
7465 2003-07-01 Jeffrey Stedfast <fejj@ximian.com>
7467 * camel-sasl-digest-md5.c (digest_response): Don't quote the
7468 charset value, the qop value, nor the response value. Fixes bug
7471 2003-07-01 Jeffrey Stedfast <fejj@ximian.com>
7473 * camel-mime-utils.c (header_format_date): Use gmtime_r() instead
7474 of using gmtime() and memcpy() to try and be "atomic".
7476 2003-06-30 Dan Winship <danw@ximian.com>
7478 * camel-folder-search.c (camel_folder_search_finalize): free the
7481 2003-06-24 David Woodhouse <dwmw2@infradead.org>
7483 * camel-mime-utils.c (header_format_date): Put day of week into
7487 2003-06-25 Jeffrey Stedfast <fejj@ximian.com>
7489 * camel-folder-summary.h: Added prototype for
7490 camel_folder_summary_remove_range().
7492 2003-06-25 Not Zed <NotZed@Ximian.com>
7496 * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make
7497 sure we have an exception that we test against.
7499 2003-06-20 Not Zed <NotZed@Ximian.com>
7503 * camel-mime-filter-enriched.c (camel_enriched_to_html): simple
7504 wrapper to convert enriched to html in one go.
7506 2003-06-18 Not Zed <NotZed@Ximian.com>
7508 * camel-service.c (get_hostbyaddr, get_hostbyname): if we got
7509 cancelled, the message is floating, so free it.
7510 (struct _lookup_msg): Add a cancelled tag.
7511 (camel_gethostbyname, camel_gethostbyaddr): if we get a
7512 failure/cancel, cancel the lookup thread and detach, so we dont
7513 have to wait for it to return. cleanup changed to handle the case
7514 where we didn't get a reply message.
7516 2003-06-13 Jeffrey Stedfast <fejj@ximian.com>
7518 * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static
7519 (to match the prototype).
7521 2003-06-13 Larry Ewing <lewing@ximian.com>
7523 * camel-folder-thread.c (camel_folder_thread_messages_apply):
7524 don't leak the summary when reloading it. Fixes a very large
7527 2003-06-17 Not Zed <NotZed@Ximian.com>
7529 * camel-vee-folder.c (vee_folder_remove_folder): Calculate ranges
7530 to remove folder info's more efficiently. affects shutdown
7531 performance on big vfolders signifinantly.
7532 (vee_folder_build_folder): do the same here, when rebuilding a
7533 folder's definition.
7535 * camel-folder-summary.c (camel_folder_summary_remove_index): new
7536 function to drop a range of index entries in one hit.
7538 2003-06-16 Not Zed <NotZed@Ximian.com>
7542 * providers/imap/camel-imap-store-summary.c
7543 (camel_imap_store_summary_namespace_new): Workaround a shell bug -
7544 if the namespace has '#' in it, then strip it.
7546 2003-06-16 Not Zed <NotZed@Ximian.com>
7550 * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
7551 If we are outputting a folder name, make sure we calculate buffer
7552 size based on the raw/utf7 version
7556 * camel-multipart-signed.c (signed_get_part): If we can't parse
7557 the content, but we have a stream, just use that as the content.
7559 2003-06-05 Jeffrey Stedfast <fejj@ximian.com>
7563 * providers/pop3/camel-pop3-engine.c (camel_pop3_engine_new): Now
7564 takes a flags argument. Currently there is only 1 flag which can
7565 be used to disable Pop3 server extensions.
7566 (get_capabilities): Don't check for Pop3 server extensions if the
7567 DISABLE_EXTENSIONS flag is set on the engine.
7568 (camel_pop3_engine_iterate): If we get a response that is neither
7569 +OK nor -ERR, default to treating it like a -ERR.
7571 * providers/pop3/camel-pop3-store.c (connect_to_server): Check for
7572 the disable_extensions param.
7574 * providers/pop3/camel-pop3-provider.c: Define a checkbox to
7575 disable all POP3 extension support.
7577 2003-06-11 Jeffrey Stedfast <fejj@ximian.com>
7579 Partial fix for bug #44457.
7581 * camel-mime-part-utils.c
7582 (simple_data_wrapper_construct_from_parser): Make sure to set
7583 rawtext to FALSE if we successfully convert the text to UTF-8.
7585 * camel-data-wrapper.c (camel_data_wrapper_init): Default the
7586 value of rawtext to TRUE instead of FALSE. This way if the mailer
7587 decides to try displaying a non-textual part as text, it knows
7588 that it needs to convert the content to UTF-8.
7590 2003-06-04 Jeffrey Stedfast <fejj@ximian.com>
7592 * camel-uid-cache.c (camel_uid_cache_new): Create the directory
7593 with mode 0777 and the cache file itself with mode 0666. Let the
7594 user's umask filter the permissions. Instead of saving the fd on
7595 the Cache object, instead save the filename. Use camel_read()
7596 instead of expecting read() to just always work without getting an
7598 (maybe_write_uid): Don't do anything if cache->fd == -1, this
7599 means an error has occured in a previous callback. Replace the 2
7600 calls to write() with camel_write() and check their return
7601 values. If either of them fails, set cache->fd to -1 (GHashTable
7602 doesn't give us a way to abort foreach'ing thru the table).
7603 (camel_uid_cache_save): Save to a temp file instead of overwriting
7604 the original. Do proper error checking, etc. Also added some
7605 smarts about whether to try and overwrite the old cache even if we
7606 haven't successfully saved all the uids in the cache.
7607 (camel_uid_cache_destroy): Free the cache->filename, no longer
7608 need to close (cache->fd).
7610 2003-06-11 Larry Ewing <lewing@ximian.com>
7612 * camel-text-index.c (text_index_normalise): use g_utf8_strdown
7615 2003-06-09 Jeffrey Stedfast <fejj@ximian.com>
7617 * camel-mime-message.c (find_best_encoding): Add the
7618 CAMEL_BESTENC_TEXT bit to enctype if the part is a text part.
7620 * camel-mime-filter-bestenc.c
7621 (camel_mime_filter_bestenc_get_best_encoding): If we have any
7622 nul-bytes or if the content is non-text and contains any 8bit
7623 octets, we need to use base64. Fixes bug #44344.