1 2004-01-20 Not Zed <NotZed@Ximian.com>
5 * camel-session.c (camel_session_get_password): merged reprompt
6 and secret into a flags field, and add more options. Fixed all
11 * camel-gpg-context.c (gpg_ctx_parse_status): use need_id as the
12 password key, not userid.
14 2004-01-19 Siviaah Nallagatla <snallagatla@novell.com>
16 * providers/groupwise/camel-gw-listener.c ( remove_calender_tasks_sources,
17 modify_calender_tasks_sources) : add port and "/soap" to source uri
19 2004-01-19 Not Zed <NotZed@Ximian.com>
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.
26 * camel-session.c (vee_provider): Update the provider flags for
29 * providers/imapp/camel-imapp-utils.c (imap_parse_addfress_list):
30 namespaces fixes for HEADER_ADDRESS*
32 2004-01-17 Jeffrey Stedfast <fejj@ximian.com>
34 * providers/imap/camel-imap-folder.c (imap_sync_online): Limit the
35 flags we set (or unset) to the folder's permanent flags.
37 2004-01-16 Jeffrey Stedfast <fejj@ximian.com>
39 * camel-mime-message.c (camel_mime_message_build_mbox_from): Same.
41 * camel-internet-address.c (internet_decode): Same.
43 * camel-mime-utils.[c,h]: Namespaced camel_header_address_t enums
44 s/HEADER_ADDRESS_/CAMEL_HEADER_ADDRESS_/g
46 2004-01-16 Sivaiah Nallagatla <snallagatla@novell.com>
48 * providers/groupwise/camel-groupwise-provider.c: added some conf
49 entries for LDAP address setup
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
57 2004-01-15 Not Zed <NotZed@Ximian.com>
61 * camel-object.c (camel_object_bag*): Support reserving different
62 keys from the same thread. Oh the pain.
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.
72 2004-01-14 Rodrigo Moya <rodrigo@ximian.com>
74 * providers/groupwise/camel-groupwise-provider.c
75 (camel_provider_module_init): missing renaming.
77 2004-01-14 Rodrigo Moya <rodrigo@ximian.com>
79 * providers/groupwise/camel-gw-listener.c (add_esource): set the
80 "auth" property on the ESource's we create, to get authentication.
82 2004-01-14 Not Zed <NotZed@Ximian.com>
84 ** Patch from Timo Sirainen <tss@iki.fi> to honour read-only
85 status for imap folders.
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.
92 2004-01-14 Not Zed <NotZed@Ximian.com>
94 * providers/local/camel-local-folder.c (local_getv): remove debug
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
104 2004-01-13 Rodrigo Moya <rodrigo@ximian.com>
106 * providers/groupwise/camel-groupwise-provider.c: missing renaming.
108 2004-01-13 Sivaiah Nallagatla <snallagatla@novell.com>
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
116 2004-01-12 Meilof Veeningen <meilof@wanadoo.nl>
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
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
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
130 * providers/nntp/camel-nntp-store-summary.[ch]: NNTP store
131 summary based on IMAP code
133 * providers/nntp/camel-nntp-summary.c: save summary after xover
135 * providers/nntp/camel-nntp-grouplist.h: added CamelNNTPGroupList
138 * providers/nntp/Makefile.am: added store summary
140 2004-01-12 Not Zed <NotZed@Ximian.com>
144 * providers/imap/camel-imap-folder.c (get_content): pass in
145 transfer encoding when setting up wrapper part.
147 * providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
148 Added an encoding type parameter, set on data wrapper.
150 2004-01-10 Jeffrey Stedfast <fejj@ximian.com>
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.
163 2004-01-09 Rodney Dawes <dobey@ximian.com>
165 * providers/groupwise/Makefile.am (EXTRA_DIST): libcamelgroupwise.urls
166 instead of libcamelimap.urls
168 2004-01-09 Sivaiah Nallagatla <snallagatla@novell.com>
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"
174 2004-01-09 Not Zed <NotZed@Ximian.com>
176 * providers/imap/camel-imap-store.c (imap_forget_folder): fix
177 removal of journal file, and remove the cmeta state file too.
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
182 (imap_rename): rename the object state file.
183 (camel_imap_folder_new): set the object state file for persistent
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
192 (disco_sync): save object state.
193 (disco_setv): save object state if it changed.
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.
200 2004-01-08 Sivaiah Nallagatla <snallagatla@novell.com>
202 * providers/Makefile.am : add groupwise to SUBDIRS
204 * providers/groupwise/camel-groupwise-provider.c: new camel
205 provider for groupwise
207 * providers/groupwise/groupwise-config-listener.[ch] : new class
208 to add e-sources for groupwise calender and tasks
210 * providers/groupwise/Makefile.am : added new files to Makefile.am
212 2004-01-05 JP Rosevear <jpr@ximian.com>
214 * camel-utf8.c: include sys/types.h for freebsd
216 2004-01-05 Rodrigo Moya <rodrigo@ximian.com>
218 * providers/groupwise/camel-groupwise-provider.c (groupwise_url_hash,
219 groupwise_url_equal): renamed from imap_*.
221 2004-01-05 Not Zed <NotZed@Ximian.com>
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!
226 2003-12-27 Jeffrey Stedfast <fejj@ximian.com>
228 * camel-tcp-stream-raw.c (socket_connect): Save errno and check
229 the return of the socket() call.
231 2003-12-24 Rodrigo Moya <rodrigo@ximian.com>
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.
237 2003-12-22 Rodrigo Moya <rodrigo@ximian.com>
239 * providers/groupwise/camel-groupwise-provider.c: removed useless
240 configuration options, and added other options from the IMAP
242 (camel_provider_module_init): register a SMTP transport object
243 also, and removed SASL registration, since we don't support it.
245 2003-12-19 Sivaiah Nallagatla <snallagatla@novell.com>
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.
252 2003-12-11 Jeffrey Stedfast <fejj@ximian.com>
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).
263 2003-12-10 Jeffrey Stedfast <fejj@ximian.com>
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.
271 * camel-store.h: Add a CAMEL_FOLDER_NOCHILDREN flag.
273 * providers/imap/camel-imap-store.c (get_folders): Same as below.
275 * providers/imap/camel-imap-utils.c (imap_parse_list_response):
276 s/CAMEL_IMAP_FOLDER_NOCHILDREN/CAMEL_FOLDER_NOCHILDREN/
278 2003-12-10 Not Zed <NotZed@Ximian.com>
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.
285 2003-12-10 Not Zed <NotZed@Ximian.com>
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
292 * camel-smime-context.c (sm_verify_cmsg): add signer info to
295 * camel-cipher-context.c (CamelCipherValidity): Added certinfo to
296 validity for signing and encrypting, so we can find the keys later
298 (camel_cipher_validity_add_certinfo): add signer or
299 encrypter info to the validity.
300 (camel_cipher_validity_envelope): add sign/encrypt keys.
302 2003-12-10 Not Zed <NotZed@Ximian.com>
304 * camel-stream-process.c (do_exec_command): remove dthe clearenv
305 stuff, not sure why its there. s/setenv/putenv/ for portability.
308 2003-12-08 Jeffrey Stedfast <fejj@ximian.com>
310 * camel-mime-utils.c (header_decode_rfc2184_param): Revert the
311 s/is_/camel_mime_is_/ changes or we get really long variable
313 (header_decode_param): Same.
314 (header_decode_param_list): Here too.
316 2003-12-09 Not Zed <NotZed@Ximian.com>
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).
324 2003-12-09 Not Zed <NotZed@Ximian.com>
326 * providers/smtp/camel-smtp-transport.c (smtp_send_to): encode the
327 address before sending it out, rather than using the raw/utf8
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.
337 * camel-mime-utils.[ch]: rename is_* to camel_mime_is_* and export
340 2003-12-08 Not Zed <NotZed@Ximian.com>
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.
346 2003-12-08 Jeffrey Stedfast <fejj@ximian.com>
350 * providers/local/camel-mbox-store.c (delete_folder): Same.
352 * providers/local/camel-local-store.c (delete_folder): Unlink the
355 2003-12-06 JP Rosevear <jpr@ximian.com>
357 * */Makefile.am: Remove hard coded disable deprecated flags
359 2003-12-05 Jeffrey Stedfast <fejj@ximian.com>
361 * camel-gpg-context.c (gpg_ctx_op_start): Properly set the
362 O_NONBLOCK flag along with any previously set flags.
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).
369 * camel-filter-driver.c (pipe_to_system): Same.
371 2003-12-04 Radek Doulik <rodo@ximian.com>
373 * camel-folder.c (folder_changed): check recent messages for junk
376 * camel-session.c (camel_session_check_junk): new wrapper method
378 (camel_session_set_check_junk): ditto
380 * camel-session.h (struct _CamelSession): added check_junk flag
381 (if to check incoming mail for junk messages)
383 2003-12-03 Jeffrey Stedfast <fejj@ximian.com>
385 * camel-store.c (add_special_info): Free fi->path if we are gonna
386 replace it with the vinfo path.
388 * providers/local/camel-mbox-store.c (create_folder): Treat
389 parent_name == NULL and parent_name == "" the same.
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
395 (add_special_info): Use the provider->url_flags to determine if
396 the url uses the fragment or not for the path.
398 2003-12-02 Not Zed <NotZed@Ximian.com>
400 * providers/local/camel-local-folder.c (local_setv): remove some
405 * camel-url.c (camel_url_decode): robustify url decoding for bad
406 input, addresses a crash.
410 * camel-gpg-context.c (gpg_ctx_free): handle the context being
411 NULL, and exit silently.
413 2003-12-01 Jeffrey Stedfast <fejj@ximian.com>
415 * camel-process.c (camel_process_fork): Start at fd = 3.
417 * camel-gpg-context.c (gpg_ctx_op_start): Same.
419 * camel-filter-driver.c (pipe_to_system): Same.
421 * camel-filter-search.c (run_command): Start at fd = 3.
423 2003-12-01 Jeffrey Stedfast <fejj@ximian.com>
425 * camel-stream-process.c (do_exec_command): Same.
427 * camel-process.c (camel_process_fork): Same.
429 * camel-filter-search.c (run_command): Same as below.
431 * camel-filter-driver.c (pipe_to_system): Same as below.
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!
438 2003-12-01 Radek Doulik <rodo@ximian.com>
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
445 2003-11-28 Radek Doulik <rodo@ximian.com>
447 * camel-store.c (camel_store_get_folder_info): use old code from
448 mail-ops to add vtrash/vjunk info
450 2003-11-28 David Woodhouse <dwmw2@redhat.com>
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.
457 2003-11-28 Not Zed <NotZed@Ximian.com>
459 * camel-mime-utils.c (mail_list_magic[]): Added list-unsubscribe
462 2003-11-26 Not Zed <NotZed@Ximian.com>
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.
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.
472 2003-11-26 JP Rosevear <jpr@ximian.com>
474 * Makefile.am: make sure we always dist the smime stuff
476 2003-11-26 JP Rosevear <jpr@ximian.com>
478 * Makefile.am (libcamelinclude_HEADERS): conditionally compile
481 2003-11-25 Not Zed <NotZed@Ximian.com>
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
488 (camel_cipher_validity_free): free any children nodes recursively.
490 * camel-cipher-context.h (CamelCipherValidity): added next/prev
493 2003-11-18 Jeffrey Stedfast <fejj@ximian.com>
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.
499 2003-11-17 Jeffrey Stedfast <fejj@ximian.com>
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.
505 2003-11-14 Jeffrey Stedfast <fejj@ximian.com>
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.
512 * providers/local/camel-mbox-folder.c
513 (camel_mbox_folder_get_full_path): Removed temporary hack.
515 2003-11-14 Not Zed <NotZed@Ximian.com>
517 * camel-mime-parser.c (SCAN_BUF): oops, put the mempool stuff
518 back, we don't use e-memory afterall. Damn plane hacking.
520 2003-11-13 Not Zed <NotZed@Ximian.com>
522 * camel-mime-parser.c: Remove mempool code, we use the stuff in
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.
528 * camel-gpg-context.c (gpg_decrypt): reset the input memstream
529 before passing it to the gpg engine.
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
537 * tests/smime/pgp.c (main): fixes for api changes.
538 (main): redirect /dev/null to stdin so it doesn't hang waiting for
541 * tests/message/test1.c (main): update for api changes.
543 * camel-smime-context.c (sm_verify): look at the content object's
544 mime type, not the container's type.
546 2003-11-11 Not Zed <NotZed@Ximian.com>
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.
552 * camel-smime-context.c (sm_signing_cmsmessage): removed a todo.
554 2003-11-10 Not Zed <NotZed@Ximian.com>
556 * camel-smime-context.c (sm_verify_cmsg): split out the CMSMessage
557 verification code so it can be used from enveloped or externally
560 * camel-cipher-context.c (camel_cipher_verify): only take a
561 mimepart, internally handle multiparts and the hash.
563 2003-11-07 Not Zed <NotZed@Ximian.com>
565 * camel-cipher-context.c: make ciphervalidity a public structure,
566 added encrypt status.
567 (camel_cipher_decrypt): changed to return a ciphervalidity. fixed
569 (camel_cipher_validity_*): Fixed implementations to match new
570 structure, some of this is now redundant.
572 2003-11-06 Not Zed <NotZed@Ximian.com>
574 * camel-smime-context.c (camel_smime_context_describe_part):
577 2003-11-05 Jeffrey Stedfast <fejj@ximian.com>
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.
583 2003-11-05 Not Zed <NotZed@Ximian.com>
585 * camel-smime-context.c (camel_smime_context_describe_part): new
586 (unfinished) api to peek inside smime parts to tell us whats in
589 2003-11-03 Not Zed <NotZed@Ximian.com>
591 * camel-gpg-context.c (gpg_encrypt): Make this output the
592 full multipart/encrypted part, not just the encrypted content part.
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.
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.
603 2003-11-04 Jeffrey Stedfast <fejj@ximian.com>
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
609 2003-10-31 Not Zed <NotZed@Ximian.com>
611 * camel-cms-context.[ch]: removed, now redundant.
613 2003-10-30 Not Zed <NotZed@Ximian.com>
615 * camel-smime-context.c (sm_get_passwd): implement something basic.
617 * camel-cipher-context.h: Added a note about api inconsistencies.
619 2003-10-30 Not Zed <NotZed@Ximian.com>
621 * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
622 fix for cipher_decrypt changes.
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
627 (camel_cipher_decrypt): changed to take mimepart input and return
629 (gpg_decrypt): fix for changed args.
631 2003-10-29 Not Zed <NotZed@Ximian.com>
633 * camel-smime-context.[ch]: replaced entirely with a new
634 implementation which inherits from camel-cipher-context, and add
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.
641 * camel-gpg-context.c (gpg_encrypt): Fix to handle input/output as
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.
648 2003-10-28 Not Zed <NotZed@Ximian.com>
650 * tests/smime/pgp.c (main): fix for ciphercontext api changes.
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
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.
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
667 2003-10-22 Not Zed <NotZed@Ximian.com>
669 * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for
670 ucs2 stuff. ucs2 is 16 bit truncated unicode.
672 2003-10-28 Jeffrey Stedfast <fejj@ximian.com>
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.
679 2003-10-28 Jeffrey Stedfast <fejj@ximian.com>
683 * providers/imap/camel-imap-store.c (connect_to_server): Same
686 * providers/pop3/camel-pop3-store.c (connect_to_server): Same as
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
694 2003-10-27 Frederic Crozat <fcrozat@mandrakesoft.com>
696 * camel-mime-utils.c: (camel_header_decode_date):
697 better detection of broken date to give to broken_date_parser.
699 2003-10-24 Jeffrey Stedfast <fejj@ximian.com>
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
705 2003-10-23 Jeffrey Stedfast <fejj@ximian.com>
707 * *.c: Removed unneeded CAMEL_OBJECT() casts.
709 2003-10-21 Not Zed <NotZed@Ximian.com>
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
715 (camel_local_folder_construct): turn off indexing, for now, it
716 should be done in local_setv.
718 * providers/local/camel-local-folder.h: change body_index to a bool
721 * camel-object.c (cobject_state_read, cobject_state_write): handle
723 (cobject_state_write): make sure we free all arg types.
725 * camel-arg.c (camel_argv_build):
726 (camel_arggetv_build): handle bool type.
728 * camel-arg.h: Added BOO (bool) type.
730 2003-10-15 Not Zed <NotZed@Ximian.com>
732 * camel-store.c (camel_folder_info_build): Fix so we output the
733 tree in sorted depth-first order, rather in reverse.
735 2003-10-16 Jeffrey Stedfast <fejj@ximian.com>
737 * camel-sasl-kerberos4.c: Fixed a #include.
739 2003-10-10 Not Zed <NotZed@Ximian.com>
741 * providers/local/camel-local-provider.c: set the url fragment
742 flag for local providers.
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
749 2003-10-09 Jeffrey Stedfast <fejj@ximian.com>
751 * camel-mime-utils.c (header_decode_date): Allow timezone offsets
752 to be up to 14 hours ahead of UTC. Fixes bug #49357.
754 * broken-date-parser.c (get_tzone): Same.
756 2003-10-08 Jeffrey Stedfast <fejj@ximian.com>
758 * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an
761 2003-09-25 Jeffrey Stedfast <fejj@ximian.com>
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.
767 2003-09-23 Ettore Perazzoli <ettore@ximian.com>
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
773 2003-09-23 Jeffrey Stedfast <fejj@ximian.com>
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
779 * camel-mime-utils.c (append_8bit): Don't forget to flush the
782 * tests/message/test4.c (main): Don't try dot-files.
784 2003-09-22 Not Zed <NotZed@Ximian.com>
788 * providers/pop3/camel-pop3-folder.c (cmd_tocache): protect a
789 divide by 0 for 0 length messages.
791 2003-09-22 Not Zed <NotZed@Ximian.com>
793 * providers/imap/camel-imap-provider.c: Added "offline_sync"
794 option, which lets you synchronise all mail to local storage
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
802 2003-09-21 Not Zed <NotZed@Ximian.com>
804 * camel-session.c (session_thread_destroy): call proper entry
805 point for freeing the message.
807 2003-09-18 Not Zed <NotZed@Ximian.com>
809 * camel-folder.c (filter_filter): register the filtering process
810 for progress, and do progress of the filtering process.
812 2003-09-17 Not Zed <NotZed@Ximian.com>
814 * camel.c (camel_init): init camel operation.
816 * camel-operation.c (camel_operation_reset): removed, not used,
818 (camel_operation_mute): new method to stop all status updates
820 (*): Changed to use thread specific data and a list rather than a
822 (cancel_thread): removed.
823 (camel_operation_register): return the previously registered op.
825 2003-09-22 Jeffrey Stedfast <fejj@ximian.com>
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.
831 * providers/imapp/camel-imapp-folder.c (imap_sync): Cast the
832 CamelFolder to a CamelIMAPPFolder to hush some compiler warnings.
834 * camel-mime-utils.h: Define a struct _CamelContentDisposition
835 (allows the imapp code to compile)
837 * providers/imapp/camel-imapp-driver.c: #include <string.h>
839 2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
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().
847 * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed.
848 (camel_mime_part_encoding_from_string): Removed.
850 * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding
853 * camel-folder-summary.c: updated for CamelTransferEncoding
856 * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding
859 * camel-mime-message.c: updated for CamelTransferEncoding
862 * camel-mime-part-utils.c: updated for CamelTransferEncoding
865 * camel-multipart-signed.c: updated for CamelTransferEncoding
868 * camel-smime-context.c: updated for CamelTransferEncoding
871 * providers/imapp/camel-imapp-utils.c: updated for
872 CamelTransferEncoding namespace changes
874 * tests/lib/messages.c: updated for CamelTransferEncoding
877 * tests/message/test1.c: updated for CamelTransferEncoding
880 2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
882 * camel-mime-utils.[c,h]: namespaced the encoding/decoding
885 * camel-mime-filter-basic.c: updated for namespace changes to the
886 encoding/decoding routines in camel-mime-utils.c
888 * camel-multipart.c: updated for namespace changes to the
889 encoding/decoding routines in camel-mime-utils.c
891 * camel-sasl-digest-md5.c: updated for namespace changes to the
892 encoding/decoding routines in camel-mime-utils.c
894 * camel-sasl.c: updated for namespace changes to the
895 encoding/decoding routines in camel-mime-utils.c
897 * camel-vee-folder.c: updated for namespace changes to the
898 encoding/decoding routines in camel-mime-utils.c
900 * providers/imap/camel-imap-search.c: updated for namespace
901 changes to the encoding/decoding routines in camel-mime-utils.c
903 * providers/pop3/camel-pop3-folder.c: updated for namespace
904 changes to the encoding/decoding routines in camel-mime-utils.c
906 2003-08-26 Jeffrey Stedfast <fejj@ximian.com>
908 * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and
909 s/_header_state/_camel_mime_parser_state/g
911 * camel-filter-driver.c: Same.
913 * camel-folder-summary.c: Here too.
915 * camel-http-stream.c: And here.
917 * camel-mime-message.c: ...
919 * camel-mime-part-utils.c: ...
921 * camel-mime-part.c: ...
923 * camel-movemail.c: ...
925 * camel-multipart-signed.c: ...
927 * camel-multipart.c: ...
929 * providers/local/camel-mbox-folder.c: ...
931 * providers/local/camel-mbox-summary.c: ...
933 * providers/local/camel-mh-summary.c: ...
935 * providers/nntp/camel-nntp-summary.c: ...
937 * providers/pop3/camel-pop3-folder.c: ...
939 2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
941 * camel-mime-utils.[c,h]: Namespaced.
943 * camel-data-wrapper.c: updated for namespace changed made to
944 camel-mime-utils.[c,h]
946 * camel-digest-folder.c: updated for namespace changed made to
947 camel-mime-utils.[c,h]
949 * camel-filter-driver.c: updated for namespace changed made to
950 camel-mime-utils.[c,h]
952 * camel-filter-search.c: updated for namespace changed made to
953 camel-mime-utils.[c,h]
955 * camel-folder-search.c: updated for namespace changed made to
956 camel-mime-utils.[c,h]
958 * camel-folder-summary.[c,h]: updated for namespace changed made
959 to camel-mime-utils.[c,h]
961 * camel-http-stream.c: updated for namespace changed made to
962 camel-mime-utils.[c,h]
964 * camel-http-stream.h: updated for namespace changed made to
965 camel-mime-utils.[c,h]
967 * camel-internet-address.c: updated for namespace changed made to
968 camel-mime-utils.[c,h]
970 * camel-medium.[c,h]: updated for namespace changed made to
971 camel-mime-utils.[c,h]
973 * camel-mime-message.c: updated for namespace changed made to
974 camel-mime-utils.[c,h]
976 * camel-mime-parser.[c,h]: updated for namespace changed made to
977 camel-mime-utils.[c,h]
979 * camel-mime-part-utils.c: updated for namespace changed made to
980 camel-mime-utils.[c,h]
982 * camel-mime-part.[c,h]: updated for namespace changed made to
983 camel-mime-utils.[c,h]
985 * camel-movemail.c: updated for namespace changed made to
986 camel-mime-utils.[c,h]
988 * camel-multipart-encrypted.c: updated for namespace changed made
989 to camel-mime-utils.[c,h]
991 * camel-multipart-signed.c: updated for namespace changed made to
992 camel-mime-utils.[c,h]
994 * camel-multipart.c: updated for namespace changed made to
995 camel-mime-utils.[c,h]
997 * camel-search-private.[c,h]: updated for namespace changed made
998 to camel-mime-utils.[c,h]
1000 * camel-types.h: updated for namespace changed made to
1001 camel-mime-utils.[c,h]
1003 * providers/imap/camel-imap-folder.c: updated for namespace
1004 changed made to camel-mime-utils.[c,h]
1006 * providers/imap/camel-imap-store-summary.c: updated for namespace
1007 changed made to camel-mime-utils.[c,h]
1009 * providers/imap/camel-imap-utils.c: updated for namespace changed
1010 made to camel-mime-utils.[c,h]
1012 * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
1013 changed made to camel-mime-utils.[c,h]
1015 * providers/local/camel-local-summary.[c,h]: updated for namespace
1016 changed made to camel-mime-utils.[c,h]
1018 * providers/local/camel-maildir-summary.c: updated for namespace
1019 changed made to camel-mime-utils.[c,h]
1021 * providers/local/camel-mbox-summary.c: updated for namespace
1022 changed made to camel-mime-utils.[c,h]
1024 * providers/local/camel-spool-summary.h: updated for namespace
1025 changed made to camel-mime-utils.[c,h]
1027 * providers/nntp/camel-nntp-summary.c: updated for namespace
1028 changed made to camel-mime-utils.[c,h]
1030 * providers/nntp/camel-nntp-utils.c: updated for namespace changed
1031 made to camel-mime-utils.[c,h]
1033 * providers/pop3/camel-pop3-folder.c: updated for namespace
1034 changed made to camel-mime-utils.[c,h]
1036 * providers/sendmail/camel-sendmail-transport.c: updated for
1037 namespace changed made to camel-mime-utils.[c,h]
1039 * providers/smtp/camel-smtp-transport.c: updated for namespace
1040 changed made to camel-mime-utils.[c,h]
1042 2003-09-16 Jeffrey Stedfast <fejj@ximian.com>
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.
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.
1053 2003-09-15 Not Zed <NotZed@Ximian.com>
1055 * providers/imapp/camel-imapp-store.c (store_resp_list)
1056 (imap_login, try_sasl, imap_try_authenticate): removed dead code.
1058 * providers/imapp/camel-imapp-stream.c: return -1 if stream not
1061 * providers/imapp/camel-imapp-engine.c (iterate_completion): put
1062 done request on the done queue, so all requests are always
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):
1070 * providers/imapp/camel-imapp-provider.c
1071 (camel_imapp_module_init): move camel_exception_setup call here.
1073 * providers/imapp/camel-imapp-driver.c
1074 (camel_imapp_driver_get_type): remove execption setup here, it
1076 (camel_imapp_driver_list): handle exceptions.
1078 2003-09-12 Jeffrey Stedfast <fejj@ximian.com>
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.
1086 * providers/local/camel-mbox-store.c (get_folder): Changed the way
1087 the path is constructed, since we now handle subdirectories and
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().
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.
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.
1108 2003-09-11 Dan Winship <danw@ximian.com>
1110 * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la
1112 2003-09-05 Not Zed <NotZed@Ximian.com>
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.
1118 2003-09-04 David Woodhouse <dwmw2@infradead.org>
1120 * providers/camel-imap-store.[ch]: Add PREAUTH handling and
1121 pine/mutt/etpan/etc.-style 'ssh <mailhost> exec imapd' support.
1123 2003-09-03 David Woodhouse <dwmw2@infradead.org>
1125 * camel-stream-process.[ch]: New stream implementation for running
1127 * Makefile.am: Compile the above
1129 2003-08-20 Not Zed <NotZed@Ximian.com>
1133 * camel-folder-search.h: Removed match1 member.
1135 * camel-folder-search.c (camel_folder_search_match_expression):
1136 use current directly rather than match1. This method isn't used
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.
1142 2003-09-03 Not Zed <NotZed@Ximian.com>
1144 * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL
1145 proxy_url - unset the proxy.
1147 2003-08-29 Not Zed <NotZed@Ximian.com>
1149 * camel-object.c (camel_object_state_write):
1151 (cobject_setv, cobject_state_read, cobject_state_read)
1152 (cobject_state_write): removed debug printfs.
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.
1157 2003-08-27 Not Zed <NotZed@Ximian.com>
1159 * providers/local/camel-local-folder.c (local_getv): implement
1160 PERSISTENT_PROPERTIES, for index mode.
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.
1166 2003-08-26 Not Zed <NotZed@Ximian.com>
1168 * camel-folder.c (folder_getv): chain up properly.
1170 * camel-file-utils.c (camel_file_util_savename): helper to create
1171 a .#filename filename.
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.
1178 2003-08-23 Not Zed <NotZed@Ximian.com>
1180 * camel-object.c (cobject_class_init): added a new event,
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
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.
1190 2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
1192 * camel-filter-driver.c (pipe_to_system): Added some more error
1193 checking for reading/writing to the pipes. Fixes bug #47880.
1195 2003-08-21 Jeffrey Stedfast <fejj@ximian.com>
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).
1202 * providers/imap/camel-imap-wrapper.c: changed prototype of
1203 write_to_stream() to return ssize_t.
1205 2003-08-20 Jeffrey Stedfast <fejj@ximian.com>
1207 * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make
1208 sure to ref the stream. Fixes bug #47749.
1210 2003-08-18 Not Zed <NotZed@Ximian.com>
1212 * camel-http-stream.c: Various fixes to make it work.
1214 * tests/smime/pgp-mime.c (main): added missing 'ret' variable.
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
1223 * camel-tcp-stream-ssl.c: Changed service to session, and fix some
1225 include camel-operation.h
1227 2003-08-15 Not Zed <NotZed@Ximian.com>
1231 * tests/lib/messages.c (test_message_compare): check
1232 write_to_stream returns.
1233 (message_dump_rec): helper to dump message structure.
1235 * camel-mime-part-utils.c
1236 (simple_data_wrapper_construct_from_parser): dont set content
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.
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.
1248 2003-08-15 Jeffrey Stedfast <fejj@ximian.com>
1250 * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
1251 Don't attach any filters to decode base64/qp/etc.
1253 2003-08-14 Jeffrey Stedfast <fejj@ximian.com>
1255 * camel-mime-part.c (write_to_stream): Save errno when
1256 flushing/unreffing the filter stream.
1258 2003-08-13 Jeffrey Stedfast <fejj@ximian.com>
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.
1267 2003-08-13 Not Zed <NotZed@Ximian.com>
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
1274 2003-08-13 Not Zed <NotZed@Ximian.com>
1278 * camel-vee-folder.c (vee_sync): Always rebuild folder on any
1279 sync, not just expunge ones.
1281 2003-08-11 Not Zed <NotZed@Ximian.com>
1283 * providers/imapp/camel-imapp-store.c (imap_get_folder_info):
1284 force connect manually so basics work.
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
1293 2003-08-01 Not Zed <NotZed@Ximian.com>
1297 * camel-filter-search.c (match_all): match-all with no arguments
1298 should always return TRUE.
1300 * camel-folder-search.c (camel_folder_search_execute_expression):
1301 print a warning when we get an invalid result type & fixed a leak
1304 2003-08-08 Jeffrey Stedfast <fejj@ximian.com>
1306 * tests/message/test4.c: New test suite for the mime parser (which
1307 is where the below 2 fixes were noticed).
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
1314 2003-08-08 Jeffrey Stedfast <fejj@ximian.com>
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.
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.
1326 2003-08-05 Jeffrey Stedfast <fejj@ximian.com>
1328 * providers/imap/camel-imap-folder.c (get_content): Updated.
1330 * camel-mime-message.c (camel_mime_message_init): Don't override
1332 (process_header): Updated to use CamelDataWrapper's mime_type
1334 (find_best_encoding): Same.
1335 (best_encoding): Here too.
1337 * camel-digest-folder.c (camel_digest_folder_new): Updated for
1338 CamelMimePart::content_type change.
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
1344 (process_header): Updated to use CamelDataWrapper's mime_type
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.
1353 * camel-mime-part.h: Remove the content_type field.
1355 2003-07-31 Jeffrey Stedfast <fejj@ximian.com>
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.
1361 * camel-multipart-signed.c (write_to_stream): Return ssize_t.
1363 * camel-mime-utils.h: Added the CamelMimePartEncodingType enum
1366 * camel-mime-part.h: Removed the CamelMimePartEncodingType enum
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).
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.
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
1386 * camel-folder-summary.c (summary_build_content_info_message): Use
1387 decode_to_stream instead here too.
1389 * camel-folder-search.c (match_words_1message): Use
1390 decode_to_stream instead of write_to_stream so we can search the
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.
1402 * camel-data-wrapper.h: Removed the rawtext bit and added an
1405 2003-08-01 Jeffrey Stedfast <fejj@ximian.com>
1407 * tests/smime/pgp-mime.c: Same.
1409 * tests/smime/pgp.c: Updated to build and to import some custom
1410 gpg keys for use with testing.
1412 2003-07-30 Jeffrey Stedfast <fejj@ximian.com>
1414 * camel-mime-message.c (write_to_stream): Also updated.
1416 * camel-data-wrapper.c (write_to_stream): This should return ssize_t
1418 * camel-multipart-signed.c (write_to_stream): Updated.
1420 * camel-multipart.c (write_to_stream): Same.
1422 * camel-mime-part.c (write_to_stream): Here too.
1424 2003-07-11 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
1426 * camel-iconv.c: Fix for #46168 'some additional locale aliases
1427 required for chinese support'.
1429 2003-07-25 Jeffrey Stedfast <fejj@ximian.com>
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.
1440 2003-07-23 Ettore Perazzoli <ettore@ximian.com>
1442 * camel-provider.c (camel_provider_init): Print the provider
1443 directory as well, for debugging.
1445 2003-07-23 Jeffrey Stedfast <fejj@ximian.com>
1447 * camel-mime-message.c (find_best_encoding): Revert my previous
1448 changes to this function.
1450 * camel-mime-utils.h: Revert previous changes.
1452 * camel-mime-part.h: Revert previous changes.
1454 * camel-mime-part-utils.c: Revert previous changes.
1456 * camel-data-wrapper.c (camel_data_wrapper_init): Revert previous
1458 (write_to_stream): Revert previous changes.
1460 2003-07-23 Dan Winship <danw@ximian.com>
1462 * camel-block-file.c: #include camel-file-utils.h for camel_read()
1464 * camel-uid-cache.c (camel_uid_cache_save): Remove unused variable
1467 * camel-url.c: #include camel-string-utils.h for camel_strdown
1469 * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Cast
1470 an (unsigned char *) to (char *) to fix a warning
1472 2003-07-17 Jeffrey Stedfast <fejj@ximian.com>
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.
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.
1483 2003-07-17 Timo Sirainen <tss@iki.fi>
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.
1491 2003-07-14 Jeffrey Stedfast <fejj@ximian.com>
1493 * camel-mime-utils.h: Add the CamelMimePartEncodingType definition
1496 * camel-mime-part.h: Remove the CamelMimePartEncodingType
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.
1506 * camel-data-wrapper.c (camel_data_wrapper_init): Init encoding to
1508 (write_to_stream): If the stream needs to be decoded, decode it.
1510 2003-07-15 Jeffrey Stedfast <fejj@ximian.com>
1512 * camel-stream-fs.c (stream_read): If we read 0 bytes, then set
1515 2003-07-09 Jeffrey Stedfast <fejj@ximian.com>
1517 Get rid of the #ifdef ENABLE_THREADS since we no longer plan to
1518 support/maintain this.
1520 * providers/nntp/camel-nntp-store.c: Here.
1522 * providers/nntp/camel-nntp-newsrc.c: And here.
1524 * providers/nntp/camel-nntp-folder.c: Same.
1526 * providers/local/camel-local-folder.c: And here.
1528 * camel-block-file.c: Here too.
1532 * camel-certdb.c: Here too.
1534 * camel-charset-map.c: And here.
1536 * camel-cipher-context.c: "
1538 * camel-data-wrapper.c: "
1540 * camel-digest-folder.c: "
1542 * camel-exception.c: "
1546 * camel-folder-summary.c: "
1548 * camel-lock-client.c: "
1550 * camel-mime-utils.c: "
1554 * camel-operation.c: "
1556 * camel-partition-table.c: "
1558 * camel-sasl-popb4smtp.c: "
1560 * camel-service.c: "
1562 * camel-session.c: "
1566 * camel-store-summary.c: "
1568 * camel-text-index.c: "
1570 * camel-transport.c: "
1572 * camel-vee-folder.c: "
1574 * camel-tcp-stream-openssl.c: Removed pthread.h, it isn't needed.
1576 2003-07-09 Larry Ewing <lewing@ximian.com>
1578 * camel.h: remove reference to camel-pgp-mime.h
1580 2003-07-08 Jeffrey Stedfast <fejj@ximian.com>
1582 * camel-pgp-mime.[c,h]: Removed.
1584 * camel-iconv.c: Updated (new copy/paste from e-iconv).
1586 * camel-block-file.c (camel_block_file_get_block): Use
1587 camel_read() rather than libc read.
1589 * camel-tcp-stream-raw.c (stream_read): Use camel_read().
1590 (stream_write): Use camel_write().
1592 * camel-stream-fs.c (stream_read): Use camel_read().
1593 (stream_write): Use camel_write().
1595 2003-07-07 Jeffrey Stedfast <fejj@ximian.com>
1597 * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use
1600 * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use
1603 * camel-session.c (get_storage_path): Use camel_mkdir().
1605 * camel-store.c (camel_mkdir_hier): Removed.
1607 * camel-data-cache.c (camel_data_cache_new): Updated to use
1609 (data_cache_path): Same.
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.
1616 * camel-io.[c,h]: Removed.
1618 * camel-uid-cache.c (camel_uid_cache_new): Use the
1619 camel-file-utils.c version of mkdir.
1621 2003-07-07 Jeffrey Stedfast <fejj@ximian.com>
1623 * camel-session.c (camel_session_init): Updated for string-utils
1626 * camel-provider.c: Updated for string-utils namespace changes.
1628 * camel-mime-part.c (init_header_name_table): Updated for
1629 string-utils namespace changes.
1631 * camel-mime-message.c (camel_mime_message_class_init): Updated
1632 for string-utils namespace changes.
1633 (camel_mime_message_init): Same.
1635 * camel-mime-filter-enriched.c
1636 (camel_mime_filter_enriched_class_init): Updated for string-utils
1639 * camel-folder-summary.c (camel_folder_summary_init): Updated for
1640 string-utils namespace changes.
1642 * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and
1643 also namespaced all functions.
1645 2003-07-01 Jeffrey Stedfast <fejj@ximian.com>
1647 * camel-sasl-digest-md5.c (digest_response): Don't quote the
1648 charset value, the qop value, nor the response value. Fixes bug
1651 2003-07-01 Jeffrey Stedfast <fejj@ximian.com>
1653 * camel-mime-utils.c (header_format_date): Use gmtime_r() instead
1654 of using gmtime() and memcpy() to try and be "atomic".
1656 2003-06-30 Dan Winship <danw@ximian.com>
1658 * camel-folder-search.c (camel_folder_search_finalize): free the
1661 2003-06-24 David Woodhouse <dwmw2@infradead.org>
1663 * camel-mime-utils.c (header_format_date): Put day of week into
1667 2003-06-25 Jeffrey Stedfast <fejj@ximian.com>
1669 * camel-folder-summary.h: Added prototype for
1670 camel_folder_summary_remove_range().
1672 2003-06-25 Not Zed <NotZed@Ximian.com>
1676 * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make
1677 sure we have an exception that we test against.
1679 2003-06-20 Not Zed <NotZed@Ximian.com>
1683 * camel-mime-filter-enriched.c (camel_enriched_to_html): simple
1684 wrapper to convert enriched to html in one go.
1686 2003-06-18 Not Zed <NotZed@Ximian.com>
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.
1696 2003-06-13 Jeffrey Stedfast <fejj@ximian.com>
1698 * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static
1699 (to match the prototype).
1701 2003-06-13 Larry Ewing <lewing@ximian.com>
1703 * camel-folder-thread.c (camel_folder_thread_messages_apply):
1704 don't leak the summary when reloading it. Fixes a very large
1707 2003-06-17 Not Zed <NotZed@Ximian.com>
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.
1715 * camel-folder-summary.c (camel_folder_summary_remove_index): new
1716 function to drop a range of index entries in one hit.
1718 2003-06-16 Not Zed <NotZed@Ximian.com>
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.
1726 2003-06-16 Not Zed <NotZed@Ximian.com>
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
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.
1739 2003-06-05 Jeffrey Stedfast <fejj@ximian.com>
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.
1751 * providers/pop3/camel-pop3-store.c (connect_to_server): Check for
1752 the disable_extensions param.
1754 * providers/pop3/camel-pop3-provider.c: Define a checkbox to
1755 disable all POP3 extension support.
1757 2003-06-11 Jeffrey Stedfast <fejj@ximian.com>
1759 Partial fix for bug #44457.
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.
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.
1770 2003-06-04 Jeffrey Stedfast <fejj@ximian.com>
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
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).
1790 2003-06-11 Larry Ewing <lewing@ximian.com>
1792 * camel-text-index.c (text_index_normalise): use g_utf8_strdown
1795 2003-06-09 Jeffrey Stedfast <fejj@ximian.com>
1797 * camel-mime-message.c (find_best_encoding): Add the
1798 CAMEL_BESTENC_TEXT bit to enctype if the part is a text part.
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.