Fix FSF address (Tobias Mueller, #470445)
[platform/upstream/evolution-data-server.git] / camel / ChangeLog
1 2007-08-28  Ross Burton  <ross@openedhand.com>
2
3         * */*:
4         Fix FSF address (Tobias Mueller, #470445)
5
6 2007-08-27  Johnny Jacob  <jjohnny@novell.com>
7  
8         ** Fix for 261084 by Jared Moore <cornflake.pirate@gmail.com>
9         
10         * camel-folder-search.c: String change.
11         
12         
13 2007-08-27  Srinivasa Ragavan  <sragavan@novell.com>
14
15         ** Fix for bug #256878 from Vincent Untz
16
17         * camel-cipher-context.h:
18         * camel-gpg-context.c: (gpg_verify), (gpg_decrypt):
19
20 2007-08-23  Matthew Barnes  <mbarnes@redhat.com>
21
22         * camel-tcp-stream-ssl.c (camel_certdb_nss_cert_get):
23         Simplify the code; use g_file_get_contents() (#437331).
24
25 2007-08-20  Matthew Barnes  <mbarnes@redhat.com>
26
27         * camel-url.c:
28         Add argument checks to several public functions (#467883).
29
30 2007-08-16  Milan Crha  <mcrha@redhat.com>
31
32         ** Part of fix for bug #350539
33
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.
40
41 2007-08-14  Jens Granseuer  <jensgr@gmx.net>
42
43         ** Fix for bug #466309
44
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.
48
49 2007-08-13  Milan Crha  <mcrha@redhat.com>
50
51         ** Fix for bug #352346
52
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.
56
57 2007-08-13  Srinivasa Ragavan  <sragavan@novell.com>
58
59         ** Fix for bug #420462
60
61         * camel-store.c: (camel_folder_info_build): If the FolderInfo doesn't
62         have a child, unset the NO_CHILDREN flag.
63
64 2007-08-12  Rob Bradford  <rob@openedhand.com>
65
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.
69
70 2007-08-12  Johnny Jacob  <jjohnny@novell.com>
71  
72         ** Fix for 387806 by Rob Bradford  <rob@openedhand.com>
73         
74         * camel-text-index.c: Add some checking of return values when
75         calling camel_block_file_new_block. 
76  
77 2007-08-12  Johnny Jacob  <jjohnny@novell.com>
78
79         ** Fix for Bug 261084 from Jared Moore
80
81         * camel-folder-search.c :
82         
83 2007-07-28  Ross Burton  <ross@openedhand.com>
84
85         * camel-index.c:
86         * camel-folder-summary.c:
87         Add some sanity checks (#460861)
88
89 2007-07-29  Srinivasa Ragavan  <sragavan@novell.com>
90
91         ** Fix for bug #402925 from hggdh
92
93         * camel.c: (camel_init):
94
95 2007-07-09  Gilles Dartiguelongue  <gdartigu@svn.gnome.org>
96
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)
111
112 2007-06-20  Milan Crha  <mcrha@redhat.com>
113
114         ** Fix for bug #449531
115
116         * camel-mime-filter-pgp.c: (filter_run):
117         Accept one space on a line after signature header as separator.
118
119 2007-07-09  Srinivasa Ragavan  <sragavan@novell.com>
120
121         ** Fix for bug #434356 from Jindrich Makovicka
122
123         * camel-mime-utils.c: (header_decode_lwsp), (header_decode_domain):
124
125 2007-07-02  Srinivasa Ragavan  <sragavan@novell.com>
126
127         ** Fix for bug #412735 from Pascal Terjan
128
129         * camel-url-scanner.c: (url_stop_at_brace):
130
131 2007-06-26  Philip Van Hoof  <pvanhoof@gnome.org>
132
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).
136
137 2007-06-21  Irene Huang  <irene.huang@sun.com>
138
139         * camel-sasl-gssapi.c: (gssapi_challenge): replace gss_nt_service_name
140         with GSS_C_NT_HOSTBASED_SERVICE.
141
142 2007-06-14  Philip Van Hoof  <pvanhoof@gnome.org>
143         
144         * camel-net-utils.c: Memory leak fix
145
146 2007-06-14  Philip Van Hoof  <pvanhoof@gnome.org>
147
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)
150
151 2007-06-10  Matthew Barnes  <mbarnes@redhat.com>
152
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)
157
158 2007-06-06  Sankar P <psankar@novell.com>
159
160         * camel-sasl-gssapi.c: 
161         Fixed some wrong pre-processor directives,
162         that were causing build-break.
163         See bug #344728
164
165 2007-06-05  Irene Huang  <irene.huang@sun.com>
166
167         * camel-sasl-gssapi.c: Add headers for Sun Kerberos
168         fixing bug #344728
169
170 2007-06-05  Irene Huang  <irene.huang@sun.com>
171
172         * camel-sasl-gssapi.c:
173
174 2007-06-01  Karl Relton  <karllinuxtest.relton@ntlworld.com>
175
176         ** Fix for bug #311512
177
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
182         uids.
183         (camel_folder_change_info_cat): Silently add uids to recent and
184         filter uid sets.
185         (camel_folder_change_info_recent_uid): Use the new
186         change_info_recent_uid() function and also add the uid to the
187         filter set.
188         (camel_folder_change_info_clear): Clear the filter uid set.
189         (camel_folder_change_info_free): Free the filter uid set.
190
191 2007-05-24  Ross Burton  <ross@openedhand.com>
192
193         * providers/sendmail/Makefile.am:
194         Add missing link flags to fix build with -z,defs. (#409542, Loic
195         Minier)
196
197 2007-05-16  Jules Colding  <colding@omesc.com>
198
199         * camel-lock.c (camel_lock_dot): Use g_mkstemp()
200
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.
204
205         * camel-uid-cache.c (camel_uid_cache_save): Cleanups, such as
206         setting cache->fd = -1 when fd has been closed.
207
208         * camel-block-file.c (key_file_use): Do not close() if (fd == -1)
209
210         * camel-index-control.c (do_perf): Fix file descriptor leak
211
212         * camel-charset-map.c (main): Check for return value
213
214         * camel-text-index.c (dump_raw): Fix file descriptor leak
215
216         * camel-lock.c (main): Fix file descriptor leak.
217
218         * camel-lock-client.c (camel_lock_helper_init): Fix file
219         descriptor leak
220  
221         * camel-process.c (camel_process_fork): Fix file descriptor leak
222  
223 2007-05-15  Srinivasa Ragavan  <sragavan@novell.com>
224
225         * camel-disco-store.c: (camel_disco_store_prepare_for_offline):
226         Added a new api to fetch a folder for offline sync.  *
227         camel-disco-store.h:
228
229 2007-05-12  Jules Colding  <colding@omesc.com>
230
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?
238
239 2007-05-07  Matthew Barnes  <mbarnes@redhat.com>
240
241         * camel-stream-vfs.c:
242         * camel-stream-vfs.h:
243         Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.
244
245 2007-04-30  Srinivasa Ragavan  <sragavan@novell.com>
246
247         * Makefile.am: Added the include files part of core to the
248         installation path. Build break.
249
250 2007-04-27  Matthew Barnes  <mbarnes@redhat.com>
251
252         ** Fixes part of bug #418852
253
254         * Note, these changes touch almost every file in Camel.
255
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.
259
260         * Use GLib's i18n support instead of Camel's (now deprecated).
261
262         * Use quotes and brackets consistently in #include directives.
263
264         * Remove CAMEL_EXPLICIT_TRANSLATION_DOMAIN from Makefiles.
265
266         * Fix documentation warnings identified by Gtk-Doc.
267
268         * camel.h:
269         Expose Camel's entire "core" (non-provider) API.
270
271         * camel-i18n.h:
272         Deprecate this API.  Use GLib's i18n support instead.
273
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.
283
284 2007-04-05  Ross Burton  <ross@openedhand.com>
285
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).
291
292 2007-04-03  Srinivasa Ragavan  <sragavan@novell.com>
293
294         ** Fix for bug #322105
295
296         * camel-folder-summary.c: (info_set_flags): Fix for non-junk messages 
297         to learn ham.
298
299 2007-04-01  Matthew Barnes  <mbarnes@redhat.com>
300
301         * camel-mime-utils.c (rfc2047_encode_word):
302         Properly escape what would otherwise be a trigraph (??=).
303         Patch from Kjartan Maraas.
304
305         * camel-search-private.c (header_match):
306         * camel-url.c (camel_url_to_string):
307         Fix a compiler warning.  Patch from Kjartan Maraas.
308
309 2007-03-29  Matthew Barnes  <mbarnes@redhat.com>
310
311         * camel-private.h:
312         E-D-S requires GLib 2.10 now; remove dead backward-compatibility
313         code for GLib < 2.8 (#418971).
314
315 2007-03-16  Matthew Barnes  <mbarnes@redhat.com>
316
317         ** Fixes part of bug #360240
318
319         * camel-stream-vfs.c (camel_stream_vfs_new_with_handle):
320         Remove unused variable.
321
322 2007-02-26  Srinivasa Ragavan  <sragavan@novell.com>
323
324         ** Fix for bug #331813
325
326         * camel-mime-filter-tohtml.c: Patch from Gilles 
327         Dartiguelongue.
328
329 2007-02-23  Matthew Barnes  <mbarnes@redhat.com>
330
331         ** Fixes bug #356177
332
333         * camel-folder.c:
334         * camel-object.c:
335         * camel-private.h:
336         * camel-provider.c:
337         * camel-service.c:
338         * camel-store.c:
339         * camel-text-index.c:
340         Migrate from EMutex to GStaticMutex or GStaticRecMutex.
341
342 2006-01-08  Veerapuram Varadhan  <vvaradhan@novell.com>
343
344         ** Fixes eds part of bgo #362638 - Patch submitted by Matthew
345         Barnes
346
347         * camel/camel-private.h: 
348         * camel/camel-session.c: Replace EThread with GThreadPool.
349         
350 2006-12-14  Veerapuram Varadhan  <vvaradhan@novell.com>
351
352         ** Fixes for bgo #349445 - Patch submitted by Bastien Nocera
353
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.
357         
358 2006-12-14  Veerapuram Varadhan  <vvaradhan@novell.com>
359
360         ** Fix for bnc #208395
361
362         * camel-url.[ch]: (camel_url_decode_path): Added method to
363         decode path, by preserving the path-delimiter.
364         
365 2006-11-08  Sankar P  <psankar@novell.com>
366
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.
370
371 2006-11-06  Srinivasa Ragavan  <sragavan@novell.com>
372
373         ** Fix for bug #330157
374
375         * camel-vee-folder.c: (camel_vee_folder_remove_folder),
376         (camel_vee_folder_finalise): Dont unref if the sub folder is a
377         vfolder.
378
379 2006-11-02  Hans Petter Jansson  <hpj@novell.com>
380
381         * camel-mime-filter-tohtml.c (writeln): Prevent potential buffer
382         overrun by one byte.
383
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().
386
387 2006-11-02  Harish Krishnaswamy  <kharish@novell.com>
388
389         * camel-mime-filter-crlf.c (filter): Fixes buffer overrun. 
390          Bug #369168. Patch submitted by Hans Petter Jansson.
391
392 2006-10-05  Tor Lillqvist  <tml@novell.com>
393
394         Fixes from Steffen Eschenbacher:
395
396         * camel-stream-vfs.c (camel_stream_vfs_finalize): Call
397         gnome_vfs_close() on the GnomeVFSHandle *, not close(). (#350576,
398         #350885, #358010)
399
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?
403
404 2006-09-14  Veerapuram Varadhan  <vvaradhan@novell.com> 
405
406         ** Fixes bug #350907
407
408         * camel-filter-search.c: (run_command): Unref GMainContext
409         * camel-filter-driver.c: (pipe_to_system): ditto
410         
411 2006-08-28  Veerapuram Varadhan  <vvaradhan@novell.com> 
412
413         ** Fixes bug #331099 based on patches by Eric Anholt
414         <anholt@FreeBSD.org> and Joe Marcus Clarke <marcus@FreeBSD.org>
415
416         * camel-object.c: (cobject_state_read): Cast the input for
417         g_try_malloc to gulong.
418         
419 2006-08-23  Wang Xin  <jedy.wang@sun.com>
420
421         Fixes bug #352109.
422
423         * camel-stream-vfs.c: (stream_read), (stream_write), (stream_seek):
424         GnomeVFSFileSize should be used, not ssize_t.
425
426 2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>
427         
428         ** Fix for bug #349960 by Daniel Gryniewicz
429         
430         * camel-stream-vfs.c: (camel_stream_vfs_new_with_uri): Set the excl
431         flag to FALSE to over write existing file.
432
433 2006-07-24  Veerapuram Varadhan <vvaradhan@novell.com>
434
435         * camel-folder-summary.h: Added CamelFolderMetaSummary structure
436         that holds values for meta summary file.
437
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
441         infos.
442         (camel_folder_summary_load), (camel_folder_summary_save): Load and
443         save meta-summary information as well.
444
445         * providers/local/camel-mbox-summary.c (meta_message_info_save):
446         Save message offset in the meta-summary file.
447
448         * camel-file-utils.[c,h] (camel_file_util_encode_fixed_string),
449         (camel_file_util_decode_fixed_string): Encode and decode fixed
450         length string.
451         
452 2006-07-07  Jeffrey Stedfast  <fejj@novell.com>
453
454         Fix for a bug pvanhoof spotted with my last patch
455
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.
458
459 2006-07-07  Sankar P  <psankar@novell.com>
460
461         * camel-string-utils.c (camel_pstring_add):
462         Fixes a variable naming error. Fixes build break.
463                 
464 2006-07-06  Jeffrey Stedfast  <fejj@novell.com>
465
466         Based on a suggestion/patch by pvanhoof
467
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
474         FALSE.
475
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.
480
481 2006-06-26  Jeffrey Stedfast  <fejj@novell.com>
482
483         * camel-gpg-context.c (gpg_ctx_parse_status): Only set name to ""
484         if it wasn't already set. Fixes bug #345965.
485
486 2006-06-15  Tor Lillqvist  <tml@novell.com>
487
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().
492
493 2006-06-15  Andre Klapper  <a9016009@gmx.de>
494
495         * camel-gpg-context.c:
496
497         * camel-net-utils.c: changing "cancelled" to "canceled" in
498         user-visible strings.  Fixes bug #342163.
499
500 2006-06-15  Andre Klapper <a9016009@gmx.de>
501
502         * addressbook/libebook/e-book.c:
503
504         * camel/camel-folder.c:
505
506         * camel/providers/nntp/camel-nntp-folder.c:
507
508         * camel/providers/pop3/camel-pop3-folder.c: changing "uri" to
509         "URI" in user-visible strings.  Fixes bug #342161.
510
511 2006-06-09  Chris Heath  <chris@heathens.co.nz>
512
513         * camel-net-utils.c (camel_getnameinfo): Fix memory leak
514
515         * camel-folder-search.c (camel_folder_search_search): Ditto
516
517         * camel-digest-folder.c (digest_add_multipart): Ditto.
518         Fixes bug #335423.
519
520 2006-06-02  Tor Lillqvist  <tml@novell.com>
521
522         * camel-file-utils.c (camel_read, camel_write, camel_read_socket)
523         (camel_write_socket): Improve doc comment, mention the Win32
524         aspects.
525
526 2006-05-25  Srinivasa Ragavan  <sragavan@novell.com>
527
528         * camel-stream-vfs.h: Added the missed file to commit.
529
530 2006-05-24  Srinivasa Ragavan  <sragavan@novell.com>
531
532         * Makefile.am: Added new files for camel vfs stream
533         * camel-stream-vfs.[ch]: Added a new gnome-vfs backend for 
534         camel stream.
535
536 2006-05-05  Jeffrey Stedfast  <fejj@novell.com>
537
538         * camel-charset-map.c (camel_charset_best_mask): Fixed a
539         mis-ordering of an if-statement clause that caused bug #340717.
540
541 2006-05-01  Jeffrey Stedfast  <fejj@novell.com>
542
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
545         #335386.
546
547 2006-04-19  Jeffrey Stedfast  <fejj@novell.com>
548
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
552         that case).
553         (reset): Reset the filter state.
554
555 2006-04-13  Jeffrey Stedfast  <fejj@novell.com>
556
557         * camel-mime-utils.c (camel_header_raw_check_mailing_list): Fixed
558         a goof in the last patch.
559
560 2006-04-12  Jeffrey Stedfast  <fejj@novell.com>
561
562         * Fixes to many source files to suppress compiler warnings thanks
563         to Kjartan Maraas.
564
565 2006-04-04  Jeffrey Stedfast  <fejj@novell.com>
566
567         * camel-charset-map.c (main): Set appropriate structs/struct
568         elements to static/const.
569
570         * camel-charset-map-private.h: Regenerated.
571
572 2006-04-05  Simon Zheng  <simon.zheng@sun.com>
573
574         ** Fixes bug #333698
575
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.
580
581 2006-03-20  Parthasarathi Susarla <sparthasarathi@novell.com>
582         
583         ** See bug 272307
584
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.
588
589 2006-03-20  Srinivasa Ragavan  <sragavan@novell.com>
590
591         * camel-gpg-context.c (gpg_ctx_parse_status): Added flag to ask
592         for pass phrase.
593
594         * camel-session.h: Added the flag for passphrase.
595
596 2006-03-20  Srinivasa Ragavan  <sragavan@novell.com>
597
598         * providers/groupwise/camel-groupwise-store.c:
599         (groupwise_build_folder_info): Added flags for the system folders.
600
601 2006-02-21  Rohini S  <srohini@novell.com>
602
603         ** See bug 318697
604
605         * camel-url-scanner.c (camel_url_addrspec_start): conditions
606         modified to parse only valid mailto links
607
608 2006-02-21  Rohini S  <srohini@novell.com>
609  
610         ** Fixes bug #328322
611  
612         * camel-mime-filter-tohtml.c: add new pattern for sftp urls.
613  
614 2006-02-21  Rohini S  <srohini@novell.com>
615  
616         * camel-url-scanner.c (camel_url_web_end): Modified to accept urls 
617         with ./
618         Fixes bug#256142
619  
620 2006-02-16  Parthasarathi Susarla <sparthasarathi@novell.com>
621
622         * camel-disco-diary.c (camel_disco_diary_log): proceed only if
623         diary is a valid pointer
624
625 2006-02-13  Rohini S  <srohini@novell.com>
626
627         **See bug 328384
628
629         * camel-url-scanner.c (camel_url_addrspec_start): modified to
630         remove all invalid characters in the beginning of a email address
631
632 2006-02-02  Parthasarathi Susarla <sparthasarathi@novell.com>
633         
634         ** See bug 328481
635
636         * camel-gpg-context.c (gpg_ctx_parse_status): do not search if the
637         gpg->need_id is NULL
638
639 2006-02-02  Parthasarathi Susarla <sparthasarathi@novell.com>
640
641         * camel-object.c (object_finalise):
642         (camel_message_info_free): decrement Ref count properly
643
644 2006-02-02  Tor Lillqvist  <tml@novell.com>
645
646         * camel-net-utils.h
647         * camel-net-utils.c: Make it compile on Win32 also without
648         getaddrinfo() (with NEED_ADDRINFO).
649
650 2006-01-25  Not Zed  <NotZed@Ximian.com>
651  
652         * camel-folder-search.c (search_match_threads): add new
653         match-thread type "unreplied", matches messages that are unreplied
654         to. 
655         Committed to head on behaf of Notzed
656  
657 2006-01-23  Parthasarathi Susarla <sparthasarathi@novell.com>
658         
659         * camel-mime-utils.c (camel_content_type_unref):
660         Id the content-type refcount is <1 then free it and
661         assign it to NULL
662
663 2006-01-17  Parthasarathi Susarla <sparthasarathi@novell.com>
664         
665         * camel-service.c (camel_service_disconnect):
666         set the service-status to CAMEL_SERVICE_DISCONNECTED
667
668 2006-01-10  Simon Zheng  <simon.zheng@sun.com>
669
670         * camel-file-utils.h: 
671         * camel-file-utils.c: Delete function camel_mkdir().
672
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):
682         (create_folder):
683         (rename_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>.
689
690         * camel-debug.c: 
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".
694
695 2006-01-05  Kjartan Maraas  <kmaraas@gnome.org>
696
697         * camel-session.c (camel_session_get_network_state): Return stuff
698         from this non-void function.
699
700         * providers/imap4/camel-imap4-store.c (connect_to_server): Move
701         some vars inside #ifdef HAVE_SSL
702
703         * providers/local/camel-local-store.c (xrename): Use NULL not 0 as
704         the last parameter to g_strconcat().
705
706 2006-01-04  Tor Lillqvist  <tml@novell.com>
707
708         * camel-win32.c (setup): Modify calls to e_util_replace_prefix()
709         according to its changed interface.
710
711         * Makefile.am (INCLUDES): Need to pass also E_DATA_SERVER_PREFIX
712         to the compilation because of the above.
713
714 2005-12-22  Shreyas Srinivasan  <sshreyas@novell.com>
715
716         * Network Manager Support
717         
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.
722         
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.
726         
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.
730
731 2005-12-13  Tor Lillqvist  <tml@novell.com>
732
733         * camel-filter-driver.c: Use gstdio wrappers. Use
734         g_filename_to_uri().
735
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.
739
740         * camel-folder.c
741         * camel-junk-plugin.c: Just cosmetics.
742
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
750         Evolution is?
751
752         * camel-object.c: Use gstdio wrappers. Use binary mode when
753         opening files. Use g_path_get_dirname().
754
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.
760
761         * camel-tcp-stream.h: Include Winsock headers on Win32.
762
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.
766
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.
771         
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
774         around those cases.
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
779         instead.
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.
782
783 2005-12-11  Tor Lillqvist  <tml@novell.com>
784
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
788         do this on Windows.
789         (swrite): Use g_get_tmp_dir(), g_build_filename(), g_mkstemp().
790
791         * camel-net-utils.c (gai_strerror): Implement gai_strerror() for
792         Win32.
793         (cs_waitinfo): Use select() instead of poll() on Win32. Use
794         g_win32_error_message(WSAGetLastError()) for socket API error
795         messages on Win32.
796
797         * camel-net-utils.h: Include the Winsock2 headers on Win3.
798
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.
802
803 2005-12-07  Jeff Cai <jeff.cai@sun.com>
804
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
808         
809 2005-12-08  Tor Lillqvist  <tml@novell.com>
810
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
816         on Win32.
817         (camel_read, camel_write): Not cancellable on Win32. But then
818         these functions should be used only with regular files, not
819         sockets.
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
828         savename.
829
830 2005-12-06  Tor Lillqvist  <tml@novell.com>
831
832         * camel-index.c
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
842         * camel-multipart.c
843         * camel-offline-folder.c
844         * camel-offline-store.c
845         * camel-operation.c
846         * camel-sasl-anonymous.c
847         * camel-sasl-cram-md5.c
848         * camel-sasl-digest-md5.c
849         * camel-sasl-kerberos4.c
850         * camel-sasl-login.c
851         * camel-sasl-ntlm.c
852         * camel-sasl-plain.c
853         * camel-sasl.c
854         * camel-search-private.c
855         * camel-service.c
856         * camel-smime-context.c
857         * camel-store.c
858         * camel-stream-buffer.c
859         * camel-stream-filter.c
860         * camel-stream-process.c
861         * camel-stream.c
862         * camel-transport.c
863         * camel-url-scanner.c
864         * camel-vee-folder.c
865         * camel-vee-summary.c
866         * camel-vtrash-folder.c
867         * camel.c: Unify header inclusion order and style purely for
868         cosmetic reasons.
869         
870 2005-12-02  Shi Pu <shi.pu@sun.com>
871
872         ** See bug #321139
873
874         * camel-exception.c: (camel_exception_get_description):
875         Don't return NULL.
876
877 2005-12-01  Tor Lillqvist  <tml@novell.com>
878
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.)
883
884 2005-12-01  Chenthill Palanisamy  <pchenthill@novell.com>
885
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.
890
891 2005-12-01  Tor Lillqvist  <tml@novell.com>
892
893         * camel-mime-message.c: Add gmtime_r() implementation (a simple
894         macro) for Win32.
895
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.
900
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.
904
905 2005-12-01  Chenthill Palanisamy  <pchenthill@novell.com>
906
907         reviewed by Srinivasa Ragavan  <sragavan@novell.com> 
908
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.
912
913 2005-11-30  Tor Lillqvist  <tml@novell.com>
914
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.)
918
919         * camel-block-file.c
920         * camel-certdb.c
921         * camel-data-cache.c
922         * camel-disco-diary.c
923         * camel-folder-summary.c
924         * camel-mime-parser.c
925         * camel-offline-journal.c
926         * camel-provider.c
927         * camel-session.c
928         * camel-store-summary.c
929         * camel-stream-fs.c
930         * camel-text-index.c
931         * camel-uid-cache.c
932         * camel-vee-store.c: Use gstdio wrappers for full non-ASCII
933         filename support on Windows.
934
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.
946
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
950         Windows.
951         
952         * camel-folder-summary.c (camel_folder_summary_load): On Win32
953         unlink destination before attempting a rename.
954
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.
958
959         * camel-provider.c (camel_provider_init) Use G_MODULE_SUFFIX
960         instead of hardcoding .so.
961
962         * camel-session.c (session_thread_wait): Use g_usleep() instead of
963         usleep() for portability.
964
965         * camel-utf8.c: Use g_htons() and g_ntohs() instead of htons() and
966         ntohs() for portability.
967         
968 2005-11-25  Tor Lillqvist  <tml@novell.com>
969
970         * camel-private.h: Add declaration for our Win32-only fsync() and
971         realpath() implementations. Define S_ISLNK() as 0 and lstat() as
972         stat().
973         (realpath): Use gstdio wrappers.
974
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.
979
980 2005-11-18  Jeff Cai  <jeff.cai@sun.com>
981
982         * camel-disco-store.c: (disco_connect):
983         If no diary is created, no need to do resync.
984
985 2005-11-15  Ross Burton  <ross@burtonini.com>
986
987         * camel-provider.c:
988         Use lazy bindings (#321515)
989
990 2005-11-15  Harish Krishnaswamy  <kharish@novell.com>
991
992         * providers/Makefile.am: Add hula to SUBDIRS.
993
994 2005-10-23  Parthasarathi Susarla <sparthasarathi@novell.com>
995         
996         ** See bug #218177
997
998         * camel-vtrash-folder.c: (vtrash_remove_folder):
999         check if mi->real exists, continue otherwise. 
1000         
1001 2005-10-11 Vivek Jain <jvivek@novell.com>
1002
1003         ** See bug #318508
1004
1005         * camel-folder-summary.c : (camel_folder_summary_info_new_from_parser)
1006         Null check for p->index before using it.
1007
1008 2005-09-22  Parthasarathi Susarla <sparthasarathi@novell.com>
1009         
1010         ** See bug #316287
1011         
1012         * camel-mime-filter-bestenc.c:(camel_mime_filter_bestenc_get_best_encode):
1013         Remove the last return statement that can never be reached.
1014         
1015 2005-09-15  Sankar P  <psankar@novell.com>
1016
1017         * camel-store.h:
1018         Defined new macro CAMEL_FOLDER_TYPE_SENT for identifying sent-folder.
1019         Needed for fixing #257321
1020         
1021 2005-09-15  Tor Lillqvist  <tml@novell.com>
1022
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)
1027         * camel-mime-part.c
1028         * camel-mime-utils.c
1029         * camel-movemail.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.
1036
1037         * camel-debug.c: Use e_util_pthread_id() to identify threads.
1038
1039 2005-09-12  Parthasarathi Susarla <sparthasarathi@novell.com>
1040         
1041         ** See bug #314574
1042
1043         * camel-lock-client.c: (camel_lock_helper_init):
1044         remove an spurious ','.
1045         
1046 2005-09-01  Parthasarathi Susarla <sparthasarathi@novell.com>
1047         
1048         * camel-lock-client.c: (camel_lock_helper_init):
1049         use API_VERSION instead of the BASE_VERSION
1050
1051 2005-08-22  Not Zed  <NotZed@Ximian.com>
1052
1053         * camel-store.c (camel_store_rename_folder): init folders and only
1054         use it if set.
1055
1056         * camel-offline-journal.c (CAMEL_OFFLINE_JOURNAL_GET_CLASS):
1057         move redefined macro to .h.
1058
1059         * camel-gpg-context.c (gpg_decrypt): cast args properly.
1060
1061         * camel-text-index.c (camel_text_index_validate): cast to int for
1062         printf.
1063
1064         * camel-object.c (co_metadata_get): assign metalast to remove
1065         spurious warning.
1066
1067 2005-08-19  Not Zed  <NotZed@Ximian.com>
1068
1069         ** See #312668.
1070
1071         * camel-tcp-stream-ssl.c (stream_close): handle re-closing a
1072         closed socket.
1073
1074 2005-08-18  Not Zed  <NotZed@Ximian.com>
1075
1076         ** See bug #271894.
1077
1078         * camel-gpg-context.c (gpg_decrypt): use the content part's
1079         mime-type to determine options.
1080
1081 2005-08-17  Tor Lillqvist  <tml@novell.com>
1082
1083         * camel-operation.c (stamp): Use g_get_current_time() instead of
1084         gettimeofday() for portability.
1085
1086         * camel-cipher-context.c
1087         * camel-vee-folder.c: Drop unneeded <pthread.h>.
1088
1089         * camel-block-file.c
1090         * camel-index-control.c
1091         * camel-index.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>.
1101
1102         * camel-sasl-digest-md5.h: Drop unneeded <netdb.h>.
1103         
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
1108         source file.
1109
1110         * camel-service.c: Drop unneeded <sys/poll.h>
1111
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>.
1115
1116 2005-08-15  Not Zed  <NotZed@Ximian.com>
1117
1118         ** backported from disksummary-branch
1119
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.
1126
1127 2005-08-12  Not Zed  <NotZed@Ximian.com>
1128
1129         * camel-mime-filter-windows.c (filter_filter): same.
1130
1131         * camel-mime-filter-charset.c
1132         (camel_mime_filter_charset_new_convert): remove another common
1133         useless warning.
1134
1135         * camel-block-file.c (block_file_validate_root): ifdef out the
1136         'invalid root' stuff.
1137
1138         * camel-folder-summary.c (summary_build_content_info): turn off
1139         the annoying/pointless 'cannot convert xxx' message.
1140
1141         ** See bug #313284.
1142
1143         * camel-mime-parser.c (folder_scan_content): make sure *data is
1144         set to something before we exit.
1145
1146         * camel-mime-parser.c (folder_read): use memmove, not memcpy,
1147         since memory areas could overlap.
1148
1149         * camel-html-parser.c (tokenise_step): use the length from the
1150         utf8 conversion, it isn't 0 terminated.
1151
1152         * camel-mime-utils.c (header_decode_quoted_string): if we run out
1153         of string, then don't go past the 0.
1154
1155 2005-08-13  Tor Lillqvist  <tml@novell.com>
1156
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.
1163
1164 2005-08-12  Tor Lillqvist  <tml@novell.com>
1165
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.
1171
1172         * camel-win32.c: New file, some Win32-specific functions.
1173
1174         * providers/Makefile.am: Leave out sendmail on Win32.
1175
1176 2005-08-09  Not Zed  <NotZed@Ximian.com>
1177
1178         * camel-store.c (camel_store_get_folder): add some debug logging.
1179
1180 2005-04-17  Changwoo Ryu  <cwryu@debian.org>
1181
1182         ** See bug #300891
1183         
1184         * Makefile.am (INCLUDES): define CAMEL_EXPLICIT_TRANSLATION_DOMAIN
1185         and EVOLUTION_LOCALEDIR.
1186
1187         * camel.c (camel_init): initialize gettext with bindtextdomain()
1188         and bind_textdomain_codeset().
1189
1190 2005-08-09  Changwoo Ryu <cwryu@debian.org>
1191
1192         ** See bug #300115.
1193
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.
1197
1198 2005-08-08  Not Zed  <NotZed@Ximian.com>
1199
1200         ** See bug #312831.
1201
1202         * camel-folder-thread.c (prune_empty): change to depth-first
1203         search so we check for empty children before checking if we have
1204         children.
1205         (dump_tree_rec): update debug func.
1206
1207 2005-08-03  Not Zed  <NotZed@Ximian.com>
1208
1209         ** See bug #274382.
1210
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.
1214
1215 2005-07-28  Not Zed  <NotZed@Ximian.com>
1216
1217         ** See bug #311731.
1218
1219         * camel-store.c (camel_folder_info_build): fix this, again, minor
1220         simplification.  it was messing up the namespace != "" case
1221         somewhat.
1222
1223 2005-07-28  Shreyas Srinivasan  <sshreyas@novell.com>
1224
1225         * camel-offline-folder.c: (camel_offline_folder_init): Revert old
1226         patch. Copy folder contents locally by default makes evolution crawl.
1227         
1228 2005-07-27  Mengjie Yu  <meng-jie.yu@sun.com>
1229
1230         * camel-store.c: (camel_isubscribe_subscribe),
1231         (camel_isubscribe_unsubscribe):
1232         Void function should not return value.
1233
1234         Fixes #310198
1235
1236 2005-07-25  Shreyas Srinivasan  <sshreyas@novell.com>
1237
1238         * camel-offline-folder.c (camel_offline_folder_init): Copy 
1239         folder contents locally by default.
1240         
1241 2005-07-20  Not Zed  <NotZed@Ximian.com>
1242
1243         * camel-store.c (camel_store_get_folder_info): Changed the
1244         semantics slightly.  !FAST makes no guarantees about message
1245         counts anymore.
1246
1247         * camel-disco-store.c: fix up some stupid hidden logic here.
1248
1249 2005-07-19  Not Zed  <NotZed@Ximian.com>
1250
1251         * camel-folder.c (camel_folder_refresh_info): remove the folder
1252         lock.
1253
1254         * camel-disco-store.c (disco_get_folder_info): dont force a
1255         connect here, it doesn't belong here.
1256
1257         * camel-store.c (camel_store_get_folder_info): remove subscription
1258         assert.
1259
1260 2005-07-13  Not Zed  <NotZed@Ximian.com>
1261
1262         * camel-store.c (camel_store_init): initialise the mode to
1263         something which reflects the actual mode.
1264
1265         * camel-store.h: fix the permission bit names and mode name.
1266
1267         * camel-session.c (camel_session_class_init,
1268         camel_session_set_online): Create/emit a new event 'online'.
1269
1270 2005-07-10  Shreyas Srinivasan <sshreyas@novell.com>
1271
1272         * camel-store.h: Add a new #define to identify proxy stores
1273         and a new data member permissions to hold store specific permissions.
1274         
1275 2005-07-08  Harish Krishnaswamy  <kharish@novell.com>
1276
1277         ** Patch submitted by Greg Hudson <ghudson@mit.edu>
1278         ** See bug #308209
1279         * camel-sasl-login.c: (login_challenge): Wait for the
1280         server to initiate the challenge.
1281
1282 2005-07-06 Vivek Jain <jvivek@novell.com>
1283
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
1287          callbacks
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
1290         
1291 2005-06-24      Matt Brown <matt@mattb.net.nz>
1292
1293         * camel-gpg-context.c:  Extend verify and decrypt functions to support
1294         inline pgp signed messages via x-inlinepgp-signed/x-inlinepgp-encrypted
1295         mime types.
1296         * camel-mime-filter-pgp.h:
1297         * camel-mime-filter-pgp.c:
1298         New filter to strip dash encoding from inline pgp signed messages.
1299
1300 2005-06-09  Sarfraaz Ahmed <asarfraaz@novell.com>
1301
1302         * camel-store.c (camel_folder_info_build): Minor typo in debug message.
1303
1304 2005-05-16  Jeffrey Stedfast  <fejj@novell.com>
1305
1306         * camel-mime-filter-basic.c (complete): Call
1307         camel_quoted_encode_close() instead of quoted_decode_close() when
1308         encoding.
1309
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.
1313
1314 2005-05-07  Sankar P  <psankar@novell.com>
1315
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.
1321
1322 2005-04-26  Ross Burton  <ross@burtonini.com>
1323
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.
1334
1335 2005-04-18  Jeffrey Stedfast  <fejj@novell.com>
1336
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
1339         details.
1340
1341 2005-04-07  Jeffrey Stedfast  <fejj@novell.com>
1342
1343         Fix for bug #273945
1344
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.
1348
1349 2005-04-11  Harish Krishnaswamy  <kharish@novell.com>
1350
1351         * Makefile.am:
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:
1362         use API_VERSION 
1363
1364 2005-03-31  Jeffrey Stedfast  <fejj@novell.com>
1365
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.
1370
1371 2005-03-25  Jeffrey Stedfast  <fejj@novell.com>
1372
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.
1376
1377 2005-03-15  Jeffrey Stedfast  <fejj@novell.com>
1378
1379         * camel-stream.c (camel_stream_read): Fix for systems where read
1380         is a macro by David Malcolm.
1381
1382 2005-03-01  Not Zed  <NotZed@Ximian.com>
1383
1384         * tests/misc/test2.c: fix the case of the charset specification,
1385         now we properly canonicalise them.
1386
1387 2005-03-01  Not Zed  <NotZed@Ximian.com>
1388
1389         ** See bug #73015
1390
1391         * tests/misc/test1.c: Test case for references decoding.
1392
1393         * camel-mime-utils.c (header_decode_addrspec): if we get no start
1394         word, then return NULL not "".
1395
1396 2005-03-02  Not Zed  <NotZed@Ximian.com>
1397
1398         ** See bug #70195
1399
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
1403         string.
1404         (header_encode_phrase_merge_words): when we merge the word, make
1405         sure we merge the encoding too.
1406
1407 2005-03-02  Not Zed  <NotZed@Ximian.com>
1408
1409         ** See bug #70590 (again)
1410
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.
1414
1415 2005-03-01  Not Zed  <NotZed@Ximian.com>
1416
1417         ** See bug #72876
1418
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.
1421
1422 2005-02-28  Not Zed  <NotZed@Ximian.com>
1423
1424         ** See bug #72609
1425
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.
1429
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.
1433
1434 2005-02-28  Not Zed  <NotZed@Ximian.com>
1435
1436         ** See bug #70590
1437
1438         * camel-filter-driver.c (do_move): Make this copy+delete, and
1439         terminate processing implicitly.
1440
1441 2005-02-24  Not Zed  <NotZed@Ximian.com>
1442
1443         ** See bug #68459
1444
1445         * camel-nntp-address.[ch]: cameladdress implementation for list of
1446         newsgroups.
1447
1448 2005-02-11  Radek Doulik  <rodo@novell.com>
1449
1450         * camel-filter-search.c (junk_test): use camel debug
1451
1452         * camel-junk-plugin.c: use camel debug
1453
1454 2005-02-09  Jeffrey Stedfast  <fejj@novell.com>
1455
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.
1459
1460 2005-02-07  JP Rosevear  <jpr@novell.com>
1461
1462         * camel-iconv.c: remove dead file
1463
1464 2005-02-07  Jeffrey Stedfast  <fejj@novell.com>
1465
1466         * tests/folder/test11.c: Fixed junk/trash folder names/paths.
1467
1468 2005-02-04  Not Zed  <NotZed@Ximian.com>
1469
1470         * camel-filter-search.c (check_header): don't try to match against
1471         mlist if the mlist entry is NULL.
1472
1473         * camel-store-summary.h: make the store-info flags match the
1474         store:folder_info flags.
1475
1476         * Revert jeffs changes, they weren't needed.
1477
1478 2005-02-02  Jeffrey Stedfast  <fejj@novell.com>
1479         
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).
1487         
1488 2005-02-01  Not Zed  <NotZed@Ximian.com>
1489
1490         ** See bug #65329
1491
1492         * camel-vee-store.c (camel_vee-store_init): api chanes
1493
1494         * camel-vtrash-folder.c (camel_vtrash_folder_new): api chagne and
1495         translate the short name.
1496
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.
1500
1501         * camel-store.c (camel_store_get_folder_info): set the folder type
1502         hint.
1503
1504         * camel-store.h: add a bitfield for a folder-type hint.  used to
1505         indicate inbox/trash/etc (mainly for gui icons).
1506
1507         ** See bug #38791 and bug #36142.
1508
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
1511         cancellation here.
1512         (gpg_sign): remove cancellation check/processing.
1513         (gpg_verify): same.
1514         (gpg_encrypt): same.
1515         (gpg_decrypt): same.
1516         (gpg_ctx_op_step): remove the messy execption handling stuff, it
1517         wasn't useful.
1518         (gpg_import_keys, gpg_export_keys): clean up exception case.
1519
1520         ** See bug #72020.
1521
1522         * camel-filter-driver.c (do_score): don't use
1523         camel_folder_set_message_user_tag anymore, use the messageinfo
1524         interface.
1525         (do_adjust_score): implement missing function.
1526
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
1530         or fragment).
1531
1532 2005-01-31  Parthasarathi Susarla <sparthasarathi@novell.com>
1533         
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
1543
1544 2005-01-31  Hans Petter Jansson  <hpj@novell.com>
1545
1546         * camel-mime-utils.c (camel_mime_special_table): Remove this, it's
1547         declared externally now.
1548
1549 2005-01-31  Not Zed  <NotZed@Ximian.com>
1550
1551         ** See bug #70303.
1552
1553         * tests/mime-filter/test1.c: added new test for
1554         camel-mime-filter-canon.c
1555
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).
1561
1562         ** See bug #68741.
1563
1564         * camel-vtrash-folder.h: move Junk and Trash into the ".#evolution"
1565         'namespace'.
1566
1567         * camel-store.c (add_special_info): only compare the full name for
1568         the special folder.
1569
1570         ** See bug #38671.
1571
1572         * camel-filter-search.c (check_header): check all instances of
1573         headers for match string.
1574
1575 2005-01-28  Not Zed  <NotZed@Ximian.com>
1576
1577         * camel-provider.h: Added CAMEL_URL_PART_HIDE* options, required
1578         for more flexible extensibility.
1579
1580 2005-01-29   Sivaiah Nallagatla <snallagatla@novell.com>
1581
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
1585
1586 2005-01-29   Sivaiah Nallagatla <snallagatla@novell.com>
1587
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 
1592
1593 2005-01-27  Jeffrey Stedfast  <fejj@novell.com>
1594
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
1599         reflect reality.
1600
1601 2005-01-27  Parthasarathi Susarla <sparthasarathi@novell.com>
1602         
1603         * providers/groupwise/camel-groupwise-folder.c
1604         (groupwise_refresh_info):
1605         (gw_update_summary): using getquickmessages instead of get items
1606
1607         * providers/groupwise/camel-groupwise-store.c
1608         (groupwise_get_folder): using get quick messages instead of get
1609         items
1610
1611 2005-01-27  Jeffrey Stedfast  <fejj@ximian.com>
1612
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
1616         #71808.
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
1620         our query.
1621
1622         * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
1623         Fixed to handle "" as the delim portion of the NAMESPACE. Fixes
1624         bug #71847.
1625
1626 2005-01-26  Jeffrey Stedfast  <fejj@novell.com>
1627
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
1636         it.
1637
1638 2005-01-25  Jeffrey Stedfast  <fejj@novell.com>
1639
1640         * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
1641         Setup filtering and junk filtering stuff.
1642
1643 2005-01-24  JP Rosevear  <jpr@novell.com>
1644
1645         * tests/folder/test6.c: get imap4 not imap
1646
1647         * tests/folder/test4.c: ditto
1648         
1649 2005-01-24  Jeffrey Stedfast  <fejj@novell.com>
1650
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).
1655
1656 2005-01-24  Jeffrey Stedfast  <fejj@ximian.com>
1657
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
1663         listing.
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
1666         subscribed).
1667
1668 2005-01-24  Parthasarathi Susarla <sparthasarathi@novell.com>
1669
1670         * providers/groupwise/camel-groupwise-folder.c
1671         (groupwise_transfer_messages_to): using moveItemRequest for moving
1672         messages between folders.
1673
1674 2005-01-23  Jeffrey Stedfast  <fejj@ximian.com>
1675
1676         * providers/imap4/camel-imap4-store.c (imap4_construct): Check if
1677         we have the use_lsub url param and set the store->flags
1678         appropriately.
1679
1680 2005-01-24  Not Zed  <NotZed@Ximian.com>
1681
1682         ** See bug #71427.
1683
1684         * providers/pop3/camel-pop3-store.c (pop3_connect): fix the
1685         exception case for re-prompting for the password.
1686
1687         ** See bug #71625, and bug #56110.
1688
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.
1692
1693 2005-01-23  Jeffrey Stedfast  <fejj@ximian.com>
1694
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.
1700
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.
1705
1706 2005-01-21  Jeffrey Stedfast  <fejj@novell.com>
1707
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.
1712
1713         * providers/Makefile.am: Removed "imap" from the build and made
1714         "imap4" the default.
1715
1716         * providers/imap4/libcamelimap4.urls: Fixed to only list "imap"
1717
1718         * providers/imap4/camel-imap4-provider.c: Changed the 'protocol'
1719         string to "imap" from "imap4" so we override the old imap urls.
1720
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.
1723
1724         * camel-offline-journal.c: Same.
1725
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.
1729
1730 2005-01-20  Parthasarathi Susarla <sparthasarathi@novell.com>
1731         
1732         * providers/groupwise/camel-groupwise-folder.c
1733           (groupwise_folder_get_message) : support for status
1734           for message tracking. 
1735           Removed compiler warnings.
1736
1737 2005-01-20  Parthasarathi Susarla <sparthasarathi@novell.com>
1738
1739         * providers/groupwise/camel-groupwise-folder.c 
1740           (groupwise_folder_get_message):
1741           Show warning, but display message in case we cannot get
1742           attachments. 
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
1748           view.
1749
1750 2005-01-20  Not Zed  <NotZed@Ximian.com>
1751
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
1755         <max@hinterhof.net>
1756
1757 2005-01-19  Jeffrey Stedfast  <fejj@novell.com>
1758
1759         * camel-offline-folder.c (camel_offline_folder_class_init): Only
1760         init the perperties list once (class_init can be called multiple
1761         times apparently).
1762
1763         * providers/imap4/camel-imap4-utils.c: disable debugging.
1764
1765         * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
1766         Set a cmeta file path.
1767
1768         * providers/imap4/camel-imap4-command.c: Disable debugging spew
1769         unless imap4:command is enabled.
1770
1771         * camel-offline-folder.c (camel_offline_folder_downsync): Documented.
1772
1773         * camel-offline-store.c (camel_offline_store_set_network_state):
1774         Use NULL as the search expression which forces all messages to be
1775         synced.
1776
1777 2005-01-18  Jeffrey Stedfast  <fejj@novell.com>
1778
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.
1782
1783 2005-01-13  Jeffrey Stedfast  <fejj@novell.com>
1784
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
1794         entries.
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.
1802
1803 2005-01-19  Parthasarathi Susarla <sparthasarathi@novell.com>
1804
1805         * providers/groupwise/camel-groupwise-folder.c
1806         (groupwise_folder_get_message): set the message id as the uid
1807         for the CamelMimeMessage
1808         
1809 2005-01-18  Parthasarathi Susarla <sparthasarathi@novell.com>
1810         
1811         * providers/groupwise/camel-groupwise-store.c:
1812           Removed debug statements and compiler warnings
1813
1814 2005-01-17 Sivaiah Nallagatla <snallagatla@novell.com>
1815
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 
1818         
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 
1822         
1823 2005-01-17  Not Zed  <NotZed@Ximian.com>
1824
1825         * tests/lib/folders.c (test_folder_basic): dont enforce local
1826         store == no inbox; maildir implements one now.
1827
1828         * camel-multipart-signed.c (skip_content): in the message state
1829         skip a state, otherwise we go nowhere but down an overflowed stack
1830         drain.
1831
1832 2005-01-14  Not Zed  <NotZed@Ximian.com>
1833
1834         ** Better fix for #65178.
1835         
1836         * tests/folder/test11.c: new maildir test.
1837
1838         * camel-store.c (camel_store_folder_uri_equal): dont pass NULL
1839         values to compare_folder_name.
1840
1841         * providers/local/camel-maildir-store.c (get_folder_info):
1842         reimplemented, now everything isn't a subfolder of INBOX ('.')
1843         anymore.
1844         (get_inbox): call main entry point so we don't create multiple
1845         inboxes each call.
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
1849         ones.
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.
1856
1857 2005-01-14  Jeffrey Stedfast  <fejj@novell.com>
1858
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.
1864
1865 2005-01-14  Jeffrey Stedfast  <fejj@novell.com>
1866
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).
1877
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
1882         message-list.
1883
1884 2005-01-12  Jeffrey Stedfast  <fejj@novell.com>
1885
1886         * providers/imap4/camel-imap4-provider.c: Use the same key
1887         shortcuts as current imap code.
1888
1889 2005-01-13  Not Zed  <NotZed@Ximian.com>
1890
1891         ** See bug #65178.
1892
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 "./".
1896
1897         ** See bug #69024.
1898
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.
1902
1903 2005-01-12  Not Zed  <NotZed@Ximian.com>
1904
1905         ** See bug #47824.
1906
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.
1910
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.
1918
1919         * tests/message/test3.c (main): remove the nonfatal fixme & put
1920         extra null check for pre/postface text checks.
1921
1922         * tests/message/test2.c (convert): use size_t for iconv length
1923         types.
1924
1925 2005-01-11  Jeffrey Stedfast  <fejj@novell.com>
1926
1927         * providers/imap4/camel-imap4-store-summary.c
1928         (camel_imap4_store_summary_get_folder_info): Fixed a possible
1929         uninitialised condition.
1930
1931 2005-01-12  Sushma Rai <rsushma@novell.com>
1932
1933         * camel-provider.[ch]: Removed camel_provider_validate_user()
1934         and added a void pointer to CamelProvider structure. 
1935
1936 2005-01-12  Not Zed  <NotZed@Ximian.com>
1937
1938         ** See bug #70095.
1939
1940         * camel-vee-folder.c (vee_delete): fix past-o, unlock not lock
1941         lock when done.
1942
1943 2005-01-08  Not Zed  <NotZed@Ximian.com>
1944
1945         * camel-sasl-ntlm.c: convert all the unsigned long/long stuff to
1946         guint32 since it seems to need 32 bit integers.
1947
1948         * camel-url.c (camel_url_new_with_base): cast length to int.
1949
1950         * providers/imap/camel-imap-command.c
1951         (imap_command_strdup_vprintf): cast strlen to int.
1952
1953         * camel-mime-utils.c (append_quoted_pair, header_decode_text): use
1954         gssize for length to match dumb g-api.
1955
1956 2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
1957
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
1961
1962 2005-01-11  Parthasarathi Susarla <sparthasarathi@novell.com>
1963         
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
1970           imap4 code by fejj
1971
1972 2005-01-11  JP Rosevear  <jpr@novell.com>
1973
1974         * providers/groupwise/camel-groupwise-transport.h: remove defines
1975
1976         * providers/groupwise/camel-groupwise-transport.c (groupwise_send_to) 
1977         (groupwise_send_to): use util routine to build item
1978
1979         * providers/groupwise/camel-groupwise-store.h: new protos
1980
1981         * providers/groupwise/camel-groupwise-store.c
1982         (groupwise_rename_folder): use new api name and don't strdup the
1983         lookup name
1984         (camel_groupwise_store_folder_lookup): find folder from container id
1985
1986         * providers/groupwise/camel-groupwise-journal.[hc]: implement
1987         journalling for append and transfer
1988
1989         * providers/groupwise/camel-groupwise-folder.h: add journal member
1990
1991         * providers/groupwise/camel-groupwise-folder.c
1992         (groupwise_folder_get_message): use new api name and don't strdup
1993         the lookup name
1994         (groupwise_refresh_info): ditto
1995         (groupwise_append_message): ditto
1996         (groupwise_expunge): ditto
1997         (groupwise_transfer_messages_to): handle being in offline mode
1998
1999         * providers/groupwise/Makefile.am: build journal sources
2000
2001 2005-01-11 Parthasarathi Susarla <sparthasarathi@novell.com>
2002         
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
2009         
2010 2005-01-11 Vivek Jain  <jvivek@novell.com>
2011         * camel-store.h : defined flags for shared folders
2012
2013 2005-01-11  Not Zed  <NotZed@Ximian.com>
2014
2015         ** See bug #70919.
2016
2017         * camel-multipart-signed.c (parse_content): treat the post pointer
2018         as binary, not 0 terminated.
2019
2020 2004-12-23  Not Zed  <NotZed@Ximian.com>
2021  
2022       ** See bug #70556.
2023       
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'
2027       hack.
2028
2029 2005-01-10  Jeffrey Stedfast  <fejj@novell.com>
2030
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
2037         than strings.
2038         (groupwise_expunge): Updated to fit the normal CamelStore expunge
2039         API and fixed a deadlock condition.
2040
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
2049         thing.
2050         (groupwise_create_folder): Updated for CamelOfflineStore stuff.
2051         (groupwise_delete_folder): Same.
2052         (groupwise_rename_folder): Same.
2053
2054         * providers/imap4/camel-imap4-stream.c: Disable token debug spew
2055         unless imap4:stream debug is enabled.
2056
2057 2005-01-10  Sushma Rai <rsushma@novell.com>
2058
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.
2064
2065 2005-01-10  Parthasarathi Susarla <sparthasarathi@novell.com>
2066
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.
2071         
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.
2075         
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
2079
2080 2005-01-10  Parthasarathi Susarla <sparthasarathi@novell.com>
2081
2082         * providers/groupwise/camel-groupwise-store-summary.[ch]:
2083         implements the CamelStoreSummary Class providing support
2084         for store summary for the soap provider.
2085
2086         * providers/groupwise/camel-groupwise-store.c
2087         (groupwise_get_folder_info_online): saves the store summary
2088         after building folder info.
2089   
2090 2005-01-07  Jeffrey Stedfast  <fejj@novell.com>
2091
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.
2102
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.
2106         (imap4_sync): Same.
2107         (imap4_refresh_info): Same.
2108         (imap4_get_message): Here too.
2109         (imap4_append_message): Same.
2110         (imap4_transfer_messages_to): Same.
2111
2112 2005-01-07  Parthasarathi Susarla <sparthasarathi@novell.com>
2113
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
2117
2118 2005-01-07  JP Rosevear  <jpr@novell.com>
2119
2120         * providers/groupwise/camel-groupwise-store.c
2121         (groupwise_store_construct): don't free an alloca'd memory pointer
2122
2123 2005-01-06  Jeffrey Stedfast  <fejj@novell.com>
2124
2125         * providers/imap4/camel-imap4-summary.c: Changed to use the new
2126         CamelOfflineJournal API.
2127
2128         * providers/imap4/camel-imap4-journal.c: Changed to inherit from
2129         the new CamelOfflineJournal class.
2130
2131         * providers/imap4/camel-imap4-folder.c: Changed to inherit from
2132         CamelOfflineFolder
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()
2136
2137         * providers/imap4/camel-imap4-store.c: Changed to inherit from
2138         CamelOfflineStore rather than CamelStore.
2139
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?)
2143
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?)
2147
2148         * camel-offline-store.[c,h]: New abstract class for offline stores
2149         - handles switching between network avail/unavail. (Future
2150         replacement for CamelDiscoStore?)
2151
2152 2005-01-06 Parthasarathi Susarla <sparthasarathi@novell.com>
2153
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
2158         folders
2159         (storage_path_lookup): returns the storage path for the groupwise
2160         account
2161
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
2168         between folders
2169         (convert_to_calendar): function to populate data for displaying
2170         appointments by itip control
2171
2172         * providers/groupwise/camel-groupwise-transport.c
2173         (groupwise_send_to): support for sending attachments
2174
2175 2005-01-04  Sivaiah Nallagatla     <snallagatla@novell.com>
2176
2177         * providers/groupwise/camel-groupwise-store.c
2178         (groupwise_create_folder, groupwise_delete_folder),
2179         (groupwise_rename_folder): prevent these operations in offline
2180         mode
2181
2182 2005-01-04  Parthasarathi Susarla <sparthasarathi@novell.com>
2183
2184         * providers/groupwise/camel-groupwise-store.c
2185         (groupwise_store_construct): initialise the store summary.
2186
2187 2005-01-04  Parthasarathi Susarla <sparthasarathi@novell.com>
2188
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.
2192
2193 2004-12-31  JP Rosevear  <jpr@novell.com>
2194
2195         * providers/groupwise/Makefile.am: dist the private header, fix
2196         includes
2197
2198         * tests/smime/pgp.c (main): use define for data location
2199
2200         * tests/smime/Makefile.am: define for the data dir
2201
2202         * tests/mime-filter/test-charset.c (main): load and output to the
2203         correct dir
2204
2205         * tests/message/Makefile.am: clean up generated files
2206
2207         * Makefile.am: clean up the package config data
2208
2209         * tests/Makefile.am: dist the data dir
2210
2211 2004-12-23  Sivaiah Nallagatla <snallagatla@novell.com>
2212
2213         * providers/groupwise/camel-groupwise-provider.c : changed the
2214         offline_sync setting label 
2215
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.
2219
2220 2004-12-23  Parthasarathi Susarla <sparthasarathi@novell.com>
2221
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 
2232         instead of soap.
2233
2234 2004-12-23  Not Zed  <NotZed@Ximian.com>
2235
2236         * camel-folder-search.c (check_header): treat a missing header as
2237         if it was set to "".
2238
2239         * camel-object.c (camel_object_is, camel_object_class_is)
2240         (camel_interface_is): check for null values before dereferencing
2241         them.
2242
2243 2004-12-20  David Mosberger-Tang  <David.Mosberger@acm.org>
2244
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
2255         EMemPool.
2256         (folder_pull_part): Call e_mempool_destroy() instead of
2257         mempool_free().
2258         (header_append_mempool): Call e_mempool_alloc() instead of
2259         mempool_alloc().
2260         (folder_scan_header): Call e_mempool_new() instead of
2261         mempool_new().
2262
2263 2004-12-20  Not Zed  <NotZed@Ximian.com>
2264
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 &
2268         init if need be.
2269
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.
2274
2275         * camel.c (camel_shutdown): dont shutdown mime utils anymore.
2276
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
2282         memory.
2283         (base64_init): removed, this data never changes, keep table in
2284         static memory.
2285
2286 2004-12-15  Rodney Dawes  <dobey@novell.com>
2287
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
2290
2291 2004-12-14  Jeffrey Stedfast  <fejj@novell.com>
2292
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 :)
2296
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
2300         summary.
2301
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.
2305
2306 2004-12-14  Jeffrey Stedfast  <fejj@novell.com>
2307
2308         * providers/imap4/camel-imap4-journal.[c,h]: New source files
2309         implementing a basic journal.
2310
2311         * providers/imap4/camel-imap4-summary.c
2312         (camel_imap4_summary_flush_updates): Replay the journal.
2313
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
2318         offline mode.
2319         (imap4_transfer_messages_to): Implement offline copy/move support
2320         using the new journal code.
2321
2322 2004-12-09  Jeffrey Stedfast  <fejj@novell.com>
2323
2324         * providers/imap4/camel-imap4-folder.c (imap4_append_message):
2325         Don't bother sending UID APPEND if the caller doesn't care about
2326         appended_uid.
2327
2328 2004-12-13  Not Zed  <NotZed@Ximian.com>
2329
2330         * tests/lib/Makefile.am: put the test-provider stuff back in.
2331
2332         * tests/*/Makefile.am: version libcamel*.
2333
2334         * tests/lib/camel-test-provider.[ch]: duh, re-implement, it got
2335         lost somehow.
2336
2337 2004-12-07  Jeffrey Stedfast  <fejj@novell.com>
2338
2339         * providers/imap4/camel-imap4-folder.c (imap4_append_message):
2340         Need to have the folder as the first vararg.
2341
2342 2004-12-06  Rodney Dawes  <dobey@novell.com>
2343
2344         * camel-lock-client.c (camel_lock_helper_init):
2345         Exec camel-lock-helper-$BASE_VERSION instead of just camel-lock-helper
2346
2347 2004-12-06  Jeffrey Stedfast  <fejj@novell.com>
2348
2349         * camel-sasl-gssapi.c: #include "camel-net-utils.h"
2350
2351         * camel-net-utils.h: #include sys/types.h for size_t, etc.
2352
2353 2004-12-06  Rodney Dawes  <dobey@novell.com>
2354
2355         * Makefile.am: Fix pkgconfig bits to dist the unversioned .in files
2356         properly
2357
2358         * tests/lib/Makefile.am: Removed camel-test-provider stuff, since it
2359         isn't in the source tree
2360
2361 2004-11-29  Mengjie Yu  <meng-jie.yu@sun.com>
2362
2363         * providers/imap/camel-imap-provider.c:add mnemonic for checkboxes.
2364
2365 2004-12-03  Jeffrey Stedfast  <fejj@novell.com>
2366
2367         * providers/imap4/camel-imap4-store.c (connect_to_server): Same.
2368
2369         * providers/nntp/camel-nntp-store.c (connect_to_server): Same.
2370
2371         * providers/imap/camel-imap-store.c (connect_to_server): Same.
2372
2373         * providers/pop3/camel-pop3-store.c (connect_to_server): Same.
2374
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.
2378
2379 2004-12-03  Sivaiah Nallagatla <snallagatla@novell.com>
2380
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
2384
2385         * providers/groupwise/Makefile.am: Remove camel-gw-listner.c from
2386         SOURCES
2387
2388         * providers/Makefile.am: add groupwise to SUBDIRS 
2389                 
2390 2004-12-02  Not Zed  <NotZed@Ximian.com>
2391
2392         ** See bug #69533.
2393
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.
2398
2399 2004-12-01  Not Zed  <NotZed@Ximian.com>
2400
2401         ** See bug #69776.
2402
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.
2408
2409 2004-11-23  Not Zed  <NotZed@Ximian.com>
2410
2411         ** See bug #69615.
2412
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.
2416
2417 2004-11-22  Not Zed  <NotZed@Ximian.com>
2418
2419         ** See bug #69109.
2420
2421         * providers/smtp/camel-smtp-transport.c (smtp_helo): if we have
2422         ipv6 address and it is numeric, prefix it with "IPv6:"
2423
2424 2004-11-30  Not Zed  <NotZed@Ximian.com>
2425
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
2428         enum.  Sigh.
2429         (camel_nntp_stream_init): fix for above change.
2430
2431 2004-11-28  S.ÇaÄŸlar Onur  <caglar@uludag.org.tr>
2432
2433         ** See bug #69446.
2434
2435         * camel-charset-map.c (camel_charset_iso_to_windows):
2436
2437         * camel-filter-search.c (check_header):
2438
2439         * camel-folder-search.c (check_header):
2440
2441         * camel-folder-summary.c
2442         (message_info_new,summary_build_content_info,camel_system_flag):
2443
2444         * camel-html-parser.c (camel_html_parser_attr):
2445
2446         * camel-mime-filter-enriched.c 
2447         (param_parse,camel_mime_filter_enriched_init):
2448
2449         * camel-mime-parser.c (folder_scan_step,main):
2450
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):
2455
2456         * camel-sasl-digest-md5.c (decode_data_type):
2457
2458         * providers/imap/camel-imap-command.c (camel_imap_response_free):
2459
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):
2463
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):
2467
2468         * providers/pop3/camel-pop3-store.c (get_folder):
2469
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]
2474
2475 2004-10-12  Radek Doulik  <rodo@ximian.com>
2476
2477         * camel-junk-plugin.c: new init method implementation
2478
2479         * camel-junk-plugin.h: added junk plugin init declaration
2480
2481 2004-11-10  Not Zed  <NotZed@Ximian.com>
2482
2483         ** See bug #69109.
2484         
2485         * camel-service.c (cs_getnameinfo): honour the NI_NAMEREQD flag.
2486
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 [].
2490
2491 2004-11-21 Sivaiah Nallagatla <snallagatla@novell.com>
2492         
2493         * providers/groupwise/camel-groupwise-provider.c : added 
2494         a setting to mark the account for offline usuage 
2495
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 
2500         marked for offline
2501
2502 2004-11-18  Not Zed  <NotZed@Ximian.com>
2503
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.
2508
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.
2512
2513         * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
2514         retry if the password attempt failed.
2515
2516         ** See bug #68556.
2517
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.
2522
2523 2004-11-15  Jeffrey Stedfast  <fejj@novell.com>
2524
2525         * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
2526         In the fallback cases, clear the exception first.
2527
2528         * providers/imap/camel-imap-store.c (connect_to_server_wrapper):
2529         In the fallback cases, clear the exception first.
2530
2531         * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
2532         In the fallback cases, clear the exception first.
2533
2534 2004-11-15  Jeffrey Stedfast  <fejj@novell.com>
2535
2536         * providers/imap/camel-imap-store.c (connect_to_server): Use
2537         camel_tcp_stream_ssl_new_raw() for STARTTLS stream.
2538
2539         * providers/imap4/camel-imap4-store.c (connect_to_server): Use
2540         camel_tcp_stream_ssl_new_raw() for STARTTLS stream.
2541
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
2550         STARTTLS stream.
2551
2552         * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line):
2553         Fix bug #69408 by filling our input buffer if inptr == inend.
2554
2555 2004-11-13  Jeffrey Stedfast  <fejj@ximian.com>
2556
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.
2560
2561 2004-11-12  Jeffrey Stedfast  <fejj@novell.com>
2562
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.
2574
2575         * providers/imap4/camel-imap4-folder.c (imap4_append_message):
2576         Init appended_uid value to NULL
2577
2578         * providers/imap4/camel-imap4-engine.c (engine_parse_namespace):
2579         Properly handle NILs for the namespace separator (somehow I missed
2580         this, silly me).
2581
2582 2004-12-02  Not Zed  <NotZed@Ximian.com>
2583
2584         * Makefile.am: version all the libraries with the base version of the
2585         package.  move libcamel-1.2 into libdir, etc.
2586
2587         * camel.pc.in: remove the provider stuff from here.
2588
2589         * camel-provider.pc.in: create a camel-provider pc file.
2590
2591 2004-11-16  Not Zed  <NotZed@Ximian.com>
2592
2593         * tests/lib/folders.c (test_folder_message_ops): updated counts for
2594         delete also marking unread.
2595
2596         * tests/lib/camel-test.c (camel_test_provider_init): new api for
2597         initialising test system 'in-build'.
2598
2599         * camel-provider.c: remove the assertions, init if we need to,k
2600         use pthread_once stuff to serialise it.
2601
2602         * tests/folder/test3.c (main): remove gtk stuff (???).
2603
2604         * tests/*: Fix all the makefiles.  Made make-check work 'in-build'.
2605
2606         * tests/lib/folders.c (test_folder_counts): update for api changes.
2607         (test_message_info): similar.
2608
2609         * providers/Makefile.am: removed groupwise from the build, this
2610         can't go in here anymore, not in its current state.
2611
2612         * camel-net-utils.c (camel_gethostbyaddr_r)
2613         (camel_gethostbyname_r): the old e_gethost* calls from
2614         e-host-utils.c.
2615
2616 2004-11-15  Not Zed  <NotZed@Ximian.com>
2617
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.
2621
2622         * camel.h: remove the provider stuff from the header.
2623
2624         * camel-provider.c: globalise provider_init variable, and asserton
2625         it in all functions that rely on it.
2626
2627         * camel-service.c: removed getaddrinfo/etc.
2628
2629         * camel-net-utils.[ch]: separate out camel_getaddrinfo etc.
2630
2631         * Makefile.am: split camel into 2 libraries, libcamel and
2632         libcamel-store.
2633
2634         * camel-multipart-signed.c (camel_multipart_signed_sign)
2635         (camel_multipart_signed_verify, prepare_sign): remove old
2636         deprecated api.
2637
2638         * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt) 
2639         (camel_multipart_encrypted_decrypt): remove old deprecated api.
2640
2641 2004-11-12  Not Zed  <NotZed@Ximian.com>
2642
2643         ** Merge in notzed-messageinfo-branch, fix some minor conflicts.
2644
2645 2004-11-11  Jeffrey Stedfast  <fejj@novell.com>
2646
2647         * providers/imap4/camel-imap4-store.c (imap4_reconnect): Free the
2648         passwd here if we need to retry to authenticate.
2649
2650 2004-11-10  Jeffrey Stedfast  <fejj@novell.com>
2651
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).
2656
2657 2004-11-09  Not Zed  <NotZed@Ximian.com>
2658
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.
2662
2663 2004-11-08  Not Zed  <NotZed@Ximian.com>
2664
2665         ** See bug #69145.
2666
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.
2671
2672 2004-11-09  Jeffrey Stedfast  <fejj@novell.com>
2673
2674         * providers/imap4/camel-imap4-provider.c: Updated the properties
2675         to include all the same settings as the old imap code.
2676
2677         * providers/imap4/camel-imap4-folder.c (imap4_getv): Implemented.
2678         (imap4_setv): Implemented.
2679
2680 2004-11-08  Jeffrey Stedfast  <fejj@novell.com>
2681
2682         Fix for bug #69241.
2683
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.
2690
2691 2004-11-09  Jeffrey Stedfast  <fejj@novell.com>
2692
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).
2697
2698 2004-11-08  Jeffrey Stedfast  <fejj@novell.com>
2699
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.
2703
2704 2004-11-04  Jeffrey Stedfast  <fejj@novell.com>
2705
2706         * providers/imap4/camel-imap4-engine.c: Added much in-line
2707         documentation.
2708         (engine_parse_capability): Use g_ascii_str[n]casecmp().
2709         (camel_imap4_engine_nstring): New convenience function.
2710
2711 2004-11-02  Not Zed  <NotZed@Ximian.com>
2712
2713         * camel-object.c (camel_object_hook_event): check interfaces for
2714         events too.
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.
2721
2722 2004-11-02  Jeffrey Stedfast  <fejj@novell.com>
2723
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.
2727
2728         * providers/imap4/camel-imap4-utils.c
2729         (camel_imap4_get_path_delim): add an assert that s->namespaces is
2730         non-NULL.
2731
2732         * providers/imap4/camel-imap4-stream.c
2733         (camel_imap4_stream_literal): Update stream->inptr after fetching
2734         the literal chunk.
2735
2736         * providers/imap4/camel-imap4-summary.c (envelope_decode_address):
2737         Do proper cleanup in case of error and also handle literals.
2738
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
2744         stream state.
2745
2746 2004-11-01  Jeffrey Stedfast  <fejj@novell.com>
2747
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.
2751
2752         * providers/pop3/camel-pop3-store.c (connect_to_server_wrapper):
2753         Same.
2754
2755         * providers/imap4/camel-imap4-store.c (connect_to_server_wrapper):
2756         Same.
2757
2758         * providers/imap/camel-imap-store.c (connect_to_server_wrapper):
2759         Same.
2760
2761 2004-11-01  Jeffrey Stedfast  <fejj@novell.com>
2762
2763         * providers/imap4/camel-imap4-summary.c
2764         (camel_imap4_summary_expunge): Remove expunged messages from the
2765         cache.
2766         (camel_imap4_summary_set_uidvalidity): Clear the cache if the
2767         UIDVALIDITY has changed.
2768
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
2772         use.
2773         (camel_imap4_folder_finalize): Unref the cache if non-NULL.
2774         (camel_imap4_folder_new): Create the CamelDataCache.
2775
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.
2779
2780         * providers/imap4/camel-imap4-store-summary.c (load_namespaces):
2781         Cleaned up a bit.
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
2785         bit.
2786
2787 2004-11-11  Not Zed  <NotZed@Ximian.com>
2788
2789         * providers/imap4/*: Update for folder-summary api changes.
2790
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.
2795
2796         * camel-folder-summary.c (camel_folder_summary_info_new): removed.
2797
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.
2801
2802         * camel-folder-summary.h: put message_id back into the summary.
2803
2804 2004-11-08  Not Zed  <NotZed@Ximian.com>
2805
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.
2809
2810         * camel-vtrash-folder.c (vtrash_getv): override the unread count
2811         to ignore junked or deleted.
2812
2813         * camel-folder.c (folder_getv): ignore junked and deleted in the
2814         unread count.
2815
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
2820         working.
2821
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.
2826
2827         * camel-vee-folder.c (camel_vee_folder_set_folders): don't rebuild
2828         the folder.
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.
2834
2835 2004-11-06  Not Zed  <NotZed@Ximian.com>
2836
2837         * camel-vee-folder.c: Removed vname, use Folder->full_name
2838         instead.  Make add_folder/remove_folder/set_expression/set_folders
2839         virtual methods.
2840         (vee_add_folder): virtual implementation.
2841
2842         * camel-vee-summary.c (camel_vee_summary_add): remove folder arg.
2843
2844 2004-11-05  Not Zed  <NotZed@Ximian.com>
2845
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
2848         do it twice.
2849         (vee_info_set_user_tag, vee_info_set_user_flag): same.
2850
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.
2857
2858 2004-11-02  Not Zed  <NotZed@Ximian.com>
2859
2860         * camel-folder-summary.c (camel_pstring_strdup)
2861         (camel_pstring_free, message_info_free, message_info_clone):
2862         'uniquify' the strings.
2863
2864 2004-10-28  Jeffrey Stedfast  <fejj@ximian.com>
2865
2866         * providers/imap4/camel-imap4-summary.c (envelope_decode_nstring):
2867         Handle literal strings.
2868         (envelope_decode_date): Same. Fixes bug #68894.
2869
2870         * providers/imap4/camel-imap4-stream.c
2871         (camel_imap4_stream_next_token): Properly tokenise "\*" as a flag
2872         token. Fixes bug #68869.
2873
2874 2004-10-21  Björn Torkelsson <torkel@acc.umu.se>
2875
2876         * camel-sasl-kerberos4.c: #include "camel-i18n.h"
2877
2878 2004-10-27  Julio M. Merino Vidal <jmmv@menta.net>
2879
2880         * camel-operation.c (camel_operation_shutdown): fix the arguments
2881         to pthread_key_delete.
2882
2883 2004-10-26  Jeffrey Stedfast  <fejj@novell.com>
2884
2885         * providers/imap4/camel-imap4-store-summary.[c,h]: New files
2886         implementing a folder-info cache for offline mode (and faster
2887         startup I guess).
2888
2889         * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
2890         Cache the folder-info for later use in offline mode.
2891
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.
2896
2897 2004-10-25  Jeffrey Stedfast  <fejj@novell.com>
2898
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.
2902
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
2908         than the engine.
2909         (imap4_create_folder): Same.
2910         (imap4_reconnect): Update the namespaces on the store summary.
2911         (connect_to_server): Update the store summary capabilities.
2912
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.
2920
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).
2924
2925 2004-10-21  Jeffrey Stedfast  <fejj@novell.com>
2926
2927         * camel-sasl-gssapi.c: #include "camel-i18n.h"
2928
2929 2004-10-20  Jeffrey Stedfast  <fejj@ximian.com>
2930
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
2936         offline mode.
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.
2947
2948 2004-10-19  Jeffrey Stedfast  <fejj@ximian.com>
2949
2950         * providers/imap4/camel-imap4-summary.c (imap4_summary_fetch_all):
2951         Removed an already-fixed FIXME comment.
2952         (imap4_summary_fetch_flags): Same.
2953
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.
2961
2962         * providers/imap4/camel-imap4-utils.c
2963         (camel_imap4_get_path_delim): Moved here from camel-imap4-store.c
2964
2965         * providers/imap4/camel-imap4-store.c (imap4_try_authenticate):
2966         Change the service string for the sasl mechanism to"imap" rather
2967         than "imap4".
2968         (imap4_get_path_delim): Removed.
2969         (imap4_create_folder): Updated.
2970         (imap4_folder_utf7_name): Same.
2971
2972 2004-10-13  Not Zed  <NotZed@Ximian.com>
2973
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.
2978
2979         * camel-string-utils.h: add prototype for camel_toupper.
2980
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.
2987
2988 2004-10-12  Not Zed  <NotZed@Ximian.com>
2989
2990         ** See bug ???
2991
2992         * providers/nntp/camel-nntp-store.c (connect_to_server): if we
2993         have a username, try to authenticate before doing anything else.
2994
2995         ** See bug #67895.
2996
2997         * providers/nntp/camel-nntp-summary.c (add_range_xover)
2998         (add_range_head): use raw_command_auth since we might need auth
2999         here.
3000
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.
3005
3006 2004-10-12  Not Zed  <NotZed@Ximian.com>
3007
3008         ** See bug #67898 and probably others.
3009
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
3017         port was supplied.
3018
3019 2004-10-11  Not Zed  <NotZed@Ximian.com>
3020
3021         ** See bug #67211.
3022
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.
3026
3027 2004-10-09  Sivaiah Nallagatla <snallagatla@novell.com>
3028
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
3033         Fixes #62053
3034
3035 2004-10-08  Not Zed  <NotZed@Ximian.com>
3036
3037         ** See bug #67170.
3038
3039         * providers/nntp/camel-nntp-store.c
3040         (nntp_store_get_cached_folder_info): compare newsgroup names case
3041         sensitively.
3042
3043 2004-10-05  Jeffrey Stedfast  <fejj@novell.com>
3044
3045         * camel-service.c (camel_getaddrinfo): Check msg->result for error
3046         and set an exception if appropriate.
3047         (camel_getnameinfo): Same.
3048
3049 2004-10-04  Jeffrey Stedfast  <fejj@novell.com>
3050
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.
3054
3055 2004-10-05  Not Zed  <NotZed@Ximian.com>
3056
3057         ** See bug #67527.
3058
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).
3062
3063 2004-10-04  JP Rosevear  <jpr@novell.com>
3064
3065         * providers/imap4/camel-imap4-provider.c: include camel-i18n.h
3066
3067 2004-10-01  Jeffrey Stedfast  <fejj@novell.com>
3068
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.
3072
3073 2004-09-28  Not Zed  <NotZed@Ximian.com>
3074
3075         ** See bug #66509.
3076
3077         * providers/nntp/camel-nntp-store.c (camel_nntp_command): if we
3078         get an error selecting the folder, disconnect/include it in the
3079         re-try loop.
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
3082         the 3rd retry.
3083
3084 2004-09-27  Not Zed  <NotZed@Ximian.com>
3085         
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.
3090
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.
3094
3095 2004-09-14  Jeffrey Stedfast  <fejj@novell.com>
3096
3097         * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
3098         s/not/no/ in the error string. Fixes bug #65828.
3099
3100 2004-09-24  Not Zed  <NotZed@Ximian.com>
3101
3102         * camel-vee-store.c (camel_vee_store_finalise): free the unmatched
3103         uid values as well.
3104
3105         * camel-vee-folder.c (vee_folder_remove_folder): lock main folder
3106         summary lock before doing the unmatched stuff, so the order is
3107         right.
3108
3109 2004-08-25  Ed Catmur  <ed@catmur.co.uk>
3110
3111         ** See bug #63881.
3112
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.
3118
3119 2004-09-27  Not Zed  <NotZed@Ximian.com>
3120
3121         * providers/local/camel-spool-folder.c (camel_spool_folder_new):
3122         make sure body indexing is turned off always, missed the ~ bit.
3123
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.
3131
3132         * providers/local/camel-mbox-folder.h: make the
3133         camel_mbox_folder_get* functions properly public.
3134
3135         * providers/local/camel-local-folder.h: pass the object to the
3136         virtual methods now, fix all callers.
3137
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 :-/.
3141
3142 2004-09-22  Jeffrey Stedfast  <fejj@novell.com>
3143
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
3147         option).
3148         (connect_to_server_wrapper): Simplified (we no longer have
3149         fallback cases for SSL stuff). Also, perform host lookup here.
3150
3151         * providers/imap4/camel-imap4-store.c: Same changes as above.
3152
3153         * providers/pop3/camel-pop3-store.c: Same.
3154
3155         * providers/smtp/camel-smtp-transport.c: Same. Other changes
3156         include making the code consistant with the other providers.
3157
3158         * providers/nntp/camel-nntp-store.c: Same as pop/imap.
3159
3160 2004-09-21  Not Zed  <NotZed@Ximian.com>
3161
3162         ** See bug #63521.
3163
3164         * camel-movemail.c (camel_movemail): don't clear exception on entry.
3165
3166         * camel-folder-search.c (match_words_message): use local exception.
3167
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
3171         we uncancel.
3172
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
3175         gets updated.
3176         (camel_uid_cache_save): block cancellation around writes otherwise
3177         we could be interupted from old cancellation.
3178
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.
3182
3183         * providers/pop3/camel-pop3-store.c (pop3_connect): only clear the
3184         exception when we received one we handled.
3185
3186         * camel-filter-driver.c (close_folder): if exception is already
3187         set, don't pass it to folder.sync().
3188
3189         * camel-lock.c (camel_lock_folder): don't clear the exception
3190         here, if it came in set its a programming error.
3191
3192         * camel-filter-driver.c (camel_filter_driver_filter_message): if
3193         the exception is set after evaluating the expression, stop
3194         immediately.
3195
3196 2004-09-13  Not Zed  <NotZed@Ximian.com>
3197
3198         ** See bug #47821.
3199
3200         * camel-service.c: removed the old hostent based hostname interfaces.
3201
3202         * camel-sasl-kerberos4.c (krb4_challenge): new hostname interfaces.
3203
3204         * camel-sasl-gssapi.c (gssapi_challenge): new hostname interfaces.
3205
3206         * camel-sasl-digest-md5.c (digest_md5_challenge): use new hostname
3207         interfaces.
3208         (generate_response): just take hostname directly, not hostent.
3209
3210         * camel-mime-utils.c (camel_header_msgid_generate): use new
3211         hostname interfaces.
3212
3213         * providers/smtp/camel-smtp-transport.c (connect_to_server): fixed
3214         to use new addrinfo apis.
3215
3216         * providers/pop3/camel-pop3-store.c (connect_to_server): fixed to
3217         use new addrinfo apis.
3218
3219         * camel-tcp-stream-ssl.c (stream_connect): try all addresses
3220         supplied.
3221
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.
3227
3228 2004-09-22  Not Zed  <NotZed@Ximian.com>
3229
3230         * camel-folder-summary.c (camel_folder_summary_decode_token):
3231         handle a zero-length token read rather than failing.
3232
3233 2004-09-21  Not Zed  <NotZed@Ximian.com>
3234
3235         ** See bug #66199.
3236
3237         * camel-http-stream.c (stream_read): handle relative url's in
3238         redirect.
3239         (camel_http_stream_set_proxy): generate the basic auth token for
3240         basic proxy auth if we have a user and password.
3241
3242         * camel-http-stream.c: turn off debug.
3243
3244 2004-09-08  Hannah & Fazlu <hannah_lins@yahoo.co.in>
3245
3246         Fixes Bug#61088
3247
3248         * camel/camel-smime-context.c: Change of strings.
3249
3250 2004-09-15  Not Zed  <NotZed@Ximian.com>
3251
3252         ** See bug #0xffff.
3253
3254         * providers/local/camel-local-folder.c
3255         (camel_local_folder_construct): only emit folder_created if we
3256         actually created it.
3257
3258 2004-09-03  Not Zed  <NotZed@Ximian.com>
3259
3260         * camel-tcp-stream-ssl.c (stream_connect): make ssl connection
3261         async and cancellable, and minor api update to async connection.
3262
3263 2004-08-27  Not Zed  <NotZed@Ximian.com>
3264
3265         ** See bug #64023.
3266
3267         * providers/nntp/camel-nntp-store.c (camel_nntp_try_authenticate):
3268         forget the password if it was wrong.
3269
3270 2004-08-26  Sivaiah Nallagatla <snallagatla@novell.com>
3271         
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
3276
3277 2004-08-25  Frederic Crozat  <fcrozat@mandrakesoft.com>
3278
3279         * camel-folder.c (folder_getv): Init one variable (remove warning)
3280         and don't redefine it.
3281
3282 2004-08-23  Not Zed  <NotZed@Ximian.com>
3283
3284         ** See bug #63189.
3285
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
3288         element.
3289         (imap_is_subfolder): helper for above.
3290
3291 2004-08-23  Jeffrey Stedfast  <fejj@novell.com>
3292
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.
3297
3298 2004-08-23  Jeffrey Stedfast  <fejj@novell.com>
3299
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.
3303
3304 2004-08-21 Sivaiah Nallagatla <snallagatla@novell.com>
3305         
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
3311         IMAP 
3312
3313 2004-08-16  Not Zed  <NotZed@Ximian.com>
3314
3315         * providers/groupwise/camel-groupwise-provider.c
3316         (camel_provider_module_init): pass an exception handle to
3317         camel_provider_get.
3318
3319 2004-08-13  Jeffrey Stedfast  <fejj@novell.com>
3320
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.
3325
3326 2004-08-13  Sivaiah Nallagatla <snallagatla@novell.com>
3327
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
3331         Novell Groupwise
3332         (camel_gw_listener_construct): do not add the disbaled accounts
3333         to exitsting groupwise accounts list
3334
3335 2004-08-13  Sivaiah Nallagatla <snallagatla@novell.com>
3336
3337         * providers/groupwise/camel-groupwise-provider.c: update ssl
3338         setting label and title of the soap settings section. Fixes #62747
3339
3340 2004-08-13  Rodney Dawes  <dobey@novell.com>
3341
3342         * camel-sasl-gssapi.c: Handle et/comm_err.h as well as the
3343         normal comm_err.h
3344
3345 2004-08-11  Jeffrey Stedfast  <fejj@novell.com>
3346
3347         Fix for bug #62771
3348
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.
3356
3357 2004-08-10  Not Zed  <NotZed@Ximian.com>
3358
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.
3362
3363 2004-08-06  Jeffrey Stedfast  <fejj@novell.com>
3364
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
3368         reporting.
3369         (imap4_summary_fetch_flags): Same.
3370
3371 2004-08-04  Rodney Dawes  <dobey@novell.com>
3372
3373         * camel-charset-map.c: #include <gal/util/e-iconv.h>
3374
3375 2004-08-03  Jeffrey Stedfast  <fejj@novell.com>
3376
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.
3380
3381 2004-08-03  Jeffrey Stedfast  <fejj@novell.com>
3382
3383         * providers/imap4/camel-imap4-store.c (imap4_construct): Pass a
3384         reconnect func.
3385
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.
3389
3390 2004-07-30  Jeffrey Stedfast  <fejj@novell.com>
3391
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
3395         reconnecting.
3396         (camel_imap4_engine_namespace): Same.
3397
3398 2004-07-30  Jeffrey Stedfast  <fejj@ximian.com>
3399
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
3402         one.
3403
3404 2004-07-28  Jeffrey Stedfast  <fejj@novell.com>
3405
3406         * camel-mime-utils.c (camel_header_encode_string): Fixed an ABR
3407         that may have been responsible for bug #62029.
3408
3409 2004-07-29 Sivaiah Nallagatla <snallagatla@novell.com>
3410
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
3417
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
3427         setup
3428
3429 2004-07-26  Jeffrey Stedfast  <fejj@novell.com>
3430
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).
3434
3435 2004-07-27  Not Zed  <NotZed@Ximian.com>
3436
3437         ** See bug #61841.
3438
3439         * providers/groupwise/camel-groupwise-provider.c: added junk settings.
3440
3441 2004-07-27  Jeffrey Stedfast  <fejj@novell.com>
3442
3443         * providers/imap4/camel-imap4-engine.c
3444         (camel_imap4_engine_prequeue): Changed to be the same prototype as
3445         engine_queue().
3446         (engine_prequeue_folder_select): Updated.
3447
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().
3454
3455 2004-07-27  Sivaiah Nallagatla <snallagatla@novell.com>
3456
3457         Fixes #61454
3458
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
3462         "Novell Groupwise"
3463
3464 2004-07-26  Jeffrey Stedfast  <fejj@novell.com>
3465
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
3474         than the store.
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).
3480
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.
3487
3488 2004-07-22  Not Zed  <NotZed@Ximian.com>
3489
3490         ** See bug #61761.
3491
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.
3495
3496 2004-07-19  Jeffrey Stedfast  <fejj@novell.com>
3497
3498         * providers/imap/camel-imap-store.c (get_subscribed_folders): Free
3499         result after parsing it. Fixes a leak.
3500
3501 2004-07-19  Not Zed  <NotZed@Ximian.com>
3502
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.
3506
3507 2004-07-16  Not Zed  <NotZed@Ximian.com>
3508
3509         * camel-gpg-context.c: Added some debug stuff.
3510
3511 2004-07-15  Jeffrey Stedfast  <fejj@novell.com>
3512
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.
3516
3517 2004-07-14  Jeffrey Stedfast  <fejj@novell.com>
3518
3519         Fix for bug #61538
3520
3521         * camel-process.c (camel_process_fork): Same.
3522
3523         * camel-filter-driver.c (pipe_to_system): Fixed strings
3524
3525 2004-07-12 Sivaiah Nallagatla <snallagatla@novell.com>
3526
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
3537
3538 2004-07-09  Not Zed  <NotZed@Ximian.com>
3539
3540         ** This is no guarantee of security, but its just a helper to
3541         prevent old memory accidentally being included/used elsewhere.
3542         
3543         * camel-smime-context.c (sm_decrypt): mark the output stream
3544         'secure'.
3545
3546         * camel-gpg-context.c (gpg_decrypt): set the output stream to
3547         secured, so we automagically blank it out on finalise.
3548
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
3551         buffer on finalise.
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
3555
3556 2004-07-08  Not Zed  <NotZed@Ximian.com>
3557
3558         ** See bug #61186.
3559         
3560         * camel-cipher-context.c (camel_cipher_sign):
3561         (camel_cipher_verify, camel_cipher_encrypt, camel_cipher_decrypt):
3562         Add preliminary progress reporting.
3563
3564 2004-07-07  Chris Toshok  <toshok@ximian.com>
3565
3566         * providers/groupwise/Makefile.am (INCLUDES): use
3567         CAMEL_GROUPWISE_CFLAGS.
3568         (libcamelgroupwise_la_LIBADD): use CAMEL_GROUPWISE_LIBS.
3569
3570 2004-09-07  Not Zed  <NotZed@Ximian.com>
3571
3572         * providers/groupwise/camel-groupwise-provider.c: put the options
3573         in their own section.
3574
3575 2004-09-06  Not Zed  <NotZed@Ximian.com>
3576
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.
3580
3581         * camel-object.c (check_magic_fail): change the check_magic code
3582         to mostly run from a macro, its worth it.
3583
3584 2004-09-04  Not Zed  <NotZed@Ximian.com>
3585
3586         * providers/local/camel-mbox-summary.c (message_info_new): fix
3587         cast issue.
3588
3589         * providers/pop3/camel-pop3-engine.c (get_capabilities): remove
3590         some unused variables.
3591
3592         * camel-object.h: remove camel-i18n.h, fixed all c files where
3593         appropriate.
3594
3595 2004-08-25  Not Zed  <NotZed@Ximian.com>
3596
3597         * camel-list-utils.[ch]: Copied e_dlist* stuff to here, part of
3598         removing e-util dependency on camel.
3599
3600 2004-08-05  Not Zed  <NotZed@Ximian.com>
3601
3602         * providers/local/camel-local-provider.c: same.
3603
3604         * providers/imap/camel-imap-provider.c: put the extra stuff into a
3605         'general' section.
3606
3607         * providers/imapp/camel-imapp-provider.c: same.
3608
3609         * providers/pop3/camel-pop3-provider.c: make sure each section
3610         start has a name.
3611
3612 2004-08-03  Not Zed  <NotZed@Ximian.com>
3613
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
3616         again.
3617
3618         * providers/nntp/camel-nntp-provider.c: turn on ssl option.
3619
3620 2004-07-07  Not Zed  <NotZed@Ximian.com>
3621
3622         * camel-folder.c: removed filter-rule.h  ugh.
3623
3624 2004-07-02  Christian Neumair  <chris@gnome-de.org>
3625
3626         * camel-smime-context.c: s/Can't/Cannot/.
3627
3628 2004-06-30  Jeffrey Stedfast  <fejj@novell.com>
3629
3630         * providers/imap4/camel-imap4-search.c (imap4_body_contains): Set
3631         the size of the ptrarray to prevent potentially realloc'ing
3632         several times.
3633
3634 2004-06-29  Jeffrey Stedfast  <fejj@novell.com>
3635
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).
3639
3640         * providers/imap4/camel-imap4-search.[c,h]: New source files
3641         implementing search functionality.
3642
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.
3652
3653         * providers/imap4/camel-imap4-utils.c (camel_imap4_get_uid_set):
3654         Moved here from camel-imap4-folder.c
3655
3656 2004-06-29  Not Zed  <NotZed@Ximian.com>
3657
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.
3661
3662 2004-06-28  Not Zed  <NotZed@Ximian.com>
3663
3664         * providers/local/camel-maildir-folder.c (maildir_folder_getv):
3665         override CAMEL_FOLDER_NAME arg so we can translate "." into
3666         "Inbox".
3667
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"
3671         always.
3672         (maildir_rename_folder): dont let users rename inbox.
3673
3674 2004-06-27  Jeffrey Stedfast  <fejj@novell.com>
3675
3676         * camel-url-scanner.c (camel_url_web_end): More fixes.
3677
3678 2004-06-25  Jeffrey Stedfast  <fejj@novell.com>
3679
3680         * camel-url-scanner.c (camel_url_web_end): Fixed to handle :pass
3681         in proto://user:pass@host. Fixes bug #60104.
3682
3683 2004-06-24  Jeffrey Stedfast  <fejj@novell.com>
3684
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).
3688
3689         * providers/pop3/camel-pop3-engine.c (get_capabilities): No longer
3690         reads the greeting.
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).
3694
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
3697         #54680.
3698
3699 2004-06-23  Jeffrey Stedfast  <fejj@novell.com>
3700
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.
3706
3707         * providers/imap/camel-imap-provider.c (imap_url_equal): Same.
3708
3709         * providers/imap4/camel-imap4-provider.c (imap4_url_equal): Check
3710         the protocol.
3711
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.
3720
3721         * providers/imap4/camel-imap4-provider.c: Specify that the
3722         fragment is the path.
3723
3724 2004-06-21  Christian Kellner <gicmo@xatom.net>
3725
3726         * camel-service.c (service_setv): Really set the path if tag is 
3727         CAMEL_SERVICE_PATH.
3728
3729 2004-06-21  Jeffrey Stedfast  <fejj@novell.com>
3730
3731         * camel-mime-filter-enriched.c (enriched_to_html): Fixed a number
3732         of issues described in bug #49497.
3733
3734 2004-06-18  Jeffrey Stedfast  <fejj@novell.com>
3735
3736         * camel.c (camel_shutdown): Call camel_mime_utils_shutdown() and
3737         camel_operation_shutdown().
3738
3739         * camel-operation.c (camel_operation_shutdown): New function.
3740
3741         * camel-mime-utils.c (camel_mime_utils_shutdown): New function to
3742         clean up the compiled regexes.
3743
3744         * camel-stream-buffer.c (set_vbuf): Need to re-init sbf->ptr and
3745         sbf->end too, or we'll be sorrryy!
3746
3747 2004-06-18  Not Zed  <NotZed@Ximian.com>
3748
3749         * camel-exception.h (CAMEL_EXCEPTION_INITIALISER): setup for
3750         static inititialisation.
3751
3752 2004-06-17  Jeffrey Stedfast  <fejj@ximian.com>
3753
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() :-)
3757
3758 2004-06-17  Rodney Dawes  <dobey@novell.com>
3759
3760         * camel-mime-filter-tohtml.c: Add support for the webcal, callto, and
3761         h323 URIs when we get them in mails
3762
3763 2004-06-17  Jeffrey Stedfast  <fejj@novell.com>
3764
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).
3769
3770 2004-06-15  Jeffrey Stedfast  <fejj@novell.com>
3771
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
3774         (return a NULL fi).
3775
3776 2004-06-17  Jeffrey Stedfast  <fejj@ximian.com>
3777
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.
3781
3782         Thanks to Christian Kellner for pointing out these bugs (and
3783         submitting the original patch for service_setv)
3784
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.
3788
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.
3792
3793 2004-06-16  Jeffrey Stedfast  <fejj@ximian.com>
3794
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.
3798
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
3820         this...
3821
3822 2004-06-15  Jeffrey Stedfast  <fejj@ximian.com>
3823
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.
3827
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
3830         a pointer.
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.
3836
3837 2004-06-14  Not Zed  <NotZed@Ximian.com>
3838
3839         * providers/smtp/camel-smtp-transport.c (smtp_data): use
3840         g_ascii_strcasecmp.
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.
3844
3845 2004-06-12  Jeffrey Stedfast  <fejj@ximian.com>
3846
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
3850         NOOP.
3851
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
3859         been removed).
3860
3861 2004-06-11  Jeffrey Stedfast  <fejj@novell.com>
3862
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).
3866
3867 2004-06-11  Jeffrey Stedfast  <fejj@ximian.com>
3868
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.
3875
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
3880         decoded.
3881
3882 2004-06-11  Not Zed  <NotZed@Ximian.com>
3883
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 "."
3886         instead.
3887
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.
3891         See Rfc1808 2.4.1.
3892
3893 2004-06-11  Jeffrey Stedfast  <fejj@ximian.com>
3894
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
3905         info's were added.
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
3909         summary index.
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.
3913
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.
3918
3919 2004-06-10  Jeffrey Stedfast  <fejj@ximian.com>
3920
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.
3924
3925 2004-06-10  Jeffrey Stedfast  <fejj@novell.com>
3926
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.
3930
3931         * providers/imap4/camel-imap4-engine.c (engine_parse_status):
3932         Removed.
3933         (camel_imap4_engine_handle_untagged_1): Don't handle untagged
3934         STATUS responses anymore. Let the STATUS requestor handle them
3935         instead.
3936
3937         * providers/imap4/camel-imap4-utils.c
3938         (camel_imap4_untagged_status): New function to parse untagged
3939         status events.
3940
3941 2004-06-10  Not Zed  <NotZed@Ximian.com>
3942
3943         * camel-filter-driver.c (camel_filter_driver_filter_message): add
3944         some :filter debug.
3945         (open_folder): only ignore the get_folder exception if we have a
3946         default folder, otherwise don't.  See #59727.
3947
3948         * providers/nntp/camel-nntp-store.c (camel_nntp_command): move the
3949         stream based checking into the loop, after we connect.  Fixes a
3950         crash.
3951
3952 2004-06-09  Jeffrey Stedfast  <fejj@novell.com>
3953
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
3957         just BAD always.
3958
3959 2004-06-09  Jeffrey Stedfast  <fejj@ximian.com>
3960
3961         * camel-gpg-context.c (gpg_verify): Don't assign trust to be
3962         UNKNOWN if gpg sent us a NODATA status.
3963
3964 2004-06-07  Jeffrey Stedfast  <fejj@novell.com>
3965
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.
3970
3971         * providers/imap4/camel-imap4-summary.c (untagged_fetch_all): New
3972         info's always have a uid of "", so don't checkagainst NULL.
3973
3974 2004-06-06  Jeffrey Stedfast  <fejj@ximian.com>
3975
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
3979         directory.
3980
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.
3985
3986         * providers/imap4/camel-imap4-store.c
3987         (camel_imap4_store_finalize): Free the storage_path.
3988         (imap4_construct): Init the storage_path.
3989
3990 2004-06-04  Jeffrey Stedfast  <fejj@novell.com>
3991
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.
3996
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
4000         pointer again.
4001         (imap4_get_folder_info): Doh. Need to escape the "'s in the LIST
4002         command string.
4003         (imap4_get_folder): Same.
4004
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.
4009
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,
4012         not USE_SSL_ALWAYS.
4013
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.
4016
4017         * providers/imap4/camel-imap4-command.c
4018         (camel_imap4_command_step): Set exceptions when write/flush fail.
4019
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.
4023
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
4028         component.
4029
4030 2004-06-03  Not Zed  <NotZed@Ximian.com>
4031
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.
4036
4037         * providers/nntp/camel-nntp-folder.c (nntp_folder_sync_online):
4038         only save the summary, don't update from server, thats what
4039         refresh info does.
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.
4045
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.
4050
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
4054
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.
4058
4059         * camel-string-utils.c (camel_tolower): added ascii to-lower
4060         function.
4061         (camel_toupper): and upper, for completeness.
4062
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.
4066
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
4071         last/first counts.
4072
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.
4079
4080 2004-06-02  Not Zed  <NotZed@Ximian.com>
4081
4082         * providers/nntp/camel-nntp-store.c: setup xover once we've
4083         started.
4084
4085         * providers/nntp/camel-nntp-summary.c: (xover_setup): moved to
4086         nntp store.
4087
4088         * providers/nntp/camel-nntp-folder.c (folder_check)
4089         (folder_check_free, camel_nntp_folder_new): remove async summary
4090         stuff.
4091
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 &
4098         take exception.
4099
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.
4106
4107         * camel-folder-search.c (search_match_threads): remove debug.
4108
4109 2004-06-01  Not Zed  <NotZed@Ximian.com>
4110
4111         ** A few fixes for better rfc compliance, and cleaner code.
4112
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
4116         attribute-char.
4117
4118         * tests/misc/test2.c (main): new test for rfc2184 stuff.
4119
4120         * camel-mime-utils.c (header_convert): helper to convert between
4121         charsets.
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
4128         need of above.
4129
4130 2004-05-31  Jeffrey Stedfast  <fejj@ximian.com>
4131
4132         * camel-mime-filter-gzip.c (camel_mime_filter_gzip_finalize):
4133         Don't leak the zlib stream internals.
4134
4135 2004-05-27  Jeffrey Stedfast  <fejj@novell.com>
4136
4137         Fixes bug #59191.
4138
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).
4143
4144 2004-05-26  Dan Winship  <danw@novell.com>
4145
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.
4152
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 
4156
4157 2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
4158
4159         * providers/groupwise/camel-gw-listener.c (lookup_account_info):
4160         return NULL when there is no existing gw account with same uid
4161         
4162 2004-05-25  Not Zed  <NotZed@Ximian.com>
4163
4164         * camel-store.c (camel_folder_info_build_path): removed.
4165
4166         * camel-store.h (CamelFolderInfo): removed 'path', fixed all
4167         callers.
4168         (struct _CamelStore): removed 'dir_sep' fixed all uses.
4169
4170 2004-05-25  Sivaiah Nallagatla <snallagatla@novell.com>
4171
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 
4176
4177 2004-05-24  Not Zed  <NotZed@Ximian.com>
4178
4179         * camel-mime-utils.c (camel_header_newsgroups_decode):
4180         fix/rearrange logic.  It was using the wrong working pointer.
4181
4182 2004-05-24  Sivaiah Nallagatla <snallagatla@novell.com>
4183
4184         * camel-provider.h: Added CAMEL_PROVIDER_CONF_HIDDEN to
4185          conf item type enum. This is used by groupwise provider
4186
4187         * providers/groupwise/camel-groupwise-provider.c: Added
4188         CAMEL_PROVIDER_CONF_HIDDEN to groupwise_conf_entries to pass the
4189         auth-domain value
4190
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
4193
4194 2004-05-22  Not Zed  <NotZed@Ximian.com>
4195
4196         * camel-store.c: oops, forgot folder_created.  Removed locking, the
4197         object bag serialises stuff for us.
4198         (camel_store_get_junk): same.
4199
4200         ** Another unread count bug, #58814.
4201
4202         * camel-store.c (camel_store_class_init): added a folder_opened
4203         event.
4204         (camel_store_get_folder): emit a folder_opened event whenever we
4205         [re] open the physical folder.
4206
4207 2004-05-21  Jeffrey Stedfast  <fejj@novell.com>
4208
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.
4212
4213 2004-05-21  Not Zed  <NotZed@Ximian.com>
4214
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
4219         all callers.
4220
4221         ** See #58376.
4222
4223         * camel-folder.c (set_message_flags): if system flags change, then
4224         don't trigger a folder changed event.
4225
4226         * camel-folder-summary.h (CAMEL_MESSAGE_SYSTEM_MASK): added this
4227         to indicate which flags are internal/apps not interested in.
4228
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
4234         them.
4235
4236 2004-05-19  Suresh Chandrasekharan  <suresh.chandrasekharan@sun.com>
4237
4238         Fix for #58738 ja_JP.UTF-8: Evolution crashes when certain 
4239         ASCII/non-ASCII combination is used in mail subject
4240
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.
4245
4246 2004-05-20  Jeffrey Stedfast  <fejj@novell.com>
4247
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
4250         in different ways).
4251
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
4256         Courier-IMAP.
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).
4263
4264 2004-05-20  Not Zed  <NotZed@Ximian.com>
4265
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.
4269
4270         * providers/pop3/camel-pop3-folder.c (pop3_get_message): same.
4271
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.
4277
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.
4282
4283 2004-05-19  Not Zed  <NotZed@Ximian.com>
4284
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.
4289
4290         * providers/nntp/camel-nntp-folder.c (nntp_folder_get_message):
4291         use the article number instead of the messageid.  Some servers are
4292         just broken.
4293         (nntp_folder_cache_message): same.  See #58655.
4294
4295         * camel-smime-context.c (sm_verify_cmsg): import the certs as
4296         UsageEmailRecipient as well as signer, and also save the certs
4297         always.
4298
4299         ** See #58641.
4300
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
4303         work.
4304
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.
4308
4309 2004-05-18  Not Zed  <NotZed@Ximian.com>
4310
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.
4313         #58294.
4314
4315         * camel-disco-folder.c (disco_expunge_uids): check for NULL
4316         implementation before calling it.
4317         (disco_sync): similar.  Fixes crash #58278.
4318
4319 2004-05-17  Jeffrey Stedfast  <fejj@novell.com>
4320
4321         * camel-folder-search.c (search_match_threads): Fixed a string type-o.
4322
4323         * camel-smime-context.c (sm_verify_cmsg): Fixed some spelling mistakes.
4324
4325         * camel-gpg-context.c (gpg_decrypt): If the encrypted block was
4326         also signed, set the signature verification status on the Validity
4327         structure as well.
4328
4329 2004-05-17  Not Zed  <NotZed@Ximian.com>
4330
4331         ** Bug #56050.
4332
4333         * providers/imap/camel-imap-store.c (imap_get_trash) 
4334         (imap_get_junk): similar to below.
4335
4336         * providers/local/camel-local-store.c (local_get_trash)
4337         (local_get_junk): set state file on trash/junk to something we know
4338         about.
4339
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.
4344
4345 2004-05-14  Not Zed  <NotZed@Ximian.com>
4346
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.
4350
4351 2004-05-13  Not Zed  <NotZed@Ximian.com>
4352
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
4357         appropriate.
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.
4361
4362         * camel-folder-summary.h: added SECURE flag.  Indicates signed or
4363         encrypted content.
4364
4365 2004-05-12  Jeffrey Stedfast  <fejj@novell.com>
4366
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.
4370
4371 2004-05-12  Not Zed  <NotZed@Ximian.com>
4372
4373         * camel-folder-search.c (search_threads): changed to match_threads.
4374         (camel_folder_search_search): remove thread matching stuff from here.
4375
4376 2004-05-11  Jeffrey Stedfast  <fejj@novell.com>
4377
4378         * camel-smime-context.c (sm_signing_cmsmessage): Fixed a
4379         type-o. Fixes bug #58348.
4380
4381 2004-05-10  Jeffrey Stedfast  <fejj@novell.com>
4382
4383         * camel-mime-filter-gzip.[c,h]: New class for zipping/unzipping
4384         gzip streams.
4385
4386         * camel-mime-filter-yenc.[c,h]: New class for encoding/decoding
4387         the crack known as YEncode.
4388
4389 2004-05-07  Not Zed  <NotZed@Ximian.com>
4390
4391         * camel-folder-thread.c (thread_summary): properly set the parent
4392         nodes for the re-parented phantom-node children.  Wasn't that fun
4393         to debug!
4394
4395         * camel-folder-thread.h: make order and re bitfields, saves 4
4396         bytes/node.
4397
4398 2004-05-06  Not Zed  <NotZed@Ximian.com>
4399
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.
4408
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.
4414
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
4419         subset of uid's.
4420
4421         * providers/imap/camel-imap-store.c (connect_to_server): set
4422         nodelay and keepalive on the socket.
4423
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.
4427
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.
4434
4435 2004-05-05  Not Zed  <NotZed@Ximian.com>
4436
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.
4441
4442 2004-05-04  Jeffrey Stedfast  <fejj@ximian.com>
4443
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.
4448
4449 2004-05-04  Christian Kellner <gicmo@xatom.net>
4450
4451         * providers/groupwise/camel-gw-listener.h: Fixed typo.
4452
4453 2004-05-04  Not Zed  <NotZed@Ximian.com>
4454
4455         ** See #57979.
4456
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.
4461
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.
4465
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.
4470
4471 2004-05-03  Not Zed  <NotZed@Ximian.com>
4472
4473         ** See bug #57881.
4474
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.
4478         (vee_freeze): same.
4479         (folder_changed_change): if we get changed messages that dont
4480         match, make sure they're also propagated as a change too.
4481
4482         * camel-private.h: remove the freeze_count from
4483         camelveefolderprivate.  We already have that in the camel folder
4484         private.
4485
4486 2004-04-30  Priit Laes  <amd@tt.ee>
4487
4488         * providers/nntp/camel-nntp-summary.c: Fix typo. #53466.
4489
4490 2004-04-28  Jeffrey Stedfast  <fejj@ximian.com>
4491
4492         * providers/imap/camel-imap-folder.c: Change the UID_SET_LIMIT to
4493         768 (something <1000 octets as suggested by rfc2683). Fixes bug
4494         #57389.
4495
4496         * camel-smime-context.c: Mark exception strings for translation
4497         and fixed a spelling mistake.
4498
4499 2004-04-27  Not Zed  <NotZed@Ximian.com>
4500
4501         ** See bug #57659.
4502
4503         * camel-vee-store.c (vee_get_folder_info): translate Unmatched in
4504         the folder display name.
4505
4506         * camel-store.c (add_special_info): dont translate full_name or
4507         path, only do that for name.
4508
4509 2004-04-23  Sarfraaz Ahmed <asarfraaz@novell.com>
4510         
4511         * camel-provider.h: Added HAS_LICENSE flag for allowing camel
4512         providers to display license file.
4513
4514 2004-04-22  Not Zed  <NotZed@Ximian.com>
4515
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.
4519
4520 2004-04-21  Jeffrey Stedfast  <fejj@ximian.com>
4521
4522         * providers/imap4/camel-imap4-folder.c (imap4_sync_changes): Don't
4523         bother doing any work if perm_flags is 0.
4524
4525 2004-04-21  Sivaiah Nallagatla <snallagatla@novell.com>
4526
4527         * providers/groupwise/Makefile.am: added CAMEL_LIBS to LIBADD
4528
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
4535
4536 2004-04-21  Not Zed  <NotZed@Ximian.com>
4537
4538         * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): set
4539         the meta data file on nntp folders.
4540
4541         * camel-disco-folder.c (disco_refresh_info_online): implement
4542         dummy virtual method.
4543
4544         * providers/nntp/camel-nntp-folder.c
4545         (nntp_folder_refresh_info_online): implement.  Fixes #57280.
4546
4547 2004-04-19  Jeffrey Stedfast  <fejj@ximian.com>
4548
4549         * providers/imap4/camel-imap4-folder.c (untagged_fetch): Fixed to
4550         not expect ]'s as part of the BODY atom token.
4551
4552 2004-04-16  Jeffrey Stedfast  <fejj@ximian.com>
4553
4554         * camel-vee-store.c (change_folder): (flags & 0) will never be
4555         true. Fixes bug #56982.
4556
4557 2004-04-15  Jeffrey Stedfast  <fejj@ximian.com>
4558
4559         * providers/imap/camel-imap-utils.c: Changed imap_atom_specials[]
4560         to not treat ']' as an atom char (as per rfc3501). Fixes bug
4561         #50985.
4562
4563 2004-04-14  Jeffrey Stedfast  <fejj@ximian.com>
4564
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
4569         #56715.
4570
4571 2004-04-14  Not Zed  <NotZed@Ximian.com>
4572
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,
4575         don't abort.
4576
4577 2004-04-13  Jeffrey Stedfast  <fejj@ximian.com>
4578
4579         * providers/imap/camel-imap-store.c (get_folder_online):
4580         Rearranged some error checking code to fix bug #56405.
4581
4582 2004-04-13  Not Zed  <NotZed@Ximian.com>
4583
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
4586         consistent results.
4587
4588         * camel-folder.h: Added CAMEL_FOLDER_DELETED, CAMEL_FOLDER_JUNKED,
4589         and CAMEL_FOLDER_VISIBLE args, to support client display of
4590         various values.
4591
4592 2004-04-13  Jeffrey Stedfast  <fejj@ximian.com>
4593
4594         * camel-folder.h (camel_folder_delete_message): Fix NotZed's fix
4595         to not mark messages as unseen. Fixes bug #56879.
4596
4597 2004-04-13   Sivaiah Nallagatla <snallagatla@novell.com>
4598
4599         * providers/groupwise/camel-gw-listener.c
4600         (add_addressbook_sources): change the auth type string from
4601         Password to plain/password
4602
4603 2004-04-12  Jeffrey Stedfast  <fejj@ximian.com>
4604
4605         Fix for bug #56878.
4606
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
4612         verified.
4613         (gpg_ctx_parse_status): Listen for NO_PUBKEY status messages.
4614
4615 2004-04-11  Sivaiah Nallagatla <snallagatla@novell.com>
4616
4617         * providers/groupwise/camel-gw-listener.c 
4618         (add_addressbook_sources) (modify_addressbook_sources) : add
4619         bookname to uri 
4620
4621 2004-04-09  Jeffrey Stedfast  <fejj@ximian.com>
4622
4623         * providers/imap/camel-imap-provider.c: Fix capitalisation of the
4624         "mailcheck" section title and move it to the top (so it matches
4625         with the UI).
4626
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.
4630
4631 2004-04-08  Jeffrey Stedfast  <fejj@ximian.com>
4632
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.
4639
4640 2004-04-08  Not Zed  <NotZed@Ximian.com>
4641
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.
4645
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.
4649
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.
4653
4654         * camel-vee-folder.c (camel_vee_folder_finalise): dont hook onto
4655         message_changed.
4656         (camel_vee_folder_add_folder): or unhook.
4657         (camel_vee_folder_remove_folder): "
4658         (message_changed): or proxy.
4659
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
4666         message changed.
4667         (set_message_user_tag): "
4668         (set_message_flags): "
4669
4670         * camel-object.h: revered the CAMEL_OBJECT_TYPE change, it should
4671         be a global variable access.
4672
4673 2004-04-06  Jeffrey Stedfast  <fejj@ximian.com>
4674
4675         * providers/imap4/camel-imap4-folder.c: Added mutex locking where
4676         appropriate.
4677
4678         * providers/imap4/camel-imap4-store.c: Added mutex locking where
4679         appropriate.
4680
4681         * camel-folder-summary.h (CAMEL_FOLDER_SUMMARY_TYPE): Defined.
4682
4683         * camel-object.h (CAMEL_OBJECT_TYPE): Fixed.
4684
4685         * providers/imap4/camel-imap4-folder.c
4686         (camel_imap4_folder_utf7_name): Implemented.
4687
4688         * providers/imap4/camel-imap4-store.c (imap4_build_folder_info):
4689         Use camel_folder_info_build() to build the folder-info tree.
4690
4691 2004-04-06  Not Zed  <NotZed@Ximian.com>
4692
4693         * camel-debug.c: #if 0 out the sys/debugreg stuff.
4694
4695         ** See bug #56110.
4696
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?).
4701
4702         * camel-folder.c (camel_folder_get_message): output this stuff as
4703         folder debug.
4704
4705         * providers/imap/camel-imap-folder.c (imap_get_message): add some
4706         imap:folder debug.
4707         (get_content): get xx.TEXT rather than xx if we're from a message
4708         parent part.
4709
4710         ** See bug #56464.
4711
4712         * camel-folder.c (camel_folder_transfer_messages_to): do not lock
4713         the source here.
4714         (transfer_message_to): call the main entry point for get message
4715         and append message.
4716
4717         ** See bug #56050.
4718
4719         * camel-vee-store.c (vee_delete_folder): delete the state file if
4720         it exists.
4721
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.
4724
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.
4728
4729 2004-04-05  Not Zed  <NotZed@Ximian.com>
4730
4731         * providers/imap/camel-imap-store.c (get_folders): dont add
4732         folders to folders_out here, only in get_folders_add_folders.
4733
4734         * camel-store.c (camel_folder_info_build): simplify 'list append'
4735         since we have next pointer at the head of the struct.
4736
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
4741         folders_out array.
4742
4743 2004-04-02  Jeffrey Stedfast  <fejj@ximian.com>
4744
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).
4748
4749 2004-04-02  Not Zed  <NotZed@Ximian.com>
4750
4751         * camel-exception.c (w): turn this on, this should always be on,
4752         it points to real bugs in the code.
4753
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.
4757
4758 2004-04-01  Jeffrey Stedfast  <fejj@ximian.com>
4759
4760         * camel-exception.c (w): Wrap annoying exeption warnings with w().
4761
4762 2004-03-30  Jeffrey Stedfast  <fejj@ximian.com>
4763
4764         * providers/imap4/camel-imap4-store.c (imap4_get_folder_info):
4765         Partially implemented.
4766         (imap4_get_folder): Implemented.
4767
4768 2004-03-30  Jeffrey Stedfast  <fejj@ximian.com>
4769
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.
4775
4776 2004-03-30  Not Zed  <NotZed@Ximian.com>
4777
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.
4780
4781         * providers/imapp/camel-imapp-driver.c: #if 0 out some code, to
4782         kill warnings.
4783
4784         * camel-url-scanner.c: include ctype.h for isspace (wonder if it
4785         should use utf8 funcs?).
4786
4787 2004-03-29  Not Zed  <NotZed@Ximian.com>
4788
4789         ** See #56146.
4790
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
4795         busted servers.
4796
4797         * camel-debug.c (camel_debug_start, camel_debug_end): some helpers
4798         to wrap debug output for atomicicity.
4799
4800 2004-03-29  Jeffrey Stedfast  <fejj@ximian.com>
4801
4802         * providers/imap4/camel-imap4-folder.c (camel_imap4_folder_new):
4803         Implemented.
4804
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).
4808
4809         * providers/imap4/camel-imap4-store.c (imap4_noop): Implemented.
4810
4811 2004-03-29  Jeffrey Stedfast  <fejj@ximian.com>
4812
4813         * providers/imap/camel-imap-store.c (get_folder_status): Updated
4814         to actually parse the STATUS response into a list of item/value
4815         pairs.
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.
4820
4821         * providers/local/camel-mbox-store.c (get_folder_info): Removed
4822         debugging printfs.
4823
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.
4830
4831 2004-03-29  Radek Doulik  <rodo@ximian.com>
4832
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
4836         big changes.
4837
4838         Fixes #55817
4839
4840 2004-03-29  Not Zed  <NotZed@Ximian.com>
4841
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.
4847
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.
4850
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.
4854
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.
4858
4859 2004-03-28  Jeffrey Stedfast  <fejj@ximian.com>
4860
4861         * providers/imap4/camel-imap-folder.[c,h]: New source files
4862         implementing the CamelFolder class for the new IMAP4
4863         implementation.
4864
4865         * providers/imap4/camel-imap-summary.[c,h]: New source files
4866         implementing the CamelFolderSummary class for the new IMAP4
4867         implementation.
4868
4869 2004-03-26  Jeffrey Stedfast  <fejj@ximian.com>
4870
4871         * providers/imap/camel-imap-folder.c (imap_update_summary):
4872         Reverted imap.web.de fix.
4873
4874 2004-03-26  Not Zed  <NotZed@Ximian.com>
4875
4876         * providers/local/camel-maildir-summary.c (flagbits[]): Added new
4877         maildir flags D for draft and commented P for forwarded.
4878
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.
4883
4884 2004-03-25  Jeffrey Stedfast  <fejj@ximian.com>
4885
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
4889         rfc3501.
4890
4891         * providers/imap4/camel-imap-specials.c: Changed ATOM_SPECIALS to
4892         include ']' (this is an addition in rfc3501).
4893
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.
4896
4897 2004-03-25  Jeffrey Stedfast  <fejj@ximian.com>
4898
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).
4907
4908         * providers/imap/camel-imap-store.c (connect_to_server): Set
4909         store->braindamaged to TRUE if we find the string "Courier-IMAP"
4910         in the greeting.
4911
4912 2004-03-25  Jeffrey Stedfast  <fejj@ximian.com>
4913
4914         Fix for bug #55018.
4915
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).
4923
4924 2004-03-25  Martyn Russell  <ginxd@btopenworld.com>
4925
4926         * providers/smtp/camel-smtp-provider.c: Removed newline character
4927         from the provider description
4928
4929 2004-03-25  Sivaiah Nallagatla <snallagatla@novell.com>
4930
4931         * providers/groupwise/camel-groupwise-provider.c: removed ldap
4932         seetings and added a settng for SOAP port 
4933
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
4939
4940 2004-03-24  Jeffrey Stedfast  <fejj@ximian.com>
4941
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.
4945
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
4950         it's trivial to do.
4951
4952 2004-03-23  Jeffrey Stedfast  <fejj@ximian.com>
4953
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.
4957
4958 2004-03-23  Not Zed  <NotZed@Ximian.com>
4959
4960         * camel-exception.c (camel_exception_setv): use camel debug to add
4961         some debug here.
4962
4963         * camel.c (camel_init): call camel_debug_init().
4964
4965         * camel-debug.c (camel_debug_init, camel_debug): new util stuff
4966         for extended debug options.
4967
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.
4972
4973         * providers/imap/camel-imap-store.c (get_folder_info_online):
4974         connect lock around this.  was getting a race with mem corruption
4975         otherwise.
4976
4977 2004-03-22  Not Zed  <NotZed@Ximian.com>
4978
4979         * camel-mime-utils.c (camel_header_newsgroups_decode)
4980         (camel_header_newsgroups_free): decode newsgroups header into a
4981         list of newsgroups.
4982
4983         ** See #55887.
4984
4985         * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_check):
4986         NOOP if we're offline.
4987
4988         * providers/nntp/camel-nntp-store.c (nntp_connected): spit a
4989         warning if we try to do stuff whilst offline, rather than crash.
4990
4991 2004-03-19  Not Zed  <NotZed@Ximian.com>
4992
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.
4996
4997         * camel-store.c (camel_store_get_folder): no longer use
4998         folder_lock, we already have adequate serialisation code here or
4999         below here.  I hope.
5000         (camel_store_get_folder_info): same here.
5001
5002         * providers/imap/camel-imap-store.h: remove async_thread thing.
5003
5004 2004-03-17  Jeffrey Stedfast  <fejj@ximian.com>
5005
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.
5012
5013 2004-03-17  Radek Doulik  <rodo@ximian.com>
5014
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
5017
5018 2004-03-17  Not Zed  <NotZed@Ximian.com>
5019
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
5024         rewritten now.
5025
5026         * See bug #55618.
5027         
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
5032         of date).
5033
5034         * camel-folder-summary.c (content_info_new): setup the content
5035         type as well, from the headers.
5036
5037         * providers/imap/camel-imap-summary.c
5038         (camel_imap_summary_add_offline): copy size from the source info.
5039
5040 2004-03-15  Jeffrey Stedfast  <fejj@ximian.com>
5041
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.
5046
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.
5051
5052 2004-03-16  Not Zed  <NotZed@Ximian.com>
5053
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
5056         stuff.
5057
5058 2004-03-15  Not Zed  <NotZed@Ximian.com>
5059
5060         * providers/local/camel-mbox-store.c (delete_folder): same as
5061         below for path.
5062
5063         * providers/local/camel-local-store.c (delete_folder): NULL out
5064         str before looking up the state file using it.  Otherwise we
5065         double-free str.
5066
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.
5071
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.
5075
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.
5079
5080         * camel.c (camel_init): change camel verbose debug to be an int, a
5081         bitmask of debug options.
5082
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.
5086
5087 2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
5088
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).
5093
5094 2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
5095
5096         Fix for bug #53497.
5097
5098         * providers/smtp/camel-smtp-transport.c (smtp_helo): Instead of
5099         unreffing the streams, call camel_service_disconnect().
5100         (smtp_mail): Same.
5101         (smtp_rcpt): Same.
5102         (smtp_data): Same.
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
5108         previous send).
5109
5110 2004-03-12  Radek Doulik  <rodo@ximian.com>
5111
5112         * camel-folder.c (folder_changed): clearn the learn bit only if
5113         set.
5114
5115 2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
5116
5117         Fixes for bug #55018.
5118
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.
5122
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().
5128
5129         * providers/local/camel-maildir-store.c (get_folder_info): Same as
5130         mbox.
5131         (scan_dir): Same as mbox. We also need to set the
5132         CAMEL_FOLDER_NOSELECT flag if appropriate.
5133
5134         * providers/local/camel-mh-store.c (get_folder_info): Same as mbox
5135         and maildir.
5136         (folders_scan): Now takes a url argument which we pass off to
5137         folder_info_new().
5138         (recursive_scan): Same.
5139         (folder_info_new): Use camel_url_to_string().
5140
5141 2004-03-11  Radek Doulik  <rodo@ximian.com>
5142
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
5145         JUNK_LEARN bit
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
5150         process it again
5151         (folder_changed): start filter thread if there's junk and/or
5152         nonjunk arrays
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
5156
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
5160         junk/non-junk
5161
5162 2004-03-12  Jeffrey Stedfast  <fejj@ximian.com>
5163
5164         * providers/smtp/camel-smtp-transport.c (connect_to_server): If
5165         errno is EINTR, set USER_CANCEL instead of SERVICE_UNAVAILABLE or
5166         whatever.
5167         (smtp_helo): Same.
5168         (smtp_auth): Same.
5169         (smtp_mail): Same.
5170         (smtp_rcpt): Same.
5171         (smtp_data): Same.
5172         (smtp_rset): Same.
5173         (smtp_quit): Same.
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.
5177
5178 2004-03-11  Jeffrey Stedfast  <fejj@ximian.com>
5179
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
5182         fails.
5183
5184 2004-03-11  Not Zed  <NotZed@Ximian.com>
5185
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
5188         once.
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
5192         stuff.
5193
5194 2004-03-11  Not Zed  <NotZed@Ximian.com>
5195
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.
5199
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.
5205
5206 2004-03-08  Not Zed  <NotZed@Ximian.com>
5207
5208         * camel-vee-store.c (vee_get_folder_info): setup virtual/system
5209         flags as appropriate.
5210         (change_folder): setup flags properly.
5211
5212         * providers/nntp/camel-nntp-store.c
5213         (nntp_store_get_subscribed_folder_info): mark all folders as
5214         system folders.
5215
5216         * providers/local/camel-mh-store.c (fill_fi): add this to setup
5217         folderinfo.
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!!!!
5221
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.
5230
5231         * providers/local/camel-mbox-store.c (fill_fi): setup total field.
5232         (scan_dir): init total.
5233         (get_folder_info): "
5234
5235 2004-03-05  Not Zed  <NotZed@Ximian.com>
5236
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.
5242
5243         * camel-store.c (add_special_info): set the system folder flag.
5244
5245         * camel-store.h: time to fix up the camelfolderinfo mess.  fix
5246         some member names, and add some type fields.  Fixed all uses.
5247
5248 2004-03-04  Not Zed  <NotZed@Ximian.com>
5249
5250         ** See bug #53355.
5251
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.
5255
5256 2004-03-03  Rodrigo Moya <rodrigo@ximian.com>
5257
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.
5262
5263 2004-03-03  Not Zed  <NotZed@Ximian.com>
5264
5265         * camel-operation.c (camel_operation_uncancel): attempt at
5266         uncancelling a cancelled operation.
5267
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
5270         first.  See #54937.
5271
5272 2004-02-27  Not Zed  <NotZed@Ximian.com>
5273
5274         ** See bug #54755.
5275
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.
5281
5282         * camel-gpg-context.c (gpg_ctx_parse_status): ignore NODATA
5283         response, otherwise we abort in a meaningless way.  See #52939.
5284
5285         * providers/imap/camel-imap-utils.c: use g_ascii_str[n]casecmp
5286         everywhere.
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
5289         #53355.
5290
5291 2004-02-26  Not Zed  <NotZed@Ximian.com>
5292
5293         * camel-session.c (camel_session_check_junk_for_imap) 
5294         (camel_session_set_check_junk_for_imap): removed.
5295
5296         * providers/imap/camel-imap-provider.c: Add filter_junk and
5297         filter_junk_inbox options to the receive option page.
5298
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
5303         filter_junk_inbox.
5304
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.
5309
5310         * camel-folder.c (folder_changed): only check for FILTER_RECENT or
5311         FILTER_JUNK to see if we need to do filtering.
5312
5313         * camel-folder.h (CAMEL_FOLDER_FILTER_JUNK): renamed from
5314         CAMEL_FOLDER_SUPRESS_JUNK_TEST (and obviously inverted logic).
5315
5316 2004-03-02  Jeffrey Stedfast  <fejj@ximian.com>
5317
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.
5322
5323 2004-02-25  Jeffrey Stedfast  <fejj@ximian.com>
5324
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.
5328
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
5332         Heimdal.
5333
5334 2004-02-25  Radek Doulik  <rodo@ximian.com>
5335
5336         * camel-folder.c (get_unread_message_count): do not avoid junk
5337         mails in unread count
5338
5339 2004-02-25  Not Zed  <NotZed@Ximian.com>
5340
5341         * providers/imap/camel-imap-summary.h (CAMEL_IMAP_MESSAGE_RECENT):
5342         moved the RECNET flag into the folder area (bit 17-30).
5343
5344 2004-02-24  Not Zed  <NotZed@Ximian.com>
5345
5346         ** See bug #53876.
5347
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.
5351
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.
5355
5356 2004-02-24  Jeffrey Stedfast  <fejj@ximian.com>
5357
5358         * camel-stream-process.c: #include <signal.h>, we don't need limits.h
5359
5360         * camel-store.c (camel_store_folder_uri_equal): New function to do
5361         what camel_store_uri_cmp() was supposed to do.
5362
5363 2004-02-23  Rodney Dawes  <dobey@ximian.com>
5364
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
5368
5369         Fixes #54470
5370
5371 2004-02-23  Jeffrey Stedfast  <fejj@ximian.com>
5372
5373         * camel-store.c (camel_store_uri_cmp): Removed. Useless/broken
5374         function.
5375
5376 2004-02-20  Jeffrey Stedfast  <fejj@ximian.com>
5377
5378         * camel-provider.c (camel_provider_list): Init list to NULL to
5379         prevent the crash in bug #54574.
5380
5381 2004-02-19  Chris Toshok  <toshok@ximian.com>
5382
5383         * camel-smime-context.c: wrap this file with #ifdef ENABLE_SMIME
5384         instead of #ifdef HAVE_NSS.
5385
5386 2004-02-19  Jeffrey Stedfast  <fejj@ximian.com>
5387
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().
5391
5392 2004-02-19  Not Zed  <NotZed@Ximian.com>
5393
5394         * providers/*/camel-*-provider.c
5395         (camel_provider_module_init): Fixes for api changes.
5396
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.
5401
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
5406
5407 2004-02-18  Jeffrey Stedfast  <fejj@ximian.com>
5408
5409         * camel-gpg-context.c (gpg_verify): Use the trust to decide the
5410         validity signature status. (Better way of solving yesterday's
5411         problem)
5412
5413         * camel-cipher-context.h: Revert change from yesterday.
5414
5415 2004-02-17  Jeffrey Stedfast  <fejj@ximian.com>
5416
5417         * camel-gpg-context.c (gpg_verify): Set the trust.
5418
5419         * camel-cipher-context.h: Add a trust metric to signatures.
5420
5421 2004-02-17  Not Zed  <NotZed@Ximian.com>
5422
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.
5426
5427         ** See bug #53861.
5428
5429         * providers/nntp/camel-nntp-summary.c (add_range_xover): Fix from
5430         Edd Dumbill <edd@usefulinc.com> to avoid aborting on irrelevently
5431         truncated lines.
5432
5433 2004-02-16  Not Zed  <NotZed@Ximian.com>
5434
5435         ** See bug #51045.
5436
5437         * providers/imap/camel-imap-store.c (fill_fi): similar to mbox
5438         version.
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.
5443
5444         * providers/local/camel-maildir-store.c (fill_fi): similar to mbox
5445         version.
5446         (scan_dir): use fill_fi to get the unread count now.
5447
5448         * providers/local/camel-mbox-store.c (fill_fi): helper to lookup
5449         unread count either from active folder or from summary file, if
5450         it's available.
5451         (scan_dir, get_folder_info): use helper above to get folder info.
5452
5453         * devel-docs/camel-folder-summary.txt: New document describing the
5454         format/conventions in the CamelFolderSummary file.
5455
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).
5460
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.
5464
5465         * providers/local/camel-local-summary.c (summary_header_load/save):
5466         read/write the per-class version number (1).
5467
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
5471         header.
5472         (summary_header_save): Save out the new-format header.  Version
5473         bumped to 13.
5474
5475         * camel.c (camel_init): return 0 rather than spit a compiler warning.
5476
5477         * camel-file-utils.c (camel_file_util_encode_*_t): macro-ise the
5478         type encoder/decoders.  Also add size_t encoder/decoder.
5479
5480 2004-02-13  Jeffrey Stedfast  <fejj@ximian.com>
5481
5482         * providers/imap/camel-imap-store.c (get_folder_online): Same.
5483
5484         * providers/local/camel-mh-store.c (get_folder): Same as maildir
5485         changes.
5486
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.
5490
5491         * providers/local/camel-mbox-store.c (get_folder): Check
5492         CAMEL_STORE_FOLDER_EXCL flag.
5493
5494         * providers/local/camel-local-store.c (get_folder): Simplified by
5495         using camel_mkdir instead of doing it manually.
5496
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
5499         exception.
5500
5501         * camel-store.h: Added a new CAMEL_STORE_FOLDER_EXCL flag for use
5502         with get_folder().
5503
5504 2004-02-12  Jeffrey Stedfast  <fejj@ximian.com>
5505
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
5509         #54319.
5510
5511 2004-02-09  Not Zed  <NotZed@Ximian.com>
5512
5513         ** See bug #53978.
5514
5515         * providers/local/camel-mbox-store.c: added ".lock" to the list of
5516         ignored extensions.
5517         (ignore_file): ignore anything ending in ~ too.
5518
5519         ** See bug #51319.
5520         
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.
5524
5525 2004-02-06  Jeffrey Stedfast  <fejj@ximian.com>
5526
5527         * camel-provider.c (camel_provider_init): Use strrchr, not strchr.
5528
5529         * camel-gpg-context.c (gpg_ctx_parse_status): Forget the need_id,
5530         not the userid. Fixes bug #53908.
5531
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.
5537
5538 2004-02-06  Not Zed  <NotZed@Ximian.com>
5539
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.
5543
5544 2004-02-05  Not Zed  <NotZed@Ximian.com>
5545
5546         * providers/local/camel-mbox-store.c (rename_folder): rename
5547         .cmeta file too, and fix the recovery order.
5548
5549         * providers/local/camel-local-store.c (rename_folder): rename the
5550         .cmeta file too.
5551
5552         * providers/local/camel-local-folder.c (local_rename): fix this to
5553         use local_get_full_path stuff.
5554
5555         * camel-store.c (camel_store_rename_folder): fix umr's comparing
5556         old and new names.
5557
5558 2004-02-05  Not Zed  <NotZed@Ximian.com>
5559
5560         ** See bug #53553.
5561         
5562         * camel-provider.c (camel_provider_init): changed to return a
5563         hashtable of url protocols to CamelProviderModule structs, rather
5564         than simple strings.
5565
5566         * camel-session.c (get_provider): if we load a provider module,
5567         mark it as loaded.
5568         (ensure_loaded): Check the module loaded flag before trying to
5569         load it.
5570
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.
5574
5575 2004-02-05  Not Zed  <NotZed@Ximian.com>
5576
5577         * camel-session.c (CS_CLASS): dont typecheck cast.
5578
5579         * camel-store.c (camel_vjunk_folder_new): removed, use
5580         vtrash_new(junk).
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
5584
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.
5591
5592 2004-02-04  Jeffrey Stedfast  <fejj@ximian.com>
5593
5594         * providers/imap/camel-imap-store.c: Get rid of some unnecessary
5595         CAMEL_OBJECT() casts.
5596
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.
5602
5603 2004-02-04  Jeffrey Stedfast  <fejj@ximian.com>
5604
5605         Fix for bug #53755 (local folders case)
5606
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.
5613
5614 2004-02-04  Not Zed  <NotZed@Ximian.com>
5615
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.
5619
5620 2004-02-04  Not Zed  <NotZed@Ximian.com>
5621
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.
5625
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
5629         deleted.
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
5633         delete_folder.
5634
5635         * camel-vee-store.c (vee_delete_folder): dont do any trash/junk
5636         processing anymore.
5637
5638 2004-02-03  Not Zed  <NotZed@Ximian.com>
5639
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.
5644
5645         * camel-object.c (camel_object_bag_add): null out the pair->func,
5646         otherwise we get an uninitalised memory read during unhook event.
5647
5648 2004-02-03  Jeffrey Stedfast  <fejj@ximian.com>
5649
5650         * camel-vee-folder.c (vee_folder_build_folder): Use macro casts
5651         from int to pointer.
5652
5653         * camel-folder.c (camel_folder_change_info_add_source): Same as below.
5654         (camel_folder_change_info_add_source_list): Same.
5655
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().
5659
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.
5665
5666 2004-02-03  Jeffrey Stedfast  <fejj@ximian.com>
5667
5668         * tests/misc/url-scan.c: New test suite for url scanning.
5669
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).
5682
5683 2004-02-02  Jeffrey Stedfast  <fejj@ximian.com>
5684
5685         Fixes for bug #53091.
5686
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.
5691
5692         * camel-store.c (folder_info_clone_rec): Copy the flags too. Fixes
5693         the local folder case of bug #53091.
5694
5695 2004-01-31  Jeffrey Stedfast  <fejj@ximian.com>
5696
5697         * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Same
5698         as below.
5699
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.
5704
5705 2004-01-30  Rodney Dawes <dobey@ximian.com>
5706
5707         * providers/groupwise/camel-groupwise-provider.c: Fix spelling error in
5708         provider description
5709
5710         Fixes #53572
5711
5712 2004-01-30  Jeffrey Stedfast  <fejj@ximian.com>
5713
5714         * camel.c (camel_init): Protect against multiple camel_init()
5715         calls. Remember if we've already been called.
5716
5717 2004-01-30  Not Zed  <NotZed@Ximian.com>
5718
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.
5722
5723 2004-01-29  Not Zed  <NotZed@Ximian.com>
5724
5725         ** See bug #53269.
5726         
5727         * providers/nntp/camel-nntp-store.c
5728         (nntp_store_get_cached_folder_info): don't dereference last before
5729         checking if its null.
5730
5731         * camel-object.c (camel_object_bag_rekey): added a doc comment.
5732
5733         ** See bug #53520.
5734
5735         * camel-session.c (get_service): free the url once done, it now
5736         gets copied by the service.
5737
5738         * camel-service.c (construct): copy the url that comes in, don't
5739         just '0Wn34z' it.  clena up exception handling too.
5740
5741 2004-01-29  Not Zed  <NotZed@Ximian.com>
5742
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.
5746
5747         * camel-url.c (camel_url_free): zero out passwd/user/host before
5748         freeing them.
5749
5750 2004-01-28  Jeffrey Stedfast  <fejj@ximian.com>
5751
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.
5758
5759 2004-01-28  Sivaih Nallagatla <snallagatla@novell.com>
5760
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
5764
5765 2004-01-27  Radek Doulik  <rodo@ximian.com>
5766
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
5770
5771         * camel-folder.c (folder_changed): use
5772         CAMEL_FOLDER_SUPRESS_JUNK_TEST flag instead of check_junk_for_imap
5773
5774         * camel-folder.h (CAMEL_FOLDER_SUPRESS_JUNK_TEST): added new flag
5775
5776 2004-01-27  Not Zed  <NotZed@Ximian.com>
5777
5778         ** See bug #53373.
5779
5780         * camel-store.c (camel_store_rename_folder): use object_bag_rekey
5781         to rename the object.  object_bag use was broken.
5782
5783         * camel-object.c (camel_object_bag_rekey): new api to atomically
5784         re-key
5785
5786 2004-01-23  Radek Doulik  <rodo@ximian.com>
5787
5788         * camel-folder.c (folder_changed): use check_junk_for_imap flag
5789
5790         * camel-session.c: add check_junk_for_imap flag
5791
5792 2004-01-23  Not Zed  <NotZed@Ximian.com>
5793
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.
5801
5802 2004-01-22  Jeremy Katz  <katzj@redhat.com>
5803
5804         * camel-mime-part.c: Fix prototype to be consistent.
5805
5806 2004-01-21  Not Zed  <NotZed@Ximian.com>
5807
5808         ** See bug #52996.
5809
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
5813         call add/abort).
5814
5815         * camel-object.c (camel_object_bag_*): Added some inline doco.
5816
5817 2004-01-20  Not Zed  <NotZed@Ximian.com>
5818
5819         ** See bug #52817.
5820
5821         * camel-session.c (camel_session_get_password): merged reprompt
5822         and secret into a flags field, and add more options.  Fixed all
5823         callers.
5824
5825         ** See bug #52899.
5826
5827         * camel-gpg-context.c (gpg_ctx_parse_status): use need_id as the
5828         password key, not userid.
5829
5830 2004-01-19  Siviaah Nallagatla <snallagatla@novell.com>
5831
5832         * providers/groupwise/camel-gw-listener.c
5833         (remove_calender_tasks_sources, modify_calender_tasks_sources):
5834         add port and "/soap" to source uri
5835
5836 2004-01-19  Not Zed  <NotZed@Ximian.com>
5837
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.
5842
5843         * camel-session.c (vee_provider): Update the provider flags for
5844         URL_FRAGMENT_IS_PATH.
5845
5846         * providers/imapp/camel-imapp-utils.c (imap_parse_addfress_list):
5847         namespaces fixes for HEADER_ADDRESS*
5848
5849 2004-01-17  Jeffrey Stedfast  <fejj@ximian.com>
5850
5851         * providers/imap/camel-imap-folder.c (imap_sync_online): Limit the
5852         flags we set (or unset) to the folder's permanent flags.
5853
5854 2004-01-16  Jeffrey Stedfast  <fejj@ximian.com>
5855
5856         * camel-mime-message.c (camel_mime_message_build_mbox_from): Same.
5857
5858         * camel-internet-address.c (internet_decode): Same.
5859
5860         * camel-mime-utils.[c,h]: Namespaced camel_header_address_t enums
5861         s/HEADER_ADDRESS_/CAMEL_HEADER_ADDRESS_/g
5862
5863 2004-01-16 Sivaiah Nallagatla <snallagatla@novell.com>
5864
5865         * providers/groupwise/camel-groupwise-provider.c: added some conf
5866         entries for LDAP address setup
5867
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
5872         ESources
5873
5874 2004-01-15  Not Zed  <NotZed@Ximian.com>
5875
5876         ** See bug #52881.
5877
5878         * camel-object.c (camel_object_bag*): Support reserving different
5879         keys from the same thread.  Oh the pain.
5880
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.
5888
5889 2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
5890
5891         * providers/groupwise/camel-groupwise-provider.c
5892         (camel_provider_module_init): missing renaming.
5893
5894 2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
5895
5896         * providers/groupwise/camel-gw-listener.c (add_esource): set the
5897         "auth" property on the ESource's we create, to get authentication.
5898
5899 2004-01-14  Not Zed  <NotZed@Ximian.com>
5900
5901         ** Patch from Timo Sirainen <tss@iki.fi> to honour read-only
5902         status for imap folders.
5903         
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.
5908
5909 2004-01-14  Not Zed  <NotZed@Ximian.com>
5910
5911         * providers/local/camel-local-folder.c (local_getv): remove debug
5912         printf.
5913
5914         ** See bug #52835.
5915
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
5919         too.
5920
5921 2004-01-13  Rodrigo Moya <rodrigo@ximian.com>
5922
5923         * providers/groupwise/camel-groupwise-provider.c: missing renaming.
5924
5925 2004-01-13  Sivaiah Nallagatla <snallagatla@novell.com>
5926
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
5930
5931         * providers/groupwise/camel-groupwise-provider.c: use the renamed
5932         config listener apis
5933
5934         * providers/groupwise/Makefile.am: changed the source file names
5935
5936 2004-01-12  Meilof Veeningen  <meilof@wanadoo.nl>
5937
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
5941
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
5945
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
5949
5950         * providers/nntp/camel-nntp-store-summary.[ch]: NNTP store
5951         summary based on IMAP code
5952
5953         * providers/nntp/camel-nntp-summary.c: save summary after xover
5954
5955         * providers/nntp/camel-nntp-grouplist.h: added CamelNNTPGroupList
5956         structs
5957
5958         * providers/nntp/Makefile.am: added store summary
5959
5960 2004-01-12  Not Zed  <NotZed@Ximian.com>
5961
5962         ** See bug 52725.
5963
5964         * providers/imap/camel-imap-folder.c (get_content): pass in
5965         transfer encoding when setting up wrapper part.
5966
5967         * providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
5968         Added an encoding type parameter, set on data wrapper.
5969
5970 2004-01-10  Jeffrey Stedfast  <fejj@ximian.com>
5971
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.
5982
5983 2004-01-09  Rodney Dawes  <dobey@ximian.com>
5984
5985         * providers/groupwise/Makefile.am (EXTRA_DIST): libcamelgroupwise.urls
5986         instead of libcamelimap.urls
5987
5988 2004-01-09  Sivaiah Nallagatla <snallagatla@novell.com>
5989
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"
5993
5994 2004-01-09  Not Zed  <NotZed@Ximian.com>
5995
5996         * providers/imap/camel-imap-store.c (imap_forget_folder): fix
5997         removal of journal file, and remove the cmeta state file too.
5998
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
6001         miss any.
6002         (imap_rename): rename the object state file.
6003         (camel_imap_folder_new): set the object state file for persistent
6004         properties.
6005
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
6011         current folder.
6012         (disco_sync): save object state.
6013         (disco_setv): save object state if it changed.
6014
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.
6019
6020 2004-01-08 Sivaiah Nallagatla <snallagatla@novell.com>
6021
6022         * providers/Makefile.am : add groupwise to SUBDIRS
6023
6024         * providers/groupwise/camel-groupwise-provider.c: new camel
6025         provider for groupwise
6026
6027         * providers/groupwise/groupwise-config-listener.[ch] : new class
6028         to add e-sources for groupwise calender and tasks
6029
6030         * providers/groupwise/Makefile.am : added new files to Makefile.am
6031
6032 2004-01-05  JP Rosevear <jpr@ximian.com>
6033
6034         * camel-utf8.c: include sys/types.h for freebsd
6035
6036 2004-01-05  Rodrigo Moya <rodrigo@ximian.com>
6037
6038         * providers/groupwise/camel-groupwise-provider.c (groupwise_url_hash,
6039         groupwise_url_equal): renamed from imap_*.
6040
6041 2004-01-05  Not Zed  <NotZed@Ximian.com>
6042
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!
6045
6046 2003-12-27  Jeffrey Stedfast  <fejj@ximian.com>
6047
6048         * camel-tcp-stream-raw.c (socket_connect): Save errno and check
6049         the return of the socket() call.
6050
6051 2003-12-24  Rodrigo Moya <rodrigo@ximian.com>
6052
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.
6056
6057 2003-12-22  Rodrigo Moya <rodrigo@ximian.com>
6058
6059         * providers/groupwise/camel-groupwise-provider.c: removed useless
6060         configuration options, and added other options from the IMAP
6061         provider.
6062         (camel_provider_module_init): register a SMTP transport object
6063         also, and removed SASL registration, since we don't support it.
6064
6065 2003-12-19  Sivaiah Nallagatla <snallagatla@novell.com>
6066
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.
6071
6072 2003-12-11  Jeffrey Stedfast  <fejj@ximian.com>
6073
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).
6082
6083 2003-12-10  Jeffrey Stedfast  <fejj@ximian.com>
6084
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.
6089         (scan_dir): Same.
6090
6091         * camel-store.h: Add a CAMEL_FOLDER_NOCHILDREN flag.
6092
6093         * providers/imap/camel-imap-store.c (get_folders): Same as below.
6094
6095         * providers/imap/camel-imap-utils.c (imap_parse_list_response):
6096         s/CAMEL_IMAP_FOLDER_NOCHILDREN/CAMEL_FOLDER_NOCHILDREN/
6097
6098 2003-12-10  Not Zed  <NotZed@Ximian.com>
6099
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.
6104
6105 2003-12-10  Not Zed  <NotZed@Ximian.com>
6106
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
6110         does (#ifdef ...).
6111
6112         * camel-smime-context.c (sm_verify_cmsg): add signer info to
6113         certvalidity.
6114
6115         * camel-cipher-context.c (CamelCipherValidity): Added certinfo to
6116         validity for signing and encrypting, so we can find the keys later
6117         for a gui.
6118         (camel_cipher_validity_add_certinfo): add signer or
6119         encrypter info to the validity.
6120         (camel_cipher_validity_envelope): add sign/encrypt keys.
6121
6122 2003-12-10  Not Zed  <NotZed@Ximian.com>
6123
6124         * camel-stream-process.c (do_exec_command): remove dthe clearenv
6125         stuff, not sure why its there.  s/setenv/putenv/ for portability.
6126         See Bug #51767.
6127
6128 2003-12-08  Jeffrey Stedfast  <fejj@ximian.com>
6129
6130         * camel-mime-utils.c (header_decode_rfc2184_param): Revert the
6131         s/is_/camel_mime_is_/ changes or we get really long variable
6132         names.
6133         (header_decode_param): Same.
6134         (header_decode_param_list): Here too.
6135
6136 2003-12-09  Not Zed  <NotZed@Ximian.com>
6137
6138         ** See bug #51899.
6139
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).
6143
6144 2003-12-09  Not Zed  <NotZed@Ximian.com>
6145
6146         * providers/smtp/camel-smtp-transport.c (smtp_send_to): encode the
6147         address before sending it out, rather than using the raw/utf8
6148         version.
6149
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.
6156
6157         * camel-mime-utils.[ch]: rename is_* to camel_mime_is_* and export
6158         the type functions.
6159
6160 2003-12-08  Not Zed  <NotZed@Ximian.com>
6161
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.
6165
6166 2003-12-08  Jeffrey Stedfast  <fejj@ximian.com>
6167
6168         Fixes bug #51881
6169
6170         * providers/local/camel-mbox-store.c (delete_folder): Same.
6171
6172         * providers/local/camel-local-store.c (delete_folder): Unlink the
6173         cmeta file too.
6174
6175 2003-12-06  JP Rosevear <jpr@ximian.com>
6176
6177         * */Makefile.am: Remove hard coded disable deprecated flags
6178
6179 2003-12-05  Jeffrey Stedfast  <fejj@ximian.com>
6180
6181         * camel-gpg-context.c (gpg_ctx_op_start): Properly set the
6182         O_NONBLOCK flag along with any previously set flags.
6183
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).
6188
6189         * camel-filter-driver.c (pipe_to_system): Same.
6190
6191 2003-12-04  Radek Doulik  <rodo@ximian.com>
6192
6193         * camel-folder.c (folder_changed): check recent messages for junk
6194         mail
6195
6196         * camel-session.c (camel_session_check_junk): new wrapper method
6197         for check_junk flag
6198         (camel_session_set_check_junk): ditto
6199
6200         * camel-session.h (struct _CamelSession): added check_junk flag
6201         (if to check incoming mail for junk messages)
6202
6203 2003-12-03  Jeffrey Stedfast  <fejj@ximian.com>
6204
6205         * camel-store.c (add_special_info): Free fi->path if we are gonna
6206         replace it with the vinfo path.
6207
6208         * providers/local/camel-mbox-store.c (create_folder): Treat
6209         parent_name == NULL and parent_name == "" the same.
6210
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
6214         tree.
6215         (add_special_info): Use the provider->url_flags to determine if
6216         the url uses the fragment or not for the path.
6217
6218 2003-12-02  Not Zed  <NotZed@Ximian.com>
6219
6220         * providers/local/camel-local-folder.c (local_setv): remove some
6221         debug printfs.
6222
6223         ** See bug #51576.
6224
6225         * camel-url.c (camel_url_decode): robustify url decoding for bad
6226         input, addresses a crash.
6227
6228         ** See bug #51478.
6229
6230         * camel-gpg-context.c (gpg_ctx_free): handle the context being
6231         NULL, and exit silently.
6232
6233 2003-12-01  Jeffrey Stedfast  <fejj@ximian.com>
6234
6235         * camel-process.c (camel_process_fork): Start at fd = 3.
6236
6237         * camel-gpg-context.c (gpg_ctx_op_start): Same.
6238
6239         * camel-filter-driver.c (pipe_to_system): Same.
6240
6241         * camel-filter-search.c (run_command): Start at fd = 3.
6242
6243 2003-12-01  Jeffrey Stedfast  <fejj@ximian.com>
6244
6245         * camel-stream-process.c (do_exec_command): Same.
6246
6247         * camel-process.c (camel_process_fork): Same.
6248
6249         * camel-filter-search.c (run_command): Same as below.
6250
6251         * camel-filter-driver.c (pipe_to_system): Same as below.
6252
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!
6257
6258 2003-12-01  Radek Doulik  <rodo@ximian.com>
6259
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
6264
6265 2003-11-28  Radek Doulik  <rodo@ximian.com>
6266
6267         * camel-store.c (camel_store_get_folder_info): use old code from
6268         mail-ops to add vtrash/vjunk info
6269
6270 2003-11-28  David Woodhouse  <dwmw2@redhat.com>
6271
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.
6276
6277 2003-11-28  Not Zed  <NotZed@Ximian.com>
6278
6279         * camel-mime-utils.c (mail_list_magic[]): Added list-unsubscribe
6280         header match.
6281
6282 2003-11-26  Not Zed  <NotZed@Ximian.com>
6283
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.
6287
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.
6291
6292 2003-11-26  JP Rosevear <jpr@ximian.com>
6293
6294         * Makefile.am: make sure we always dist the smime stuff
6295
6296 2003-11-26  JP Rosevear  <jpr@ximian.com>
6297
6298         * Makefile.am (libcamelinclude_HEADERS): conditionally compile
6299         s/mime support
6300
6301 2003-11-25  Not Zed  <NotZed@Ximian.com>
6302
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
6307         properly.
6308         (camel_cipher_validity_free): free any children nodes recursively.
6309
6310         * camel-cipher-context.h (CamelCipherValidity): added next/prev
6311         and list header.
6312
6313 2003-11-18  Jeffrey Stedfast  <fejj@ximian.com>
6314
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.
6318
6319 2003-11-17  Jeffrey Stedfast  <fejj@ximian.com>
6320
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.
6324
6325 2003-11-14  Jeffrey Stedfast  <fejj@ximian.com>
6326
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.
6331
6332         * providers/local/camel-mbox-folder.c
6333         (camel_mbox_folder_get_full_path): Removed temporary hack.
6334
6335 2003-11-14  Not Zed  <NotZed@Ximian.com>
6336
6337         * camel-mime-parser.c (SCAN_BUF): oops, put the mempool stuff
6338         back, we don't use e-memory afterall.  Damn plane hacking.
6339
6340 2003-11-13  Not Zed  <NotZed@Ximian.com>
6341
6342         * camel-mime-parser.c: Remove mempool code, we use the stuff in
6343         e-util.
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.
6347
6348         * camel-gpg-context.c (gpg_decrypt): reset the input memstream
6349         before passing it to the gpg engine.
6350
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
6355         cipher context.
6356
6357         * tests/smime/pgp.c (main): fixes for api changes.
6358         (main): redirect /dev/null to stdin so it doesn't hang waiting for
6359         input.
6360
6361         * tests/message/test1.c (main): update for api changes.
6362
6363         * camel-smime-context.c (sm_verify): look at the content object's
6364         mime type, not the container's type.
6365
6366 2003-11-11  Not Zed  <NotZed@Ximian.com>
6367
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.
6371
6372         * camel-smime-context.c (sm_signing_cmsmessage): removed a todo.
6373
6374 2003-11-10  Not Zed  <NotZed@Ximian.com>
6375
6376         * camel-smime-context.c (sm_verify_cmsg): split out the CMSMessage
6377         verification code so it can be used from enveloped or externally
6378         signed data.
6379
6380         * camel-cipher-context.c (camel_cipher_verify): only take a
6381         mimepart, internally handle multiparts and the hash.
6382
6383 2003-11-07  Not Zed  <NotZed@Ximian.com>
6384
6385         * camel-cipher-context.c: make ciphervalidity a public structure,
6386         added encrypt status.
6387         (camel_cipher_decrypt): changed to return a ciphervalidity.  fixed
6388         implementations.
6389         (camel_cipher_validity_*): Fixed implementations to match new
6390         structure, some of this is now redundant.
6391
6392 2003-11-06  Not Zed  <NotZed@Ximian.com>
6393
6394         * camel-smime-context.c (camel_smime_context_describe_part):
6395         implement.
6396
6397 2003-11-05  Jeffrey Stedfast  <fejj@ximian.com>
6398
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.
6402
6403 2003-11-05  Not Zed  <NotZed@Ximian.com>
6404
6405         * camel-smime-context.c (camel_smime_context_describe_part): new
6406         (unfinished) api to peek inside smime parts to tell us whats in
6407         it.
6408
6409 2003-11-03  Not Zed  <NotZed@Ximian.com>
6410
6411         * camel-gpg-context.c (gpg_encrypt): Make this output the
6412         full multipart/encrypted part, not just the encrypted content part.
6413
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.
6418
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.
6422
6423 2003-11-04  Jeffrey Stedfast  <fejj@ximian.com>
6424
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
6427         #50485.
6428
6429 2003-10-31  Not Zed  <NotZed@Ximian.com>
6430
6431         * camel-cms-context.[ch]: removed, now redundant.
6432
6433 2003-10-30  Not Zed  <NotZed@Ximian.com>
6434
6435         * camel-smime-context.c (sm_get_passwd): implement something basic.
6436
6437         * camel-cipher-context.h: Added a note about api inconsistencies.
6438
6439 2003-10-30  Not Zed  <NotZed@Ximian.com>
6440
6441         * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
6442         fix for cipher_decrypt changes.
6443
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
6446         around.
6447         (camel_cipher_decrypt): changed to take mimepart input and return
6448         a mimepart.
6449         (gpg_decrypt): fix for changed args.
6450
6451 2003-10-29  Not Zed  <NotZed@Ximian.com>
6452
6453         * camel-smime-context.[ch]: replaced entirely with a new
6454         implementation which inherits from camel-cipher-context, and add
6455         to build.
6456
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.
6460
6461         * camel-gpg-context.c (gpg_encrypt): Fix to handle input/output as
6462         parts not streams
6463
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.
6467
6468 2003-10-28  Not Zed  <NotZed@Ximian.com>
6469
6470         * tests/smime/pgp.c (main): fix for ciphercontext api changes.
6471
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
6475         part details.
6476
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.
6481
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
6485         stream.
6486
6487 2003-10-22  Not Zed  <NotZed@Ximian.com>
6488
6489         * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for
6490         ucs2 stuff.  ucs2 is 16 bit truncated unicode.
6491
6492 2003-10-28  Jeffrey Stedfast  <fejj@ximian.com>
6493
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.
6498
6499 2003-10-28  Jeffrey Stedfast  <fejj@ximian.com>
6500
6501         * Fixes bug #35083
6502
6503         * providers/imap/camel-imap-store.c (connect_to_server): Same
6504         here.
6505
6506         * providers/pop3/camel-pop3-store.c (connect_to_server): Same as
6507         the smtp changes.
6508
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
6512         return fail.
6513
6514 2003-10-27  Frederic Crozat  <fcrozat@mandrakesoft.com>
6515
6516         * camel-mime-utils.c: (camel_header_decode_date):
6517         better detection of broken date to give to broken_date_parser.
6518
6519 2003-10-24  Jeffrey Stedfast  <fejj@ximian.com>
6520
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
6523         fixes bug #50096.
6524
6525 2003-10-23  Jeffrey Stedfast  <fejj@ximian.com>
6526
6527         * *.c: Removed unneeded CAMEL_OBJECT() casts.
6528
6529 2003-10-21  Not Zed  <NotZed@Ximian.com>
6530
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
6534         persistent.
6535         (camel_local_folder_construct): turn off indexing, for now, it
6536         should be done in local_setv.
6537
6538         * providers/local/camel-local-folder.h: change body_index to a bool
6539         type.
6540
6541         * camel-object.c (cobject_state_read, cobject_state_write): handle
6542         bool types
6543         (cobject_state_write): make sure we free all arg types.
6544
6545         * camel-arg.c (camel_argv_build):
6546         (camel_arggetv_build):  handle bool type.
6547
6548         * camel-arg.h: Added BOO (bool) type.
6549
6550 2003-10-15  Not Zed  <NotZed@Ximian.com>
6551
6552         * camel-store.c (camel_folder_info_build): Fix so we output the
6553         tree in sorted depth-first order, rather in reverse.
6554
6555 2003-10-16  Jeffrey Stedfast  <fejj@ximian.com>
6556
6557         * camel-sasl-kerberos4.c: Fixed a #include.
6558
6559 2003-10-10  Not Zed  <NotZed@Ximian.com>
6560
6561         * providers/local/camel-local-provider.c: set the url fragment
6562         flag for local providers.
6563
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
6567         path.
6568
6569 2003-10-09  Jeffrey Stedfast  <fejj@ximian.com>
6570
6571         * camel-mime-utils.c (header_decode_date): Allow timezone offsets
6572         to be up to 14 hours ahead of UTC. Fixes bug #49357.
6573
6574         * broken-date-parser.c (get_tzone): Same.
6575
6576 2003-10-08  Jeffrey Stedfast  <fejj@ximian.com>
6577
6578         * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an
6579         unused variable.
6580
6581 2003-09-25  Jeffrey Stedfast  <fejj@ximian.com>
6582
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.
6586
6587 2003-09-23  Ettore Perazzoli  <ettore@ximian.com>
6588
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
6591         folders.
6592
6593 2003-09-23  Jeffrey Stedfast  <fejj@ximian.com>
6594
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
6597         it.
6598
6599         * camel-mime-utils.c (append_8bit): Don't forget to flush the
6600         iconv conversion.
6601
6602         * tests/message/test4.c (main): Don't try dot-files.
6603
6604 2003-09-22  Not Zed  <NotZed@Ximian.com>
6605
6606         ** See bug #41610
6607         
6608         * providers/pop3/camel-pop3-folder.c (cmd_tocache): protect a
6609         divide by 0 for 0 length messages.
6610
6611 2003-09-22  Not Zed  <NotZed@Ximian.com>
6612
6613         * providers/imap/camel-imap-provider.c: Added "offline_sync"
6614         option, which lets you synchronise all mail to local storage
6615         automagically.
6616
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
6620         for this store.
6621
6622 2003-09-21  Not Zed  <NotZed@Ximian.com>
6623
6624         * camel-session.c (session_thread_destroy): call proper entry
6625         point for freeing the message.
6626
6627 2003-09-18  Not Zed  <NotZed@Ximian.com>
6628
6629         * camel-folder.c (filter_filter): register the filtering process
6630         for progress, and do progress of the filtering process.
6631
6632 2003-09-17  Not Zed  <NotZed@Ximian.com>
6633
6634         * camel.c (camel_init): init camel operation.
6635
6636         * camel-operation.c (camel_operation_reset): removed, not used,
6637         not worth it.
6638         (camel_operation_mute): new method to stop all status updates
6639         permanently.
6640         (*): Changed to use thread specific data and a list rather than a
6641         hashtable.
6642         (cancel_thread): removed.
6643         (camel_operation_register): return the previously registered op.
6644
6645 2003-09-22  Jeffrey Stedfast  <fejj@ximian.com>
6646
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.
6650
6651         * providers/imapp/camel-imapp-folder.c (imap_sync): Cast the
6652         CamelFolder to a CamelIMAPPFolder to hush some compiler warnings.
6653
6654         * camel-mime-utils.h: Define a struct _CamelContentDisposition
6655         (allows the imapp code to compile)
6656
6657         * providers/imapp/camel-imapp-driver.c: #include <string.h>
6658
6659 2003-09-18  Jeffrey Stedfast  <fejj@ximian.com>
6660
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().
6666
6667         * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed.
6668         (camel_mime_part_encoding_from_string): Removed.
6669
6670         * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding
6671         namespace changes
6672
6673         * camel-folder-summary.c: updated for CamelTransferEncoding
6674         namespace changes
6675
6676         * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding
6677         namespace changes
6678
6679         * camel-mime-message.c: updated for CamelTransferEncoding
6680         namespace changes
6681
6682         * camel-mime-part-utils.c: updated for CamelTransferEncoding
6683         namespace changes
6684
6685         * camel-multipart-signed.c: updated for CamelTransferEncoding
6686         namespace changes
6687
6688         * camel-smime-context.c: updated for CamelTransferEncoding
6689         namespace changes
6690
6691         * providers/imapp/camel-imapp-utils.c: updated for
6692         CamelTransferEncoding namespace changes
6693
6694         * tests/lib/messages.c: updated for CamelTransferEncoding
6695         namespace changes
6696
6697         * tests/message/test1.c: updated for CamelTransferEncoding
6698         namespace changes
6699
6700 2003-09-18  Jeffrey Stedfast  <fejj@ximian.com>
6701
6702         * camel-mime-utils.[c,h]: namespaced the encoding/decoding
6703         routines.
6704
6705         * camel-mime-filter-basic.c: updated for namespace changes to the
6706         encoding/decoding routines in camel-mime-utils.c
6707
6708         * camel-multipart.c: updated for namespace changes to the
6709         encoding/decoding routines in camel-mime-utils.c
6710
6711         * camel-sasl-digest-md5.c: updated for namespace changes to the
6712         encoding/decoding routines in camel-mime-utils.c
6713
6714         * camel-sasl.c: updated for namespace changes to the
6715         encoding/decoding routines in camel-mime-utils.c
6716         
6717         * camel-vee-folder.c: updated for namespace changes to the
6718         encoding/decoding routines in camel-mime-utils.c
6719
6720         * providers/imap/camel-imap-search.c: updated for namespace
6721         changes to the encoding/decoding routines in camel-mime-utils.c
6722
6723         * providers/pop3/camel-pop3-folder.c: updated for namespace
6724         changes to the encoding/decoding routines in camel-mime-utils.c
6725
6726 2003-08-26  Jeffrey Stedfast  <fejj@ximian.com>
6727
6728         * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and
6729         s/_header_state/_camel_mime_parser_state/g
6730
6731         * camel-filter-driver.c: Same.
6732
6733         * camel-folder-summary.c: Here too.
6734
6735         * camel-http-stream.c: And here.
6736
6737         * camel-mime-message.c: ...
6738
6739         * camel-mime-part-utils.c: ...
6740
6741         * camel-mime-part.c: ...
6742
6743         * camel-movemail.c: ...
6744
6745         * camel-multipart-signed.c: ...
6746
6747         * camel-multipart.c: ...
6748
6749         * providers/local/camel-mbox-folder.c: ...
6750
6751         * providers/local/camel-mbox-summary.c: ...
6752
6753         * providers/local/camel-mh-summary.c: ...
6754
6755         * providers/nntp/camel-nntp-summary.c: ...
6756
6757         * providers/pop3/camel-pop3-folder.c: ...
6758
6759 2003-08-25  Jeffrey Stedfast  <fejj@ximian.com>
6760
6761         * camel-mime-utils.[c,h]: Namespaced.
6762
6763         * camel-data-wrapper.c: updated for namespace changed made to
6764         camel-mime-utils.[c,h]
6765
6766         * camel-digest-folder.c: updated for namespace changed made to
6767         camel-mime-utils.[c,h]
6768
6769         * camel-filter-driver.c: updated for namespace changed made to
6770         camel-mime-utils.[c,h]
6771
6772         * camel-filter-search.c: updated for namespace changed made to
6773         camel-mime-utils.[c,h]
6774
6775         * camel-folder-search.c: updated for namespace changed made to
6776         camel-mime-utils.[c,h]
6777
6778         * camel-folder-summary.[c,h]: updated for namespace changed made
6779         to camel-mime-utils.[c,h]
6780
6781         * camel-http-stream.c: updated for namespace changed made to
6782         camel-mime-utils.[c,h]
6783
6784         * camel-http-stream.h: updated for namespace changed made to
6785         camel-mime-utils.[c,h]
6786
6787         * camel-internet-address.c: updated for namespace changed made to
6788         camel-mime-utils.[c,h]
6789
6790         * camel-medium.[c,h]: updated for namespace changed made to
6791         camel-mime-utils.[c,h]
6792
6793         * camel-mime-message.c: updated for namespace changed made to
6794         camel-mime-utils.[c,h]
6795
6796         * camel-mime-parser.[c,h]: updated for namespace changed made to
6797         camel-mime-utils.[c,h]
6798
6799         * camel-mime-part-utils.c: updated for namespace changed made to
6800         camel-mime-utils.[c,h]
6801
6802         * camel-mime-part.[c,h]: updated for namespace changed made to
6803         camel-mime-utils.[c,h]
6804
6805         * camel-movemail.c: updated for namespace changed made to
6806         camel-mime-utils.[c,h]
6807
6808         * camel-multipart-encrypted.c: updated for namespace changed made
6809         to camel-mime-utils.[c,h]
6810
6811         * camel-multipart-signed.c: updated for namespace changed made to
6812         camel-mime-utils.[c,h]
6813
6814         * camel-multipart.c: updated for namespace changed made to
6815         camel-mime-utils.[c,h]
6816
6817         * camel-search-private.[c,h]: updated for namespace changed made
6818         to camel-mime-utils.[c,h]
6819
6820         * camel-types.h: updated for namespace changed made to
6821         camel-mime-utils.[c,h]
6822
6823         * providers/imap/camel-imap-folder.c: updated for namespace
6824         changed made to camel-mime-utils.[c,h]
6825
6826         * providers/imap/camel-imap-store-summary.c: updated for namespace
6827         changed made to camel-mime-utils.[c,h]
6828
6829         * providers/imap/camel-imap-utils.c: updated for namespace changed
6830         made to camel-mime-utils.[c,h]
6831
6832         * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
6833         changed made to camel-mime-utils.[c,h]
6834
6835         * providers/local/camel-local-summary.[c,h]: updated for namespace
6836         changed made to camel-mime-utils.[c,h]
6837
6838         * providers/local/camel-maildir-summary.c: updated for namespace
6839         changed made to camel-mime-utils.[c,h]
6840
6841         * providers/local/camel-mbox-summary.c: updated for namespace
6842         changed made to camel-mime-utils.[c,h]
6843
6844         * providers/local/camel-spool-summary.h: updated for namespace
6845         changed made to camel-mime-utils.[c,h]
6846
6847         * providers/nntp/camel-nntp-summary.c: updated for namespace
6848         changed made to camel-mime-utils.[c,h]
6849
6850         * providers/nntp/camel-nntp-utils.c: updated for namespace changed
6851         made to camel-mime-utils.[c,h]
6852
6853         * providers/pop3/camel-pop3-folder.c: updated for namespace
6854         changed made to camel-mime-utils.[c,h]
6855
6856         * providers/sendmail/camel-sendmail-transport.c: updated for
6857         namespace changed made to camel-mime-utils.[c,h]
6858
6859         * providers/smtp/camel-smtp-transport.c: updated for namespace
6860         changed made to camel-mime-utils.[c,h]
6861
6862 2003-09-16  Jeffrey Stedfast  <fejj@ximian.com>
6863
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.
6867
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.
6872
6873 2003-09-15  Not Zed  <NotZed@Ximian.com>
6874
6875         * providers/imapp/camel-imapp-store.c (store_resp_list)
6876         (imap_login, try_sasl, imap_try_authenticate): removed dead code.
6877
6878         * providers/imapp/camel-imapp-stream.c: return -1 if stream not
6879         set.
6880
6881         * providers/imapp/camel-imapp-engine.c (iterate_completion): put
6882         done request on the done queue, so all requests are always
6883         somewhere.
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):
6888         staticifiy.
6889
6890         * providers/imapp/camel-imapp-provider.c
6891         (camel_imapp_module_init): move camel_exception_setup call here.
6892
6893         * providers/imapp/camel-imapp-driver.c
6894         (camel_imapp_driver_get_type): remove execption setup here, it
6895         isn't early enough.
6896         (camel_imapp_driver_list): handle exceptions.
6897
6898 2003-09-12  Jeffrey Stedfast  <fejj@ximian.com>
6899
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.
6905
6906         * providers/local/camel-mbox-store.c (get_folder): Changed the way
6907         the path is constructed, since we now handle subdirectories and
6908         stuff.
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().
6916
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.
6921
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.
6927
6928 2003-09-11  Dan Winship  <danw@ximian.com>
6929
6930         * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la
6931
6932 2003-09-05  Not Zed  <NotZed@Ximian.com>
6933
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.
6937
6938 2003-09-04  David Woodhouse  <dwmw2@infradead.org>
6939
6940         * providers/camel-imap-store.[ch]: Add PREAUTH handling and
6941         pine/mutt/etpan/etc.-style 'ssh <mailhost> exec imapd' support.
6942         
6943 2003-09-03  David Woodhouse  <dwmw2@infradead.org>
6944
6945         * camel-stream-process.[ch]: New stream implementation for running
6946         commands.
6947         * Makefile.am: Compile the above
6948
6949 2003-08-20  Not Zed  <NotZed@Ximian.com>
6950
6951         ** See bug #47765.
6952
6953         * camel-folder-search.h: Removed match1 member.
6954
6955         * camel-folder-search.c (camel_folder_search_match_expression):
6956         use current directly rather than match1.  This method isn't used
6957         anywhere anyway.
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.
6961
6962 2003-09-03  Not Zed  <NotZed@Ximian.com>
6963
6964         * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL
6965         proxy_url - unset the proxy.
6966
6967 2003-08-29  Not Zed  <NotZed@Ximian.com>
6968
6969         * camel-object.c (camel_object_state_write): 
6970         (cobject_getv):
6971         (cobject_setv, cobject_state_read, cobject_state_read) 
6972         (cobject_state_write): removed debug printfs.
6973
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.
6976
6977 2003-08-27  Not Zed  <NotZed@Ximian.com>
6978
6979         * providers/local/camel-local-folder.c (local_getv): implement
6980         PERSISTENT_PROPERTIES, for index mode.
6981
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.
6985
6986 2003-08-26  Not Zed  <NotZed@Ximian.com>
6987
6988         * camel-folder.c (folder_getv): chain up properly.
6989
6990         * camel-file-utils.c (camel_file_util_savename): helper to create
6991         a .#filename filename.
6992
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.
6997
6998 2003-08-23  Not Zed  <NotZed@Ximian.com>
6999
7000         * camel-object.c (cobject_class_init): added a new event,
7001         meta_changed.
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
7004         object.
7005
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.
7009
7010 2003-08-25  Jeffrey Stedfast  <fejj@ximian.com>
7011
7012         * camel-filter-driver.c (pipe_to_system): Added some more error
7013         checking for reading/writing to the pipes. Fixes bug #47880.
7014
7015 2003-08-21  Jeffrey Stedfast  <fejj@ximian.com>
7016
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).
7021
7022         * providers/imap/camel-imap-wrapper.c: changed prototype of
7023         write_to_stream() to return ssize_t.
7024
7025 2003-08-20  Jeffrey Stedfast  <fejj@ximian.com>
7026
7027         * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make
7028         sure to ref the stream. Fixes bug #47749.
7029
7030 2003-08-18  Not Zed  <NotZed@Ximian.com>
7031
7032         * camel-http-stream.c: Various fixes to make it work.
7033
7034         * tests/smime/pgp-mime.c (main): added missing 'ret' variable.
7035
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
7041         tcp_stream_ssl_new.
7042
7043         * camel-tcp-stream-ssl.c: Changed service to session, and fix some
7044         refcounting of it.
7045         include camel-operation.h
7046
7047 2003-08-15  Not Zed  <NotZed@Ximian.com>
7048
7049         ** See bug #47634.
7050
7051         * tests/lib/messages.c (test_message_compare): check
7052         write_to_stream returns.
7053         (message_dump_rec): helper to dump message structure.
7054
7055         * camel-mime-part-utils.c
7056         (simple_data_wrapper_construct_from_parser): dont set content
7057         encoding here.
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.
7061
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.
7067
7068 2003-08-15  Jeffrey Stedfast  <fejj@ximian.com>
7069
7070         * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
7071         Don't attach any filters to decode base64/qp/etc.
7072
7073 2003-08-14  Jeffrey Stedfast  <fejj@ximian.com>
7074
7075         * camel-mime-part.c (write_to_stream): Save errno when
7076         flushing/unreffing the filter stream.
7077
7078 2003-08-13  Jeffrey Stedfast  <fejj@ximian.com>
7079
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.
7086
7087 2003-08-13  Not Zed  <NotZed@Ximian.com>
7088
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
7092         left in?
7093
7094 2003-08-13  Not Zed  <NotZed@Ximian.com>
7095
7096         ** See bug #47517.
7097
7098         * camel-vee-folder.c (vee_sync): Always rebuild folder on any
7099         sync, not just expunge ones.
7100
7101 2003-08-11  Not Zed  <NotZed@Ximian.com>
7102
7103         * providers/imapp/camel-imapp-store.c (imap_get_folder_info):
7104         force connect manually so basics work.
7105
7106         ** See bug #45505.
7107
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
7111         case.
7112
7113 2003-08-01  Not Zed  <NotZed@Ximian.com>
7114
7115         ** See bug #47208.
7116
7117         * camel-filter-search.c (match_all): match-all with no arguments        
7118         should always return TRUE.
7119
7120         * camel-folder-search.c (camel_folder_search_execute_expression):
7121         print a warning when we get an invalid result type & fixed a leak
7122         for that case.
7123
7124 2003-08-08  Jeffrey Stedfast  <fejj@ximian.com>
7125
7126         * tests/message/test4.c: New test suite for the mime parser (which
7127         is where the below 2 fixes were noticed).
7128
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
7132         the EOF state.
7133
7134 2003-08-08  Jeffrey Stedfast  <fejj@ximian.com>
7135
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.
7139
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.
7145
7146 2003-08-05  Jeffrey Stedfast  <fejj@ximian.com>
7147
7148         * providers/imap/camel-imap-folder.c (get_content): Updated.
7149
7150         * camel-mime-message.c (camel_mime_message_init): Don't override
7151         the mime_type here.
7152         (process_header): Updated to use CamelDataWrapper's mime_type
7153         field.
7154         (find_best_encoding): Same.
7155         (best_encoding): Here too.
7156
7157         * camel-digest-folder.c (camel_digest_folder_new): Updated for
7158         CamelMimePart::content_type change.
7159
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
7163         anymore.
7164         (process_header): Updated to use CamelDataWrapper's mime_type
7165         field.
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.
7172
7173         * camel-mime-part.h: Remove the content_type field.
7174
7175 2003-07-31  Jeffrey Stedfast  <fejj@ximian.com>
7176
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.
7180
7181         * camel-multipart-signed.c (write_to_stream): Return ssize_t.
7182
7183         * camel-mime-utils.h: Added the CamelMimePartEncodingType enum
7184         here.
7185
7186         * camel-mime-part.h: Removed the CamelMimePartEncodingType enum
7187         from here.
7188
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).
7193
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.
7199
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
7204         time.
7205
7206         * camel-folder-summary.c (summary_build_content_info_message): Use
7207         decode_to_stream instead here too.
7208
7209         * camel-folder-search.c (match_words_1message): Use
7210         decode_to_stream instead of write_to_stream so we can search the
7211         contents.
7212
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.
7221
7222         * camel-data-wrapper.h: Removed the rawtext bit and added an
7223         encoding member.
7224
7225 2003-08-01  Jeffrey Stedfast  <fejj@ximian.com>
7226
7227         * tests/smime/pgp-mime.c: Same.
7228
7229         * tests/smime/pgp.c: Updated to build and to import some custom
7230         gpg keys for use with testing.
7231
7232 2003-07-30  Jeffrey Stedfast  <fejj@ximian.com>
7233
7234         * camel-mime-message.c (write_to_stream): Also updated.
7235
7236         * camel-data-wrapper.c (write_to_stream): This should return ssize_t
7237
7238         * camel-multipart-signed.c (write_to_stream): Updated.
7239
7240         * camel-multipart.c (write_to_stream): Same.
7241
7242         * camel-mime-part.c (write_to_stream): Here too.
7243
7244 2003-07-11  Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
7245
7246         * camel-iconv.c: Fix for #46168 'some additional locale aliases
7247         required for chinese support'.
7248
7249 2003-07-25  Jeffrey Stedfast  <fejj@ximian.com>
7250
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.
7259
7260 2003-07-23  Ettore Perazzoli  <ettore@ximian.com>
7261
7262         * camel-provider.c (camel_provider_init): Print the provider
7263         directory as well, for debugging.
7264
7265 2003-07-23  Jeffrey Stedfast  <fejj@ximian.com>
7266
7267         * camel-mime-message.c (find_best_encoding): Revert my previous
7268         changes to this function.
7269
7270         * camel-mime-utils.h: Revert previous changes.
7271
7272         * camel-mime-part.h: Revert previous changes.
7273
7274         * camel-mime-part-utils.c: Revert previous changes.
7275
7276         * camel-data-wrapper.c (camel_data_wrapper_init): Revert previous
7277         changes.
7278         (write_to_stream): Revert previous changes.
7279
7280 2003-07-23  Dan Winship  <danw@ximian.com>
7281
7282         * camel-block-file.c: #include camel-file-utils.h for camel_read()
7283
7284         * camel-uid-cache.c (camel_uid_cache_save): Remove unused variable
7285         and label.
7286
7287         * camel-url.c: #include camel-string-utils.h for camel_strdown
7288
7289         * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Cast
7290         an (unsigned char *) to (char *) to fix a warning
7291
7292 2003-07-17  Jeffrey Stedfast  <fejj@ximian.com>
7293
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.
7298
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.
7302
7303 2003-07-17  Timo Sirainen <tss@iki.fi>
7304
7305         ** See bug #42573
7306         
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.
7310
7311 2003-07-14  Jeffrey Stedfast  <fejj@ximian.com>
7312
7313         * camel-mime-utils.h: Add the CamelMimePartEncodingType definition
7314         here.
7315
7316         * camel-mime-part.h: Remove the CamelMimePartEncodingType
7317         definition.
7318
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.
7325
7326         * camel-data-wrapper.c (camel_data_wrapper_init): Init encoding to
7327         DEFAULT.
7328         (write_to_stream): If the stream needs to be decoded, decode it.
7329
7330 2003-07-15  Jeffrey Stedfast  <fejj@ximian.com>
7331
7332         * camel-stream-fs.c (stream_read): If we read 0 bytes, then set
7333         eos to TRUE.
7334
7335 2003-07-09  Jeffrey Stedfast  <fejj@ximian.com>
7336
7337         Get rid of the #ifdef ENABLE_THREADS since we no longer plan to
7338         support/maintain this.
7339
7340         * providers/nntp/camel-nntp-store.c: Here.
7341
7342         * providers/nntp/camel-nntp-newsrc.c: And here.
7343
7344         * providers/nntp/camel-nntp-folder.c: Same.
7345
7346         * providers/local/camel-local-folder.c: And here.
7347
7348         * camel-block-file.c: Here too.
7349
7350         * camel.c: Same.
7351
7352         * camel-certdb.c: Here too.
7353
7354         * camel-charset-map.c: And here.
7355
7356         * camel-cipher-context.c: "
7357
7358         * camel-data-wrapper.c: "
7359
7360         * camel-digest-folder.c: "
7361
7362         * camel-exception.c: "
7363
7364         * camel-folder.c: "
7365
7366         * camel-folder-summary.c: "
7367
7368         * camel-lock-client.c: "
7369
7370         * camel-mime-utils.c: "
7371
7372         * camel-object.c: "
7373
7374         * camel-operation.c: "
7375
7376         * camel-partition-table.c: "
7377
7378         * camel-sasl-popb4smtp.c: "
7379
7380         * camel-service.c: "
7381
7382         * camel-session.c: "
7383
7384         * camel-store.c: "
7385
7386         * camel-store-summary.c: "
7387
7388         * camel-text-index.c: "
7389
7390         * camel-transport.c: "
7391
7392         * camel-vee-folder.c: "
7393
7394         * camel-tcp-stream-openssl.c: Removed pthread.h, it isn't needed.
7395
7396 2003-07-09  Larry Ewing  <lewing@ximian.com>
7397
7398         * camel.h: remove reference to camel-pgp-mime.h
7399
7400 2003-07-08  Jeffrey Stedfast  <fejj@ximian.com>
7401
7402         * camel-pgp-mime.[c,h]: Removed.
7403
7404         * camel-iconv.c: Updated (new copy/paste from e-iconv).
7405
7406         * camel-block-file.c (camel_block_file_get_block): Use
7407         camel_read() rather than libc read.
7408
7409         * camel-tcp-stream-raw.c (stream_read): Use camel_read().
7410         (stream_write): Use camel_write().
7411
7412         * camel-stream-fs.c (stream_read): Use camel_read().
7413         (stream_write): Use camel_write().
7414
7415 2003-07-07  Jeffrey Stedfast  <fejj@ximian.com>
7416
7417         * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use
7418         camel_mkdir().
7419
7420         * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use
7421         camel_mkdir().
7422
7423         * camel-session.c (get_storage_path): Use camel_mkdir().
7424
7425         * camel-store.c (camel_mkdir_hier): Removed.
7426
7427         * camel-data-cache.c (camel_data_cache_new): Updated to use
7428         camel_mkdir().
7429         (data_cache_path): Same.
7430
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.
7435
7436         * camel-io.[c,h]: Removed.
7437
7438         * camel-uid-cache.c (camel_uid_cache_new): Use the
7439         camel-file-utils.c version of mkdir.
7440
7441 2003-07-07  Jeffrey Stedfast  <fejj@ximian.com>
7442
7443         * camel-session.c (camel_session_init): Updated for string-utils
7444         namespace changes.
7445
7446         * camel-provider.c: Updated for string-utils namespace changes.
7447
7448         * camel-mime-part.c (init_header_name_table): Updated for
7449         string-utils namespace changes.
7450
7451         * camel-mime-message.c (camel_mime_message_class_init): Updated
7452         for string-utils namespace changes.
7453         (camel_mime_message_init): Same.
7454
7455         * camel-mime-filter-enriched.c
7456         (camel_mime_filter_enriched_class_init): Updated for string-utils
7457         namespace changes.
7458
7459         * camel-folder-summary.c (camel_folder_summary_init): Updated for
7460         string-utils namespace changes.
7461
7462         * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and
7463         also namespaced all functions.
7464
7465 2003-07-01  Jeffrey Stedfast  <fejj@ximian.com>
7466
7467         * camel-sasl-digest-md5.c (digest_response): Don't quote the
7468         charset value, the qop value, nor the response value. Fixes bug
7469         #45712.
7470
7471 2003-07-01  Jeffrey Stedfast  <fejj@ximian.com>
7472
7473         * camel-mime-utils.c (header_format_date): Use gmtime_r() instead
7474         of using gmtime() and memcpy() to try and be "atomic".
7475
7476 2003-06-30  Dan Winship  <danw@ximian.com>
7477
7478         * camel-folder-search.c (camel_folder_search_finalize): free the
7479         summary hash
7480
7481 2003-06-24  David Woodhouse  <dwmw2@infradead.org>
7482
7483         * camel-mime-utils.c (header_format_date): Put day of week into
7484         outgoing email.
7485
7486
7487 2003-06-25  Jeffrey Stedfast  <fejj@ximian.com>
7488
7489         * camel-folder-summary.h: Added prototype for
7490         camel_folder_summary_remove_range().
7491
7492 2003-06-25  Not Zed  <NotZed@Ximian.com>
7493
7494         ** See bug #45386
7495         
7496         * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make
7497         sure we have an exception that we test against.
7498
7499 2003-06-20  Not Zed  <NotZed@Ximian.com>
7500
7501         ** See bug #43887
7502
7503         * camel-mime-filter-enriched.c (camel_enriched_to_html): simple
7504         wrapper to convert enriched to html in one go.
7505
7506 2003-06-18  Not Zed  <NotZed@Ximian.com>
7507
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.
7515
7516 2003-06-13  Jeffrey Stedfast  <fejj@ximian.com>
7517
7518         * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static
7519         (to match the prototype).
7520
7521 2003-06-13  Larry Ewing  <lewing@ximian.com>
7522
7523         * camel-folder-thread.c (camel_folder_thread_messages_apply):
7524         don't leak the summary when reloading it.  Fixes a very large
7525         leak.
7526
7527 2003-06-17  Not Zed  <NotZed@Ximian.com>
7528
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.
7534
7535         * camel-folder-summary.c (camel_folder_summary_remove_index): new
7536         function to drop a range of index entries in one hit.
7537
7538 2003-06-16  Not Zed  <NotZed@Ximian.com>
7539
7540         ** See bug #31745
7541
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.
7545
7546 2003-06-16  Not Zed  <NotZed@Ximian.com>
7547
7548         ** See bug #44322
7549         
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
7553
7554         ** See bug #44121
7555         
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.
7558
7559 2003-06-05  Jeffrey Stedfast  <fejj@ximian.com>
7560
7561         Fix for bug #40788.
7562
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.
7570
7571         * providers/pop3/camel-pop3-store.c (connect_to_server): Check for
7572         the disable_extensions param.
7573
7574         * providers/pop3/camel-pop3-provider.c: Define a checkbox to
7575         disable all POP3 extension support.
7576
7577 2003-06-11  Jeffrey Stedfast  <fejj@ximian.com>
7578
7579         Partial fix for bug #44457.
7580
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.
7584
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.
7589
7590 2003-06-04  Jeffrey Stedfast  <fejj@ximian.com>
7591
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
7597         EINTR/etc.
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).
7609
7610 2003-06-11  Larry Ewing  <lewing@ximian.com>
7611
7612         * camel-text-index.c (text_index_normalise): use g_utf8_strdown
7613         properly.
7614
7615 2003-06-09  Jeffrey Stedfast  <fejj@ximian.com>
7616
7617         * camel-mime-message.c (find_best_encoding): Add the
7618         CAMEL_BESTENC_TEXT bit to enctype if the part is a text part.
7619
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.