/audio/xcd/

/~lantw44/cgit/'>cgit logo index : gsoc2013-evolution
Google Summer of Code 2013 - GNOME - Archive Integration workspace
aboutsummaryrefslogblamecommitdiffstats
path: root/camel/ChangeLog
blob: 1c3d1a031c6b6eace9b2527f7900fc5b67a6752b (plain) (tree)
1
2
3
4
5
6
7






                                                                        




                                                                         


                                                  








                                                                        




                                                                       



                                                           

                                                






                                                                         



                                                                      




                                                                    

                                           








                                                                         

                                                                              

                                                                         
 











                                                                        





                                                                          





                                                                         






























































                                                                          








                                                                            








                                                                          





                                                                         

                                             










                                                                           


                                                                    
                                                  
 
                                                                
 

                                                                  
 





                                                                       
 

                                                                        
 

                                                  







                                                                        







                                                                    

                                                  





                                                                        



                                                                       




                                                                          





                                                                         




                                                                            











                                                                        

                                             



                                                                          


                                                                      

                                                  


                                                                          


                                                                             




                                                                       

















                                                                                  

                                             






                                                                          






                                                                          

                                                  


                                                                        







                                                                          





                                                             

                                                  



                                                                               


                                                                             

                                                  


                                                                          
 











                                                                          

                                                  








                                                                      














                                                                         



























                                                                          












                                                         

                                                  







                                                                         




                                                                      

















                                                                          
 




                                                                          
 




                                                          







                                                               


                                                             







                                                                       

                                                  


                                                                            

                                                                           




                                                                           







                                                                          






                                                                     

                                                  
                                                                         

                                                                          


                                                                         
 

                                                  

                                                                         
 






                                                                        
 












                                                                          

                                                  





                                                                             






























                                                                               

                                             





                                                                       




                                                                








                                                                          

                                                  




                                                                        
 

                                                                      
 

                                                  



                                                                        
 





                                                                         


                                                  


                                                                        
 



                                                                          
 

                                                  


                                                                         
 












                                                                          

                                                  

                                                                     
 



                                                                       



                                                  


                                                                          
 

                                                  


                                                
                                                                         




                                                                          
 


                                                                         
 



                                                                         
 









                                                                        

                                                  

                                                                     
 






                                                                          
                                              
 














                                                                          



                                                                            
 




                                                                      
























                                                                         








                                                                       







                                                                         























                                                                      

                                                  
                                              












                                                                         

                                                                           
                                            


                                                  


                                                                      




                                                                            
 








                                                                          

                                                  





                                                                    

                                                          


                                                  



                                                                      









                                                                         
                                                                         

            

                                                  
                                                                          



                                                                          







                                                                         















                                                                         










                                                                         






                                                                         














                                                                             































                                                                          




                                                                                 
                                                                      
 

                                                  

                                                                       









                                                                          

                                                  










                                                                        













                                                                      

                                                  



                                                                          




                                                                       





                                                                         



                                                                        



                                                     











                                                                              

















                                                                          

                                                  

















                                                                              



                                                                      

                                             


                                                                        








                                                                         




                                                                       






                                                                       

                                                  






                                                                          


                                                                           



                                                                           

                                             


                                                                     





                                                                         




                                                                          






                                                                           















                                                                          







                                                                      

                                                    








                                                                        

                                                                         

                                             





                                                                       







                                                                        












                                                                         
                                                                       
 





                                                                        

                                             










                                                                         


                                                     


                                                                        

                                                  



                                                                      












                                                                     

                                                  





                                                                           


                                                                
                                                                     
                                            
 



                                                                         







                                                                         




                                                                       

                                                  










                                                                      












                                                                      












                                                                      





                                                                          




                                                                       




                                                              






                                                                      

























                                                                                         

                                                  








                                                                       





















                                                                       








                                                                           




                                                                        







                                                                        




                                                                                       




                                                                      



















                                                                        







                                                                      



                                                                      
                                                              

                                                                      



                                                                       





                                                                       

                                                  





                                                                           



                                                                    

                                                                        
 

                                                  

                                                                          




                                                                     


                                                                          
 





                                                                                  











                                                                        






                                                                         





                                                                       




                                                                    





                                                                         












                                                                         













                                                                    

                                             



























































                                                                          






                                                                               

                                                  



                                                                              
 

                                                                          
 

                                             



                                                                         













                                                                          


                                                                        






                                                                      






                                                                          





                                                                          

                                                  



                                                                             
 
                                                                               

                                               
 




                                                                              

                                                                             

                                                                        










                                                                              
















                                                                        









                                                                     

                                                  
                                                                        
                                                                    

                                                          


                                                                           












                                                                           

                                             



                                                                         







                                                                          









                                                                          

                                                  

                                                                              
 

                                                                               



                                                                               



                                                                               

                                                  

                                                                              
        


                                                                            
 














                                                                            






                                                                      








                                                                   

























                                                                          






                                                                    









                                                                          

                                                                             
        





                                                                          







                                                                          

                                                  

                                                                         
 



                                                               






                                                                       

















                                                                    








                                                                       

















                                                                          













                                                                          





















                                                                          




                                                                    

                                           






                                                                          




                                                                          

                                                                        
 

                                                                        




                                                                          
 






                                                                          

                                             














                                                                          











                                                                          


                                                                        
 



                                                                        














                                                                     









                                                                          




                                                                  
                                                                  




                                                                 

                                          



                                                                       












                                                                         








                                                                         




                                                                        





                                                                 


                                                                          
                                                  
 

                                                                   
 












                                                                         
                                                  
 
                                                                       

                                                                  
 

                                                     


                                                                  
 































                                                                          
                                    
























                                                                            




















                                                                          












                                                                          
                                             






                                                                      


























                                                                          




                                                                        

                                             


                                                          





                                                                         




























                                                                          




                                                                    
















                                                                          













                                                                  




                                                                       




                                                                          

                                             

                                                                        



                                                                         




                                                                        




                                                              






                                                                     



                                                                       


                                                                          


                                                                        










                                                                         












                                                                         




                                                                                   







                                                                          




                                                                        






                                                                         
                                                 







                                                                        







                                                                    




                                                                       

                                                 



                                                                          
 















































                                                                          

                                          



                                                                         



                                                                          





                                                                          


                                                                   


























































                                                                          







                                                                         





























































































































                                                                          


                                                   



                                                                      




                                                                         


                                                                       

                                                                      












                                                                        












                                                                          






















                                                                          

                                             





                                                                       




















                                                                          





















                                                                           





                                                                         

                                          











                                                                         







                                                                          




                                                                

                                          

                                                        













                                                                         










                                                        

                                          


                                                                   
        


                                                                    






















                                                                          








                                                                          





                                                                         





                                                                         

                                          









                                                                       
                                                            



                                                                         








                                                                               


                                                                     

                                                                        








                                                                          

                                                                         


                                                                   

                                                

                                                                        
                                                                 







                                                                         


                                                                             

                                                  














                                                                          
























                                                                         

                                             


                                                                      














                                                                        




                                                                        







                                                                            

                                          































                                                                             








                                                                       

                                             


                                                                        


                                                                     

                                             




                                                                          










                                                                        






                                                                      



                                          


                                                                       


























































































































































































                                                                                 

                                             


                                                                         


                                                                   

                                             


                                                                         




                                                                         

                                                              

                                          



















                                                                          






















                                                                        


                                                                       






















                                                                          




                                                                        

                                          










































                                                                           

                                                             






                                                                       






                                                                         

                                                                     




                                                                      














                                                                          


                                                                      

                                                            




                                                                 
                                                                        
 





                                                                       

                                          

























































                                                                          











                                                                          




                                                                       

                                                                          






                                                                         




















































































































                                                                          






                                                                  







                                                                         

                                          


                                                                        


















                                                                          

                                             



                                                                         





                                                                         




                                                                     

                                             




                                                                        


                                                                   





                                                                         

                                             












                                                                        


                                                                    



                                                                       



                                                   



                                                                   














                                                                             






                                                                          





                                                                          




                                                                      

                                             


                                                                       








                                                                          


                                                                      




                                                                   




                                                                          



                                                             

                                             


                                                                         



                                                                       






                                                                          














































































































































































































































































                                                                              




                                                                         

                                                                     
 

                                          








                                                                      




                                                                           






                                                                          


















                                                                        








                                                                          
























                                                                          

                                             

                                                             







                                                              






                                                                          




                                                                       









                                                                     





                                                                         

                                             





                                                                          




                                                                     



                                                                        

                                             




                                                                         











                                                                     





































                                                                          









                                                                     







                                                                         

                                             




                                                                         



                                                                         


                                                                        





















                                                                          




                                                                      









                                                                    





                                                                         

                                             






                                                                         






                                                                    




                                                                




                                                                    

                                              










                                                                               








                                                        



                                              



                                                         














                                                                     




                                                            

                                              

                                          
                                     

                                                                 
 





                                                                 

                                              






                                                                 







                                                                         













                                                                         


















                                                                          

                                              




                                                       


                                                          

                                              



















                                                                     







                                                                 






                                                                 

                                              





                                                                    






                                                                      

                                          
















                                                                          
                                                                          
 








                                                                          











                                                                           
 




                                                                    















                                                                          

                                             

                                                                        







                                                                   




                                                                          








                                                                      










                                                                         





                                                                      

                                                   




                                                    


































                                                                






                                                                    














                                                              




                                                                       
 

                                             







                                                                      
















                                                                        




                                                                        




                                                         

















                                                                          






















































































                                                                                   





                                                                    































































































                                                                                      

























                                                                      
2000-08-12  Dan Winship  <danw@helixcode.com>

    * providers/pop3/camel-pop3-store.c (pop3_try_authenticate): New
    function to do one round of attempted authentication.
    (pop3_connect): Move a bunch of code out into
    pop3_try_authenticate and fix some bugs in the edge cases.

2000-08-12  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (query_auth_types): No longer
    calls try_connect() to get authtypes

2000-08-11  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c
    (camel_imap_command_continuation): Changed param order a bit and
    fixed some logic

    * providers/imap/camel-imap-folder.c (imap_append_message): Use
    the new multi-transactional convenience functions

2000-08-11  Jeffrey Stedfast  <fejj@helixcode.com>
    
    * providers/imap/camel-imap-store.c
    (camel_imap_command_preliminary): New convenience function for
    multi-transactional commands (opening request)
    (camel_imap_command_continuation): New convenience function for
    multi-transactional commands (followup data)

2000-08-11  Christopher James Lahey  <clahey@helixcode.com>

    * providers/mh/camel-mh-folder.c: Fixed a warning.

2000-08-11  Chris Toshok  <toshok@helixcode.com>

    * providers/nntp/camel-nntp-folder.c
    (camel_nntp_folder_class_init): remove get_name and get_full_name
    assignments, since the camel-folder.c implementation does what we
    need.

2000-08-11  Chris Toshok  <toshok@helixcode.com>

    * providers/nntp/camel-nntp-store.c
    (camel_nntp_store_get_toplevel_dir): use g_get_home_dir, since
    evolution_dir isn't available in the providers.

2000-08-11  Peter Williams  <peterw@helixcode.com>

    * camel-folder.c (thaw): Fix a bug where the message_changed
    signal wasn't being emitted.

2000-08-11  Not Zed  <NotZed@HelixCode.com>

    * providers/mh/camel-mh-folder.c (mh_set_message_user_tag):
    Implement.
    (mh_get_message_user_tag): Implement.

    * providers/mbox/camel-mbox-folder.c (mbox_get_message_user_tag):
    (mbox_set_message_user_tag): Implement.

    * camel-folder.c (move_message_to): Yay so lets fix an already
    fixed fix, again.
    (copy_message_to): and here too ... update for api change to append().
    And removed another warning.
    (camel_folder_set_message_user_tag): Routine to set message tags.
    (camel_folder_get_message_user_tag): And accessor.

2000-08-10  Christopher James Lahey  <clahey@helixcode.com>

    * camel-folder-search.c, camel-folder-summary.c, camel-medium.c,
    camel-mime-filter-charset.c, camel-mime-filter.c,
    camel-mime-filter.h, camel-mime-message.c, camel-mime-parser.c,
    camel-mime-part-utils.c, camel-mime-part.c, camel-mime-utils.c,
    camel-movemail.c, camel-multipart.c, camel-object.c,
    camel-stream-mem.c, providers/mbox/camel-mbox-folder.c,
    providers/mbox/camel-mbox-summary.c,
    providers/mh/camel-mh-folder.c,
    providers/smtp/camel-smtp-transport.c: Fixed some warnings.

2000-08-11  Not Zed  <NotZed@HelixCode.com>

    * providers/vee/camel-vee-folder.c (vee_folder_build_folder): Free
    the search properly.
    (vee_folder_build): And here too.

2000-08-10  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
    If we go over the max number of messages, don't keep requesting
    new message summaries, just break.

2000-08-11  Not Zed  <NotZed@HelixCode.com>

    * camel-mime-parser.c (folder_scan_header): A better way to
    compress leading whitespace.  The code is probably invalid anyway,
    I dont think it will work across buffer boundaries.

    * providers/mbox/camel-mbox-folder.c (mbox_append_message): And
    write out proper format From lines here too.

    * providers/mbox/camel-mbox-summary.c
    (camel_mbox_summary_build_from): New function to build a more
    compatible mbox "From " line.
    (camel_mbox_summary_sync): Write From lines in the proper format.

2000-08-10  Not Zed  <NotZed@HelixCode.com>

    * providers/mh/camel-mh-store.c (get_folder): Remove warnin g.

    * providers/mbox/camel-mbox-store.c (xrename): Kill some warnings
    with constification.

    * providers/imap/camel-imap-folder.c (imap_append_message): Fixed
    for append api change.  Eek this routine seriously wastes memory.

    * providers/mh/camel-mh-folder.c (mh_search_free): Impelemnt.
    (mh_append_message): Fix for api change, and include user flags
    and tags in new message.

    * providers/vee/camel-vee-folder.c (vee_search_by_expression): Fix
    for search api change.

    * camel-folder.c (camel_folder_search_free): New function for
    freeing search results.
    (search_free): Changed my mind, implement a default that actually
    does something.  Free as to the old interface.
    (camel_folder_append_message): Changed to accept a
    camelmessageinfo rather than flags, which just doesn't have enough
    info in it.
    (copy_message_to): Change for append_message api change.
    (move_message_to): Likewise.

    * providers/mbox/camel-mbox-folder.c (mbox_search_free):
    Implement.
    (mbox_append_message): Fix for api change, and also copy user
    flags/tags across to new summary.

    * camel-folder-search.c (search_user_tag): A search expression
    that returns the current use flag by name.
    (camel_folder_search_free_result): New function to free the result
    of a search.

    * camel-folder-summary.c: Bump summary version.
    (message_info_new): 
    (message_info_load): 
    (message_info_save): 
    (camel_message_info_dup_to): 
    (camel_message_info_free): Added support for arbitrary tag/value
    pairs (CamelTag's).
    (camel_tag_get): 
    (camel_tag_set):
    (camel_tag_list_size):
    (camel_tag_list_free): Operations for working with CamelTags.

2000-08-09  Peter Williams  <peterw@helixcode.com>

    * camel-store.c (camel_store_get_folder): Connect beforehand, if
    necessary.

    * providers/imap/camel-imap-store.c (camel_imap_store_init): Default
    the dir_sep to "/" so that certain functions can safely assume that
    dir_sep is valid (at least, nonnull).

2000-08-09  Ettore Perazzoli  <ettore@helixcode.com>

    * providers/nntp/camel-nntp-folder.c
    (nntp_folder_set_message_flags): Get rid of an unused variable.

    * providers/nntp/Makefile.am (INCLUDES): Fix includes so that we
    don't use installed headers anymore.  [I copied this over from the
    IMAP provider, that does not seem to have this problem.]

2000-08-09  Not Zed  <NotZed@HelixCode.com>

    * camel-folder-search.c (camel_folder_search_execute_expression):
    Reorder search result in summary order if we searched with a
    summary.

2000-08-08  Dan Winship  <danw@helixcode.com>

    * camel-uid-cache.c: New code to keep an on-disk cache of what
    UIDs have been seen in a folder.

    * camel-provider.h: Add new flags CAMEL_PROVIDER_IS_SOURCE (mail
    can arrive in it by non-Camel means) and CAMEL_PROVIDER_IS_STORAGE
    (you can work with mail directly without needing to copy it local).

    * providers/*/camel-*-provider.c: Add flags as needed: imap and
    mbox are SOURCE and STORAGE. mh and nntp are just STORAGE, pop3 is
    just SOURCE.

    * camel-mime-message.c (process_header): Add another subject
    g_strstrip that fejj's earlier commit missed.

2000-08-08  Peter Williams  <peterw@helixcode.com>

    * camel-provider.h: Remove some GTK stuff that I missed.

    * providers/imap/camel-imap-store.c (imap_noop): Turn this
    back on with the new timeout interface in CamelSession.

    * camel-session.[ch] (camel_session_register_timeout): New
    interface for Camel to register timeouts. Basically the
    GTK timeout interface is copied. We do this because Camel isn't
    allowed to use GTK anymore.
    
2000-08-07  Not Zed  <NotZed@HelixCode.com>

    * providers/mh/camel-mh-folder.c (mh_append_message): Only retry
    another uid if we had a name clash, otherwise fail.

2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c
    (imap_get_subfolder_names_internal): If we are trying to get a
    subfolder listing of the root folder, always make sure INBOX is
    there...

    * providers/imap/camel-imap-utils.c (imap_parse_list_response): 
    Check for NIL as a directory separator.

2000-08-07  Peter Williams  <peterw@helixcode.com>

    * providers/nntp/Makefile.am: Reorder the INCLUDES to pull
    in the camel headers from the local source tree before
    the ones in $(includedir). This was causing compile problems
    because the installed, Gtk-based camel-object.h was included
    before the uninstall Camel-based one.

2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-utils.c (imap_translate_sexp): Strip
    all \n's from the expression

    * string-utils.c (strip): New convenience function to strip
    occurences of a single char from a string

    * camel-mime-message.c (camel_mime_message_set_subject): Do a
    g_strstrip on the subject so we can stop getting those annoying
    leading spaces

2000-08-07  Dan Winship  <danw@helixcode.com>

    * camel-folder.c (camel_folder_free_deep): Fix this to not require
    NULL-termination of the array.

2000-08-04  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (imap_connect): If we fail to
    get a dir_sep, then supply the default of "/".
    (get_folder): Undo changes by Peter

2000-08-04  Peter Williams  <peterw@helixcode.com>

    * providers/imap/camel-imap-store.c (get_folder): Prevent a coredump
    when get_folder()ing from a store with dir_sep = NULL.

2000-08-04  Peter Williams  <peterw@helixcode.com>

    * camel-store.h: Include camel-object.h. Ettore said this wasn't
    compiling.

2000-08-04  Not Zed  <NotZed@HelixCode.com>

    * camel-url.c (camel_url_set_protocol): 
    (camel_url_set_host): 
    (camel_url_set_path): 
    (camel_url_set_port): Url editing functions.

2000-08-04  Dan Winship  <danw@helixcode.com>

    * providers/pop3/camel-pop3-folder.c (pop3_set_message_flags): 
    (pop3_sync): Indexes into the flags array are message_number minus
    1, not just message_number.

    * providers/pop3/camel-pop3-store.c: add a debugging macro for
    doing protocol tracing.

2000-08-03  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (camel_imap_folder_new): Only
    call imap_get_summary_internal if the folder can hold messages

    * providers/nntp/camel-nntp-provider.c (camel_provider_module_init): 
    Initialize the service_cache for the news/nntp providers

2000-08-03  Peter Williams  <peterw@helixcode.com>

    * providers/nntp/Makefile.am (INCLUDES): Add -I$(top_srcdir) to
    pull in libibex/ibex.h

2000-08-02  Not Zed  <NotZed@HelixCode.com>

    * providers/mh/camel-mh-summary.c (camel_mh_summary_sync): Expunge
    from the end, so the index isn't messed up when you remove a
    message.

    * providers/mh/camel-mh-folder.c (mh_append_message): Fix a bug
    where it would never open an output file/uid.

    * providers/mbox/camel-mbox-store.c (rename_folder):
    Implementation for mbox as well.

    * camel-store.c (camel_store_rename_folder): New method to rename folders.
    (rename_folder): Default implementation.

    * providers/mh/camel-mh-store.c (delete_folder): Implement this.
    (rename_folder): Implement a rename operation.

2000-08-02  Dan Winship  <danw@helixcode.com>

    * providers/MH: Kill this. It doesn't have any code to do anything
    the new mh provider doesn't do better.

    * providers/Makefile.am: Remove reference to MH subdir, and
    promote nntp to fully-supported status, since it does compile and
    all.

    * camel-mime-message.c (camel_mime_message_set_subject): Trim
    trailing space from the subject. I've now seen replies from two
    different people that tricked the threading code by (a) not having
    References/In-Reply-To, and (b) adding an extra space to the end
    of the subject line so the subject-based threading fails too. Who
    writes these broken mailers anyway?

2000-08-01  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/smtp/camel-smtp-transport.c (smtp_helo): When forced
    to use the IP, place it in square brackets.

    * providers/imap/camel-imap-utils.c (imap_translate_sexp): New and
    improved sexp parser. An honest try at using e-sexp is wrapped in
    a #ifdef at the bottom of the file but is currently not used

    * providers/imap/camel-imap-folder.c (imap_search_by_expression):
    We want to do a UID SEARCH so we get UIDs back instead of sequence
    numbers

2000-08-01  Not Zed  <NotZed@HelixCode.com>

    * providers/mh: New mh provider implementation.

    * providers/Makefile.am (SUBDIRS): Added mh provider.

2000-07-31  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_message_info_internal): 
    Some IMAP servers don't wrap the UID in ()'s so don't depend on that
    (imap_get_summary_internal): Same

    * providers/imap/camel-imap-utils.c (free_sexp_node): Oops, forgot to
    free node->function - not good.

2000-07-31  Peter Williams  <peterw@helixcode.com>

    * providers/vee/camel-vee-folder.c (vee_search_by_expression): Add
    a NULL to the matches pointer array so that g_strfreev knows where
    the end is.

2000-07-31  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-utils.c (imap_translate_sexp): New
    convenience function to translate a Camel sexp into the equivalent
    IMAP sexp.

    * providers/imap/camel-imap-store.c: More places now use
    imap_next_word

    * providers/imap/camel-imap-folder.c (imap_search_by_expression):
    Implemented initial version (this may or may not work quite right)

2000-07-28  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_expunge): Make sure
    the third word/token (whatever) is "EXPUNGE" and not something
    else like "EXISTS" or "RECENT". When removing the message from
    the summary also make sure to free that data to avoid leakage.
    Also make sure to subtract 1 from the 'id' since IMAP starts
    at 1 and our summary starts at 0 :-)

2000-07-28  Jeffrey Stedfast  <fejj@helixcode.com>
    
    * providers/imap/camel-imap-store.c (camel_imap_status): Cleaned
    up a bit, now uses imap_next_word()
    (camel_imap_command_extended): Now uses imap_next_word(). When
    checking for RECENT, allow the first digit of the recent-count
    be between 0 and 9 inclusive instead of exclusive.

    * providers/imap/camel-imap-folder.c (imap_expunge): Optimized.
    No longer will it need to reload the summary as it now instead
    removes the appropriate message summaries from the cache.
    (camel_imap_folder_changed): If recent == 0 then return. If 
    recent < 0 then just emit the folder_changed signal, don't reload
    summaries.

2000-07-28  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c
    (imap_get_message_count_internal): Get message count when STATUS
    is not available.
    (imap_init): folder->has_search_capability is required for IMAP so
    should always be set to TRUE (is currently being set to FALSE as
    I've not yet implemented SEARCH support).
    (camel_imap_folder_changed): Seem to have fixed my optimization
    hack

2000-07-28  Jon K Hellan  <hellan@acm.org>

    * providers/imap/camel-imap-store.h (CamelImapServerLevel): New
    enum.
    (CamelImapStore): Added server_level and has_status_capability
    members.

    * providers/imap/camel-imap-store.c (imap_connect): Detect
    IMAP4REV1, IMAP4 and STATUS in capability response.

    * providers/imap/camel-imap-folder.c
    (imap_get_message_count_internal): Use STATUS only if server
    supports it. TODO: Get message count when STATUS not supported.
    (imap_get_message, imap_get_summary_internal,
    imap_get_message_info_internal): Handle IMAP4 as well.
    (imap_protocol_get_summary_specifier): New function: Make a data
    item specifier for the header lines we need, appropriate to the
    server level.

2000-07-27  Peter Williams <peterw@helixcode.com>

    * camel-mime-utils.c (header_decode_lwsp): More
    checks for end of string.

    * providers/imap/camel-imap-store.c:
    (imap_command_extended): Free the elements of our
    array (huge mem leak)

    * providers/imap/camel-imap-folder.c:
    (summary_get_internal): Same as above.
    

2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
    Fixed my routine to only fetch new headers, my IDs were off by 1
    on the high end, so when it would fetch the last newly arrived
    message it would fail and end up fetching all of the summaries
    because of the corruption.

2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-url.c (camel_url_to_string): If the path doesn't begin
    with a / and there is a host, prepend a / to the path.

2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>
    
    * providers/imap/Makefile.am: Added camel-imap-utils.[c,h]
    
    * providers/imap/camel-imap-utils.[c,h]: Utilities for parsing
    server responses for use in both camel-imap-store.c and
    camel-imap-folder.c
    
    * providers/imap/camel-imap-folder.c (imap_get_summary_internal):
    Free all the pointers in the headers array.
    (imap_get_subfolder_names_internal): Updated to use
    imap_parse_list_response
    (imap_parse_subfolder_list): Removed in favor of
    imap_parse_list_response

    * providers/imap/camel-imap-store.c (camel_imap_command_extended):
    Free all the pointers in the data array.
    (imap_connect): Updated to use imap_parse_list_response and fixed
    a leak
    (folder_is_selectable): Updated.

2000-07-27  Jeffrey Stedfast  <fejj@helixcode.com>
    
    * providers/imap/camel-imap-folder.c (imap_get_message_info): Now
    uses a hash table for looking up message info rather than a linear
    search :)

2000-07-27  Peter Williams  <peterw@helixcode.com>

    * providers/*/Makefile.am: Don't specify SUBDIRS =
    [nothing]. Messes up distcheck.
    
2000-07-26  Peter Williams  <peterw@helixcode.com>
    
    * camel-mime-parser.c (folder_scan_init): Initialize
    outbuf to be "" -- it's not guaranteed to be zeroed.
    
    * camel-mime-utils.c (header_references_decode): Return
    if the header is NULL -> or "" <-. Don't do our stupid
    mailer trick if we point to \0.
    (header_decode_quoted_string): Don't rip past end of 
    string!
    
2000-07-26  Dan Winship  <danw@helixcode.com>

    * camel-movemail.c (movemail_external): routine to call an
    external movemail program.
    (camel_movemail): Nuke return value, use movemail_external when
    available and useful, and don't delete "dest" on errors, since
    it might have started non-empty.

2000-07-26  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-url.c (camel_url_to_string): Should now always prepend a '/'
    before the path if it doesn't already exist.

    * providers/imap/camel-imap-folder.c: Fixed a few compiler warnings

2000-07-25  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_summary_free): Fixed the
    real problem that Peter was running into.

2000-07-25  Dan Winship  <danw@helixcode.com>

    * camel-mime-message.c (write_to_stream): Don't add a Mime-Version
    header to a message that already has one.

    * camel-internet-address.c (internet_encode): Don't put <>s around
    addresses with no name part.

2000-07-25  Peter Williams  <peterw@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_expunge): Set 
    imap_folder->summary to NULL after calling imap_summary_free,
    so we don't get stuck with a junk summary pointer. Should
    we free it at all?

2000-07-25  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
    Optimized to try and get the new message headers without reloading
    the entire summary from scratch.
    (imap_get_summary_internal): Will now sync() before attempting to
    reload the summary so that flags are set in the reloaded summary
    as well.

2000-07-24  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (get_folder): Updated to give
    special attention to the root folder.

    * providers/imap/camel-imap-folder.c
    (imap_get_subfolder_names_internal): Updated to handle the root
    folder
    (imap_get_message_count_internal): return 0 if folder can't hold
    messages
    (camel_imap_folder_new): Change so that root folder gets special
    attention and always gets can_hold_messages set to FALSE

2000-07-24  Dan Winship  <danw@helixcode.com>

    * camel-folder.c: Remove exceptions from a number of methods that
    work on what ought to be static data: get_parent_folder,
    get_parent_store, get_message_count, get_unread_message_count,
    get_permanent_flags, get_message_flags, set_message_flags,
    get_message_user_flag, set_message_user_flag, get_uids,
    get_summary, get_subfolder_names. Turn camel_folder_delete_message
    into a macro. (Mostly a pull-up from the camel-async branch.)

    * providers/{imap,mbox,nntp,pop3,vee}: Update for CamelFolder
    changes

2000-07-24  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_message_info): Updated
    to port easily to the new Camel API
    (imap_init): Don't SELECT INBOX, we don't need to do that

2000-07-24  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (camel_imap_folder_new): 
    Initialize the summary and subfolder listing.
    (imap_summary_free): Now takes a GPtrArray arg rather than a 
    CamelImapFolder as it increases it's usefullness for free()'ing
    temporary summaries.
    (imap_get_message_count_internal): A new convenience function for
    getting the actual message count on a server to be used by 
    imap_get_summary_internal)
    (imap_get_message_count): Since the Camel API is on the move again, 
    the future version of this function will not be able to make a
    call to the store, it must only access previously fetched data (thus 
    the creation of the _internal function)
    (imap_get_subfolder_names_internal): Again, because the future version
    of imap_get_subfolder_names will not take an exception, we must rename
    this function which will be called by camel_imap_folder_new()
    (imap_get_subfolder_names): We now return the previously collected
    subfolder listing that the _internal function fetched previously
    (imap_get_summary_internal): Again, same idea as the previous _internal
    functions...
    (imap_get_summary): Again... now returns a previously aquired summary

    * providers/imap/camel-imap-store.c (imap_noop): This will hopefully
    prevent the imap store from disconnecting.
    (imap_connect): Modified to add a gtk timeout event that will call
    imap_noop() every 10 minutes (we may want to change this time value)
    (imap_disconnect): Modified to remove the NOOP timeout event from the
    store.
    (camel_imap_command_extended): Commented out the code that would try
    and detect if the store was disconnected and then reconnect if it was
    needed.

2000-07-24  Dan Winship  <danw@helixcode.com>

    * camel-folder.[ch]: Remove camel_folder_get_message_uid, which
    was not used, and not implemented by any provider.

    * providers/nntp/camel-nntp-folder.c: Remove get_message_uid
    non-implementation.

    * camel-folder-pt-proxy.[ch], camel-arg-collector.c,
    camel-marshal-utils.[ch]: Bye bye bye.

    * Makefile.am: remove reference to camel-arg-collector.c

2000-07-23  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (imap_disconnect): Made it a
    little more forgiving. Also set current_folder to NULL as there is
    no selected folder after a disconnect.
    (stream_is_alive): Detects whether or not a socket is "alive"
    (camel_imap_command_extended): Use stream_is_alive() to aid in the
    detection of a disconnected state.

2000-07-22  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (get_folder): Clear
    CamelExceptions when appropriate (eg when folder is marked as
    \NoSelect). Still needs some cleanup and perhaps Dan will have a
    better way of doing this as this seems like a messy way of
    handling this.

    * providers/imap/camel-imap-folder.c (imap_get_uids): Took out
    some debug statements as they are no longer needed.

2000-07-21  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_subfolder_names):
    Updated to not strip out subfolders that are marked as \NoSelect
    because this will be correctly handled in store->get_folder from
    now on.

    * providers/imap/camel-imap-store.c (folder_is_selectable): New
    convenience function for use in get_folder().
    (parse_list_response): Now takes a char **flags argument which is
    needed by folder_is_selectable().
    (imap_connect): Updated to reflect changes to
    parse_list_response().

2000-07-21  Jeffrey Stedfast  <fejj@helixcode.com>
    
    * providers/imap/camel-imap-stream.c (stream_read): Updated with
    some of the same fixes I've made to camel-imap-folder.c like
    recalculating message part lengths.

    * providers/imap/camel-imap-store.c (camel_imap_command_extended):
    Rewrote the code to check for "* %d RECENT". Still needs to be
    modified, but should no longer cause an infinite loop by detecting
    mis-detecting RECENT messages.

2000-07-20  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary):
    (imap_get_message_info): Oops. Fix UID parser to allow 0 and 9 to
    be in the range of valid UID chars.

2000-07-20  Peter Williams  <peterw@helixcode.com>

    * camel-object.c (camel_object_unref): Add a new global mutex
    'refcount' held when refcounting operations occur.

2000-07-19  Peter Williams  <peterw@helixcode.com>

    * camel-object.c (camel_type_lock_up): Correct the recursiveness;
    the locklevel is stored as a private, so each thread has its own
    idea of the locklevel. Thus one thread can relock, but a different
    one will think that it's a level 0 and try to lock the type_system
    mutex.

2000-07-19  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c: General cleanup working
    towards getting Actions->Expunge working correctly.

    * providers/imap/camel-imap-store.c
    (cammel_imap_command_extended): Added code to look for "* %d
    RECENT" and to emit the folder_changed signal if there are any
    recent messages. Note: this is a hack and needs to be rewritten
    badly.

2000-07-19  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary): If the
    folder's message count is not the same as the number of summaries,
    free the old summary and create a new summary.

2000-07-18  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c
    (camel_imap_folder_class_init): Added in
    imap_[g,s]et_message_user_flag() methods
    (imap_get_message_info): Rewrote to use the more efficient way of
    downloading summary information and also added a UID comparison so
    that if the UID requested doesn't match the UID received, it
    returns NULL.  FIXME: When the mailer gets NULL when it requested
    message info, it seems that it displays a row for that message and
    when you try and select the blank row, it segfaults.

    * providers/imap/camel-imap-store.c (get_folder): Oops, this
    should not be checking against "/", it should be checking against
    dir_sep.

    * providers/imap/camel-imap-folder.c (imap_parse_subfolder_line):
    Updated to trim out the leading namespace.
    (imap_get_subfolder_names): Let the subfolder parser trim the
    namespace off the folder name.

2000-07-17  Peter Williams  <peterw@helixcode.com>

    * camel-object.c (camel_type_lock_up): New function; the
    Camel type_system lock is now fakey-recursive, being controlled
    by a semaphore that goes up and down and is protected by another
    lock. Theoretically all we need is the lock on the semaphore,
    but this we catch exceptions "better" (by deadlocking).
    (camel_type_lock_down): Corresponding to above.
    (all functions): s,G_LOCK,camel_type_lock_up, etc.

2000-07-17  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (imap_disconnect): Send a
    "LOGOUT" command.

    * providers/imap/camel-imap-folder.c (imap_get_message): Hacks to
    get IMAP code to work with CommunigatePro and MS Exchange (and any
    other servers that send back a UID at the end of each FETCH inside
    of the main body of the message part).
    (imap_sync): Un-#if 0 the code that sets the flags on the IMAP
    server for messages that have changed. Oops, don't mask with
    DELETED to find out if the message has been answered ;-)
    (imap_expunge): sync before expunging.

2000-07-16  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c: All SELECT calls now pass
    a NULL folder argument to camel_imap_command_extended() since it's
    not needed.
    (imap_connect): Moved service_class->connect() to the point right
    after a connection is established with the server rather than
    waiting until the end of the function.
    (camel_imap_command): Updated the documentation comment
    (camel_imap_command_extended): Before sending a command, first
    check to make sure we are connected; if we aren't, then reconnect.
    Don't strncmp() command with "SELECT" as it's redundant.

    * providers/imap/camel-imap-folder.c: All SELECT calls now pass
    a NULL folder argument to camel_imap_command_extended() since it's
    not needed. Also s/camel_imap_command/camel_imap_command_extended as
    I will probably be doing away with camel_imap_command() or at least
    only using it for LOGIN and similar commands where the server won't
    notify us of any recent messages.

2000-07-15  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (camel_imap_folder_new): 
    One last fix to get rid of hard-coded "/" directory separators

2000-07-14  Peter Williams  <peterw@helixcode.com>

    * camel-object.c : Implement 'events', which are suspiciously
    like signals except without all the marshalling baggage, and
    with quasi-thread-safety.
    (camel_object_class_declare_event): New func.
    (camel_object_hook_event): Ditto.
    (camel_object_trigger_event): Ditto.
    (obj_class_init): Declare the "finalize" event.
    (obj_class_finalize): Free the hashtable of events->preps
    (obj_finalize): Free the hashtable of events->hooklists
    (camel_object_unref): Trigger the finalize event (ourselves,
    to prevent massively unpleasant looping things.)
    
2000-07-14  Peter Williams  <peterw@helixcode.com>
    
    * camel-object.c (make_global_classfuncs): Change to return
    a CamelObjectClass. Change parents to a GSList and free it
    when done.
    (camel_object_new): Don't allocate a classfuncs for every object;
    merely give it a reference to the global_classfuncs. Convert
    parents to a GSList and free it when done.
    (camel_object_unref): Don't free the classfuncs. Free the parents
    list, which is changed to a GSList.

2000-07-14  Jeffrey Stedfast  <fejj@helixcode.com>

    * string-utils.c (string_unquote): New convenience function
    to unquote a string if it's encapsulated by "'s
    
    * providers/imap/camel-imap-folder.c:
    * providers/imap/camel-imap-store.c: Made the necessary changes
    to stop using hard coded directory separators.

2000-07-13  Dan Winship  <danw@helixcode.com>

    * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_load):
    If the summary is for a smaller mbox, and rebuilding from the
    last-known end position fails, try rebuilding from the beginning.
    Deals with the case where the user edits the mbox and makes it
    bigger, without adding new messages.

2000-07-13  Peter Williams  <peterw@helixcode.com>

    * camel-object.c: Rewritten to not be based on GtkObject,
    but a tiny threadsafe ripoff thereof. Objects still cannot
    be shared across threads, but ref/unref/destroy/new/etc
    will work. Signals are not implemented because doing it
    robustly would be a major pain in the butt, but class
    functions are. There's a small demonstration that it doesn't
    crash in ./temp-test.c: build it with ./make-test.sh.
    * camel-stream.c, camel-seekable-stream.c, camel-stream-mem.c:
    moved over to CamelObject. Proof of concept: two levels of
    subclass and class functions, all working without coredumps.
    To port to CamelObject:
    - s,GTK_,CAMEL_,g in the cast checks
    - s,gtk_type_new,camel_object_new,g
    - s,GtkType,CamelType,g
    - Change get_type function over to camel_type_declare
    - instead of hooking to finalize function, it goes into the
      type declaration.
    - remove signals.
    - instead of GTK_OBJECT(so)->klass, CAMEL_OBJECT_GET_CLASS(so)
    - s,gtk_type_class,camel_type_get_global_classfuncs,g
    - don't chain finalize handlers; it will be done for you
    
2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c: 
    * providers/imap/camel-imap-store.c: If a SELECT fails, set
    imap_store->current_folder to NULL so a SELECT is forced before
    any message/folder operations are requested. Also, because some
    users don't use a namespace, make sure that if the url->path is 
    "/" we don't use it when creating the folder_path.
    (camel_imap_command[_extended]): Since we allow the passing of
    a NULL folder which we can use to bypass a forced SELECT, no need
    to check for the individual commands that don't require a folder
    to be selected.

2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c: 
    * providers/imap/camel-imap-store.c: Updated to use CAMEL_IMAP_OK, 
    CAMEL_IMAP_NO, CAMEL_IMAP_BAD, and CAMEL_IMAP_FAIL rather than the 
    ones copied from the POP3 provider. 

2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary): Oops.
    If the number of messages in the folder is 0, don't fetch
    summaries 1 thru 0, just return an empty summary.
    (imap_copy_message_to): Fixed to use message UID and also send
    the source folder as an arg to camel_imap_command rather than NULL.
    (imap_move_message_to): Same.
    (imap_init): If SELECT is successful, we need to set the current
    folder to the one selected, this was causing problems with move/copy

2000-07-13  Dan Winship  <danw@helixcode.com>

    * camel-service.h: define a set of CAMEL_SERVICE_URL_ALLOW_* flags
    parallel to the _NEED_* flags, and make the _NEED_* flags imply
    the _ALLOW_* ones.

    * providers/imap/camel-imap-store.c (camel_imap_store_init): imap
    urls ALLOW_PATH

2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary): New
    and improved approach to fetching an entire folder summary
    that should be much much faster than the old way as it gets
    the entire folder summary in 1 shot rather than requesting
    message by message. As with the last update, this version
    also only fetches the minimum number of header fields.
    (imap_get_summary): Oops, forgot to free the temp 
    GPtrArray *headers

2000-07-13  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary): Don't
    fetch the entire RFC822 header, just fetch the fields we want.
    (imap_get_message_info): Same.

2000-07-13  Not Zed  <NotZed@HelixCode.com>

    * camel-mime-filter-basic.c (camel_mime_filter_basic_new_type):
    Reset filter on setup.
    (reset): When resetting qp encoding, set the state to -1, instead
    of 0.

    * camel-mime-utils.c (quoted_encode_step): Actually count the
    characters output sofar (it never counted any).  Bunch of other
    fixes.
    (quoted_encode_close): Also flush out final character, if there's
    one.

2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

    Chris forgot to add #include <e-util/e-util.h> to the source files
    
    * providers/imap/camel-imap-store.c (imap_connect): Fixed Peter's 
    fix, we don't want to send a string to a %d.

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

    * camel-folder-search.c, providers/imap/camel-imap-store.c:
    Changed from strstrcase to e_strstrcase.

    * string-utils.c, string-utils.h: Removed strstrcase (in favor of
    e_strstrcase in e-util/e-util.c.)

2000-07-12  Chris Toshok  <toshok@helixcode.com>

    * providers/nntp/camel-nntp-folder.c
    (nntp_folder_set_message_flags): get the article num out of our
    uid and mark it read in the newsrc.
    (nntp_folder_get_message): get the message id out of the uid to
    fetch the article.

    * providers/nntp/camel-nntp-utils.c (get_XOVER_headers): the uid
    is now <article-num>,<messageid>
    (get_HEAD_headers): same.

    * camel-mime-parser.c (folder_scan_step): go to HSCAN_MESSAGE
    state when ct->subtype is "news" as well as "rfc822".  this makes
    attachments of type "message/news" display properly.

2000-07-12  Dan Winship  <danw@helixcode.com>

    * camel-folder.c (camel_folder_free_deep,
    camel_folder_free_shallow, camel_folder_free_nop): Useful default
    implementations for free_{uids,subfolder_names,summary}.
    (free_subfolder_names, free_uids): Make these g_warning-ing
    default implementations.

    * providers/*/camel-*-folder.c: Use the new functions where
    appropriate, remove duplicated code.

2000-07-12  Peter Williams  <peterw@helixcode.com>

    * providers/imap/camel-imap-store.c (query_auth_types): Check for
    NULL parameters when setting the exception so as to not crash on
    Solaris (can't handle a %s passed NULL).
    (imap_connect): Same.
    
2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/mbox/camel-mbox-folder.c (mbox_delete_message): Use
    mbox_set_message_flags () instead of setting the flags by hand. This
    fixes the problem of the "message_changed" signal not being emitted
    at the correct time.

    * providers/imap/camel-imap-folder.c: "folder_changed" signals should
    pass a third argument (which is ignored).

    * camel-folder.c: Undo gtk signal emits done in set_flags and 
    expunge.
    (move_message_to): 
    (copy_message_to): Create info as a const CamelMessageInfo

2000-07-12  Chris Toshok  <toshok@helixcode.com>

    * providers/nntp/Makefile.am: don't add test-newsrc to the build
    since it needs libcamel (which isn't built at the time test-newsrc
    needs linking.)

    * providers/nntp/camel-nntp-utils.c (get_HEAD_headers): fill in
    MessageInfo->message_id.
    (get_XOVER_headers): same.

    * providers/nntp/camel-nntp-folder.c (nntp_folder_init): move
    summary loading here.
    (nntp_folder_sync): summary/newsrc changes should be stored here.
    put a comment to that effect.
    (nntp_folder_set_message_flags): don't save the newsrc here.
    (nntp_folder_get_uids): use g_ptr_array_index instead of the
    cast/addition.
    (nntp_folder_get_summary): no need to check if we should generate
    the summary here.  already done.
    (nntp_folder_get_message_info): implement.

    * providers/nntp/camel-nntp-store.c
    (camel_nntp_store_get_toplevel_dir): use evolution_dir instead of
    computing it ourselves.
    (nntp_store_disconnect): call camel_nntp_newsrc_write.
    (ensure_news_dir_exists): new function to create the news/<news
    server> subdir.
    (camel_nntp_store_class_init): hook up connect/disconnect and
    finalize.
    (nntp_store_connect): if ensure_news_dir_exists fails throw an
    exception.

2000-07-12  Peter Williams  <peterw@helixcode.com>

    * camel-folder.c (camel_folder_set_message_flags): Emit a message_changed
    signal once the flags are set on the message.
    (camel_folder_set_user_flag): Ditto.
    (camel_folder_expunge): Emit a folder_changed if no exception.

2000-07-12  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-stream.c: Use size_t and ssize_t for read/write methods
    
    * providers/imap/camel-imap-folder.c (imap_set_message_flags): 
    Updated to emit the message_changed signal.
    (imap_delete_message): Updated to use imap_set_message_flags ().
    (imap_move_message_to): Updated to use imap_set_message_flags ()
    and to emit the folder_changed signal on the destination folder.
    (imap_copy_message_to): Updated to emit the folder_changed signal 
    on the destination folder.
    (imap_append_message): Updated to emit the folder_changed signal 
    on the destination folder.

2000-07-11  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-folder.c (camel_folder_append_message): Now takes a
    flags argument to specify the flags to be set on the message
    since we might not necessarily want the flags to be wiped clean.
    (move_message_to):
    (copy_message_to): Updated to send a flags argument to 
    append_message (); currently sends the original message's flags.

    * providers/mbox/camel-mbox-folder.c (mbox_append_message): 
    * providers/imap/camel-imap-folder.c (imap_append_message): 
    Updated.

2000-07-11  Dan Winship  <danw@helixcode.com>

    * camel-folder.c: Remove exceptions from a number of methods
    that work on what ought to be static data: get_parent_folder,
    get_parent_store, get_message_count, get_unread_message_count,
    get_permanent_flags, get_message_flags, set_message_flags,
    get_message_user_flag, set_message_user_flag, get_message_uid,
    get_uids, get_summary, get_subfolder_names. Turn
    camel_folder_delete_message into a macro.

    * providers/{mbox,pop3,vee}: Update for CamelFolder changes

    * providers/Makefile.am: Disable imap and nntp for now

2000-07-11  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_search_by_expression): 
    This shouldn't return NULL, it should return g_ptr_array_new ()
    so the mailer gets what it expects.

2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-folder-summary.c (camel_folder_summary_decode_string): 
    Oops, an unsigned integer can never be < 0

2000-07-10  Dan Winship  <danw@helixcode.com>

    * providers/vee/camel-vee-folder.c (vee_search_by_expression):
    Initialize a variable to make this not crash again. And fix a bug
    so it actually does something.

2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-folder-summary.c: Cleaned up a bunch of compile warnings

2000-07-10  Dan Winship  <danw@helixcode.com>

    * providers/vee: kill more debugging messages

2000-07-10  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/mbox/camel-mbox-folder.c (mbox_get_unread_message_count): 
    * providers/vee/camel-vee-folder.c (vee_get_unread_message_count): 
    * providers/imap/camel-imap-folder.c (imap_get_unread_message_count):
    Implemented.

    * camel-folder.c (camel_folder_get_unread_message_count): New
    convenience function to allow the mailer to query the number
    of unread messages in a folder (for displaying message stats
    in a folder tree?).

2000-07-09  Dan Winship  <danw@helixcode.com>

    * camel-mime-utils.c (header_references_dup): New function to copy
    a header_references structure.

    * camel-folder-summary.c (camel_message_info_dup_to): New function
    to (deep) copy the data from one CamelMessageInfo into another.
    (camel_message_info_free): And free the data.

    * providers/vee/camel-vee-folder.c (vee_sync): Implement. (empty).
    (vee_search_by_expression): belatedly update for
    camel_folder_search change.
    (vee_folder_build): belatedly update for camel_folder_search
    change. Use camel_message_info_dup_to and camel_message_info_free
    (in particular, so that we get message_id and references info so
    vfolders can be threaded).
    (vee_folder_build_folder): Ditto.

2000-07-08  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/nntp/camel-nntp-folder.c: 
    * providers/nntp/camel-nntp-utils.c: 
    * providers/nntp/camel-nntp-store.c: Update to reflect past changes
    in the Camel API. Use gtk macro casts wherever possible and use glib's
    memory functions instead of standard c's (since they are not 
    compatable)

    * providers/smtp/camel-smtp-transport.c: 
    * providers/imap/camel-imap-store.c: Wrap debug print statements
    in a macro

    * providers/imap/camel-imap-stream.c (stream_read): Make sure
    that we get up to and including the last \n of the mime part.

    * providers/imap/camel-imap-folder.c (imap_get_message): Make sure
    that we get up to and including the last \n of the mime part.
    Wrap debug print statements in a macro.

    * providers/imap/camel-imap-stream.c (stream_read): Only cache
    the important data (aka the mime part requested and no extra
    server response stuff)

2000-07-07  Dan Winship  <danw@helixcode.com>

    * camel-mime-utils.c (header_references_decode): Work around
    In-Reply-To's with unquoted punctuation. So many broken mailers.

    * camel-folder.c (camel_folder_search_by_expression): Make this
    return a GPtrArray rather than a GList.

    * camel-folder-search.c (camel_folder_search_execute_expression):
    * providers/imap/camel-imap-folder.c (imap_search_by_expression):
    * providers/mbox/camel-mbox-folder.c (mbox_search_by_expression):
    * providers/nntp/camel-nntp-folder.c (nntp_search_by_expression):
    Update to return a GPtrArray rather than a GList.

2000-07-07  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/smtp/camel-smtp-transport.c (esmtp_get_authtypes): 
    Fixed the parser to actually work

2000-07-06  Dan Winship  <danw@helixcode.com>

    * camel-mime-utils.c (header_references_decode): Make this deal
    with the full RFC822 References/In-Reply-To format rather than
    just the more-nicely-behaved RFC1036 version. (Needed to parse
    In-Reply-To headers with extra junk in them.)

2000-07-06  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary): Parse for
    more header information to allow message threading in IMAP.
    (imap_get_message_info): Same.

    * camel-folder-summary.c: Renamed summary_format_* to
    camel_summary_format_* and moved them into public scope.

    * providers/smtp/camel-smtp-transport.c (smtp_connect): Oops. Don't
    pass port # as a string in the error code (if it fails to connect).

    * providers/imap/camel-imap-folder.c (imap_append_message): Changed
    over to camel_imap_command_extended as that was the source of the
    problems - apparently appending replies with more than just 1 line.

2000-07-05  Dan Winship  <danw@helixcode.com>

    * camel-folder-search.c (search_header_contains): make header
    matching case-insensitive

    * camel-folder-summary.c:
    * camel-session.c:
    * providers/mbox/camel-mbox-folder.c:
    * providers/mbox/camel-mbox-summary.c: Remove some non-error case
    debugging-type messages.

2000-07-05  Ettore Perazzoli  <ettore@helixcode.com>

    * providers/mbox/camel-mbox-summary.c (d): Define to empty so that
    we get rid of a ton of debugging messages.

2000-07-05  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-mime-utils.h: Added prototype for uudecode_step

    * camel-mime-utils.c (uudecode_step): Cleaned up some junk that
    should have been cleaned up when debugging printf's were taken out.

2000-07-05  Ettore Perazzoli  <ettore@helixcode.com>

    * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_sync):
    Update the X-Evolution: header even if the in-memory UID and the
    saved UID are not the same.  Otherwise mboxes with clashing UIDs
    can never be fixed.

    * camel-folder-summary.c
    (camel_folder_summary_add_from_parser): Add the message to the
    summary before doing any ibex stuff.  In fact, this might also
    have the side effect of reassigning the UID so it needs to be done
    before we start using the UID.

    * providers/mbox/camel-mbox-folder.c (mbox_append_message): Add
    debugging message to keep track of the UIDs we add.

2000-07-05  Dan Winship  <danw@helixcode.com>

    * camel-folder-summary.c: Add "Cc" to summary and bump summary
    version number.

    * camel-folder-search.c (search_header_contains): make "Cc" a
    searchable header.

2000-07-03  Ettore Perazzoli  <ettore@helixcode.com>

    * camel-folder-summary.c (camel_folder_summary_next_uid_string):
    New.
    (camel_folder_summary_add): Use
    `camel_folder_summary_next_uid_string()' instead of recomputing
    the UID manually here.
    (camel_folder_summary_add_from_parser): Likewise.

2000-07-03  Ettore Perazzoli  <ettore@helixcode.com>

    * camel-folder-summary.c (camel_folder_summary_set_uid): Removed.

2000-07-03  Dan Winship  <danw@helixcode.com>

    * camel-folder-summary.c (message_info_new): Parse In-Reply-To
    with header_references_decode, not header_msgid_decode.

    * camel-mime-message.c (camel_mime_message_class_init): message
    headers are case-insensitive.

    * providers/pop3/camel-pop3-store.c (camel_pop3_command): Fix a
    bug in error-setting code.
    (pop3_connect): Don't re-prompt for password in the KPOP case.
    (pop3_get_response): New function, split out from
    camel_pop3_command.
    (connect_to_server): Use pop3_get_response to parse the greeting
    message, and error out appropriately if it's -ERR.

2000-07-02  Dan Winship  <danw@helixcode.com>

    * camel-folder.c (camel_folder_freeze, camel_folder_thaw): New
    functions to freeze and thaw a folder (to prevent message/folder
    changed signals in the middle of a long series of operations).
    (camel_folder_class_init): Change signals to GTK_RUN_FIRST.
    (message_changed, folder_changed): Add default implementations
    that stop the emission and record info for later if the folder is
    frozen.

    * providers/mbox/camel-mbox-folder.c (mbox_sync): leftover fixes
    from the close->sync change: don't destroy the ibex, summary, and
    search when syncing.
    (append_message): emit "folder_changed" on a successful append.

2000-07-02  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-mime-utils.c (uudecode_step): A rather complex uudecoder
    written in the spirit of Zucchi-ness, is it up to par? Only the 
    Z-man can tell us :-)

2000-07-01  Dan Winship  <danw@helixcode.com>

    * camel-service.c (camel_service_get_name): New method, to return
    an end-user-friendly name corresponding to a service. (eg, "POP
    service for danw on trna.helixcode.com").

    * providers/imap/camel-imap-store.c,
    providers/mbox/camel-mbox-store.c,
    providers/nntp/camel-nntp-store.c,
    providers/pop3/camel-pop3-store.c,
    providers/sendmail/camel-sendmail-transport.c,
    providers/smtp/camel-smtp-transport.c: Implement.

    * providers/imap/Makefile.am: remove unneeded
    libcamelimap_la_LDADD.

    * providers/pop3/camel-pop3-store.c (connect_to_server): fix the
    CAPA-parsing code to not get into an infinite loop.

2000-07-01  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_message): Fixed
    the bug that would sometimes leave part of the server response
    tacked on to the end of the message.

    * camel-folder.c: Renamed _by_uid methods. Since we no longer
    have get-by-number methods, no need to have the _by_uid 
    extensions. 
    (get_message_by_uid): Renamed to get_message
    (delete_message_by_uid): Renamed to delete_message
    (summary_get_by_uid): Renamed to get_message_info

    * providers/mbox/camel-mbox-folder.c: 
    * providers/pop3/camel-pop3-folder.c:
    * providers/imap/camel-imap-folder.c:
    * providers/vee/camel-vee-folder.c: Updated to reflect
    camel-folder changes.

2000-06-30  Jeffrey Stedfast  <fejj@helixcode.com>

    * camel-folder.c (camel_folder_copy_message_to): New function, to
    copy a message from one folder to another. The default
    implementation just uses append_message, but providers can 
    implement more efficient versions for use when both folders are on 
    the same store.

    * broken-date-parser.[c,h]: Utilities for parsing broken
    date strings.
    
    * providers/imap/camel-imap-folder.c (imap_move_message_to): 
    (imap_copy_message_to): Implemented.

    * camel-mime-utils.c (header_decode_date): Wrote some code to try
    and un-mangle broken date formats and then parse that new string 
    instead.

2000-06-30  Dan Winship  <danw@helixcode.com>

    * camel-folder.c (camel_folder_move_message_to): New function, to
    move a message from one folder to another. The default
    implementation just uses append_message and delete_message, but
    providers can implement more efficient versions for use when both
    folders are on the same store.

2000-06-29  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_expunge): Should now
    print a meaningful error message when it doesn't succeed

2000-06-28  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (imap_connect): Changed to
    keep prompting user for a valid password until it either
    authenticates or until Canceled by the user.
    (camel_imap_command_extended): Improved speed (replaced the
    g_strjoinv call with a faster implementation)

    * providers/pop3/camel-pop3-store.c 
    (camel_pop3_command_get_additional_data): Fixed.
    (pop3_connect): Changed to keep prompting the user for a
    password until it either works or until Canceled by the user.

    * providers/mbox/camel-mbox-summary.c: General cleanup
    (camel_mbox_summary_sync): Fixed a memory leak and added
    CamelException handling.

    * providers/mbox/camel-mbox-store.c (delete_folder): Fixed a 
    memory leak

    * providers/mbox/camel-mbox-folder.c (mbox_append_message): 
    Default 'off_t seek' to -1 so as to make sure it's initialized
    before it's used in the case of a bad stat() call.
    (mbox_sync): Updated
    (mbox_expunge): Updated

2000-06-27  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (imap_connect): Move the 
    CAPABILITY command here so we don't have to keep checking
    each time we open a folder.
    (camel_imap_command_extended): If we are doing an EXAMINE,
    don't bother doing a SELECT first.

    * providers/imap/camel-imap-folder.c (imap_init): Update so
    folder->has_search_capability depends on the parent IMAP store
    (since this is really dependant on the IMAP implementation and
    not the folder)

2000-06-27  Christopher James Lahey  <clahey@helixcode.com>

    * providers/smtp/camel-smtp-transport.c: Don't close the filter
    stream when done with it (this causes the source stream to close);
    Instead, just flush it when done.

2000-06-27  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

    * camel-folder-search.c (search_header_contains): Make header
    search 'to' match 'to', and not 'from', small typo, fixes #317.

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

    * providers/mbox/camel-mbox-summary.c: Added debugging
    information.

2000-06-23  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c: 
    * providers/imap/camel-imap-folder.c: Improved folder parsing.
    Not specifying a namespace should no longer list the entire
    filesystem.

2000-06-22  Chris Toshok  <toshok@helixcode.com>

    * providers/nntp/.cvsignore: ignore test-newsrc

    * providers/nntp/camel-nntp-store.c,
    providers/nntp/camel-nntp-store.h,
    providers/nntp/camel-nntp-folder.c,
    providers/nntp/camel-nntp-folder.h,
    providers/nntp/camel-nntp-utils.c: Bring the nntp provider up to a
    state where it builds and is usable with the current camel.  there
    are still warts (semi-broken .newsrc file handling, and a lack of
    a subscribe ui -- in fact no way to add a new server, really), but
    it'll display news messages.

    * providers/nntp/Makefile.am (libcamelnntp_la_SOURCES): add
    camel-nntp-newsrc.c
    (libcamelnntpinclude_HEADERS): add camel-nntp-newsrc.h
    also, add test-newsrc stuff.
    
    * providers/nntp/test-newsrc.c: new file that tests the newsrc
    stuff by parsing and regurgitating a .newsrc file for a particular
    server.

    * providers/nntp/camel-nntp-newsrc.c,
    providers/nntp/camel-nntp-newsrc.h: new files, initial support for .newsrc files.

2000-06-22  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_message_count): 
    Oops. Now appends the namespace to the folder before querying
    for the number of messages.

    * providers/imap/camel-imap-store.c (imap_folder_exists): New
    convenience function for use by imap_create().
    (get_folder): If folder is specified as "/", we really want
    "INBOX".

    * providers/sendmail/camel-sendmail-provider.c:
    * providers/vee/camel-vee-provider.c:
    * providers/smtp/camel-smtp-provider.c:
    * providers/mbox/camel-mbox-provider.c:
    * providers/pop3/camel-pop3-provider.c:
    * providers/imap/camel-imap-provider.c: Updated
    
    * camel-session.c: Moved service_cache hash table into the
    providers.
    (service_cache_remove): Updated.
    (camel_session_get_service): Updated.

    * camel-url.c (camel_url_hash): Took out the hashing of
    url->passwd. We don't want this anymore.

    * providers/imap/camel-imap-folder.c (imap_init): Took out
    references to 'namespace'
    (camel_imap_folder_init): Same

    * providers/imap/camel-imap-folder.h: No more namespace. We are
    instead going to use url->path as the namespace.

2000-06-21  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (imap_create): Modified to
    use the "namespace" (url->path) if it exists.

    * providers/imap/camel-imap-folder.c (imap_delete_message_by_uid):
    Now just sets the deleted flag on the summary rather than speaking 
    directly to the IMAP server. This is both faster and cleaner.

2000-06-21  Dan Winship  <danw@helixcode.com>

    * providers/pop3/camel-pop3-store.c (query_auth_types): Fix dumb
    bug.

2000-06-21  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_message_by_uid): 
    We are getting mail in IMAP now!! whoo-hoo!. Stripped out the 
    filtering so messages may have some dot-stuffing, but the 
    filtering can always be added back in later when we know it 
    works and isn't the problem.

2000-06-21  Peter Williams  <peterw@curious-george.helixcode.com>

    * providers/mbox/camel-mbox-folder.c (mbox_init): Use the basename
    of the mailbox so we don't get pathnames like ~/evolution/inbox///movemail.ibex

2000-06-21  Dan Winship  <danw@helixcode.com>

    * camel-folder-summary.c (message_info_new): Set date_received
    based on the first (most recent) "Received" header.

2000-06-20  Dan Winship  <danw@helixcode.com>

    * camel-mime-part.c (write_to_stream): flush the filter stream
    before unreffing it, so it will camel_mime_filter_complete.

    * camel-stream-filter.c (camel_stream_filter_class_init): Fix a
    braino so camel_stream_flush works here.

    * camel-stream-mem.c (stream_seek): Fix a bug that resulted in
    large attachments being silently dropped.

    * providers/pop3/camel-pop3-store.c
    (camel_pop3_command_get_additional_data): Don't use g_strjoinv
    here, since it is O(n^2) on the length of the output string, and
    we can do O(n).

    * camel-mime-part-utils.c
    (simple_data_wrapper_construct_from_parser): add a CRLF decoder
    after the QP/B64 decoder if it's text.

2000-06-20  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary): Only
    fetch the summary if the folder summary doesn't already exist.
    When the summary *does* exist, start fetching from 1, not 0.
    (imap_free_summary): Don't do anything here.
    (imap_finalize): Free the summary here instead of in
    imap_free_summary().
    (imap_set_message_flags): Implemented
    (imap_sync): Added code to set flags on messages that have had
    their flags changed (however I #if'd it out until we are more
    confidant in the IMAP code :)
    (imap_summary_get_by_uid): Now parese flags correctly.
    (imap_get_summary): Now parese flags correctly. Also correctly
    parses the UID correctly.

    * camel-url.c (check_equal): No need to check s1 if s2 is NULL
    (camel_url_equal): Don't check the passwd component of the url.

2000-06-20  Dan Winship  <danw@helixcode.com>

    * camel-folder-summary.c (camel_folder_summary_add): mark the
    message info with CAMEL_MESSAGE_FOLDER_FLAGGED if we change the
    uid, so the folder will know that it's dirty.

2000-06-20  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-store.c (camel_imap_command_extended): 
    Now returns the last line of data that the server sends back as
    well. This is needed for commands like SELECT (like Peter pointed
    out).
    (camel_imap_command): No longer checks for SELECT (no need)

    * providers/imap/camel-imap-folder.c: Added namespace stuff
    which we will need later on...
    (imap_parse_subfolder_line): Convenience function for use in
    get_subfolder_names()
    (imap_get_subfolder_names): Updated. Also changed it to use LIST
    instead of LSUB (temporary change).

2000-06-19  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (camel_imap_folder_init): Set
    summary equal to NULL.
    (imap_get_summary): Store the summary in the ImapFolder
    (imap_summary_get_by_uid): If we have a summary cache in the
    ImapFolder, first check to see if that message info is in the
    cached summary first, if not fetch it directly from the IMAP
    server and append it to the summary cache.
    (imap_get_message_flags): Don't free the message info that we get
    back from summary_get_by_uid as we don't want to be corrupting our
    cached summary.

2000-06-19  Peter Williams  <peterw@curious-george.helixcode.com>

    * providers/imap/camel-imap-store.c (camel_imap_command{,_extended}): When
    SELECT'ing a folder for an IMAP command, use _extended to grab the entire
    response (before we just used camel_imap_command and missed the OK codes)

2000-06-18  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_summary_get_by_uid): 
    Now gets the message flags as it should.
    (imap_get_summary): Same as imap_summary_get_by_uid
    (imap_get_permanent_flags): Return the permanent flags stored
    on the folder.
    (imap_get_message_flags): Return message flags associated with
    given uid. Note: we may want to somehow cache summary info so
    that we don't have to keep querying the IMAP provider in
    imap_summary_get_by_uid().

2000-06-17  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_free_summary): We were
    leaking memory - but not anymore!
    (imap_get_summary): We now get the UIDs and the beginnings of the
    code to get the message flags as well.

2000-06-17  Dan Winship  <danw@helixcode.com>

    * camel-mime-parser.c (folder_scan_header): Don't copy newlines
    into the parsed header text, and turn any number of tabs and
    spaces after a newline into a single space.

2000-06-17  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_init): Should now
    correctly do CAPABILITY.

2000-06-17  Dan Winship  <danw@helixcode.com>

    * providers/mbox/camel-mbox-summary.c: Add some debugging printfs
    when rebulding summary to help figure out why people's summaries
    are always being rebuilt.

2000-06-17  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_search_by_expression):
    Began to implement, need to get information on how to
    deconstruct @expression into an IMAP search expression and
    parse the results.
    (imap_init): Now queries the IMAP provider for CAPABILITY to
    determine if SEARCH is implemented or not.

    * providers/imap/imap.c: Removed - no longer a need to have
    this as an example for anyone interesting to help mecode IMAP
    support.
    
2000-06-16  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_sync): Added code
    to expunge if called for (still need to finish coding this).
    (imap_get_uids): Implemented.
    (imap_get_summary): Found a way to get the date
    (imap_summary_get_by_uid): Same.
    (imap_free_summary): Implemented.

    * string-utils.c (strstrcase): Fixed a compile warning

    * providers/imap/camel-imap-summary.c: Removed - we don't
    need a CamelImapSummary structure.

2000-06-16  Dan Winship  <danw@helixcode.com>

    Move flag handling from CamelMimeMessage to CamelFolder. This
    simplifies several flag-handling pieces of code in the mailer, and
    lets you change a message's flags without having to fetch the
    message body. It also means that fully-constructed
    CamelMimeMessages are now essentially constant, which will help
    simplify locking issues later since it means two threads
    interested in the same message can just work with separate copies
    of it.

    * camel-mime-message.h (struct _CamelMimeMessage): Removed flags
    and user_flags (moved to summary). Removed expunged and
    message_number which were unused. Removed message_uid and folder
    which are no longer needed in the new scheme.
    (struct CamelMimeMessageClass): Removed message_changed signal and
    get/set_message_number methods.

    * camel-mime-message.c: Updates for CamelMimeMessage changes.
    (camel_mime_message_get/set_flags,
    camel_mime_message_get/set_user_flag): Replaced with methods in
    CamelFolder.
    (camel_flag_get, camel_flag_set, camel_flag_list_size,
    camel_flag_list_free): Moved verbatim to camel-folder-summary.c
    
    * camel-folder.c (camel_folder_get/set_message_flags,
    camel_folder_get/set_message_user_flag): New methods (and
    corresponding useless default implementations)
    (camel_folder_class_init): add a message_changed signal

    * camel-folder-summary.c (camel_flag_get, camel_flag_set,
    camel_flag_list_size, camel_flag_list_free): Moved here from
    camel-mime-message.c

    * providers/mbox/camel-mbox-folder.c (message_changed): Removed.
    (mbox_get_message_flags, mbox_set_message_flags,
    mbox_get_message_user_flag, mbox_set_message_user_flag): Tweak
    summary bits as appropriate. (Functionality moved here from
    message_changed.)
    (mbox_get_message_by_uid): Update for CamelMimeMessage changes
    (less stuff to initialize).

    * providers/imap/camel-imap-folder.c (message_changed): Remove
    this. It was just copied from the mbox provider and doesn't deal
    with the real IMAP flag stuff anyway. (So there's currently no
    flag support in the IMAP provider.)
    (imap_get_message_by_uid): Update for CamelMimeMessage changes.

    * providers/vee/camel-vee-folder.c: (message_changed): Remove old
    one. Add a new one to listen for message_changed on each folder
    and re-emit message_changed signals that correspond to messages in
    the vfolder.
    (vee_get/set_message_flags, vee_get/set_message_user_flag): Proxy
    flag setting to the underlying real messages.
    (vee_append_message): Removed for now; there's no way to translate
    this into the new CamelMimeMessage/CamelFolder scheme, but (a)
    there's also no code which would ever call it and (b) we're
    probably going want a better interface than append_message for
    message drag and drop to work anyway. To be revisited.

2000-06-16  Dan Winship  <danw@helixcode.com>

    * camel-mime-utils.c (rfc2047_decode_word): 
    * camel-mime-part-utils.c (simple_data_wrapper_construct_from_parser): 
    * camel-folder-summary.c (summary_build_content_info): 
    KLUDGE! Since neither ETable nor GtkHTML supports UTF-8 yet,
    output ISO-8859-1 instead, so Ettore can read his Italian mail. :)
    This will be reverted later.

2000-06-15  Jeffrey Stedfast  <fejj@helixcode.com>

    * providers/imap/camel-imap-folder.c (imap_get_summary): Started to 
    implement - may want to use ENVELOPE instead of BODY.PEEK[HEADER]
    (imap_summary_get_by_uid): Started to code, I've got to find a way to 
    get the date in time_t format and also get the flags

    * string-utils.c (strstrcase): Added this convenience function - I
    know about strcasestr() but it's not portable.

2000-06-15  Dan Winship  <danw@helixco