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