1 2004-01-20 Not Zed <NotZed@Ximian.com>
5 * camel-gpg-context.c (gpg_ctx_parse_status): use need_id as the
6 password key, not userid.
8 2004-01-19 Siviaah Nallagatla <snallagatla@novell.com>
10 * providers/groupwise/camel-gw-listener.c ( remove_calender_tasks_sources,
11 modify_calender_tasks_sources) : add port and "/soap" to source uri
13 2004-01-19 Not Zed <NotZed@Ximian.com>
15 * camel-vee-store.c (change_folder): use a CamelURL to properly
16 encode the url we generate.
17 (vee_get_folder_info): ditto.
18 (vee_get_folder_info): removed unused variable/warning.
20 * camel-session.c (vee_provider): Update the provider flags for
23 * providers/imapp/camel-imapp-utils.c (imap_parse_addfress_list):
24 namespaces fixes for HEADER_ADDRESS*
26 2004-01-17 Jeffrey Stedfast <fejj@ximian.com>
28 * providers/imap/camel-imap-folder.c (imap_sync_online): Limit the
29 flags we set (or unset) to the folder's permanent flags.
31 2004-01-16 Jeffrey Stedfast <fejj@ximian.com>
33 * camel-mime-message.c (camel_mime_message_build_mbox_from): Same.
35 * camel-internet-address.c (internet_decode): Same.
37 * camel-mime-utils.[c,h]: Namespaced camel_header_address_t enums
38 s/HEADER_ADDRESS_/CAMEL_HEADER_ADDRESS_/g
40 2004-01-16 Sivaiah Nallagatla <snallagatla@novell.com>
42 * providers/groupwise/camel-groupwise-provider.c: added some conf
43 entries for LDAP address setup
45 * providers/groupwise/camel-gw-listener.c: added
46 add_ldap_addressbook_source, modify_ldap_addressbook_source,
47 remove_ldap_addressbook_source functions for setting up LDAP
48 address book. Also setting "username" property on cal/tasks
51 2004-01-15 Not Zed <NotZed@Ximian.com>
55 * camel-object.c (camel_object_bag*): Support reserving different
56 keys from the same thread. Oh the pain.
58 * camel-vee-store.c (vee_get_folder_info): implement child flags
59 properly. Changed to build tree itself rather than calling
60 camel_folder_info_build.
61 (vee_get_folder): if we're adding a folder with dummy parents,
62 create and add the dummy parent folders too (as real folder
63 objects). We are the only owner of the ref, so this sort of leaks
64 the folder, but they're small.
66 2004-01-14 Rodrigo Moya <rodrigo@ximian.com>
68 * providers/groupwise/camel-groupwise-provider.c
69 (camel_provider_module_init): missing renaming.
71 2004-01-14 Rodrigo Moya <rodrigo@ximian.com>
73 * providers/groupwise/camel-gw-listener.c (add_esource): set the
74 "auth" property on the ESource's we create, to get authentication.
76 2004-01-14 Not Zed <NotZed@Ximian.com>
78 ** Patch from Timo Sirainen <tss@iki.fi> to honour read-only
79 status for imap folders.
81 * providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
82 check for read-only status response.
83 (imap_sync_online): only call sync_offline if we're read-only.
84 (imap_expunge_uids_resyncing): NOOP for read-only.
86 2004-01-14 Not Zed <NotZed@Ximian.com>
88 * providers/local/camel-local-folder.c (local_getv): remove debug
93 * camel-smime-context.c (sm_get_passwd): removed debugging. If we
94 get called multiple times in a row, then forget the old password
95 and re-prompt - it was a bad password. Zero out password memory
98 2004-01-13 Rodrigo Moya <rodrigo@ximian.com>
100 * providers/groupwise/camel-groupwise-provider.c: missing renaming.
102 2004-01-13 Sivaiah Nallagatla <snallagatla@novell.com>
104 * providers/groupwise/camel-gw-listener.[ch] : renamed groupwise-config-listener.[ch]
105 to these file names and also changed code to use CamelURL insted of EUri
106 * providers/groupwise/camel-groupwise-provider.c : use the renamed config listener apis
107 * providers/groupwise/Makefile.am : changed the source file names
110 2004-01-12 Meilof Veeningen <meilof@wanadoo.nl>
112 * providers/nntp/camel-nntp-folder.[ch]: now based on discofolder,
113 cache_message and append_message implemented, only retrieve messages
114 when we are subscribed, some stubs
116 * providers/nntp/camel-nntp-provider.c: newsgroup name display
117 settings, password authentication, fix for check_equal where the
118 protocols wouldn't be checked
120 * providers/nntp/camel-nntp-store.[ch]: base on discostore with
121 online/offline support, subscriptions, downloading changed parts of
122 the newsgroup list, some stubs, authentication, automatic reconnect
124 * providers/nntp/camel-nntp-store-summary.[ch]: NNTP store
125 summary based on IMAP code
127 * providers/nntp/camel-nntp-summary.c: save summary after xover
129 * providers/nntp/camel-nntp-grouplist.h: added CamelNNTPGroupList
132 * providers/nntp/Makefile.am: added store summary
134 2004-01-12 Not Zed <NotZed@Ximian.com>
138 * providers/imap/camel-imap-folder.c (get_content): pass in
139 transfer encoding when setting up wrapper part.
141 * providers/imap/camel-imap-wrapper.c (camel_imap_wrapper_new):
142 Added an encoding type parameter, set on data wrapper.
144 2004-01-10 Jeffrey Stedfast <fejj@ximian.com>
146 * camel-mime-utils.c (rfc2047_encode_word): if e_iconv() returns
147 -1, check that errno != EINVAL - if errno *is* EINVAL, it just
148 means that our convlen wasn't long enough to include the whole
149 sequence. This is fine, we'll just start where we left off next
150 loop thru. Fixes bug #52593 (the buffer was duplicated because
151 state wasn't flushed).
152 (camel_header_encode_string): Fixed a type-o in loop where
153 encoding=0, don't g_string_append_len starting at 'word'
154 inptr-start bytes long - 'word' could be NULL and/or inptr-start
155 could be longer than inptr-word.
157 2004-01-09 Rodney Dawes <dobey@ximian.com>
159 * providers/groupwise/Makefile.am (EXTRA_DIST): libcamelgroupwise.urls
160 instead of libcamelimap.urls
162 2004-01-09 Sivaiah Nallagatla <snallagatla@novell.com>
164 * providers/groupwise/groupwise-config-listener.c
165 (is_groupwise_account): added null check for source url to take
166 care of accounts with Server Types as "None"
168 2004-01-09 Not Zed <NotZed@Ximian.com>
170 * providers/imap/camel-imap-store.c (imap_forget_folder): fix
171 removal of journal file, and remove the cmeta state file too.
173 * providers/imap/camel-imap-folder.c (imap_getv): count up so we
174 call parent class if we missed any, rather than only if we didn't
176 (imap_rename): rename the object state file.
177 (camel_imap_folder_new): set the object state file for persistent
180 * camel-disco-folder.c (disco_getv): support
181 (PERSISTENT_)PROPERTIES & OFFLINE_SYNC.
182 (disco_setv): implement OFFLINE_SYNC.
183 (camel_disco_folder_get_type): setup disco properties list.
184 (cdf_folder_changed): honour the offline_sync setting on the
186 (disco_sync): save object state.
187 (disco_setv): save object state if it changed.
189 * camel-data-wrapper.c (camel_data_wrapper_set_mime_type_field):
190 move assertions here.
191 (set_mime_type_field): change order slightly to properly handle
192 setting the same object. removed assertions from internal method.
194 2004-01-08 Sivaiah Nallagatla <snallagatla@novell.com>
196 * providers/Makefile.am : add groupwise to SUBDIRS
198 * providers/groupwise/camel-groupwise-provider.c: new camel
199 provider for groupwise
201 * providers/groupwise/groupwise-config-listener.[ch] : new class
202 to add e-sources for groupwise calender and tasks
204 * providers/groupwise/Makefile.am : added new files to Makefile.am
206 2004-01-05 JP Rosevear <jpr@ximian.com>
208 * camel-utf8.c: include sys/types.h for freebsd
210 2004-01-05 Rodrigo Moya <rodrigo@ximian.com>
212 * providers/groupwise/camel-groupwise-provider.c (groupwise_url_hash,
213 groupwise_url_equal): renamed from imap_*.
215 2004-01-05 Not Zed <NotZed@Ximian.com>
217 * camel-tcp-stream-raw.c (socket_connect): check the right return
218 of the socket call, dont set fd to the value of the -1 check!
220 2003-12-27 Jeffrey Stedfast <fejj@ximian.com>
222 * camel-tcp-stream-raw.c (socket_connect): Save errno and check
223 the return of the socket() call.
225 2003-12-24 Rodrigo Moya <rodrigo@ximian.com>
227 * providers/groupwise/camel-groupwise-provider.c
228 (camel_provider_module_init): g_module_open the other providers we
229 depend on to avoid load ordering problems.
231 2003-12-22 Rodrigo Moya <rodrigo@ximian.com>
233 * providers/groupwise/camel-groupwise-provider.c: removed useless
234 configuration options, and added other options from the IMAP
236 (camel_provider_module_init): register a SMTP transport object
237 also, and removed SASL registration, since we don't support it.
239 2003-12-19 Sivaiah Nallagatla <snallagatla@novell.com>
241 * providers/groupwise/Makefile.am:
242 * providers/groupwise/libcamelgroupwise.urls:
243 * providers/groupwise/camel-groupwise-provider.c: added Camel
244 provider for Groupwise accounts, based on the IMAP one.
246 2003-12-11 Jeffrey Stedfast <fejj@ximian.com>
248 * camel-gpg-context.c (gpg_ctx_parse_status): Don't immediately
249 prompt for a passwd after receiving the NEED_PASSPHRASE status
250 message. Instead, parse the userid that gpg needs a passwd for and
251 store it on our context. Wait for a GET_HIDDEN status message
252 before prompting, this way if the user has their gpg configured to
253 use gpg-agent, the user won't get 2 passwd prompts.
254 (gpg_sign): Fixed to not free a gpg context that we have not
255 allocated (could happen in a fail case).
257 2003-12-10 Jeffrey Stedfast <fejj@ximian.com>
259 * providers/local/camel-mbox-store.c (get_folder_info): Use
260 CAMEL_FODLER_NOCHILDREN rather than NOINFERIORS because
261 NOINFERIORS means the folder cannot contain subfolders. However,
262 our mbox structure always allows subfolders.
265 * camel-store.h: Add a CAMEL_FOLDER_NOCHILDREN flag.
267 * providers/imap/camel-imap-store.c (get_folders): Same as below.
269 * providers/imap/camel-imap-utils.c (imap_parse_list_response):
270 s/CAMEL_IMAP_FOLDER_NOCHILDREN/CAMEL_FOLDER_NOCHILDREN/
272 2003-12-10 Not Zed <NotZed@Ximian.com>
274 * camel-smime-context.c (sm_verify): also check
275 application/pkcs7-signature (bloody applemail).
276 (camel_smime_context_describe_part): as above, and fix the logic.
277 dont think its used anyway. Bug #51750.
279 2003-12-10 Not Zed <NotZed@Ximian.com>
281 * Makefile.am (libcamel_la_SOURCES): put the
282 camel-smime-context.[ch] back in here, remove it from EXTRA_DIST,
283 and make it compile optinally the same way camel-tcp-stream-ssl.c
286 * camel-smime-context.c (sm_verify_cmsg): add signer info to
289 * camel-cipher-context.c (CamelCipherValidity): Added certinfo to
290 validity for signing and encrypting, so we can find the keys later
292 (camel_cipher_validity_add_certinfo): add signer or
293 encrypter info to the validity.
294 (camel_cipher_validity_envelope): add sign/encrypt keys.
296 2003-12-10 Not Zed <NotZed@Ximian.com>
298 * camel-stream-process.c (do_exec_command): remove dthe clearenv
299 stuff, not sure why its there. s/setenv/putenv/ for portability.
302 2003-12-08 Jeffrey Stedfast <fejj@ximian.com>
304 * camel-mime-utils.c (header_decode_rfc2184_param): Revert the
305 s/is_/camel_mime_is_/ changes or we get really long variable
307 (header_decode_param): Same.
308 (header_decode_param_list): Here too.
310 2003-12-09 Not Zed <NotZed@Ximian.com>
314 * providers/imap/camel-imap-store.c (get_folders): add the first
315 fi to the info's hash, so we dont duplicate it if we come across
316 it again (which we generally will).
318 2003-12-09 Not Zed <NotZed@Ximian.com>
320 * providers/smtp/camel-smtp-transport.c (smtp_send_to): encode the
321 address before sending it out, rather than using the raw/utf8
324 * camel-internet-address.c
325 (camel_internet_address_encode_address): check for quoting the
326 local part of the address before outputting it.
327 (cia_encode_addrspec): quote local part if need be.
328 (camel_internet_address_encode_address): make folding optional
329 based on whether inlen is null or not.
331 * camel-mime-utils.[ch]: rename is_* to camel_mime_is_* and export
334 2003-12-08 Not Zed <NotZed@Ximian.com>
336 * providers/imap/camel-imap-utils.c (imap_atom_specials): add } to
337 the atom specials list. This isn't correct, but some busted
338 servers expect it. Bug #50728.
340 2003-12-08 Jeffrey Stedfast <fejj@ximian.com>
344 * providers/local/camel-mbox-store.c (delete_folder): Same.
346 * providers/local/camel-local-store.c (delete_folder): Unlink the
349 2003-12-06 JP Rosevear <jpr@ximian.com>
351 * */Makefile.am: Remove hard coded disable deprecated flags
353 2003-12-05 Jeffrey Stedfast <fejj@ximian.com>
355 * camel-gpg-context.c (gpg_ctx_op_start): Properly set the
356 O_NONBLOCK flag along with any previously set flags.
358 * camel-filter-search.c (run_command): Don't set O_NONBLOCK on the
359 pipe (1. we don't need to, and 2. we should have been setting
360 O_NONBLOCK|prev_flags but we weren't, and so the pipe got
361 O_RDONLY|O_NONBLOCK even tho we wanted to write to it).
363 * camel-filter-driver.c (pipe_to_system): Same.
365 2003-12-04 Radek Doulik <rodo@ximian.com>
367 * camel-folder.c (folder_changed): check recent messages for junk
370 * camel-session.c (camel_session_check_junk): new wrapper method
372 (camel_session_set_check_junk): ditto
374 * camel-session.h (struct _CamelSession): added check_junk flag
375 (if to check incoming mail for junk messages)
377 2003-12-03 Jeffrey Stedfast <fejj@ximian.com>
379 * camel-store.c (add_special_info): Free fi->path if we are gonna
380 replace it with the vinfo path.
382 * providers/local/camel-mbox-store.c (create_folder): Treat
383 parent_name == NULL and parent_name == "" the same.
385 * camel-store.c (camel_store_get_folder_info): Only add
386 vTrash/vJunk info's if we've requested the toplevel folder tree,
387 otherwise we get vTrash/vJunk folders in odd places in the folder
389 (add_special_info): Use the provider->url_flags to determine if
390 the url uses the fragment or not for the path.
392 2003-12-02 Not Zed <NotZed@Ximian.com>
394 * providers/local/camel-local-folder.c (local_setv): remove some
399 * camel-url.c (camel_url_decode): robustify url decoding for bad
400 input, addresses a crash.
404 * camel-gpg-context.c (gpg_ctx_free): handle the context being
405 NULL, and exit silently.
407 2003-12-01 Jeffrey Stedfast <fejj@ximian.com>
409 * camel-process.c (camel_process_fork): Start at fd = 3.
411 * camel-gpg-context.c (gpg_ctx_op_start): Same.
413 * camel-filter-driver.c (pipe_to_system): Same.
415 * camel-filter-search.c (run_command): Start at fd = 3.
417 2003-12-01 Jeffrey Stedfast <fejj@ximian.com>
419 * camel-stream-process.c (do_exec_command): Same.
421 * camel-process.c (camel_process_fork): Same.
423 * camel-filter-search.c (run_command): Same as below.
425 * camel-filter-driver.c (pipe_to_system): Same as below.
427 * camel-gpg-context.c (gpg_ctx_op_start): Use fcntl() to set
428 FD_CLOEXEC on each fd rather than close()ing it. Apparently
429 Linux's older pthread implementations use sockets and so this
430 fouls threading up. GO LINUX! GO!
432 2003-12-01 Radek Doulik <rodo@ximian.com>
434 * camel-store.c (add_special_info): set SUBSCRIBED and NOINFERIORS
435 flags to special folders, renamed method from
436 add_vtrash_or_vjunk_info
437 (camel_store_get_folder_info): call add_special_info directly
439 2003-11-28 Radek Doulik <rodo@ximian.com>
441 * camel-store.c (camel_store_get_folder_info): use old code from
442 mail-ops to add vtrash/vjunk info
444 2003-11-28 David Woodhouse <dwmw2@redhat.com>
446 * providers/imap/camel-imap-provider.c: Enable GUI option for
447 'custom command' connection.
448 * providers/imap/camel-imap-store.c: Don't g_free strings in
449 .rodata. It's considered rude.
451 2003-11-28 Not Zed <NotZed@Ximian.com>
453 * camel-mime-utils.c (mail_list_magic[]): Added list-unsubscribe
456 2003-11-26 Not Zed <NotZed@Ximian.com>
458 * camel-smime-context.c (sm_verify_cmsg): take a stream rather
459 than a part for the content.
460 (sm_verify): get the content directly as a stream.
462 * camel-multipart-signed.c
463 (camel_multipart_signed_get_content_stream): new api to get the
464 content stream which will match the signed version.
466 2003-11-26 JP Rosevear <jpr@ximian.com>
468 * Makefile.am: make sure we always dist the smime stuff
470 2003-11-26 JP Rosevear <jpr@ximian.com>
472 * Makefile.am (libcamelinclude_HEADERS): conditionally compile
475 2003-11-25 Not Zed <NotZed@Ximian.com>
477 * camel-cipher-context.c (camel_cipher_validity_envelope): change
478 args to make it suit storing the validity in a tree.
479 (camel_cipher_validity_init): init the list header.
480 (camel_cipher_validity_clone): call validity_new so it gets init
482 (camel_cipher_validity_free): free any children nodes recursively.
484 * camel-cipher-context.h (CamelCipherValidity): added next/prev
487 2003-11-18 Jeffrey Stedfast <fejj@ximian.com>
489 * camel-session.c (camel_session_finalise): Don't destroy the
490 providers as it mans we can never ever have more than 1 session
491 object. See bug #51119 for details.
493 2003-11-17 Jeffrey Stedfast <fejj@ximian.com>
495 * providers/local/camel-mbox-store.c (create_folder): Fixed an
496 exception to give a more meaningful description.
497 (get_folder_info): We always want to scan at least one level deep.
499 2003-11-14 Jeffrey Stedfast <fejj@ximian.com>
501 * providers/local/camel-mbox-store.c (get_folder_info): Handle ""
502 as a request for a full dirscan as well (not just NULL). Makes it
503 consistant with other stores.
504 (scan_dir): Set the fi->flags appropriately.
506 * providers/local/camel-mbox-folder.c
507 (camel_mbox_folder_get_full_path): Removed temporary hack.
509 2003-11-14 Not Zed <NotZed@Ximian.com>
511 * camel-mime-parser.c (SCAN_BUF): oops, put the mempool stuff
512 back, we don't use e-memory afterall. Damn plane hacking.
514 2003-11-13 Not Zed <NotZed@Ximian.com>
516 * camel-mime-parser.c: Remove mempool code, we use the stuff in
518 (PRESERVE_HEADERS): new compile option, if on, we preserve headers
519 and folding exactly rather than unfolding all input. THIS BREAKS
520 EVERYTHING right now, so don't turn it on.
522 * camel-gpg-context.c (gpg_decrypt): reset the input memstream
523 before passing it to the gpg engine.
525 * tests/smime/pgp-mime.c (main): redirect /dev/null to stdin so it
526 doesn't hang waiting for input.
527 (main): removed from build - this tests multipart/signed
528 explictly, but now the details of this is handled directly by the
531 * tests/smime/pgp.c (main): fixes for api changes.
532 (main): redirect /dev/null to stdin so it doesn't hang waiting for
535 * tests/message/test1.c (main): update for api changes.
537 * camel-smime-context.c (sm_verify): look at the content object's
538 mime type, not the container's type.
540 2003-11-11 Not Zed <NotZed@Ximian.com>
542 * camel-cipher-context.c (camel_cipher_validity_set_valid): take
543 into account the @valid argument and set validity properly.
544 (camel_cipher_validity_clone): new method to copy validities.
546 * camel-smime-context.c (sm_signing_cmsmessage): removed a todo.
548 2003-11-10 Not Zed <NotZed@Ximian.com>
550 * camel-smime-context.c (sm_verify_cmsg): split out the CMSMessage
551 verification code so it can be used from enveloped or externally
554 * camel-cipher-context.c (camel_cipher_verify): only take a
555 mimepart, internally handle multiparts and the hash.
557 2003-11-07 Not Zed <NotZed@Ximian.com>
559 * camel-cipher-context.c: make ciphervalidity a public structure,
560 added encrypt status.
561 (camel_cipher_decrypt): changed to return a ciphervalidity. fixed
563 (camel_cipher_validity_*): Fixed implementations to match new
564 structure, some of this is now redundant.
566 2003-11-06 Not Zed <NotZed@Ximian.com>
568 * camel-smime-context.c (camel_smime_context_describe_part):
571 2003-11-05 Jeffrey Stedfast <fejj@ximian.com>
573 * providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
574 bother trying to see if the server advertises EHLO. Simply always
575 try EHLO and fall back to HELO if EHLO fails. Fixes bug #50535.
577 2003-11-05 Not Zed <NotZed@Ximian.com>
579 * camel-smime-context.c (camel_smime_context_describe_part): new
580 (unfinished) api to peek inside smime parts to tell us whats in
583 2003-11-03 Not Zed <NotZed@Ximian.com>
585 * camel-gpg-context.c (gpg_encrypt): Make this output the
586 full multipart/encrypted part, not just the encrypted content part.
588 * camel-cipher-context.c (camel_cipher_sign): change to output
589 full mime part, not just a stream.
590 (camel_cipher_canonical_to_stream): utility function to
591 canonicalise a mimepart to a stream.
593 * camel-smime-context.c (sm_encode_cmsmessage): removed.
594 (sm_sign): change interface to output a full mime-part, not just a
595 part of a mime part in multipart/signed mode.
597 2003-11-04 Jeffrey Stedfast <fejj@ximian.com>
599 * camel-gpg-context.c (gpg_ctx_parse_status): We might need to
600 convert the passwd from UTF-8 into the locale charset. Fixes bug
603 2003-10-31 Not Zed <NotZed@Ximian.com>
605 * camel-cms-context.[ch]: removed, now redundant.
607 2003-10-30 Not Zed <NotZed@Ximian.com>
609 * camel-smime-context.c (sm_get_passwd): implement something basic.
611 * camel-cipher-context.h: Added a note about api inconsistencies.
613 2003-10-30 Not Zed <NotZed@Ximian.com>
615 * camel-multipart-encrypted.c (camel_multipart_encrypted_decrypt):
616 fix for cipher_decrypt changes.
618 * camel-gpg-context.c, camel-cipher-context.c: moved all the init
619 code to the end to save having to keep forward declarations
621 (camel_cipher_decrypt): changed to take mimepart input and return
623 (gpg_decrypt): fix for changed args.
625 2003-10-29 Not Zed <NotZed@Ximian.com>
627 * camel-smime-context.[ch]: replaced entirely with a new
628 implementation which inherits from camel-cipher-context, and add
631 * camel-multipart-encrypted.c (camel_multipart_encrypted_encrypt):
632 fix for cipher_encrypt api changes.
633 (camel_multipart_encrypted_decrypt): use g_ascii_strcasecmp.
635 * camel-gpg-context.c (gpg_encrypt): Fix to handle input/output as
638 * camel-cipher-context.c (camel_cipher_encrypt): change to take
639 mimeparts rather than streams as input/output. And remove the
640 'sign' argument, it is implied if userid is supplied.
642 2003-10-28 Not Zed <NotZed@Ximian.com>
644 * tests/smime/pgp.c (main): fix for ciphercontext api changes.
646 * camel-multipart-signed.c (camel_multipart_signed_verify): pass
647 in the part to cipher_verify directly.
648 (camel_multipart_signed_sign): let the cipher context setup the
651 * camel-gpg-context.c (gpg_sign): put the signature stream into a
652 mimepart, with appropriate headers/encoding.
653 (swrite): write out a mimepart rather than a stream.
654 (gpg_verify): handle changed args.
656 * camel-cipher-context.c (camel_cipher_sign): write the signature
657 to a mimepart rather than a simple stream.
658 (camel_cipher_verify): take the signature as a mimepart not a
661 2003-10-22 Not Zed <NotZed@Ximian.com>
663 * camel-utf8.c (camel_ucs2_utf8, camel_utf8_ucs2): helpers for
664 ucs2 stuff. ucs2 is 16 bit truncated unicode.
666 2003-10-28 Jeffrey Stedfast <fejj@ximian.com>
668 * camel-mime-utils.c: We should check List-Post before List-Id
669 (List-Post has to contain the mailing-list posting address,
670 whereas List-Id does not.) WAlso moved X-Loop to after List-Id to
671 make FreeBSD lusers happy. Fixes bug #32297.
673 2003-10-28 Jeffrey Stedfast <fejj@ximian.com>
677 * providers/imap/camel-imap-store.c (connect_to_server): Same
680 * providers/pop3/camel-pop3-store.c (connect_to_server): Same as
683 * providers/smtp/camel-smtp-transport.c (connect_to_server): If
684 HAVE_SSL is undefined, don't default to raw connections if the
685 option to connect via ssl is set. Instead set an exception and
688 2003-10-27 Frederic Crozat <fcrozat@mandrakesoft.com>
690 * camel-mime-utils.c: (camel_header_decode_date):
691 better detection of broken date to give to broken_date_parser.
693 2003-10-24 Jeffrey Stedfast <fejj@ximian.com>
695 * camel-text-index.c (text_index_name_add_buffer): If a word is
696 longer than CAMEL_TEXT_INDEX_MAX_WORDLEN, then ignore it. This
699 2003-10-23 Jeffrey Stedfast <fejj@ximian.com>
701 * *.c: Removed unneeded CAMEL_OBJECT() casts.
703 2003-10-21 Not Zed <NotZed@Ximian.com>
705 * providers/local/camel-local-folder.c (local_getv, local_setv):
706 use the right tag name for the index_body arg.
707 (local_sync): write any persistent metadata - to make it
709 (camel_local_folder_construct): turn off indexing, for now, it
710 should be done in local_setv.
712 * providers/local/camel-local-folder.h: change body_index to a bool
715 * camel-object.c (cobject_state_read, cobject_state_write): handle
717 (cobject_state_write): make sure we free all arg types.
719 * camel-arg.c (camel_argv_build):
720 (camel_arggetv_build): handle bool type.
722 * camel-arg.h: Added BOO (bool) type.
724 2003-10-15 Not Zed <NotZed@Ximian.com>
726 * camel-store.c (camel_folder_info_build): Fix so we output the
727 tree in sorted depth-first order, rather in reverse.
729 2003-10-16 Jeffrey Stedfast <fejj@ximian.com>
731 * camel-sasl-kerberos4.c: Fixed a #include.
733 2003-10-10 Not Zed <NotZed@Ximian.com>
735 * providers/local/camel-local-provider.c: set the url fragment
736 flag for local providers.
738 * camel-provider.h: Move the URL_PART_NEED bits to the high 16
739 bits, to allow for easier changes in the future. Added a
740 URL_PART_FRAGMENT flag for providers that use fragment = folder
743 2003-10-09 Jeffrey Stedfast <fejj@ximian.com>
745 * camel-mime-utils.c (header_decode_date): Allow timezone offsets
746 to be up to 14 hours ahead of UTC. Fixes bug #49357.
748 * broken-date-parser.c (get_tzone): Same.
750 2003-10-08 Jeffrey Stedfast <fejj@ximian.com>
752 * providers/smtp/camel-smtp-transport.c (smtp_helo): Removed an
755 2003-09-25 Jeffrey Stedfast <fejj@ximian.com>
757 * providers/smtp/camel-smtp-transport.c (smtp_helo): If the
758 localhost lookup results in a numeric IPv6 host, use the form
759 "[IPv6:<addr>]" as specified in rfc2821. Fixes bug #46006.
761 2003-09-23 Ettore Perazzoli <ettore@ximian.com>
763 * providers/local/camel-local-provider.c: Set the IS_STORAGE bit
764 in the mbox provider, since it can now contain a hierarchy of
767 2003-09-23 Jeffrey Stedfast <fejj@ximian.com>
769 * providers/local/camel-mbox-store.c (get_folder): If the CREATE
770 flag is set and the parent .sbd directory does not exist, create
773 * camel-mime-utils.c (append_8bit): Don't forget to flush the
776 * tests/message/test4.c (main): Don't try dot-files.
778 2003-09-22 Not Zed <NotZed@Ximian.com>
782 * providers/pop3/camel-pop3-folder.c (cmd_tocache): protect a
783 divide by 0 for 0 length messages.
785 2003-09-22 Not Zed <NotZed@Ximian.com>
787 * providers/imap/camel-imap-provider.c: Added "offline_sync"
788 option, which lets you synchronise all mail to local storage
791 * camel-disco-folder.c (cdf_folder_changed): hook onto the folder
792 changed single, for all new messages, check that they are online
793 using another thread, if the offline_sync option has been enabled
796 2003-09-21 Not Zed <NotZed@Ximian.com>
798 * camel-session.c (session_thread_destroy): call proper entry
799 point for freeing the message.
801 2003-09-18 Not Zed <NotZed@Ximian.com>
803 * camel-folder.c (filter_filter): register the filtering process
804 for progress, and do progress of the filtering process.
806 2003-09-17 Not Zed <NotZed@Ximian.com>
808 * camel.c (camel_init): init camel operation.
810 * camel-operation.c (camel_operation_reset): removed, not used,
812 (camel_operation_mute): new method to stop all status updates
814 (*): Changed to use thread specific data and a list rather than a
816 (cancel_thread): removed.
817 (camel_operation_register): return the previously registered op.
819 2003-09-22 Jeffrey Stedfast <fejj@ximian.com>
821 * providers/nntp/camel-nntp-store.c (connect_to_server): Fix the
822 code that creates a new ssl stream to pass the correct arguments
823 and the proper flags.
825 * providers/imapp/camel-imapp-folder.c (imap_sync): Cast the
826 CamelFolder to a CamelIMAPPFolder to hush some compiler warnings.
828 * camel-mime-utils.h: Define a struct _CamelContentDisposition
829 (allows the imapp code to compile)
831 * providers/imapp/camel-imapp-driver.c: #include <string.h>
833 2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
835 * camel-mime-utils.c (camel_transfer_encoding_to_string): New
836 function to replace the one from camel-mime-part.c
837 (camel_transfer_encoding_from_string): Same.
838 (camel_content_transfer_encoding_decode): Renamed from
839 camel_header_content_encoding_decode().
841 * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed.
842 (camel_mime_part_encoding_from_string): Removed.
844 * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding
847 * camel-folder-summary.c: updated for CamelTransferEncoding
850 * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding
853 * camel-mime-message.c: updated for CamelTransferEncoding
856 * camel-mime-part-utils.c: updated for CamelTransferEncoding
859 * camel-multipart-signed.c: updated for CamelTransferEncoding
862 * camel-smime-context.c: updated for CamelTransferEncoding
865 * providers/imapp/camel-imapp-utils.c: updated for
866 CamelTransferEncoding namespace changes
868 * tests/lib/messages.c: updated for CamelTransferEncoding
871 * tests/message/test1.c: updated for CamelTransferEncoding
874 2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
876 * camel-mime-utils.[c,h]: namespaced the encoding/decoding
879 * camel-mime-filter-basic.c: updated for namespace changes to the
880 encoding/decoding routines in camel-mime-utils.c
882 * camel-multipart.c: updated for namespace changes to the
883 encoding/decoding routines in camel-mime-utils.c
885 * camel-sasl-digest-md5.c: updated for namespace changes to the
886 encoding/decoding routines in camel-mime-utils.c
888 * camel-sasl.c: updated for namespace changes to the
889 encoding/decoding routines in camel-mime-utils.c
891 * camel-vee-folder.c: updated for namespace changes to the
892 encoding/decoding routines in camel-mime-utils.c
894 * providers/imap/camel-imap-search.c: updated for namespace
895 changes to the encoding/decoding routines in camel-mime-utils.c
897 * providers/pop3/camel-pop3-folder.c: updated for namespace
898 changes to the encoding/decoding routines in camel-mime-utils.c
900 2003-08-26 Jeffrey Stedfast <fejj@ximian.com>
902 * camel-mime-parser.[c,h]: s/HSCAN_/CAMEL_MIME_PARSER_STATE_/g and
903 s/_header_state/_camel_mime_parser_state/g
905 * camel-filter-driver.c: Same.
907 * camel-folder-summary.c: Here too.
909 * camel-http-stream.c: And here.
911 * camel-mime-message.c: ...
913 * camel-mime-part-utils.c: ...
915 * camel-mime-part.c: ...
917 * camel-movemail.c: ...
919 * camel-multipart-signed.c: ...
921 * camel-multipart.c: ...
923 * providers/local/camel-mbox-folder.c: ...
925 * providers/local/camel-mbox-summary.c: ...
927 * providers/local/camel-mh-summary.c: ...
929 * providers/nntp/camel-nntp-summary.c: ...
931 * providers/pop3/camel-pop3-folder.c: ...
933 2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
935 * camel-mime-utils.[c,h]: Namespaced.
937 * camel-data-wrapper.c: updated for namespace changed made to
938 camel-mime-utils.[c,h]
940 * camel-digest-folder.c: updated for namespace changed made to
941 camel-mime-utils.[c,h]
943 * camel-filter-driver.c: updated for namespace changed made to
944 camel-mime-utils.[c,h]
946 * camel-filter-search.c: updated for namespace changed made to
947 camel-mime-utils.[c,h]
949 * camel-folder-search.c: updated for namespace changed made to
950 camel-mime-utils.[c,h]
952 * camel-folder-summary.[c,h]: updated for namespace changed made
953 to camel-mime-utils.[c,h]
955 * camel-http-stream.c: updated for namespace changed made to
956 camel-mime-utils.[c,h]
958 * camel-http-stream.h: updated for namespace changed made to
959 camel-mime-utils.[c,h]
961 * camel-internet-address.c: updated for namespace changed made to
962 camel-mime-utils.[c,h]
964 * camel-medium.[c,h]: updated for namespace changed made to
965 camel-mime-utils.[c,h]
967 * camel-mime-message.c: updated for namespace changed made to
968 camel-mime-utils.[c,h]
970 * camel-mime-parser.[c,h]: updated for namespace changed made to
971 camel-mime-utils.[c,h]
973 * camel-mime-part-utils.c: updated for namespace changed made to
974 camel-mime-utils.[c,h]
976 * camel-mime-part.[c,h]: updated for namespace changed made to
977 camel-mime-utils.[c,h]
979 * camel-movemail.c: updated for namespace changed made to
980 camel-mime-utils.[c,h]
982 * camel-multipart-encrypted.c: updated for namespace changed made
983 to camel-mime-utils.[c,h]
985 * camel-multipart-signed.c: updated for namespace changed made to
986 camel-mime-utils.[c,h]
988 * camel-multipart.c: updated for namespace changed made to
989 camel-mime-utils.[c,h]
991 * camel-search-private.[c,h]: updated for namespace changed made
992 to camel-mime-utils.[c,h]
994 * camel-types.h: updated for namespace changed made to
995 camel-mime-utils.[c,h]
997 * providers/imap/camel-imap-folder.c: updated for namespace
998 changed made to camel-mime-utils.[c,h]
1000 * providers/imap/camel-imap-store-summary.c: updated for namespace
1001 changed made to camel-mime-utils.[c,h]
1003 * providers/imap/camel-imap-utils.c: updated for namespace changed
1004 made to camel-mime-utils.[c,h]
1006 * providers/imapp/camel-imapp-utils.[c,h]: updated for namespace
1007 changed made to camel-mime-utils.[c,h]
1009 * providers/local/camel-local-summary.[c,h]: updated for namespace
1010 changed made to camel-mime-utils.[c,h]
1012 * providers/local/camel-maildir-summary.c: updated for namespace
1013 changed made to camel-mime-utils.[c,h]
1015 * providers/local/camel-mbox-summary.c: updated for namespace
1016 changed made to camel-mime-utils.[c,h]
1018 * providers/local/camel-spool-summary.h: updated for namespace
1019 changed made to camel-mime-utils.[c,h]
1021 * providers/nntp/camel-nntp-summary.c: updated for namespace
1022 changed made to camel-mime-utils.[c,h]
1024 * providers/nntp/camel-nntp-utils.c: updated for namespace changed
1025 made to camel-mime-utils.[c,h]
1027 * providers/pop3/camel-pop3-folder.c: updated for namespace
1028 changed made to camel-mime-utils.[c,h]
1030 * providers/sendmail/camel-sendmail-transport.c: updated for
1031 namespace changed made to camel-mime-utils.[c,h]
1033 * providers/smtp/camel-smtp-transport.c: updated for namespace
1034 changed made to camel-mime-utils.[c,h]
1036 2003-09-16 Jeffrey Stedfast <fejj@ximian.com>
1038 * providers/local/camel-mbox-folder.c
1039 (camel_mbox_folder_get_full_path): Implement a temp hack so trunk
1040 works until we merge in new-ui-branch.
1042 * camel-stream-filter.c (do_flush): Don't warning about how we
1043 haven't written anything to the stream, this is not an
1044 error. fflush() doesn't care if you try to fflush() a stream
1045 without writing to it, so we shouldn't care either.
1047 2003-09-15 Not Zed <NotZed@Ximian.com>
1049 * providers/imapp/camel-imapp-store.c (store_resp_list)
1050 (imap_login, try_sasl, imap_try_authenticate): removed dead code.
1052 * providers/imapp/camel-imapp-stream.c: return -1 if stream not
1055 * providers/imapp/camel-imapp-engine.c (iterate_completion): put
1056 done request on the done queue, so all requests are always
1058 (camel_imapp_engine_command_free): just spit warnings of active
1059 messages being freed, but abort if the item isn't in any list.
1060 Also remove the node from its list before going on.
1061 (iterate_untagged, iterate_continuation, iterate_completion):
1064 * providers/imapp/camel-imapp-provider.c
1065 (camel_imapp_module_init): move camel_exception_setup call here.
1067 * providers/imapp/camel-imapp-driver.c
1068 (camel_imapp_driver_get_type): remove execption setup here, it
1070 (camel_imapp_driver_list): handle exceptions.
1072 2003-09-12 Jeffrey Stedfast <fejj@ximian.com>
1074 * providers/local/camel-mbox-folder.c
1075 (camel_mbox_folder_get_full_path): Implements
1076 CamelLocalFolder::get_full_path() (publicly namespaced so that
1077 CamelMboxStore can re-use them).
1078 (camel_mbox_folder_get_meta_path): Same.
1080 * providers/local/camel-mbox-store.c (get_folder): Changed the way
1081 the path is constructed, since we now handle subdirectories and
1083 (delete_folder): Try deleting the Folder.sbd directory. We also
1084 need to manage our own meta files since CamelLocalStore's impl
1085 constructs paths differently than what we need.
1086 (create_folder): Implemented.
1087 (rename_folder): Implemented.
1088 (scan_dir): Scan an mbox tree
1089 (get_folder_info): Implemented using scan_dir().
1091 * providers/local/camel-local-store.c (delete_folder): Set fi->url
1092 to the correct value, meaning we need to prefix it with the
1093 protocol and the folder_name is not actually part of the path, it
1094 is a separate component to the url.
1096 * providers/local/camel-local-folder.c
1097 (camel_local_folder_construct): Use the new class virtual method
1098 to construct the full folder path and all the meta files.
1099 (local_get_full_path): Implemented default get_full_path method.
1100 (local_get_meta_path): Implemented default get_meta_path method.
1102 2003-09-11 Dan Winship <danw@ximian.com>
1104 * Makefile.am (noinst_LTLIBRARIES): Remove libcamel-static.la
1106 2003-09-05 Not Zed <NotZed@Ximian.com>
1108 * providers/imap/camel-imap-store.c (imap_noop): call
1109 camel_folder_sync bypassing the folder lock. See
1110 imap_store_refresh_folders too.
1112 2003-09-04 David Woodhouse <dwmw2@infradead.org>
1114 * providers/camel-imap-store.[ch]: Add PREAUTH handling and
1115 pine/mutt/etpan/etc.-style 'ssh <mailhost> exec imapd' support.
1117 2003-09-03 David Woodhouse <dwmw2@infradead.org>
1119 * camel-stream-process.[ch]: New stream implementation for running
1121 * Makefile.am: Compile the above
1123 2003-08-20 Not Zed <NotZed@Ximian.com>
1127 * camel-folder-search.h: Removed match1 member.
1129 * camel-folder-search.c (camel_folder_search_match_expression):
1130 use current directly rather than match1. This method isn't used
1132 (search_not): remove match1 stuff.
1133 (search_match_all): properly handle the match-all against 1
1134 message as a scalar result, not an array result.
1136 2003-09-03 Not Zed <NotZed@Ximian.com>
1138 * camel-http-stream.c (camel_http_stream_set_proxy): handle NULL
1139 proxy_url - unset the proxy.
1141 2003-08-29 Not Zed <NotZed@Ximian.com>
1143 * camel-object.c (camel_object_state_write):
1145 (cobject_setv, cobject_state_read, cobject_state_read)
1146 (cobject_state_write): removed debug printfs.
1148 * providers/local/camel-local-folder.c (local_getv): Need to copy
1149 the local properties list before passing it out, since it's freed.
1151 2003-08-27 Not Zed <NotZed@Ximian.com>
1153 * providers/local/camel-local-folder.c (local_getv): implement
1154 PERSISTENT_PROPERTIES, for index mode.
1156 * camel-object.c (cobject_state_read): Also add property reading,
1157 and bump version to 1.
1158 (cobject_state_write): add persistent property writing.
1160 2003-08-26 Not Zed <NotZed@Ximian.com>
1162 * camel-folder.c (folder_getv): chain up properly.
1164 * camel-file-utils.c (camel_file_util_savename): helper to create
1165 a .#filename filename.
1167 * providers/local/camel-local-folder.c
1168 (camel_local_folder_construct): init meta-data for local folders.
1169 (local_getv): chain up properly, if args are not processed, rather
1170 than don't if they aren't.
1172 2003-08-23 Not Zed <NotZed@Ximian.com>
1174 * camel-object.c (cobject_class_init): added a new event,
1176 (camel_object_meta_set, camel_object_meta_get): meta-data api.
1177 (camel_object_free_hooks): Free meta-data if it is set on the
1180 * providers/local/camel-local-folder.c
1181 (camel_local_folder_get_type): setup a property list for local
1182 folders, just 'index_body' at present.
1184 2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
1186 * camel-filter-driver.c (pipe_to_system): Added some more error
1187 checking for reading/writing to the pipes. Fixes bug #47880.
1189 2003-08-21 Jeffrey Stedfast <fejj@ximian.com>
1191 * camel-data-wrapper.c (decode_to_stream): Don't poke
1192 wrapper->stream directly, use camel_data_wrapper_write_to_stream()
1193 instead as this simplifies things and makes the imap data wrapper
1194 implementation Just Work (tm).
1196 * providers/imap/camel-imap-wrapper.c: changed prototype of
1197 write_to_stream() to return ssize_t.
1199 2003-08-20 Jeffrey Stedfast <fejj@ximian.com>
1201 * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate): Make
1202 sure to ref the stream. Fixes bug #47749.
1204 2003-08-18 Not Zed <NotZed@Ximian.com>
1206 * camel-http-stream.c: Various fixes to make it work.
1208 * tests/smime/pgp-mime.c (main): added missing 'ret' variable.
1210 * providers/smtp/camel-smtp-transport.c (connect_to_server):
1211 * providers/imapp/camel-imapp-store.c (connect_to_server:
1212 * providers/imap/camel-imap-store.c (connect_to_server):
1213 * providers/pop3/camel-pop3-store.c (connect_to_server):
1214 * camel-http-stream.c (http_connect): change service->session for
1217 * camel-tcp-stream-ssl.c: Changed service to session, and fix some
1219 include camel-operation.h
1221 2003-08-15 Not Zed <NotZed@Ximian.com>
1225 * tests/lib/messages.c (test_message_compare): check
1226 write_to_stream returns.
1227 (message_dump_rec): helper to dump message structure.
1229 * camel-mime-part-utils.c
1230 (simple_data_wrapper_construct_from_parser): dont set content
1232 (camel_mime_part_construct_content_from_parser): set it here
1233 instead, on every part. basically same as setting the
1234 mime_type_field always.
1236 * camel-multipart-signed.c (camel_multipart_signed_class_init):
1237 * camel-mime-message.c (camel_mime_message_class_init):
1238 * camel-multipart.c (camel_multipart_class_init): override
1239 decode_to_stream to always do the same as write_to_stream, since
1240 we can never be encoded.
1242 2003-08-15 Jeffrey Stedfast <fejj@ximian.com>
1244 * providers/imap/camel-imap-wrapper.c (imap_wrapper_hydrate):
1245 Don't attach any filters to decode base64/qp/etc.
1247 2003-08-14 Jeffrey Stedfast <fejj@ximian.com>
1249 * camel-mime-part.c (write_to_stream): Save errno when
1250 flushing/unreffing the filter stream.
1252 2003-08-13 Jeffrey Stedfast <fejj@ximian.com>
1254 * camel-mime-part.c (write_to_stream): If the content is
1255 base64/qp/uu/etc encoded but the part is 7bit/8bit/(or otherwise
1256 non-encoded), set reencode to TRUE so that we decode the original
1257 content stream. Fixes a bug noticed on
1258 evolution-patches@ximian.com where a patch had a
1259 Content-Transfer-Encoding of 7bit but was base64 encoded.
1261 2003-08-13 Not Zed <NotZed@Ximian.com>
1263 * camel-folder-summary.c (camel_folder_summary_remove_range): Fix
1264 the range check, we were stopping removal of 1 or 2 removals, for
1265 some odd and completely uncomprehensible reason. Perhaps debug
1268 2003-08-13 Not Zed <NotZed@Ximian.com>
1272 * camel-vee-folder.c (vee_sync): Always rebuild folder on any
1273 sync, not just expunge ones.
1275 2003-08-11 Not Zed <NotZed@Ximian.com>
1277 * providers/imapp/camel-imapp-store.c (imap_get_folder_info):
1278 force connect manually so basics work.
1282 * camel-service.c (camel_gethostbyname): duh, pthread_create
1283 returns the error code directly, not via errno.
1284 (camel_gethostbyaddr): Same, also properly handle the failure
1287 2003-08-01 Not Zed <NotZed@Ximian.com>
1291 * camel-filter-search.c (match_all): match-all with no arguments
1292 should always return TRUE.
1294 * camel-folder-search.c (camel_folder_search_execute_expression):
1295 print a warning when we get an invalid result type & fixed a leak
1298 2003-08-08 Jeffrey Stedfast <fejj@ximian.com>
1300 * tests/message/test4.c: New test suite for the mime parser (which
1301 is where the below 2 fixes were noticed).
1303 * camel-mime-parser.c (folder_boundary_check): Calculate 'len' by
1304 subtracting the boundary start from inend rather than 'atleast'.
1305 (folder_scan_content): Calculate 'inend' differently depending on
1308 2003-08-08 Jeffrey Stedfast <fejj@ximian.com>
1310 * camel-mime-filter-tohtml.c (html_convert): Rather than checking
1311 *inptr == '\n', check inptr >= inend - this gets rid of an Invalid
1312 Read report from valgrind.
1314 * camel-mime-part.c (write_to_stream): Don't necessarily re-encode
1315 just because the encodings differ. Need to look into making it so
1316 that message/rfc822 and multipart parts ignore the
1317 Content-Transfer-Encoding header and just keep their 'encoding'
1318 bits set to DEFAULT.
1320 2003-08-05 Jeffrey Stedfast <fejj@ximian.com>
1322 * providers/imap/camel-imap-folder.c (get_content): Updated.
1324 * camel-mime-message.c (camel_mime_message_init): Don't override
1326 (process_header): Updated to use CamelDataWrapper's mime_type
1328 (find_best_encoding): Same.
1329 (best_encoding): Here too.
1331 * camel-digest-folder.c (camel_digest_folder_new): Updated for
1332 CamelMimePart::content_type change.
1334 * camel-mime-part.c (camel_mime_part_init): Override our parent
1335 class's default mime_type.
1336 (camel_mime_part_finalize): Don't need to unref the content_type
1338 (process_header): Updated to use CamelDataWrapper's mime_type
1340 (camel_mime_part_set_filename): Same.
1341 (camel_mime_part_get_filename): Same.
1342 (camel_mime_part_get_content_type): Same.
1343 (set_content_object): Here too.
1344 (write_to_stream): Updated.
1345 (construct_from_parser): Updated.
1347 * camel-mime-part.h: Remove the content_type field.
1349 2003-07-31 Jeffrey Stedfast <fejj@ximian.com>
1351 * tests/lib/messages.c (test_message_compare_content): If the
1352 chunks differ, perform a hexdump on the data being compared so
1353 that we may analyse it easier.
1355 * camel-multipart-signed.c (write_to_stream): Return ssize_t.
1357 * camel-mime-utils.h: Added the CamelMimePartEncodingType enum
1360 * camel-mime-part.h: Removed the CamelMimePartEncodingType enum
1363 * camel-mime-part.c (write_to_stream): Updated to return
1364 ssize_t. Also minor changes to only re-encode the content stream
1365 if the charset or encoding changed (this way we write it out in
1366 the original raw form if nothing changed).
1368 * camel-mime-part-utils.c
1369 (simple_data_wrapper_construct_from_parser): Drastically
1370 simplify. We no longer scan html content to try and find the
1371 charset, nor do we care about converting the content to UTF-8 and
1372 handling broken windows charsets.
1374 * camel-mime-message.c (find_best_encoding): Use
1375 decode_to_stream() here. Also updated to not assume the content
1376 charset is UTF-8 since it is very likely not the case anymore
1377 since data-wrappers no longer are converted to UTF-8 at parse
1380 * camel-folder-summary.c (summary_build_content_info_message): Use
1381 decode_to_stream instead here too.
1383 * camel-folder-search.c (match_words_1message): Use
1384 decode_to_stream instead of write_to_stream so we can search the
1387 * camel-data-wrapper.c (camel_data_wrapper_init): Set the default
1388 encoding to DEFAULT.
1389 (write_to_stream): Updated to return ssize_t
1390 (camel_data_wrapper_decode_to_stream): New virtual function to
1391 decode a data wrapper to a stream (results in nearly identical
1392 behaviour to the old write_to_stream method).
1393 (decode_to_stream): Default implementation of above virtual
1394 method. Decodes base64/qp/etc streams.
1396 * camel-data-wrapper.h: Removed the rawtext bit and added an
1399 2003-08-01 Jeffrey Stedfast <fejj@ximian.com>
1401 * tests/smime/pgp-mime.c: Same.
1403 * tests/smime/pgp.c: Updated to build and to import some custom
1404 gpg keys for use with testing.
1406 2003-07-30 Jeffrey Stedfast <fejj@ximian.com>
1408 * camel-mime-message.c (write_to_stream): Also updated.
1410 * camel-data-wrapper.c (write_to_stream): This should return ssize_t
1412 * camel-multipart-signed.c (write_to_stream): Updated.
1414 * camel-multipart.c (write_to_stream): Same.
1416 * camel-mime-part.c (write_to_stream): Here too.
1418 2003-07-11 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
1420 * camel-iconv.c: Fix for #46168 'some additional locale aliases
1421 required for chinese support'.
1423 2003-07-25 Jeffrey Stedfast <fejj@ximian.com>
1425 * camel-mime-utils.c (header_decode_word): Revert NotZed's fix for
1426 bug #42170 - this causes even more problems than it solves. See
1427 bug #46331 for info. Basically, each address header would be
1428 converted to UTF-8 twice which means no raw 8bit address header
1429 would render correctly.
1430 (header_decode_mailbox): Perform a sanity check on the resultant
1431 addr->str to make sure that it is valid UTF-8, if not convert it
1432 to UTF-8. Fixes bug #42170.
1434 2003-07-23 Ettore Perazzoli <ettore@ximian.com>
1436 * camel-provider.c (camel_provider_init): Print the provider
1437 directory as well, for debugging.
1439 2003-07-23 Jeffrey Stedfast <fejj@ximian.com>
1441 * camel-mime-message.c (find_best_encoding): Revert my previous
1442 changes to this function.
1444 * camel-mime-utils.h: Revert previous changes.
1446 * camel-mime-part.h: Revert previous changes.
1448 * camel-mime-part-utils.c: Revert previous changes.
1450 * camel-data-wrapper.c (camel_data_wrapper_init): Revert previous
1452 (write_to_stream): Revert previous changes.
1454 2003-07-23 Dan Winship <danw@ximian.com>
1456 * camel-block-file.c: #include camel-file-utils.h for camel_read()
1458 * camel-uid-cache.c (camel_uid_cache_save): Remove unused variable
1461 * camel-url.c: #include camel-string-utils.h for camel_strdown
1463 * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): Cast
1464 an (unsigned char *) to (char *) to fix a warning
1466 2003-07-17 Jeffrey Stedfast <fejj@ximian.com>
1468 * camel-mime-message.c (find_best_encoding): Updated to convert
1469 to/from the correct charset (since content is no longer
1470 necessarily in UTF-8).
1471 (best_encoding): Free the charset string when we're done with it.
1473 * camel-stream-fs.c (stream_read): Increment the seekable stream
1474 position by the number of bytes read. Oops.
1475 (stream_write): Same here.
1477 2003-07-17 Timo Sirainen <tss@iki.fi>
1481 * providers/imap/camel-imap-folder.c (do_append): Only free the
1482 response after we have finished the literal request, otherwise we
1483 could try processing folder updates incorrectly.
1485 2003-07-14 Jeffrey Stedfast <fejj@ximian.com>
1487 * camel-mime-utils.h: Add the CamelMimePartEncodingType definition
1490 * camel-mime-part.h: Remove the CamelMimePartEncodingType
1493 * camel-mime-part-utils.c
1494 (simple_data_wrapper_construct_from_parser): Don't do any of the
1495 auto-detection we used to do here anymore. Just read the content
1496 into a memory buffer and record the encoding type.
1497 (camel_mime_part_construct_content_from_parser): Don't mangle the
1498 Content-Type struct here anymore.
1500 * camel-data-wrapper.c (camel_data_wrapper_init): Init encoding to
1502 (write_to_stream): If the stream needs to be decoded, decode it.
1504 2003-07-15 Jeffrey Stedfast <fejj@ximian.com>
1506 * camel-stream-fs.c (stream_read): If we read 0 bytes, then set
1509 2003-07-09 Jeffrey Stedfast <fejj@ximian.com>
1511 Get rid of the #ifdef ENABLE_THREADS since we no longer plan to
1512 support/maintain this.
1514 * providers/nntp/camel-nntp-store.c: Here.
1516 * providers/nntp/camel-nntp-newsrc.c: And here.
1518 * providers/nntp/camel-nntp-folder.c: Same.
1520 * providers/local/camel-local-folder.c: And here.
1522 * camel-block-file.c: Here too.
1526 * camel-certdb.c: Here too.
1528 * camel-charset-map.c: And here.
1530 * camel-cipher-context.c: "
1532 * camel-data-wrapper.c: "
1534 * camel-digest-folder.c: "
1536 * camel-exception.c: "
1540 * camel-folder-summary.c: "
1542 * camel-lock-client.c: "
1544 * camel-mime-utils.c: "
1548 * camel-operation.c: "
1550 * camel-partition-table.c: "
1552 * camel-sasl-popb4smtp.c: "
1554 * camel-service.c: "
1556 * camel-session.c: "
1560 * camel-store-summary.c: "
1562 * camel-text-index.c: "
1564 * camel-transport.c: "
1566 * camel-vee-folder.c: "
1568 * camel-tcp-stream-openssl.c: Removed pthread.h, it isn't needed.
1570 2003-07-09 Larry Ewing <lewing@ximian.com>
1572 * camel.h: remove reference to camel-pgp-mime.h
1574 2003-07-08 Jeffrey Stedfast <fejj@ximian.com>
1576 * camel-pgp-mime.[c,h]: Removed.
1578 * camel-iconv.c: Updated (new copy/paste from e-iconv).
1580 * camel-block-file.c (camel_block_file_get_block): Use
1581 camel_read() rather than libc read.
1583 * camel-tcp-stream-raw.c (stream_read): Use camel_read().
1584 (stream_write): Use camel_write().
1586 * camel-stream-fs.c (stream_read): Use camel_read().
1587 (stream_write): Use camel_write().
1589 2003-07-07 Jeffrey Stedfast <fejj@ximian.com>
1591 * providers/nntp/camel-nntp-folder.c (camel_nntp_folder_new): Use
1594 * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Use
1597 * camel-session.c (get_storage_path): Use camel_mkdir().
1599 * camel-store.c (camel_mkdir_hier): Removed.
1601 * camel-data-cache.c (camel_data_cache_new): Updated to use
1603 (data_cache_path): Same.
1605 * camel-file-utils.c (camel_mkdir): Renamed and documented.
1606 (camel_file_util_safe_filename): Documented.
1607 (camel_read): Moved here from camel-io.c
1608 (camel_write): Same.
1610 * camel-io.[c,h]: Removed.
1612 * camel-uid-cache.c (camel_uid_cache_new): Use the
1613 camel-file-utils.c version of mkdir.
1615 2003-07-07 Jeffrey Stedfast <fejj@ximian.com>
1617 * camel-session.c (camel_session_init): Updated for string-utils
1620 * camel-provider.c: Updated for string-utils namespace changes.
1622 * camel-mime-part.c (init_header_name_table): Updated for
1623 string-utils namespace changes.
1625 * camel-mime-message.c (camel_mime_message_class_init): Updated
1626 for string-utils namespace changes.
1627 (camel_mime_message_init): Same.
1629 * camel-mime-filter-enriched.c
1630 (camel_mime_filter_enriched_class_init): Updated for string-utils
1633 * camel-folder-summary.c (camel_folder_summary_init): Updated for
1634 string-utils namespace changes.
1636 * camel-string-utils.[c,h]: Renamed from string-utils.[c,h] and
1637 also namespaced all functions.
1639 2003-07-01 Jeffrey Stedfast <fejj@ximian.com>
1641 * camel-sasl-digest-md5.c (digest_response): Don't quote the
1642 charset value, the qop value, nor the response value. Fixes bug
1645 2003-07-01 Jeffrey Stedfast <fejj@ximian.com>
1647 * camel-mime-utils.c (header_format_date): Use gmtime_r() instead
1648 of using gmtime() and memcpy() to try and be "atomic".
1650 2003-06-30 Dan Winship <danw@ximian.com>
1652 * camel-folder-search.c (camel_folder_search_finalize): free the
1655 2003-06-24 David Woodhouse <dwmw2@infradead.org>
1657 * camel-mime-utils.c (header_format_date): Put day of week into
1661 2003-06-25 Jeffrey Stedfast <fejj@ximian.com>
1663 * camel-folder-summary.h: Added prototype for
1664 camel_folder_summary_remove_range().
1666 2003-06-25 Not Zed <NotZed@Ximian.com>
1670 * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make
1671 sure we have an exception that we test against.
1673 2003-06-20 Not Zed <NotZed@Ximian.com>
1677 * camel-mime-filter-enriched.c (camel_enriched_to_html): simple
1678 wrapper to convert enriched to html in one go.
1680 2003-06-18 Not Zed <NotZed@Ximian.com>
1682 * camel-service.c (get_hostbyaddr, get_hostbyname): if we got
1683 cancelled, the message is floating, so free it.
1684 (struct _lookup_msg): Add a cancelled tag.
1685 (camel_gethostbyname, camel_gethostbyaddr): if we get a
1686 failure/cancel, cancel the lookup thread and detach, so we dont
1687 have to wait for it to return. cleanup changed to handle the case
1688 where we didn't get a reply message.
1690 2003-06-13 Jeffrey Stedfast <fejj@ximian.com>
1692 * providers/pop3/camel-pop3-folder.c (pop3_finalize): Made static
1693 (to match the prototype).
1695 2003-06-13 Larry Ewing <lewing@ximian.com>
1697 * camel-folder-thread.c (camel_folder_thread_messages_apply):
1698 don't leak the summary when reloading it. Fixes a very large
1701 2003-06-17 Not Zed <NotZed@Ximian.com>
1703 * camel-vee-folder.c (vee_folder_remove_folder): Calculate ranges
1704 to remove folder info's more efficiently. affects shutdown
1705 performance on big vfolders signifinantly.
1706 (vee_folder_build_folder): do the same here, when rebuilding a
1707 folder's definition.
1709 * camel-folder-summary.c (camel_folder_summary_remove_index): new
1710 function to drop a range of index entries in one hit.
1712 2003-06-16 Not Zed <NotZed@Ximian.com>
1716 * providers/imap/camel-imap-store-summary.c
1717 (camel_imap_store_summary_namespace_new): Workaround a shell bug -
1718 if the namespace has '#' in it, then strip it.
1720 2003-06-16 Not Zed <NotZed@Ximian.com>
1724 * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
1725 If we are outputting a folder name, make sure we calculate buffer
1726 size based on the raw/utf7 version
1730 * camel-multipart-signed.c (signed_get_part): If we can't parse
1731 the content, but we have a stream, just use that as the content.
1733 2003-06-05 Jeffrey Stedfast <fejj@ximian.com>
1737 * providers/pop3/camel-pop3-engine.c (camel_pop3_engine_new): Now
1738 takes a flags argument. Currently there is only 1 flag which can
1739 be used to disable Pop3 server extensions.
1740 (get_capabilities): Don't check for Pop3 server extensions if the
1741 DISABLE_EXTENSIONS flag is set on the engine.
1742 (camel_pop3_engine_iterate): If we get a response that is neither
1743 +OK nor -ERR, default to treating it like a -ERR.
1745 * providers/pop3/camel-pop3-store.c (connect_to_server): Check for
1746 the disable_extensions param.
1748 * providers/pop3/camel-pop3-provider.c: Define a checkbox to
1749 disable all POP3 extension support.
1751 2003-06-11 Jeffrey Stedfast <fejj@ximian.com>
1753 Partial fix for bug #44457.
1755 * camel-mime-part-utils.c
1756 (simple_data_wrapper_construct_from_parser): Make sure to set
1757 rawtext to FALSE if we successfully convert the text to UTF-8.
1759 * camel-data-wrapper.c (camel_data_wrapper_init): Default the
1760 value of rawtext to TRUE instead of FALSE. This way if the mailer
1761 decides to try displaying a non-textual part as text, it knows
1762 that it needs to convert the content to UTF-8.
1764 2003-06-04 Jeffrey Stedfast <fejj@ximian.com>
1766 * camel-uid-cache.c (camel_uid_cache_new): Create the directory
1767 with mode 0777 and the cache file itself with mode 0666. Let the
1768 user's umask filter the permissions. Instead of saving the fd on
1769 the Cache object, instead save the filename. Use camel_read()
1770 instead of expecting read() to just always work without getting an
1772 (maybe_write_uid): Don't do anything if cache->fd == -1, this
1773 means an error has occured in a previous callback. Replace the 2
1774 calls to write() with camel_write() and check their return
1775 values. If either of them fails, set cache->fd to -1 (GHashTable
1776 doesn't give us a way to abort foreach'ing thru the table).
1777 (camel_uid_cache_save): Save to a temp file instead of overwriting
1778 the original. Do proper error checking, etc. Also added some
1779 smarts about whether to try and overwrite the old cache even if we
1780 haven't successfully saved all the uids in the cache.
1781 (camel_uid_cache_destroy): Free the cache->filename, no longer
1782 need to close (cache->fd).
1784 2003-06-11 Larry Ewing <lewing@ximian.com>
1786 * camel-text-index.c (text_index_normalise): use g_utf8_strdown
1789 2003-06-09 Jeffrey Stedfast <fejj@ximian.com>
1791 * camel-mime-message.c (find_best_encoding): Add the
1792 CAMEL_BESTENC_TEXT bit to enctype if the part is a text part.
1794 * camel-mime-filter-bestenc.c
1795 (camel_mime_filter_bestenc_get_best_encoding): If we have any
1796 nul-bytes or if the content is non-text and contains any 8bit
1797 octets, we need to use base64. Fixes bug #44344.