fcf9d3c4541bc0764b23004a415a2ce920501c09
[platform/upstream/evolution-data-server.git] / camel / ChangeLog
1 2004-01-20  Not Zed  <NotZed@Ximian.com>
2
3         ** See bug #52899.
4
5         * camel-gpg-context.c (gpg_ctx_parse_status): use need_id as the
6         password key, not userid.
7
8 2004-01-19  Siviaah Nallagatla <snallagatla@novell.com>
9                                                                                                                              
10         * providers/groupwise/camel-gw-listener.c ( remove_calender_tasks_sources,
11         modify_calender_tasks_sources) : add port and "/soap" to source uri
12
13 2004-01-19  Not Zed  <NotZed@Ximian.com>
14
15         * camel-vee-store.c (change_folder): use a CamelURL to properly
16         encode the url we generate.
17         (vee_get_folder_info): ditto.
18         (vee_get_folder_info): removed unused variable/warning.
19
20         * camel-session.c (vee_provider): Update the provider flags for
21         URL_FRAGMENT_IS_PATH.
22
23         * providers/imapp/camel-imapp-utils.c (imap_parse_addfress_list):
24         namespaces fixes for HEADER_ADDRESS*
25
26 2004-01-17  Jeffrey Stedfast  <fejj@ximian.com>
27
28         * providers/imap/camel-imap-folder.c (imap_sync_online): Limit the
29         flags we set (or unset) to the folder's permanent flags.
30
31 2004-01-16  Jeffrey Stedfast  <fejj@ximian.com>
32
33         * camel-mime-message.c (camel_mime_message_build_mbox_from): Same.
34
35         * camel-internet-address.c (internet_decode): Same.
36
37         * camel-mime-utils.[c,h]: Namespaced camel_header_address_t enums
38         s/HEADER_ADDRESS_/CAMEL_HEADER_ADDRESS_/g
39
40 2004-01-16 Sivaiah Nallagatla <snallagatla@novell.com>
41         
42         * providers/groupwise/camel-groupwise-provider.c: added some conf
43         entries for LDAP address setup
44
45         * providers/groupwise/camel-gw-listener.c: added
46         add_ldap_addressbook_source, modify_ldap_addressbook_source,
47         remove_ldap_addressbook_source functions for setting up LDAP
48         address book. Also setting "username" property on cal/tasks
49         ESources
50
51 2004-01-15  Not Zed  <NotZed@Ximian.com>
52
53         ** See bug #52881.
54
55         * camel-object.c (camel_object_bag*): Support reserving different
56         keys from the same thread.  Oh the pain.
57
58         * camel-vee-store.c (vee_get_folder_info): implement child flags
59         properly. Changed to build tree itself rather than calling
60         camel_folder_info_build.
61         (vee_get_folder): if we're adding a folder with dummy parents,
62         create and add the dummy parent folders too (as real folder
63         objects).  We are the only owner of the ref, so this sort of leaks
64         the folder, but they're small.
65
66 2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
67
68         * providers/groupwise/camel-groupwise-provider.c
69         (camel_provider_module_init): missing renaming.
70
71 2004-01-14  Rodrigo Moya <rodrigo@ximian.com>
72
73         * providers/groupwise/camel-gw-listener.c (add_esource): set the
74         "auth" property on the ESource's we create, to get authentication.
75
76 2004-01-14  Not Zed  <NotZed@Ximian.com>
77
78         ** Patch from Timo Sirainen <tss@iki.fi> to honour read-only
79         status for imap folders.
80         
81         * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
82         check for read-only status response.
83         (imap_sync_online): only call sync_offline if we're read-only.
84         (imap_expunge_uids_resyncing): NOOP for read-only.
85
86 2004-01-14  Not Zed  <NotZed@Ximian.com>
87
88         * providers/local/camel-local-folder.c (local_getv): remove debug
89         printf.
90
91         ** See bug #52835.
92
93         * camel-smime-context.c (sm_get_passwd): removed debugging.  If we
94         get called multiple times in a row, then forget the old password
95         and re-prompt - it was a bad password.  Zero out password memory
96         too.
97
98 2004-01-13  Rodrigo Moya <rodrigo@ximian.com>
99
100         * providers/groupwise/camel-groupwise-provider.c: missing renaming.
101
102 2004-01-13  Sivaiah Nallagatla <snallagatla@novell.com>
103         
104         * providers/groupwise/camel-gw-listener.[ch] : renamed groupwise-config-listener.[ch] 
105         to these file names and also changed code to use CamelURL insted of EUri
106         * providers/groupwise/camel-groupwise-provider.c : use the renamed config listener apis
107         * providers/groupwise/Makefile.am : changed the source file names 
108
109
110 2004-01-12  Meilof Veeningen  <meilof@wanadoo.nl>
111
112         * providers/nntp/camel-nntp-folder.[ch]: now based on discofolder,
113         cache_message and append_message implemented, only retrieve messages
114         when we are subscribed, some stubs
115
116         * providers/nntp/camel-nntp-provider.c: newsgroup name display
117         settings, password authentication, fix for check_equal where the
118         protocols wouldn't be checked
119
120         * providers/nntp/camel-nntp-store.[ch]: base on discostore with
121         online/offline support, subscriptions, downloading changed parts of
122         the newsgroup list, some stubs, authentication, automatic reconnect
123
124         * providers/nntp/camel-nntp-store-summary.[ch]: NNTP store
125         summary based on IMAP code
126
127         * providers/nntp/camel-nntp-summary.c: save summary after xover
128
129         * providers/nntp/camel-nntp-grouplist.h: added CamelNNTPGroupList
130         structs
131
132         * providers/nntp/Makefile.am: added store summary
133
134 2004-01-12  Not Zed  <NotZed@Ximian.com>
135
136         ** See bug 52725.
137
138         * providers/imap/camel-imap-folder.c (get_content): pass in
139         transfer encoding when setting up wrapper part.
140
141         * providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
142         Added an encoding type parameter, set on data wrapper.
143
144 2004-01-10  Jeffrey Stedfast  <fejj@ximian.com>
145
146         * camel-mime-utils.c (rfc2047_encode_word): if e_iconv() returns
147         -1, check that errno != EINVAL - if errno *is* EINVAL, it just
148         means that our convlen wasn't long enough to include the whole
149         sequence. This is fine, we'll just start where we left off next
150         loop thru. Fixes bug #52593 (the buffer was duplicated because
151         state wasn't flushed).
152         (camel_header_encode_string): Fixed a type-o in loop where
153         encoding=0, don't g_string_append_len starting at 'word'
154         inptr-start bytes long - 'word' could be NULL and/or inptr-start
155         could be longer than inptr-word.
156
157 2004-01-09  Rodney Dawes  <dobey@ximian.com>
158
159         * providers/groupwise/Makefile.am (EXTRA_DIST): libcamelgroupwise.urls
160         instead of libcamelimap.urls
161
162 2004-01-09  Sivaiah Nallagatla <snallagatla@novell.com>
163
164         * providers/groupwise/groupwise-config-listener.c
165         (is_groupwise_account): added null check for source url to take
166         care of accounts with Server Types as "None"
167
168 2004-01-09  Not Zed  <NotZed@Ximian.com>
169
170         * providers/imap/camel-imap-store.c (imap_forget_folder): fix
171         removal of journal file, and remove the cmeta state file too.
172
173         * providers/imap/camel-imap-folder.c (imap_getv): count up so we
174         call parent class if we missed any, rather than only if we didn't
175         miss any.
176         (imap_rename): rename the object state file.
177         (camel_imap_folder_new): set the object state file for persistent
178         properties.
179
180         * camel-disco-folder.c (disco_getv): support
181         (PERSISTENT_)PROPERTIES & OFFLINE_SYNC.
182         (disco_setv): implement OFFLINE_SYNC.
183         (camel_disco_folder_get_type): setup disco properties list.
184         (cdf_folder_changed): honour the offline_sync setting on the
185         current folder.
186         (disco_sync): save object state.
187         (disco_setv): save object state if it changed.
188
189         * camel-data-wrapper.c (camel_data_wrapper_set_mime_type_field):
190         move assertions here.
191         (set_mime_type_field): change order slightly to properly handle
192         setting the same object.  removed assertions from internal method.
193
194 2004-01-08 Sivaiah Nallagatla <snallagatla@novell.com>
195
196         * providers/Makefile.am : add groupwise to SUBDIRS
197
198         * providers/groupwise/camel-groupwise-provider.c: new camel
199         provider for groupwise
200
201         * providers/groupwise/groupwise-config-listener.[ch] : new class
202         to add e-sources for groupwise calender and tasks
203
204         * providers/groupwise/Makefile.am : added new files to Makefile.am
205
206 2004-01-05  JP Rosevear <jpr@ximian.com>
207
208         * camel-utf8.c: include sys/types.h for freebsd
209
210 2004-01-05  Rodrigo Moya <rodrigo@ximian.com>
211
212         * providers/groupwise/camel-groupwise-provider.c (groupwise_url_hash,
213         groupwise_url_equal): renamed from imap_*.
214
215 2004-01-05  Not Zed  <NotZed@Ximian.com>
216
217         * camel-tcp-stream-raw.c (socket_connect): check the right return
218         of the socket call, dont set fd to the value of the -1 check!
219
220 2003-12-27  Jeffrey Stedfast  <fejj@ximian.com>
221
222         * camel-tcp-stream-raw.c (socket_connect): Save errno and check
223         the return of the socket() call.
224
225 2003-12-24  Rodrigo Moya <rodrigo@ximian.com>
226
227         * providers/groupwise/camel-groupwise-provider.c
228         (camel_provider_module_init): g_module_open the other providers we
229         depend on to avoid load ordering problems.
230
231 2003-12-22  Rodrigo Moya <rodrigo@ximian.com>
232
233         * providers/groupwise/camel-groupwise-provider.c: removed useless
234         configuration options, and added other options from the IMAP
235         provider.
236         (camel_provider_module_init): register a SMTP transport object
237         also, and removed SASL registration, since we don't support it.
238
239 2003-12-19  Sivaiah Nallagatla <snallagatla@novell.com>
240
241         * providers/groupwise/Makefile.am:
242         * providers/groupwise/libcamelgroupwise.urls:
243         * providers/groupwise/camel-groupwise-provider.c: added Camel
244         provider for Groupwise accounts, based on the IMAP one.
245
246 2003-12-11  Jeffrey Stedfast  <fejj@ximian.com>
247
248         * camel-gpg-context.c (gpg_ctx_parse_status): Don't immediately
249         prompt for a passwd after receiving the NEED_PASSPHRASE status
250         message. Instead, parse the userid that gpg needs a passwd for and
251         store it on our context. Wait for a GET_HIDDEN status message
252         before prompting, this way if the user has their gpg configured to
253         use gpg-agent, the user won't get 2 passwd prompts.
254         (gpg_sign): Fixed to not free a gpg context that we have not
255         allocated (could happen in a fail case).
256
257 2003-12-10  Jeffrey Stedfast  <fejj@ximian.com>
258
259         * providers/local/camel-mbox-store.c (get_folder_info): Use
260         CAMEL_FODLER_NOCHILDREN rather than NOINFERIORS because
261         NOINFERIORS means the folder cannot contain subfolders. However,
262         our mbox structure always allows subfolders.
263         (scan_dir): Same.
264
265         * camel-store.h: Add a CAMEL_FOLDER_NOCHILDREN flag.
266
267         * providers/imap/camel-imap-store.c (get_folders): Same as below.
268
269         * providers/imap/camel-imap-utils.c (imap_parse_list_response):
270         s/CAMEL_IMAP_FOLDER_NOCHILDREN/CAMEL_FOLDER_NOCHILDREN/
271
272 2003-12-10  Not Zed  <NotZed@Ximian.com>
273
274         * camel-smime-context.c (sm_verify): also check
275         application/pkcs7-signature (bloody applemail).
276         (camel_smime_context_describe_part): as above, and fix the logic.
277         dont think its used anyway.  Bug #51750.
278
279 2003-12-10  Not Zed  <NotZed@Ximian.com>
280
281         * Makefile.am (libcamel_la_SOURCES): put the
282         camel-smime-context.[ch] back in here, remove it from EXTRA_DIST,
283         and make it compile optinally the same way camel-tcp-stream-ssl.c
284         does (#ifdef ...).
285
286         * camel-smime-context.c (sm_verify_cmsg): add signer info to
287         certvalidity.
288
289         * camel-cipher-context.c (CamelCipherValidity): Added certinfo to
290         validity for signing and encrypting, so we can find the keys later
291         for a gui.
292         (camel_cipher_validity_add_certinfo): add signer or
293         encrypter info to the validity.
294         (camel_cipher_validity_envelope): add sign/encrypt keys.
295
296 2003-12-10  Not Zed  <NotZed@Ximian.com>
297
298         * camel-stream-process.c (do_exec_command): remove dthe clearenv
299         stuff, not sure why its there.  s/setenv/putenv/ for portability.
300         See Bug #51767.
301
302 2003-12-08  Jeffrey Stedfast  <fejj@ximian.com>
303
304         * camel-mime-utils.c (header_decode_rfc2184_param): Revert the
305         s/is_/camel_mime_is_/ changes or we get really long variable
306         names.
307         (header_decode_param): Same.
308         (header_decode_param_list): Here too.
309
310 2003-12-09  Not Zed  <NotZed@Ximian.com>
311
312         ** See bug #51899.
313
314         * providers/imap/camel-imap-store.c (get_folders): add the first
315         fi to the info's hash, so we dont duplicate it if we come across
316         it again (which we generally will).
317
318 2003-12-09  Not Zed  <NotZed@Ximian.com>
319
320         * providers/smtp/camel-smtp-transport.c (smtp_send_to): encode the
321         address before sending it out, rather than using the raw/utf8
322         version.
323
324         * camel-internet-address.c
325         (camel_internet_address_encode_address): check for quoting the
326         local part of the address before outputting it.
327         (cia_encode_addrspec): quote local part if need be.
328         (camel_internet_address_encode_address): make folding optional
329         based on whether inlen is null or not.
330
331         * camel-mime-utils.[ch]: rename is_* to camel_mime_is_* and export
332         the type functions.
333
334 2003-12-08  Not Zed  <NotZed@Ximian.com>
335
336         * providers/imap/camel-imap-utils.c (imap_atom_specials): add } to
337         the atom specials list.  This isn't correct, but some busted
338         servers expect it.  Bug #50728.
339
340 2003-12-08  Jeffrey Stedfast  <fejj@ximian.com>
341
342         Fixes bug #51881
343
344         * providers/local/camel-mbox-store.c (delete_folder): Same.
345
346         * providers/local/camel-local-store.c (delete_folder): Unlink the
347         cmeta file too.
348
349 2003-12-06  JP Rosevear <jpr@ximian.com>
350
351         * */Makefile.am: Remove hard coded disable deprecated flags
352
353 2003-12-05  Jeffrey Stedfast  <fejj@ximian.com>
354
355         * camel-gpg-context.c (gpg_ctx_op_start): Properly set the
356         O_NONBLOCK flag along with any previously set flags.
357
358         * camel-filter-search.c (run_command): Don't set O_NONBLOCK on the
359         pipe (1. we don't need to, and 2. we should have been setting
360         O_NONBLOCK|prev_flags but we weren't, and so the pipe got
361         O_RDONLY|O_NONBLOCK even tho we wanted to write to it).
362
363         * camel-filter-driver.c (pipe_to_system): Same.
364
365 2003-12-04  Radek Doulik  <rodo@ximian.com>
366
367         * camel-folder.c (folder_changed): check recent messages for junk
368         mail
369
370         * camel-session.c (camel_session_check_junk): new wrapper method
371         for check_junk flag
372         (camel_session_set_check_junk): ditto
373
374         * camel-session.h (struct _CamelSession): added check_junk flag
375         (if to check incoming mail for junk messages)
376
377 2003-12-03  Jeffrey Stedfast  <fejj@ximian.com>
378
379         * camel-store.c (add_special_info): Free fi->path if we are gonna
380         replace it with the vinfo path.
381
382         * providers/local/camel-mbox-store.c (create_folder): Treat
383         parent_name == NULL and parent_name == "" the same.
384
385         * camel-store.c (camel_store_get_folder_info): Only add
386         vTrash/vJunk info's if we've requested the toplevel folder tree,
387         otherwise we get vTrash/vJunk folders in odd places in the folder
388         tree.
389         (add_special_info): Use the provider->url_flags to determine if
390         the url uses the fragment or not for the path.
391
392 2003-12-02  Not Zed  <NotZed@Ximian.com>
393
394         * providers/local/camel-local-folder.c (local_setv): remove some
395         debug printfs.
396
397         ** See bug #51576.
398
399         * camel-url.c (camel_url_decode): robustify url decoding for bad
400         input, addresses a crash.
401
402         ** See bug #51478.
403
404         * camel-gpg-context.c (gpg_ctx_free): handle the context being
405         NULL, and exit silently.
406
407 2003-12-01  Jeffrey Stedfast  <fejj@ximian.com>
408
409         * camel-process.c (camel_process_fork): Start at fd = 3.
410
411         * camel-gpg-context.c (gpg_ctx_op_start): Same.
412
413         * camel-filter-driver.c (pipe_to_system): Same.
414
415         * camel-filter-search.c (run_command): Start at fd = 3.
416
417 2003-12-01  Jeffrey Stedfast  <fejj@ximian.com>
418
419         * camel-stream-process.c (do_exec_command): Same.
420
421         * camel-process.c (camel_process_fork): Same.
422
423         * camel-filter-search.c (run_command): Same as below.
424
425         * camel-filter-driver.c (pipe_to_system): Same as below.
426
427         * camel-gpg-context.c (gpg_ctx_op_start): Use fcntl() to set
428         FD_CLOEXEC on each fd rather than close()ing it. Apparently
429         Linux's older pthread implementations use sockets and so this
430         fouls threading up. GO LINUX! GO!
431
432 2003-12-01  Radek Doulik  <rodo@ximian.com>
433
434         * camel-store.c (add_special_info): set SUBSCRIBED and NOINFERIORS
435         flags to special folders, renamed method from
436         add_vtrash_or_vjunk_info
437         (camel_store_get_folder_info): call add_special_info directly
438
439 2003-11-28  Radek Doulik  <rodo@ximian.com>
440
441         * camel-store.c (camel_store_get_folder_info): use old code from
442         mail-ops to add vtrash/vjunk info
443
444 2003-11-28  David Woodhouse  <dwmw2@redhat.com>
445
446         * providers/imap/camel-imap-provider.c: Enable GUI option for
447         'custom command' connection.
448         * providers/imap/camel-imap-store.c: Don't g_free strings in
449         .rodata. It's considered rude.
450
451 2003-11-28  Not Zed  <NotZed@Ximian.com>
452
453         * camel-mime-utils.c (mail_list_magic[]): Added list-unsubscribe
454         header match.
455
456 2003-11-26  Not Zed  <NotZed@Ximian.com>
457
458         * camel-smime-context.c (sm_verify_cmsg): take a stream rather
459         than a part for the content.
460         (sm_verify): get the content directly as a stream.
461
462         * camel-multipart-signed.c
463         (camel_multipart_signed_get_content_stream): new api to get the
464         content stream which will match the signed version.
465
466 2003-11-26  JP Rosevear <jpr@ximian.com>
467
468         * Makefile.am: make sure we always dist the smime stuff
469
470 2003-11-26  JP Rosevear  <jpr@ximian.com>
471
472         * Makefile.am (libcamelinclude_HEADERS): conditionally compile
473         s/mime support
474
475 2003-11-25  Not Zed  <NotZed@Ximian.com>
476
477         * camel-cipher-context.c (camel_cipher_validity_envelope): change
478         args to make it suit storing the validity in a tree.
479         (camel_cipher_validity_init): init the list header.
480         (camel_cipher_validity_clone): call validity_new so it gets init
481         properly.
482         (camel_cipher_validity_free): free any children nodes recursively.
483
484         * camel-cipher-context.h (CamelCipherValidity): added next/prev
485         and list header.
486
487 2003-11-18  Jeffrey Stedfast  <fejj@ximian.com>
488
489         * camel-session.c (camel_session_finalise): Don't destroy the
490         providers as it mans we can never ever have more than 1 session
491         object. See bug #51119 for details.
492
493 2003-11-17  Jeffrey Stedfast  <fejj@ximian.com>
494
495         * providers/local/camel-mbox-store.c (create_folder): Fixed an
496         exception to give a more meaningful description.
497         (get_folder_info): We always want to scan at least one level deep.
498
499 2003-11-14  Jeffrey Stedfast  <fejj@ximian.com>
500
501         * providers/local/camel-mbox-store.c (get_folder_info): Handle ""
502         as a request for a full dirscan as well (not just NULL). Makes it
503         consistant with other stores.
504         (scan_dir): Set the fi->flags appropriately.
505
506         * providers/local/camel-mbox-folder.c
507         (camel_mbox_folder_get_full_path): Removed temporary hack.
508
509 2003-11-14  Not Zed  <NotZed@Ximian.com>
510
511         * camel-mime-parser.c (SCAN_BUF): oops, put the mempool stuff
512         back, we don't use e-memory afterall.  Damn plane hacking.
513
514 2003-11-13  Not Zed  <NotZed@Ximian.com>
515
516         * camel-mime-parser.c: Remove mempool code, we use the stuff in
517         e-util.
518         (PRESERVE_HEADERS): new compile option, if on, we preserve headers
519         and folding exactly rather than unfolding all input.  THIS BREAKS
520         EVERYTHING right now, so don't turn it on.
521
522         * camel-gpg-context.c (gpg_decrypt): reset the input memstream
523         before passing it to the gpg engine.
524
525         * tests/smime/pgp-mime.c (main): redirect /dev/null to stdin so it
526         doesn't hang waiting for input.
527         (main): removed from build - this tests multipart/signed
528         explictly, but now the details of this is handled directly by the
529         cipher context.
530
531         * tests/smime/pgp.c (main): fixes for api changes.
532         (main): redirect /dev/null to stdin so it doesn't hang waiting for
533         input.
534
535         * tests/message/test1.c (main): update for api changes.
536
537         * camel-smime-context.c (sm_verify): look at the content object's
538         mime type, not the container's type.
539
540 2003-11-11  Not Zed  <NotZed@Ximian.com>
541
542         * camel-cipher-context.c (camel_cipher_validity_set_valid): take
543         into account the @valid argument and set validity properly.
544         (camel_cipher_validity_clone): new method to copy validities.
545
546         * camel-smime-context.c (sm_signing_cmsmessage): removed a todo.
547
548 2003-11-10  Not Zed  <NotZed@Ximian.com>
549
550         * camel-smime-context.c (sm_verify_cmsg): split out the CMSMessage
551         verification code so it can be used from enveloped or externally
552         signed data.
553
554         * camel-cipher-context.c (camel_cipher_verify): only take a
555         mimepart, internally handle multiparts and the hash.
556
557 2003-11-07  Not Zed  <NotZed@Ximian.com>
558
559         * camel-cipher-context.c: make ciphervalidity a public structure,
560         added encrypt status.
561         (camel_cipher_decrypt): changed to return a ciphervalidity.  fixed
562         implementations.
563         (camel_cipher_validity_*): Fixed implementations to match new
564         structure, some of this is now redundant.
565
566 2003-11-06  Not Zed  <NotZed@Ximian.com>
567
568         * camel-smime-context.c (camel_smime_context_describe_part):
569         implement.
570
571 2003-11-05  Jeffrey Stedfast  <fejj@ximian.com>
572
573         * providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
574         bother trying to see if the server advertises EHLO. Simply always
575         try EHLO and fall back to HELO if EHLO fails. Fixes bug #50535.
576
577 2003-11-05  Not Zed  <NotZed@Ximian.com>
578
579         * camel-smime-context.c (camel_smime_context_describe_part): new
580         (unfinished) api to peek inside smime parts to tell us whats in
581         it.
582
583 2003-11-03  Not Zed  <NotZed@Ximian.com>
584
585         * camel-gpg-context.c (gpg_encrypt): Make this output the
586         full multipart/encrypted part, not just the encrypted content part.
587
588         * camel-cipher-context.c (camel_cipher_sign): change to output
589         full mime part, not just a stream.
590         (camel_cipher_canonical_to_stream): utility function to
591         canonicalise a mimepart to a stream.
592
593         * camel-smime-context.c (sm_encode_cmsmessage): removed.
594         (sm_sign): change interface to output a full mime-part, not just a
595         part of a mime part in multipart/signed mode.
596
597 2003-11-04  Jeffrey Stedfast  <fejj@ximian.com>
598
599         * camel-gpg-context.c (gpg_ctx_parse_status): We might need to
600         convert the passwd from UTF-8 into the locale charset. Fixes bug
601         #50485.
602
603 2003-10-31  Not Zed  <NotZed@Ximian.com>
604
605         * camel-cms-context.[ch]: removed, now redundant.
606
607 2003-10-30  Not Zed  <NotZed@Ximian.com>
608
609         * camel-smime-context.c (sm_get_passwd): implement something basic.
610
611         * camel-cipher-context.h: Added a note about api inconsistencies.
612
613 2003-10-30  Not Zed  <NotZed@Ximian.com>
614
615         * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
616         fix for cipher_decrypt changes.
617
618         * camel-gpg-context.c, camel-cipher-context.c: moved all the init
619         code to the end to save having to keep forward declarations
620         around.
621         (camel_cipher_decrypt): changed to take mimepart input and return
622         a mimepart.
623         (gpg_decrypt): fix for changed args.
624
625 2003-10-29  Not Zed  <NotZed@Ximian.com>
626
627         * camel-smime-context.[ch]: replaced entirely with a new
628         implementation which inherits from camel-cipher-context, and add
629         to build.
630
631         * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt):
632         fix for cipher_encrypt api changes.
633         (camel_multipart_encrypted_decrypt): use g_ascii_strcasecmp.
634
635         * camel-gpg-context.c (gpg_encrypt): Fix to handle input/output as
636         parts not streams
637
638         * camel-cipher-context.c (camel_cipher_encrypt): change to take
639         mimeparts rather than streams as input/output.  And remove the
640         'sign' argument, it is implied if userid is supplied.
641
642 2003-10-28  Not Zed  <NotZed@Ximian.com>
643
644         * tests/smime/pgp.c (main): fix for ciphercontext api changes.
645
646         * camel-multipart-signed.c (camel_multipart_signed_verify): pass
647         in the part to cipher_verify directly.
648         (camel_multipart_signed_sign): let the cipher context setup the
649         part details.
650
651         * camel-gpg-context.c (gpg_sign): put the signature stream into a
652         mimepart, with appropriate headers/encoding.
653         (swrite): write out a mimepart rather than a stream.
654         (gpg_verify): handle changed args.
655
656         * camel-cipher-context.c (camel_cipher_sign): write the signature
657         to a mimepart rather than a simple stream.
658         (camel_cipher_verify): take the signature as a mimepart not a
659         stream.
660
661 2003-10-22  Not Zed  <NotZed@Ximian.com>
662
663         * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for
664         ucs2 stuff.  ucs2 is 16 bit truncated unicode.
665
666 2003-10-28  Jeffrey Stedfast  <fejj@ximian.com>
667
668         * camel-mime-utils.c: We should check List-Post before List-Id
669         (List-Post has to contain the mailing-list posting address,
670         whereas List-Id does not.) WAlso moved X-Loop to after List-Id to
671         make FreeBSD lusers happy. Fixes bug #32297.
672
673 2003-10-28  Jeffrey Stedfast  <fejj@ximian.com>
674
675         * Fixes bug #35083
676
677         * providers/imap/camel-imap-store.c (connect_to_server): Same
678         here.
679
680         * providers/pop3/camel-pop3-store.c (connect_to_server): Same as
681         the smtp changes.
682
683         * providers/smtp/camel-smtp-transport.c (connect_to_server): If
684         HAVE_SSL is undefined, don't default to raw connections if the
685         option to connect via ssl is set. Instead set an exception and
686         return fail.
687
688 2003-10-27  Frederic Crozat  <fcrozat@mandrakesoft.com>
689
690         * camel-mime-utils.c: (camel_header_decode_date):
691         better detection of broken date to give to broken_date_parser.
692
693 2003-10-24  Jeffrey Stedfast  <fejj@ximian.com>
694
695         * camel-text-index.c (text_index_name_add_buffer): If a word is
696         longer than CAMEL_TEXT_INDEX_MAX_WORDLEN, then ignore it. This
697         fixes bug #50096.
698
699 2003-10-23  Jeffrey Stedfast  <fejj@ximian.com>
700
701         * *.c: Removed unneeded CAMEL_OBJECT() casts.
702
703 2003-10-21  Not Zed  <NotZed@Ximian.com>
704
705         * providers/local/camel-local-folder.c (local_getv, local_setv):
706         use the right tag name for the index_body arg.
707         (local_sync): write any persistent metadata - to make it
708         persistent.
709         (camel_local_folder_construct): turn off indexing, for now, it
710         should be done in local_setv.
711
712         * providers/local/camel-local-folder.h: change body_index to a bool
713         type.
714
715         * camel-object.c (cobject_state_read, cobject_state_write): handle
716         bool types
717         (cobject_state_write): make sure we free all arg types.
718
719         * camel-arg.c (camel_argv_build):
720         (camel_arggetv_build):  handle bool type.
721
722         * camel-arg.h: Added BOO (bool) type.
723
724 2003-10-15  Not Zed  <NotZed@Ximian.com>
725
726         * camel-store.c (camel_folder_info_build): Fix so we output the
727         tree in sorted depth-first order, rather in reverse.
728
729 2003-10-16  Jeffrey Stedfast  <fejj@ximian.com>
730
731         * camel-sasl-kerberos4.c: Fixed a #include.
732
733 2003-10-10  Not Zed  <NotZed@Ximian.com>
734
735         * providers/local/camel-local-provider.c: set the url fragment
736         flag for local providers.
737
738         * camel-provider.h: Move the URL_PART_NEED bits to the high 16
739         bits, to allow for easier changes in the future.  Added a
740         URL_PART_FRAGMENT flag for providers that use fragment = folder
741         path.
742
743 2003-10-09  Jeffrey Stedfast  <fejj@ximian.com>
744
745         * camel-mime-utils.c (header_decode_date): Allow timezone offsets
746         to be up to 14 hours ahead of UTC. Fixes bug #49357.
747
748         * broken-date-parser.c (get_tzone): Same.
749
750 2003-10-08  Jeffrey Stedfast  <fejj@ximian.com>
751
752         * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an
753         unused variable.
754
755 2003-09-25  Jeffrey Stedfast  <fejj@ximian.com>
756
757         * providers/smtp/camel-smtp-transport.c (smtp_helo): If the
758         localhost lookup results in a numeric IPv6 host, use the form
759         "[IPv6:<addr>]" as specified in rfc2821. Fixes bug #46006.
760
761 2003-09-23  Ettore Perazzoli  <ettore@ximian.com>
762
763         * providers/local/camel-local-provider.c: Set the IS_STORAGE bit
764         in the mbox provider, since it can now contain a hierarchy of
765         folders.
766
767 2003-09-23  Jeffrey Stedfast  <fejj@ximian.com>
768
769         * providers/local/camel-mbox-store.c (get_folder): If the CREATE
770         flag is set and the parent .sbd directory does not exist, create
771         it.
772
773         * camel-mime-utils.c (append_8bit): Don't forget to flush the
774         iconv conversion.
775
776         * tests/message/test4.c (main): Don't try dot-files.
777
778 2003-09-22  Not Zed  <NotZed@Ximian.com>
779
780         ** See bug #41610
781         
782         * providers/pop3/camel-pop3-folder.c (cmd_tocache): protect a
783         divide by 0 for 0 length messages.
784
785 2003-09-22  Not Zed  <NotZed@Ximian.com>
786
787         * providers/imap/camel-imap-provider.c: Added "offline_sync"
788         option, which lets you synchronise all mail to local storage
789         automagically.
790
791         * camel-disco-folder.c (cdf_folder_changed): hook onto the folder
792         changed single, for all new messages, check that they are online
793         using another thread, if the offline_sync option has been enabled
794         for this store.
795
796 2003-09-21  Not Zed  <NotZed@Ximian.com>
797
798         * camel-session.c (session_thread_destroy): call proper entry
799         point for freeing the message.
800
801 2003-09-18  Not Zed  <NotZed@Ximian.com>
802
803         * camel-folder.c (filter_filter): register the filtering process
804         for progress, and do progress of the filtering process.
805
806 2003-09-17  Not Zed  <NotZed@Ximian.com>
807
808         * camel.c (camel_init): init camel operation.
809
810         * camel-operation.c (camel_operation_reset): removed, not used,
811         not worth it.
812         (camel_operation_mute): new method to stop all status updates
813         permanently.
814         (*): Changed to use thread specific data and a list rather than a
815         hashtable.
816         (cancel_thread): removed.
817         (camel_operation_register): return the previously registered op.
818
819 2003-09-22  Jeffrey Stedfast  <fejj@ximian.com>
820
821         * providers/nntp/camel-nntp-store.c (connect_to_server): Fix the
822         code that creates a new ssl stream to pass the correct arguments
823         and the proper flags.
824
825         * providers/imapp/camel-imapp-folder.c (imap_sync): Cast the
826         CamelFolder to a CamelIMAPPFolder to hush some compiler warnings.
827
828         * camel-mime-utils.h: Define a struct _CamelContentDisposition
829         (allows the imapp code to compile)
830
831         * providers/imapp/camel-imapp-driver.c: #include <string.h>
832
833 2003-09-18  Jeffrey Stedfast  <fejj@ximian.com>
834
835         * camel-mime-utils.c (camel_transfer_encoding_to_string): New
836         function to replace the one from camel-mime-part.c
837         (camel_transfer_encoding_from_string): Same.
838         (camel_content_transfer_encoding_decode): Renamed from
839         camel_header_content_encoding_decode().
840
841         * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed.
842         (camel_mime_part_encoding_from_string): Removed.
843
844         * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding
845         namespace changes
846
847         * camel-folder-summary.c: updated for CamelTransferEncoding
848         namespace changes
849
850         * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding
851         namespace changes
852
853         * camel-mime-message.c: updated for CamelTransferEncoding
854         namespace changes
855
856         * camel-mime-part-utils.c: updated for CamelTransferEncoding
857         namespace changes
858
859         * camel-multipart-signed.c: updated for CamelTransferEncoding
860         namespace changes
861
862         * camel-smime-context.c: updated for CamelTransferEncoding
863         namespace changes
864
865         * providers/imapp/camel-imapp-utils.c: updated for
866         CamelTransferEncoding namespace changes
867
868         * tests/lib/messages.c: updated for CamelTransferEncoding
869         namespace changes
870
871         * tests/message/test1.c: updated for CamelTransferEncoding
872         namespace changes
873
874 2003-09-18  Jeffrey Stedfast  <fejj@ximian.com>
875
876         * camel-mime-utils.[c,h]: namespaced the encoding/decoding
877         routines.
878
879         * camel-mime-filter-basic.c: updated for namespace changes to the
880         encoding/decoding routines in camel-mime-utils.c
881
882         * camel-multipart.c: updated for namespace changes to the
883         encoding/decoding routines in camel-mime-utils.c
884
885         * camel-sasl-digest-md5.c: updated for namespace changes to the
886         encoding/decoding routines in camel-mime-utils.c
887
888         * camel-sasl.c: updated for namespace changes to the
889         encoding/decoding routines in camel-mime-utils.c
890         
891         * camel-vee-folder.c: updated for namespace changes to the
892         encoding/decoding routines in camel-mime-utils.c
893
894         * providers/imap/camel-imap-search.c: updated for namespace
895         changes to the encoding/decoding routines in camel-mime-utils.c
896
897         * providers/pop3/camel-pop3-folder.c: updated for namespace
898         changes to the encoding/decoding routines in camel-mime-utils.c
899
900 2003-08-26  Jeffrey Stedfast  <fejj@ximian.com>
901
902         * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and
903         s/_header_state/_camel_mime_parser_state/g
904
905         * camel-filter-driver.c: Same.
906
907         * camel-folder-summary.c: Here too.
908
909         * camel-http-stream.c: And here.
910
911         * camel-mime-message.c: ...
912
913         * camel-mime-part-utils.c: ...
914
915         * camel-mime-part.c: ...
916
917         * camel-movemail.c: ...
918
919         * camel-multipart-signed.c: ...
920
921         * camel-multipart.c: ...
922
923         * providers/local/camel-mbox-folder.c: ...
924
925         * providers/local/camel-mbox-summary.c: ...
926
927         * providers/local/camel-mh-summary.c: ...
928
929         * providers/nntp/camel-nntp-summary.c: ...
930
931         * providers/pop3/camel-pop3-folder.c: ...
932
933 2003-08-25  Jeffrey Stedfast  <fejj@ximian.com>
934
935         * camel-mime-utils.[c,h]: Namespaced.
936
937         * camel-data-wrapper.c: updated for namespace changed made to
938         camel-mime-utils.[c,h]
939
940         * camel-digest-folder.c: updated for namespace changed made to
941         camel-mime-utils.[c,h]
942
943         * camel-filter-driver.c: updated for namespace changed made to
944         camel-mime-utils.[c,h]
945
946         * camel-filter-search.c: updated for namespace changed made to
947         camel-mime-utils.[c,h]
948
949         * camel-folder-search.c: updated for namespace changed made to
950         camel-mime-utils.[c,h]
951
952         * camel-folder-summary.[c,h]: updated for namespace changed made
953         to camel-mime-utils.[c,h]
954
955         * camel-http-stream.c: updated for namespace changed made to
956         camel-mime-utils.[c,h]
957
958         * camel-http-stream.h: updated for namespace changed made to
959         camel-mime-utils.[c,h]
960
961         * camel-internet-address.c: updated for namespace changed made to
962         camel-mime-utils.[c,h]
963
964         * camel-medium.[c,h]: updated for namespace changed made to
965         camel-mime-utils.[c,h]
966
967         * camel-mime-message.c: updated for namespace changed made to
968         camel-mime-utils.[c,h]
969
970         * camel-mime-parser.[c,h]: updated for namespace changed made to
971         camel-mime-utils.[c,h]
972
973         * camel-mime-part-utils.c: updated for namespace changed made to
974         camel-mime-utils.[c,h]
975
976         * camel-mime-part.[c,h]: updated for namespace changed made to
977         camel-mime-utils.[c,h]
978
979         * camel-movemail.c: updated for namespace changed made to
980         camel-mime-utils.[c,h]
981
982         * camel-multipart-encrypted.c: updated for namespace changed made
983         to camel-mime-utils.[c,h]
984
985         * camel-multipart-signed.c: updated for namespace changed made to
986         camel-mime-utils.[c,h]
987
988         * camel-multipart.c: updated for namespace changed made to
989         camel-mime-utils.[c,h]
990
991         * camel-search-private.[c,h]: updated for namespace changed made
992         to camel-mime-utils.[c,h]
993
994         * camel-types.h: updated for namespace changed made to
995         camel-mime-utils.[c,h]
996
997         * providers/imap/camel-imap-folder.c: updated for namespace
998         changed made to camel-mime-utils.[c,h]
999
1000         * providers/imap/camel-imap-store-summary.c: updated for namespace
1001         changed made to camel-mime-utils.[c,h]
1002
1003         * providers/imap/camel-imap-utils.c: updated for namespace changed
1004         made to camel-mime-utils.[c,h]
1005
1006         * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
1007         changed made to camel-mime-utils.[c,h]
1008
1009         * providers/local/camel-local-summary.[c,h]: updated for namespace
1010         changed made to camel-mime-utils.[c,h]
1011
1012         * providers/local/camel-maildir-summary.c: updated for namespace
1013         changed made to camel-mime-utils.[c,h]
1014
1015         * providers/local/camel-mbox-summary.c: updated for namespace
1016         changed made to camel-mime-utils.[c,h]
1017
1018         * providers/local/camel-spool-summary.h: updated for namespace
1019         changed made to camel-mime-utils.[c,h]
1020
1021         * providers/nntp/camel-nntp-summary.c: updated for namespace
1022         changed made to camel-mime-utils.[c,h]
1023
1024         * providers/nntp/camel-nntp-utils.c: updated for namespace changed
1025         made to camel-mime-utils.[c,h]
1026
1027         * providers/pop3/camel-pop3-folder.c: updated for namespace
1028         changed made to camel-mime-utils.[c,h]
1029
1030         * providers/sendmail/camel-sendmail-transport.c: updated for
1031         namespace changed made to camel-mime-utils.[c,h]
1032
1033         * providers/smtp/camel-smtp-transport.c: updated for namespace
1034         changed made to camel-mime-utils.[c,h]
1035
1036 2003-09-16  Jeffrey Stedfast  <fejj@ximian.com>
1037
1038         * providers/local/camel-mbox-folder.c
1039         (camel_mbox_folder_get_full_path): Implement a temp hack so trunk
1040         works until we merge in new-ui-branch.
1041
1042         * camel-stream-filter.c (do_flush): Don't warning about how we
1043         haven't written anything to the stream, this is not an
1044         error. fflush() doesn't care if you try to fflush() a stream
1045         without writing to it, so we shouldn't care either.
1046
1047 2003-09-15  Not Zed  <NotZed@Ximian.com>
1048
1049         * providers/imapp/camel-imapp-store.c (store_resp_list)
1050         (imap_login, try_sasl, imap_try_authenticate): removed dead code.
1051
1052         * providers/imapp/camel-imapp-stream.c: return -1 if stream not
1053         set.
1054
1055         * providers/imapp/camel-imapp-engine.c (iterate_completion): put
1056         done request on the done queue, so all requests are always
1057         somewhere.
1058         (camel_imapp_engine_command_free): just spit warnings of active
1059         messages being freed, but abort if the item isn't in any list.
1060         Also remove the node from its list before going on.
1061         (iterate_untagged, iterate_continuation, iterate_completion):
1062         staticifiy.
1063
1064         * providers/imapp/camel-imapp-provider.c
1065         (camel_imapp_module_init): move camel_exception_setup call here.
1066
1067         * providers/imapp/camel-imapp-driver.c
1068         (camel_imapp_driver_get_type): remove execption setup here, it
1069         isn't early enough.
1070         (camel_imapp_driver_list): handle exceptions.
1071
1072 2003-09-12  Jeffrey Stedfast  <fejj@ximian.com>
1073
1074         * providers/local/camel-mbox-folder.c
1075         (camel_mbox_folder_get_full_path): Implements
1076         CamelLocalFolder::get_full_path() (publicly namespaced so that
1077         CamelMboxStore can re-use them).
1078         (camel_mbox_folder_get_meta_path): Same.
1079
1080         * providers/local/camel-mbox-store.c (get_folder): Changed the way
1081         the path is constructed, since we now handle subdirectories and
1082         stuff.
1083         (delete_folder): Try deleting the Folder.sbd directory. We also
1084         need to manage our own meta files since CamelLocalStore's impl
1085         constructs paths differently than what we need.
1086         (create_folder): Implemented.
1087         (rename_folder): Implemented.
1088         (scan_dir): Scan an mbox tree
1089         (get_folder_info): Implemented using scan_dir().
1090
1091         * providers/local/camel-local-store.c (delete_folder): Set fi->url
1092         to the correct value, meaning we need to prefix it with the
1093         protocol and the folder_name is not actually part of the path, it
1094         is a separate component to the url.
1095
1096         * providers/local/camel-local-folder.c
1097         (camel_local_folder_construct): Use the new class virtual method
1098         to construct the full folder path and all the meta files.
1099         (local_get_full_path): Implemented default get_full_path method.
1100         (local_get_meta_path): Implemented default get_meta_path method.
1101
1102 2003-09-11  Dan Winship  <danw@ximian.com>
1103
1104         * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la
1105
1106 2003-09-05  Not Zed  <NotZed@Ximian.com>
1107
1108         * providers/imap/camel-imap-store.c (imap_noop): call
1109         camel_folder_sync bypassing the folder lock.  See
1110         imap_store_refresh_folders too.
1111
1112 2003-09-04  David Woodhouse  <dwmw2@infradead.org>
1113
1114         * providers/camel-imap-store.[ch]: Add PREAUTH handling and
1115         pine/mutt/etpan/etc.-style 'ssh <mailhost> exec imapd' support.
1116         
1117 2003-09-03  David Woodhouse  <dwmw2@infradead.org>
1118
1119         * camel-stream-process.[ch]: New stream implementation for running
1120         commands.
1121         * Makefile.am: Compile the above
1122
1123 2003-08-20  Not Zed  <NotZed@Ximian.com>
1124
1125         ** See bug #47765.
1126
1127         * camel-folder-search.h: Removed match1 member.
1128
1129         * camel-folder-search.c (camel_folder_search_match_expression):
1130         use current directly rather than match1.  This method isn't used
1131         anywhere anyway.
1132         (search_not): remove match1 stuff.
1133         (search_match_all): properly handle the match-all against 1
1134         message as a scalar result, not an array result.
1135
1136 2003-09-03  Not Zed  <NotZed@Ximian.com>
1137
1138         * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL
1139         proxy_url - unset the proxy.
1140
1141 2003-08-29  Not Zed  <NotZed@Ximian.com>
1142
1143         * camel-object.c (camel_object_state_write): 
1144         (cobject_getv):
1145         (cobject_setv, cobject_state_read, cobject_state_read) 
1146         (cobject_state_write): removed debug printfs.
1147
1148         * providers/local/camel-local-folder.c (local_getv): Need to copy
1149         the local properties list before passing it out, since it's freed.
1150
1151 2003-08-27  Not Zed  <NotZed@Ximian.com>
1152
1153         * providers/local/camel-local-folder.c (local_getv): implement
1154         PERSISTENT_PROPERTIES, for index mode.
1155
1156         * camel-object.c (cobject_state_read): Also add property reading,
1157         and bump version to 1.
1158         (cobject_state_write): add persistent property writing.
1159
1160 2003-08-26  Not Zed  <NotZed@Ximian.com>
1161
1162         * camel-folder.c (folder_getv): chain up properly.
1163
1164         * camel-file-utils.c (camel_file_util_savename): helper to create
1165         a .#filename filename.
1166
1167         * providers/local/camel-local-folder.c
1168         (camel_local_folder_construct): init meta-data for local folders.
1169         (local_getv): chain up properly, if args are not processed, rather
1170         than don't if they aren't.
1171
1172 2003-08-23  Not Zed  <NotZed@Ximian.com>
1173
1174         * camel-object.c (cobject_class_init): added a new event,
1175         meta_changed.
1176         (camel_object_meta_set, camel_object_meta_get): meta-data api.
1177         (camel_object_free_hooks): Free meta-data if it is set on the
1178         object.
1179
1180         * providers/local/camel-local-folder.c
1181         (camel_local_folder_get_type): setup a property list for local
1182         folders, just 'index_body' at present.
1183
1184 2003-08-25  Jeffrey Stedfast  <fejj@ximian.com>
1185
1186         * camel-filter-driver.c (pipe_to_system): Added some more error
1187         checking for reading/writing to the pipes. Fixes bug #47880.
1188
1189 2003-08-21  Jeffrey Stedfast  <fejj@ximian.com>
1190
1191         * camel-data-wrapper.c (decode_to_stream): Don't poke
1192         wrapper->stream directly, use camel_data_wrapper_write_to_stream()
1193         instead as this simplifies things and makes the imap data wrapper
1194         implementation Just Work (tm).
1195
1196         * providers/imap/camel-imap-wrapper.c: changed prototype of
1197         write_to_stream() to return ssize_t.
1198
1199 2003-08-20  Jeffrey Stedfast  <fejj@ximian.com>
1200
1201         * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make
1202         sure to ref the stream. Fixes bug #47749.
1203
1204 2003-08-18  Not Zed  <NotZed@Ximian.com>
1205
1206         * camel-http-stream.c: Various fixes to make it work.
1207
1208         * tests/smime/pgp-mime.c (main): added missing 'ret' variable.
1209
1210         * providers/smtp/camel-smtp-transport.c (connect_to_server): 
1211         * providers/imapp/camel-imapp-store.c (connect_to_server:
1212         * providers/imap/camel-imap-store.c (connect_to_server):
1213         * providers/pop3/camel-pop3-store.c (connect_to_server):
1214         * camel-http-stream.c (http_connect): change service->session for
1215         tcp_stream_ssl_new.
1216
1217         * camel-tcp-stream-ssl.c: Changed service to session, and fix some
1218         refcounting of it.
1219         include camel-operation.h
1220
1221 2003-08-15  Not Zed  <NotZed@Ximian.com>
1222
1223         ** See bug #47634.
1224
1225         * tests/lib/messages.c (test_message_compare): check
1226         write_to_stream returns.
1227         (message_dump_rec): helper to dump message structure.
1228
1229         * camel-mime-part-utils.c
1230         (simple_data_wrapper_construct_from_parser): dont set content
1231         encoding here.
1232         (camel_mime_part_construct_content_from_parser): set it here
1233         instead, on every part.  basically same as setting the
1234         mime_type_field always.
1235
1236         * camel-multipart-signed.c (camel_multipart_signed_class_init): 
1237         * camel-mime-message.c (camel_mime_message_class_init): 
1238         * camel-multipart.c (camel_multipart_class_init): override
1239         decode_to_stream to always do the same as write_to_stream, since
1240         we can never be encoded.
1241
1242 2003-08-15  Jeffrey Stedfast  <fejj@ximian.com>
1243
1244         * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
1245         Don't attach any filters to decode base64/qp/etc.
1246
1247 2003-08-14  Jeffrey Stedfast  <fejj@ximian.com>
1248
1249         * camel-mime-part.c (write_to_stream): Save errno when
1250         flushing/unreffing the filter stream.
1251
1252 2003-08-13  Jeffrey Stedfast  <fejj@ximian.com>
1253
1254         * camel-mime-part.c (write_to_stream): If the content is
1255         base64/qp/uu/etc encoded but the part is 7bit/8bit/(or otherwise
1256         non-encoded), set reencode to TRUE so that we decode the original
1257         content stream. Fixes a bug noticed on
1258         evolution-patches@ximian.com where a patch had a
1259         Content-Transfer-Encoding of 7bit but was base64 encoded.
1260
1261 2003-08-13  Not Zed  <NotZed@Ximian.com>
1262
1263         * camel-folder-summary.c (camel_folder_summary_remove_range): Fix
1264         the range check, we were stopping removal of 1 or 2 removals, for
1265         some odd and completely uncomprehensible reason.  Perhaps debug
1266         left in?
1267
1268 2003-08-13  Not Zed  <NotZed@Ximian.com>
1269
1270         ** See bug #47517.
1271
1272         * camel-vee-folder.c (vee_sync): Always rebuild folder on any
1273         sync, not just expunge ones.
1274
1275 2003-08-11  Not Zed  <NotZed@Ximian.com>
1276
1277         * providers/imapp/camel-imapp-store.c (imap_get_folder_info):
1278         force connect manually so basics work.
1279
1280         ** See bug #45505.
1281
1282         * camel-service.c (camel_gethostbyname): duh, pthread_create
1283         returns the error code directly, not via errno.
1284         (camel_gethostbyaddr): Same, also properly handle the failure
1285         case.
1286
1287 2003-08-01  Not Zed  <NotZed@Ximian.com>
1288
1289         ** See bug #47208.
1290
1291         * camel-filter-search.c (match_all): match-all with no arguments        
1292         should always return TRUE.
1293
1294         * camel-folder-search.c (camel_folder_search_execute_expression):
1295         print a warning when we get an invalid result type & fixed a leak
1296         for that case.
1297
1298 2003-08-08  Jeffrey Stedfast  <fejj@ximian.com>
1299
1300         * tests/message/test4.c: New test suite for the mime parser (which
1301         is where the below 2 fixes were noticed).
1302
1303         * camel-mime-parser.c (folder_boundary_check): Calculate 'len' by
1304         subtracting the boundary start from inend rather than 'atleast'.
1305         (folder_scan_content): Calculate 'inend' differently depending on
1306         the EOF state.
1307
1308 2003-08-08  Jeffrey Stedfast  <fejj@ximian.com>
1309
1310         * camel-mime-filter-tohtml.c (html_convert): Rather than checking
1311         *inptr == '\n', check inptr >= inend - this gets rid of an Invalid
1312         Read report from valgrind.
1313
1314         * camel-mime-part.c (write_to_stream): Don't necessarily re-encode
1315         just because the encodings differ. Need to look into making it so
1316         that message/rfc822 and multipart parts ignore the
1317         Content-Transfer-Encoding header and just keep their 'encoding'
1318         bits set to DEFAULT.
1319
1320 2003-08-05  Jeffrey Stedfast  <fejj@ximian.com>
1321
1322         * providers/imap/camel-imap-folder.c (get_content): Updated.
1323
1324         * camel-mime-message.c (camel_mime_message_init): Don't override
1325         the mime_type here.
1326         (process_header): Updated to use CamelDataWrapper's mime_type
1327         field.
1328         (find_best_encoding): Same.
1329         (best_encoding): Here too.
1330
1331         * camel-digest-folder.c (camel_digest_folder_new): Updated for
1332         CamelMimePart::content_type change.
1333
1334         * camel-mime-part.c (camel_mime_part_init): Override our parent
1335         class's default mime_type.
1336         (camel_mime_part_finalize): Don't need to unref the content_type
1337         anymore.
1338         (process_header): Updated to use CamelDataWrapper's mime_type
1339         field.
1340         (camel_mime_part_set_filename): Same.
1341         (camel_mime_part_get_filename): Same.
1342         (camel_mime_part_get_content_type): Same.
1343         (set_content_object): Here too.
1344         (write_to_stream): Updated.
1345         (construct_from_parser): Updated.
1346
1347         * camel-mime-part.h: Remove the content_type field.
1348
1349 2003-07-31  Jeffrey Stedfast  <fejj@ximian.com>
1350
1351         * tests/lib/messages.c (test_message_compare_content): If the
1352         chunks differ, perform a hexdump on the data being compared so
1353         that we may analyse it easier.
1354
1355         * camel-multipart-signed.c (write_to_stream): Return ssize_t.
1356
1357         * camel-mime-utils.h: Added the CamelMimePartEncodingType enum
1358         here.
1359
1360         * camel-mime-part.h: Removed the CamelMimePartEncodingType enum
1361         from here.
1362
1363         * camel-mime-part.c (write_to_stream): Updated to return
1364         ssize_t. Also minor changes to only re-encode the content stream
1365         if the charset or encoding changed (this way we write it out in
1366         the original raw form if nothing changed).
1367
1368         * camel-mime-part-utils.c
1369         (simple_data_wrapper_construct_from_parser): Drastically
1370         simplify. We no longer scan html content to try and find the
1371         charset, nor do we care about converting the content to UTF-8 and
1372         handling broken windows charsets.
1373
1374         * camel-mime-message.c (find_best_encoding): Use
1375         decode_to_stream() here. Also updated to not assume the content
1376         charset is UTF-8 since it is very likely not the case anymore
1377         since data-wrappers no longer are converted to UTF-8 at parse
1378         time.
1379
1380         * camel-folder-summary.c (summary_build_content_info_message): Use
1381         decode_to_stream instead here too.
1382
1383         * camel-folder-search.c (match_words_1message): Use
1384         decode_to_stream instead of write_to_stream so we can search the
1385         contents.
1386
1387         * camel-data-wrapper.c (camel_data_wrapper_init): Set the default
1388         encoding to DEFAULT.
1389         (write_to_stream): Updated to return ssize_t
1390         (camel_data_wrapper_decode_to_stream): New virtual function to
1391         decode a data wrapper to a stream (results in nearly identical
1392         behaviour to the old write_to_stream method).
1393         (decode_to_stream): Default implementation of above virtual
1394         method. Decodes base64/qp/etc streams.
1395
1396         * camel-data-wrapper.h: Removed the rawtext bit and added an
1397         encoding member.
1398
1399 2003-08-01  Jeffrey Stedfast  <fejj@ximian.com>
1400
1401         * tests/smime/pgp-mime.c: Same.
1402
1403         * tests/smime/pgp.c: Updated to build and to import some custom
1404         gpg keys for use with testing.
1405
1406 2003-07-30  Jeffrey Stedfast  <fejj@ximian.com>
1407
1408         * camel-mime-message.c (write_to_stream): Also updated.
1409
1410         * camel-data-wrapper.c (write_to_stream): This should return ssize_t
1411
1412         * camel-multipart-signed.c (write_to_stream): Updated.
1413
1414         * camel-multipart.c (write_to_stream): Same.
1415
1416         * camel-mime-part.c (write_to_stream): Here too.
1417
1418 2003-07-11  Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
1419
1420         * camel-iconv.c: Fix for #46168 'some additional locale aliases
1421         required for chinese support'.
1422
1423 2003-07-25  Jeffrey Stedfast  <fejj@ximian.com>
1424
1425         * camel-mime-utils.c (header_decode_word): Revert NotZed's fix for
1426         bug #42170 - this causes even more problems than it solves. See
1427         bug #46331 for info. Basically, each address header would be
1428         converted to UTF-8 twice which means no raw 8bit address header
1429         would render correctly.
1430         (header_decode_mailbox): Perform a sanity check on the resultant
1431         addr->str to make sure that it is valid UTF-8, if not convert it
1432         to UTF-8. Fixes bug #42170.
1433
1434 2003-07-23  Ettore Perazzoli  <ettore@ximian.com>
1435
1436         * camel-provider.c (camel_provider_init): Print the provider
1437         directory as well, for debugging.
1438
1439 2003-07-23  Jeffrey Stedfast  <fejj@ximian.com>
1440
1441         * camel-mime-message.c (find_best_encoding): Revert my previous
1442         changes to this function.
1443
1444         * camel-mime-utils.h: Revert previous changes.
1445
1446         * camel-mime-part.h: Revert previous changes.
1447
1448         * camel-mime-part-utils.c: Revert previous changes.
1449
1450         * camel-data-wrapper.c (camel_data_wrapper_init): Revert previous
1451         changes.
1452         (write_to_stream): Revert previous changes.
1453
1454 2003-07-23  Dan Winship  <danw@ximian.com>
1455
1456         * camel-block-file.c: #include camel-file-utils.h for camel_read()
1457
1458         * camel-uid-cache.c (camel_uid_cache_save): Remove unused variable
1459         and label.
1460
1461         * camel-url.c: #include camel-string-utils.h for camel_strdown
1462
1463         * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Cast
1464         an (unsigned char *) to (char *) to fix a warning
1465
1466 2003-07-17  Jeffrey Stedfast  <fejj@ximian.com>
1467
1468         * camel-mime-message.c (find_best_encoding): Updated to convert
1469         to/from the correct charset (since content is no longer
1470         necessarily in UTF-8).
1471         (best_encoding): Free the charset string when we're done with it.
1472
1473         * camel-stream-fs.c (stream_read): Increment the seekable stream
1474         position by the number of bytes read. Oops.
1475         (stream_write): Same here.
1476
1477 2003-07-17  Timo Sirainen <tss@iki.fi>
1478
1479         ** See bug #42573
1480         
1481         * providers/imap/camel-imap-folder.c (do_append): Only free the
1482         response after we have finished the literal request, otherwise we
1483         could try processing folder updates incorrectly.
1484
1485 2003-07-14  Jeffrey Stedfast  <fejj@ximian.com>
1486
1487         * camel-mime-utils.h: Add the CamelMimePartEncodingType definition
1488         here.
1489
1490         * camel-mime-part.h: Remove the CamelMimePartEncodingType
1491         definition.
1492
1493         * camel-mime-part-utils.c
1494         (simple_data_wrapper_construct_from_parser): Don't do any of the
1495         auto-detection we used to do here anymore. Just read the content
1496         into a memory buffer and record the encoding type.
1497         (camel_mime_part_construct_content_from_parser): Don't mangle the
1498         Content-Type struct here anymore.
1499
1500         * camel-data-wrapper.c (camel_data_wrapper_init): Init encoding to
1501         DEFAULT.
1502         (write_to_stream): If the stream needs to be decoded, decode it.
1503
1504 2003-07-15  Jeffrey Stedfast  <fejj@ximian.com>
1505
1506         * camel-stream-fs.c (stream_read): If we read 0 bytes, then set
1507         eos to TRUE.
1508
1509 2003-07-09  Jeffrey Stedfast  <fejj@ximian.com>
1510
1511         Get rid of the #ifdef ENABLE_THREADS since we no longer plan to
1512         support/maintain this.
1513
1514         * providers/nntp/camel-nntp-store.c: Here.
1515
1516         * providers/nntp/camel-nntp-newsrc.c: And here.
1517
1518         * providers/nntp/camel-nntp-folder.c: Same.
1519
1520         * providers/local/camel-local-folder.c: And here.
1521
1522         * camel-block-file.c: Here too.
1523
1524         * camel.c: Same.
1525
1526         * camel-certdb.c: Here too.
1527
1528         * camel-charset-map.c: And here.
1529
1530         * camel-cipher-context.c: "
1531
1532         * camel-data-wrapper.c: "
1533
1534         * camel-digest-folder.c: "
1535
1536         * camel-exception.c: "
1537
1538         * camel-folder.c: "
1539
1540         * camel-folder-summary.c: "
1541
1542         * camel-lock-client.c: "
1543
1544         * camel-mime-utils.c: "
1545
1546         * camel-object.c: "
1547
1548         * camel-operation.c: "
1549
1550         * camel-partition-table.c: "
1551
1552         * camel-sasl-popb4smtp.c: "
1553
1554         * camel-service.c: "
1555
1556         * camel-session.c: "
1557
1558         * camel-store.c: "
1559
1560         * camel-store-summary.c: "
1561
1562         * camel-text-index.c: "
1563
1564         * camel-transport.c: "
1565
1566         * camel-vee-folder.c: "
1567
1568         * camel-tcp-stream-openssl.c: Removed pthread.h, it isn't needed.
1569
1570 2003-07-09  Larry Ewing  <lewing@ximian.com>
1571
1572         * camel.h: remove reference to camel-pgp-mime.h
1573
1574 2003-07-08  Jeffrey Stedfast  <fejj@ximian.com>
1575
1576         * camel-pgp-mime.[c,h]: Removed.
1577
1578         * camel-iconv.c: Updated (new copy/paste from e-iconv).
1579
1580         * camel-block-file.c (camel_block_file_get_block): Use
1581         camel_read() rather than libc read.
1582
1583         * camel-tcp-stream-raw.c (stream_read): Use camel_read().
1584         (stream_write): Use camel_write().
1585
1586         * camel-stream-fs.c (stream_read): Use camel_read().
1587         (stream_write): Use camel_write().
1588
1589 2003-07-07  Jeffrey Stedfast  <fejj@ximian.com>
1590
1591         * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use
1592         camel_mkdir().
1593
1594         * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use
1595         camel_mkdir().
1596
1597         * camel-session.c (get_storage_path): Use camel_mkdir().
1598
1599         * camel-store.c (camel_mkdir_hier): Removed.
1600
1601         * camel-data-cache.c (camel_data_cache_new): Updated to use
1602         camel_mkdir().
1603         (data_cache_path): Same.
1604
1605         * camel-file-utils.c (camel_mkdir): Renamed and documented.
1606         (camel_file_util_safe_filename): Documented.
1607         (camel_read): Moved here from camel-io.c
1608         (camel_write): Same.
1609
1610         * camel-io.[c,h]: Removed.
1611
1612         * camel-uid-cache.c (camel_uid_cache_new): Use the
1613         camel-file-utils.c version of mkdir.
1614
1615 2003-07-07  Jeffrey Stedfast  <fejj@ximian.com>
1616
1617         * camel-session.c (camel_session_init): Updated for string-utils
1618         namespace changes.
1619
1620         * camel-provider.c: Updated for string-utils namespace changes.
1621
1622         * camel-mime-part.c (init_header_name_table): Updated for
1623         string-utils namespace changes.
1624
1625         * camel-mime-message.c (camel_mime_message_class_init): Updated
1626         for string-utils namespace changes.
1627         (camel_mime_message_init): Same.
1628
1629         * camel-mime-filter-enriched.c
1630         (camel_mime_filter_enriched_class_init): Updated for string-utils
1631         namespace changes.
1632
1633         * camel-folder-summary.c (camel_folder_summary_init): Updated for
1634         string-utils namespace changes.
1635
1636         * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and
1637         also namespaced all functions.
1638
1639 2003-07-01  Jeffrey Stedfast  <fejj@ximian.com>
1640
1641         * camel-sasl-digest-md5.c (digest_response): Don't quote the
1642         charset value, the qop value, nor the response value. Fixes bug
1643         #45712.
1644
1645 2003-07-01  Jeffrey Stedfast  <fejj@ximian.com>
1646
1647         * camel-mime-utils.c (header_format_date): Use gmtime_r() instead
1648         of using gmtime() and memcpy() to try and be "atomic".
1649
1650 2003-06-30  Dan Winship  <danw@ximian.com>
1651
1652         * camel-folder-search.c (camel_folder_search_finalize): free the
1653         summary hash
1654
1655 2003-06-24  David Woodhouse  <dwmw2@infradead.org>
1656
1657         * camel-mime-utils.c (header_format_date): Put day of week into
1658         outgoing email.
1659
1660
1661 2003-06-25  Jeffrey Stedfast  <fejj@ximian.com>
1662
1663         * camel-folder-summary.h: Added prototype for
1664         camel_folder_summary_remove_range().
1665
1666 2003-06-25  Not Zed  <NotZed@Ximian.com>
1667
1668         ** See bug #45386
1669         
1670         * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make
1671         sure we have an exception that we test against.
1672
1673 2003-06-20  Not Zed  <NotZed@Ximian.com>
1674
1675         ** See bug #43887
1676
1677         * camel-mime-filter-enriched.c (camel_enriched_to_html): simple
1678         wrapper to convert enriched to html in one go.
1679
1680 2003-06-18  Not Zed  <NotZed@Ximian.com>
1681
1682         * camel-service.c (get_hostbyaddr, get_hostbyname): if we got
1683         cancelled, the message is floating, so free it.
1684         (struct _lookup_msg): Add a cancelled tag.
1685         (camel_gethostbyname, camel_gethostbyaddr): if we get a
1686         failure/cancel, cancel the lookup thread and detach, so we dont
1687         have to wait for it to return.  cleanup changed to handle the case
1688         where we didn't get a reply message.
1689
1690 2003-06-13  Jeffrey Stedfast  <fejj@ximian.com>
1691
1692         * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static
1693         (to match the prototype).
1694
1695 2003-06-13  Larry Ewing  <lewing@ximian.com>
1696
1697         * camel-folder-thread.c (camel_folder_thread_messages_apply):
1698         don't leak the summary when reloading it.  Fixes a very large
1699         leak.
1700
1701 2003-06-17  Not Zed  <NotZed@Ximian.com>
1702
1703         * camel-vee-folder.c (vee_folder_remove_folder): Calculate ranges
1704         to remove folder info's more efficiently.  affects shutdown
1705         performance on big vfolders signifinantly.
1706         (vee_folder_build_folder): do the same here, when rebuilding a
1707         folder's definition.
1708
1709         * camel-folder-summary.c (camel_folder_summary_remove_index): new
1710         function to drop a range of index entries in one hit.
1711
1712 2003-06-16  Not Zed  <NotZed@Ximian.com>
1713
1714         ** See bug #31745
1715
1716         * providers/imap/camel-imap-store-summary.c
1717         (camel_imap_store_summary_namespace_new): Workaround a shell bug -
1718         if the namespace has '#' in it, then strip it.
1719
1720 2003-06-16  Not Zed  <NotZed@Ximian.com>
1721
1722         ** See bug #44322
1723         
1724         * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
1725         If we are outputting a folder name, make sure we calculate buffer
1726         size based on the raw/utf7 version
1727
1728         ** See bug #44121
1729         
1730         * camel-multipart-signed.c (signed_get_part): If we can't parse
1731         the content, but we have a stream, just use that as the content.
1732
1733 2003-06-05  Jeffrey Stedfast  <fejj@ximian.com>
1734
1735         Fix for bug #40788.
1736
1737         * providers/pop3/camel-pop3-engine.c (camel_pop3_engine_new): Now
1738         takes a flags argument. Currently there is only 1 flag which can
1739         be used to disable Pop3 server extensions.
1740         (get_capabilities): Don't check for Pop3 server extensions if the
1741         DISABLE_EXTENSIONS flag is set on the engine.
1742         (camel_pop3_engine_iterate): If we get a response that is neither
1743         +OK nor -ERR, default to treating it like a -ERR.
1744
1745         * providers/pop3/camel-pop3-store.c (connect_to_server): Check for
1746         the disable_extensions param.
1747
1748         * providers/pop3/camel-pop3-provider.c: Define a checkbox to
1749         disable all POP3 extension support.
1750
1751 2003-06-11  Jeffrey Stedfast  <fejj@ximian.com>
1752
1753         Partial fix for bug #44457.
1754
1755         * camel-mime-part-utils.c
1756         (simple_data_wrapper_construct_from_parser): Make sure to set
1757         rawtext to FALSE if we successfully convert the text to UTF-8.
1758
1759         * camel-data-wrapper.c (camel_data_wrapper_init): Default the
1760         value of rawtext to TRUE instead of FALSE. This way if the mailer
1761         decides to try displaying a non-textual part as text, it knows
1762         that it needs to convert the content to UTF-8.
1763
1764 2003-06-04  Jeffrey Stedfast  <fejj@ximian.com>
1765
1766         * camel-uid-cache.c (camel_uid_cache_new): Create the directory
1767         with mode 0777 and the cache file itself with mode 0666. Let the
1768         user's umask filter the permissions. Instead of saving the fd on
1769         the Cache object, instead save the filename. Use camel_read()
1770         instead of expecting read() to just always work without getting an
1771         EINTR/etc.
1772         (maybe_write_uid): Don't do anything if cache->fd == -1, this
1773         means an error has occured in a previous callback. Replace the 2
1774         calls to write() with camel_write() and check their return
1775         values. If either of them fails, set cache->fd to -1 (GHashTable
1776         doesn't give us a way to abort foreach'ing thru the table).
1777         (camel_uid_cache_save): Save to a temp file instead of overwriting
1778         the original. Do proper error checking, etc. Also added some
1779         smarts about whether to try and overwrite the old cache even if we
1780         haven't successfully saved all the uids in the cache.
1781         (camel_uid_cache_destroy): Free the cache->filename, no longer
1782         need to close (cache->fd).
1783
1784 2003-06-11  Larry Ewing  <lewing@ximian.com>
1785
1786         * camel-text-index.c (text_index_normalise): use g_utf8_strdown
1787         properly.
1788
1789 2003-06-09  Jeffrey Stedfast  <fejj@ximian.com>
1790
1791         * camel-mime-message.c (find_best_encoding): Add the
1792         CAMEL_BESTENC_TEXT bit to enctype if the part is a text part.
1793
1794         * camel-mime-filter-bestenc.c
1795         (camel_mime_filter_bestenc_get_best_encoding): If we have any
1796         nul-bytes or if the content is non-text and contains any 8bit
1797         octets, we need to use base64. Fixes bug #44344.