diff --git a/build-mac/libetpan.xcodeproj/project.pbxproj b/build-mac/libetpan.xcodeproj/project.pbxproj index c547ea4..86e3878 100644 --- a/build-mac/libetpan.xcodeproj/project.pbxproj +++ b/build-mac/libetpan.xcodeproj/project.pbxproj @@ -8,228 +8,35 @@ /* Begin PBXBuildFile section */ 365DFFD215D1C93100F2DD85 /* xgmmsgid.c in Sources */ = {isa = PBXBuildFile; fileRef = 365DFFD115D1C93100F2DD85 /* xgmmsgid.c */; }; - 365DFFD915D1CF1800F2DD85 /* xgmmsgid.h in Headers */ = {isa = PBXBuildFile; fileRef = 365DFFD815D1CF1800F2DD85 /* xgmmsgid.h */; }; - 365DFFDB15D1CF6D00F2DD85 /* xgmmsgid.h in Headers */ = {isa = PBXBuildFile; fileRef = 365DFFDA15D1CF6D00F2DD85 /* xgmmsgid.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 365DFFDF15D1F2F800F2DD85 /* mailstream_cfstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 365DFFDE15D1F2F800F2DD85 /* mailstream_cfstream.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 365DFFE515D1F3CD00F2DD85 /* xgmlabels.h in Headers */ = {isa = PBXBuildFile; fileRef = 365DFFE415D1F3CD00F2DD85 /* xgmlabels.h */; settings = {ATTRIBUTES = (Public, ); }; }; C60E7B9A16C3809400A25BF4 /* enable.c in Sources */ = {isa = PBXBuildFile; fileRef = C60E7B9816C3809400A25BF4 /* enable.c */; }; - C60E7B9B16C3809500A25BF4 /* enable.h in Headers */ = {isa = PBXBuildFile; fileRef = C60E7B9916C3809400A25BF4 /* enable.h */; }; C60E7B9D16C3809C00A25BF4 /* enable.c in Sources */ = {isa = PBXBuildFile; fileRef = C60E7B9816C3809400A25BF4 /* enable.c */; }; C60E7B9E16C3809D00A25BF4 /* enable.c in Sources */ = {isa = PBXBuildFile; fileRef = C60E7B9816C3809400A25BF4 /* enable.c */; }; - C60E7BA016C380D300A25BF4 /* enable.h in Headers */ = {isa = PBXBuildFile; fileRef = C60E7B9F16C380D300A25BF4 /* enable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6451AFE1083D316003135FD /* mailimf_write.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA32105335BC0059C3BA /* mailimf_write.h */; }; - C6451AFF1083D316003135FD /* mhdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E913105335BC0059C3BA /* mhdriver_cached.h */; }; - C6451B001083D316003135FD /* mhdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E91A105335BC0059C3BA /* mhdriver_types.h */; }; - C6451B011083D316003135FD /* mailimap_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA14105335BC0059C3BA /* mailimap_types.h */; }; - C6451B021083D316003135FD /* annotatemore_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9FB105335BC0059C3BA /* annotatemore_sender.h */; }; - C6451B031083D316003135FD /* parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9CA105335BC0059C3BA /* parser.h */; }; - C6451B041083D316003135FD /* mailimap_extension.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA03105335BC0059C3BA /* mailimap_extension.h */; }; - C6451B051083D316003135FD /* mailmessage_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E975105335BC0059C3BA /* mailmessage_types.h */; }; - C6451B061083D316003135FD /* newsfeed_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9C8105335BC0059C3BA /* newsfeed_types.h */; }; - C6451B071083D316003135FD /* mailsmtp_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAB7105335BC0059C3BA /* mailsmtp_ssl.h */; }; - C6451B081083D316003135FD /* parser_rss20.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9D2105335BC0059C3BA /* parser_rss20.h */; }; - C6451B091083D316003135FD /* mailmbox_parse.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA53105335BC0059C3BA /* mailmbox_parse.h */; }; - C6451B0A1083D316003135FD /* mailimf.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA2D105335BC0059C3BA /* mailimf.h */; }; - C6451B0B1083D316003135FD /* mailstorage_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E97A105335BC0059C3BA /* mailstorage_types.h */; }; - C6451B0C1083D316003135FD /* date.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9BC105335BC0059C3BA /* date.h */; }; - C6451B0D1083D316003135FD /* mailimf_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA2F105335BC0059C3BA /* mailimf_types.h */; }; - C6451B0E1083D316003135FD /* mailsmtp.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAB1105335BC0059C3BA /* mailsmtp.h */; }; - C6451B0F1083D316003135FD /* feeddriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8A6105335BC0059C3BA /* feeddriver_types.h */; }; - C6451B101083D316003135FD /* mboxdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E901105335BC0059C3BA /* mboxdriver_types.h */; }; - C6451B111083D316003135FD /* newsnntp_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA92105335BC0059C3BA /* newsnntp_socket.h */; }; - C6451B121083D316003135FD /* mhdriver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E919105335BC0059C3BA /* mhdriver_tools.h */; }; - C6451B131083D316003135FD /* acl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9F5105335BC0059C3BA /* acl_types.h */; }; - C6451B141083D316003135FD /* parser_atom03.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9CC105335BC0059C3BA /* parser_atom03.h */; }; - C6451B151083D316003135FD /* mailthread_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E991105335BC0059C3BA /* mailthread_types.h */; }; - C6451B161083D316003135FD /* maildriver_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E96D105335BC0059C3BA /* maildriver_types_helper.h */; }; - C6451B171083D316003135FD /* imapdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8C9105335BC0059C3BA /* imapdriver_types.h */; }; - C6451B181083D316003135FD /* mboxdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8FC105335BC0059C3BA /* mboxdriver_cached_message.h */; }; - C6451B191083D316003135FD /* mailprivacy_tools_private.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9A8105335BC0059C3BA /* mailprivacy_tools_private.h */; }; - C6451B1A1083D316003135FD /* libetpan.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAC1105335BD0059C3BA /* libetpan.h */; }; - C6451B1B1083D316003135FD /* dbdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E897105335BC0059C3BA /* dbdriver_types.h */; }; - C6451B1C1083D316003135FD /* mailmime_write_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA7F105335BC0059C3BA /* mailmime_write_generic.h */; }; - C6451B1D1083D316003135FD /* maildirdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8D9105335BC0059C3BA /* maildirdriver.h */; }; - C6451B1E1083D316003135FD /* mailmbox.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA51105335BC0059C3BA /* mailmbox.h */; }; - C6451B1F1083D316003135FD /* mailimf_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA31105335BC0059C3BA /* mailimf_types_helper.h */; }; - C6451B201083D316003135FD /* nntpstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E93E105335BC0059C3BA /* nntpstorage.h */; }; - C6451B211083D316003135FD /* newsnntp.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA90105335BC0059C3BA /* newsnntp.h */; }; - C6451B221083D316003135FD /* annotatemore_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9FD105335BC0059C3BA /* annotatemore_types.h */; }; - C6451B231083D316003135FD /* maildriver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E969105335BC0059C3BA /* maildriver_tools.h */; }; - C6451B241083D316003135FD /* mboxdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8F8105335BC0059C3BA /* mboxdriver.h */; }; - C6451B251083D316003135FD /* imapdriver_tools_private.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8C8105335BC0059C3BA /* imapdriver_tools_private.h */; }; - C6451B261083D316003135FD /* maildirdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8E2105335BC0059C3BA /* maildirdriver_types.h */; }; - C6451B271083D316003135FD /* annotatemore.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9F7105335BC0059C3BA /* annotatemore.h */; }; - C6451B281083D316003135FD /* uidplus.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA1C105335BC0059C3BA /* uidplus.h */; }; - C6451B291083D316003135FD /* mailimap_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA16105335BC0059C3BA /* mailimap_types_helper.h */; }; - C6451B2A1083D316003135FD /* mailimap_keywords.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA08105335BC0059C3BA /* mailimap_keywords.h */; }; - C6451B2B1083D316003135FD /* mailprivacy_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9A7105335BC0059C3BA /* mailprivacy_tools.h */; }; - C6451B2C1083D316003135FD /* feeddriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8A5105335BC0059C3BA /* feeddriver_message.h */; }; - C6451B2D1083D316003135FD /* feeddriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8A3105335BC0059C3BA /* feeddriver.h */; }; - C6451B2E1083D316003135FD /* mboxstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E903105335BC0059C3BA /* mboxstorage.h */; }; - C6451B2F1083D316003135FD /* mailimap_extension_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA04105335BC0059C3BA /* mailimap_extension_types.h */; }; - C6451B301083D316003135FD /* uidplus_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA22105335BC0059C3BA /* uidplus_types.h */; }; - C6451B311083D316003135FD /* hotmailstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8B1105335BC0059C3BA /* hotmailstorage.h */; }; - C6451B321083D316003135FD /* mailsmtp_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAB5105335BC0059C3BA /* mailsmtp_socket.h */; }; - C6451B331083D316003135FD /* nntpdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E93C105335BC0059C3BA /* nntpdriver_types.h */; }; - C6451B341083D316003135FD /* mailengine.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E99F105335BC0059C3BA /* mailengine.h */; }; - C6451B351083D316003135FD /* mailpop3_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAA4105335BC0059C3BA /* mailpop3_ssl.h */; }; - C6451B361083D316003135FD /* mailmessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E971105335BC0059C3BA /* mailmessage.h */; }; - C6451B371083D316003135FD /* imapstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8CB105335BC0059C3BA /* imapstorage.h */; }; - C6451B381083D316003135FD /* mboxdriver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E900105335BC0059C3BA /* mboxdriver_tools.h */; }; - C6451B391083D316003135FD /* data_message_driver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E889105335BC0059C3BA /* data_message_driver.h */; }; - C6451B3A1083D316003135FD /* maildir.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA42105335BC0059C3BA /* maildir.h */; }; - C6451B3B1083D316003135FD /* mailimap_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA0E105335BC0059C3BA /* mailimap_sender.h */; }; - C6451B3C1083D316003135FD /* mailprivacy_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9A9105335BC0059C3BA /* mailprivacy_types.h */; }; - C6451B3D1083D316003135FD /* newsnntp_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA95105335BC0059C3BA /* newsnntp_types.h */; }; - C6451B3E1083D316003135FD /* dbdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E894105335BC0059C3BA /* dbdriver.h */; }; - C6451B3F1083D316003135FD /* mailimap_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA10105335BC0059C3BA /* mailimap_socket.h */; }; - C6451B401083D316003135FD /* mailmh.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA5F105335BC0059C3BA /* mailmh.h */; }; - C6451B411083D316003135FD /* generic_cache.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E98A105335BC0059C3BA /* generic_cache.h */; }; - C6451B421083D316003135FD /* imapdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8C5105335BC0059C3BA /* imapdriver_message.h */; }; - C6451B431083D316003135FD /* generic_cache_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E98B105335BC0059C3BA /* generic_cache_types.h */; }; - C6451B441083D316003135FD /* mailmime_decode.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA74105335BC0059C3BA /* mailmime_decode.h */; }; - C6451B451083D316003135FD /* maildriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E966105335BC0059C3BA /* maildriver.h */; }; - C6451B461083D316003135FD /* mailmime_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA78105335BC0059C3BA /* mailmime_types.h */; }; - C6451B471083D316003135FD /* maildirstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8E4105335BC0059C3BA /* maildirstorage.h */; }; - C6451B481083D316003135FD /* acl_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9F3105335BC0059C3BA /* acl_sender.h */; }; - C6451B491083D316003135FD /* nntpdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E939105335BC0059C3BA /* nntpdriver_message.h */; }; - C6451B4A1083D316003135FD /* parser_rdf.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9D0105335BC0059C3BA /* parser_rdf.h */; }; - C6451B4B1083D316003135FD /* mhdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E915105335BC0059C3BA /* mhdriver_cached_message.h */; }; - C6451B4C1083D316003135FD /* mailfolder.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E96F105335BC0059C3BA /* mailfolder.h */; }; - C6451B4D1083D316003135FD /* mailstorage_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E979105335BC0059C3BA /* mailstorage_tools.h */; }; - C6451B4E1083D316003135FD /* uidplus_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA20105335BC0059C3BA /* uidplus_sender.h */; }; - C6451B4F1083D316003135FD /* newsfeed_private.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9C7105335BC0059C3BA /* newsfeed_private.h */; }; - C6451B501083D316003135FD /* feedstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8A8105335BC0059C3BA /* feedstorage.h */; }; - C6451B511083D316003135FD /* mhstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E91C105335BC0059C3BA /* mhstorage.h */; }; - C6451B521083D316003135FD /* imapdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8C1105335BC0059C3BA /* imapdriver_cached.h */; }; - C6451B531083D316003135FD /* mailimf_write_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA38105335BC0059C3BA /* mailimf_write_mem.h */; }; - C6451B541083D316003135FD /* mboxdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8FA105335BC0059C3BA /* mboxdriver_cached.h */; }; - C6451B551083D316003135FD /* acl_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9F1105335BC0059C3BA /* acl_parser.h */; }; - C6451B561083D316003135FD /* mailsmtp_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAB8105335BC0059C3BA /* mailsmtp_types.h */; }; - C6451B571083D316003135FD /* uidplus_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA1E105335BC0059C3BA /* uidplus_parser.h */; }; - C6451B581083D316003135FD /* newsfeed_item_enclosure.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9C5105335BC0059C3BA /* newsfeed_item_enclosure.h */; }; - C6451B591083D316003135FD /* acl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9EF105335BC0059C3BA /* acl.h */; }; - C6451B5A1083D316003135FD /* nntpdriver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E93B105335BC0059C3BA /* nntpdriver_tools.h */; }; - C6451B5B1083D316003135FD /* maildirdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8DD105335BC0059C3BA /* maildirdriver_cached_message.h */; }; - C6451B5C1083D316003135FD /* mailprivacy.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9A1105335BC0059C3BA /* mailprivacy.h */; }; - C6451B5D1083D316003135FD /* mailimap_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA0A105335BC0059C3BA /* mailimap_parser.h */; }; - C6451B5E1083D316003135FD /* dbdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E896105335BC0059C3BA /* dbdriver_message.h */; }; - C6451B5F1083D316003135FD /* mailmbox_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA55105335BC0059C3BA /* mailmbox_types.h */; }; - C6451B601083D316003135FD /* pop3storage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E957105335BC0059C3BA /* pop3storage.h */; }; - C6451B611083D316003135FD /* imapdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8BF105335BC0059C3BA /* imapdriver.h */; }; - C6451B621083D316003135FD /* pop3driver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E954105335BC0059C3BA /* pop3driver_tools.h */; }; - C6451B631083D316003135FD /* newsnntp_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA94105335BC0059C3BA /* newsnntp_ssl.h */; }; - C6451B641083D316003135FD /* mhdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E917105335BC0059C3BA /* mhdriver_message.h */; }; - C6451B651083D316003135FD /* mailimf_write_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA36105335BC0059C3BA /* mailimf_write_generic.h */; }; - C6451B661083D316003135FD /* imapdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8C3105335BC0059C3BA /* imapdriver_cached_message.h */; }; - C6451B671083D316003135FD /* mailpop3_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAA5105335BC0059C3BA /* mailpop3_types.h */; }; - C6451B681083D316003135FD /* mailimap_print.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA0C105335BC0059C3BA /* mailimap_print.h */; }; - C6451B691083D316003135FD /* annotatemore_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9F9105335BC0059C3BA /* annotatemore_parser.h */; }; - C6451B6A1083D316003135FD /* idle.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9FF105335BC0059C3BA /* idle.h */; }; - C6451B6B1083D316003135FD /* mailpop3.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA9E105335BC0059C3BA /* mailpop3.h */; }; - C6451B6C1083D316003135FD /* mailmime.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA70105335BC0059C3BA /* mailmime.h */; }; - C6451B6D1083D316003135FD /* mailmessage_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E973105335BC0059C3BA /* mailmessage_tools.h */; }; - C6451B6E1083D316003135FD /* pop3driver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E952105335BC0059C3BA /* pop3driver_message.h */; }; - C6451B6F1083D316003135FD /* mboxdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8FE105335BC0059C3BA /* mboxdriver_message.h */; }; - C6451B701083D316003135FD /* maildirdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8DF105335BC0059C3BA /* maildirdriver_message.h */; }; - C6451B711083D316003135FD /* pop3driver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E94E105335BC0059C3BA /* pop3driver_cached.h */; }; - C6451B721083D316003135FD /* dbstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E899105335BC0059C3BA /* dbstorage.h */; }; - C6451B731083D316003135FD /* mailimf_write_file.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA34105335BC0059C3BA /* mailimf_write_file.h */; }; - C6451B741083D316003135FD /* newsfeed_item.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9C3105335BC0059C3BA /* newsfeed_item.h */; }; - C6451B751083D316003135FD /* mhdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E911105335BC0059C3BA /* mhdriver.h */; }; - C6451B761083D316003135FD /* mailmime_disposition.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA76105335BC0059C3BA /* mailmime_disposition.h */; }; - C6451B771083D316003135FD /* maildriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E96B105335BC0059C3BA /* maildriver_types.h */; }; - C6451B781083D316003135FD /* mailmime_write_file.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA7D105335BC0059C3BA /* mailmime_write_file.h */; }; - C6451B791083D316003135FD /* mailmime_write_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA81105335BC0059C3BA /* mailmime_write_mem.h */; }; - C6451B7A1083D316003135FD /* nntpdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E937105335BC0059C3BA /* nntpdriver_cached_message.h */; }; - C6451B7B1083D316003135FD /* mailprivacy_gnupg.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9A3105335BC0059C3BA /* mailprivacy_gnupg.h */; }; - C6451B7C1083D316003135FD /* mailmime_write.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA7B105335BC0059C3BA /* mailmime_write.h */; }; - C6451B7D1083D316003135FD /* parser_atom10.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9CE105335BC0059C3BA /* parser_atom10.h */; }; - C6451B7E1083D316003135FD /* mailsmtp_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAB3105335BC0059C3BA /* mailsmtp_helper.h */; }; - C6451B7F1083D316003135FD /* mailmime_content.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA72105335BC0059C3BA /* mailmime_content.h */; }; - C6451B801083D316003135FD /* mailprivacy_smime.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9A5105335BC0059C3BA /* mailprivacy_smime.h */; }; - C6451B811083D316003135FD /* mailimap.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA01105335BC0059C3BA /* mailimap.h */; }; - C6451B821083D316003135FD /* mailimap_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA12105335BC0059C3BA /* mailimap_ssl.h */; }; - C6451B831083D316003135FD /* nntpdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E933105335BC0059C3BA /* nntpdriver.h */; }; - C6451B841083D316003135FD /* mailpop3_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAA0105335BC0059C3BA /* mailpop3_helper.h */; }; - C6451B851083D316003135FD /* mailimap_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA06105335BC0059C3BA /* mailimap_helper.h */; }; - C6451B861083D316003135FD /* mailpop3_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EAA2105335BC0059C3BA /* mailpop3_socket.h */; }; - C6451B871083D316003135FD /* imapdriver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8C7105335BC0059C3BA /* imapdriver_tools.h */; }; - C6451B881083D316003135FD /* maildirdriver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8E1105335BC0059C3BA /* maildirdriver_tools.h */; }; - C6451B891083D316003135FD /* maildirdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E8DB105335BC0059C3BA /* maildirdriver_cached.h */; }; - C6451B8A1083D316003135FD /* pop3driver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E955105335BC0059C3BA /* pop3driver_types.h */; }; - C6451B8B1083D316003135FD /* mailthread.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E98F105335BC0059C3BA /* mailthread.h */; }; - C6451B8C1083D316003135FD /* maildriver_errors.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E967105335BC0059C3BA /* maildriver_errors.h */; }; - C6451B8D1083D316003135FD /* mailmime_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA7A105335BC0059C3BA /* mailmime_types_helper.h */; }; - C6451B8E1083D316003135FD /* imfcache.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E98D105335BC0059C3BA /* imfcache.h */; }; - C6451B8F1083D316003135FD /* maildir_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9EA43105335BC0059C3BA /* maildir_types.h */; }; - C6451B901083D316003135FD /* nntpdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E935105335BC0059C3BA /* nntpdriver_cached.h */; }; - C6451B911083D316003135FD /* mime_message_driver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E925105335BC0059C3BA /* mime_message_driver.h */; }; - C6451B921083D316003135FD /* mailstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E977105335BC0059C3BA /* mailstorage.h */; }; - C6451B931083D316003135FD /* pop3driver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E94C105335BC0059C3BA /* pop3driver.h */; }; - C6451B941083D316003135FD /* newsfeed.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E9C1105335BC0059C3BA /* newsfeed.h */; }; - C6451B951083D316003135FD /* pop3driver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E950105335BC0059C3BA /* pop3driver_cached_message.h */; }; - C6451B961083D34C003135FD /* mmapstring_private.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E87D105335BC0059C3BA /* mmapstring_private.h */; }; - C6451B971083D34C003135FD /* timeutils.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E87F105335BC0059C3BA /* timeutils.h */; }; - C6451B981083D34C003135FD /* mailstream_cancel.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E869105335BC0059C3BA /* mailstream_cancel.h */; }; - C6451B991083D34C003135FD /* mmapstring.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E87C105335BC0059C3BA /* mmapstring.h */; }; - C6451B9A1083D34C003135FD /* mailstream_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E872105335BC0059C3BA /* mailstream_ssl.h */; }; - C6451B9B1083D34C003135FD /* connect.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E85A105335BC0059C3BA /* connect.h */; }; - C6451B9C1083D34C003135FD /* mail_cache_db.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E85E105335BC0059C3BA /* mail_cache_db.h */; }; - C6451B9D1083D34C003135FD /* mailsasl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E863105335BC0059C3BA /* mailsasl.h */; }; - C6451B9E1083D34C003135FD /* base64.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E850105335BC0059C3BA /* base64.h */; }; - C6451B9F1083D34C003135FD /* mailstream_ssl_private.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E873105335BC0059C3BA /* mailstream_ssl_private.h */; }; - C6451BA01083D34C003135FD /* chash.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E856105335BC0059C3BA /* chash.h */; }; - C6451BA11083D34C003135FD /* hmac-md5.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E85B105335BC0059C3BA /* hmac-md5.h */; }; - C6451BA21083D34C003135FD /* mailstream.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E867105335BC0059C3BA /* mailstream.h */; }; - C6451BA31083D34C003135FD /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E879105335BC0059C3BA /* md5.h */; }; - C6451BA41083D34C003135FD /* mailstream_low.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E86E105335BC0059C3BA /* mailstream_low.h */; }; - C6451BA51083D34C003135FD /* mailstream_cancel_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E86A105335BC0059C3BA /* mailstream_cancel_types.h */; }; - C6451BA61083D34C003135FD /* charconv.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E854105335BC0059C3BA /* charconv.h */; }; - C6451BA71083D34C003135FD /* mailstream_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E870105335BC0059C3BA /* mailstream_socket.h */; }; - C6451BA81083D34C003135FD /* mail_cache_db_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E85F105335BC0059C3BA /* mail_cache_db_types.h */; }; - C6451BA91083D34C003135FD /* md5global.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E87A105335BC0059C3BA /* md5global.h */; }; - C6451BAA1083D34C003135FD /* clist.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E858105335BC0059C3BA /* clist.h */; }; - C6451BAB1083D34C003135FD /* mail.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E85C105335BC0059C3BA /* mail.h */; }; - C6451BAC1083D34C003135FD /* mailstream_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E86C105335BC0059C3BA /* mailstream_helper.h */; }; - C6451BAD1083D34C003135FD /* maillock.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E861105335BC0059C3BA /* maillock.h */; }; - C6451BAE1083D34C003135FD /* carray.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E852105335BC0059C3BA /* carray.h */; }; - C6451BAF1083D34C003135FD /* mailsem.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E865105335BC0059C3BA /* mailsem.h */; }; - C6451BB01083D34C003135FD /* mailstream_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F9E874105335BC0059C3BA /* mailstream_types.h */; }; C64EA7B716A00CA700778456 /* xgmmsgid.c in Sources */ = {isa = PBXBuildFile; fileRef = 365DFFD115D1C93100F2DD85 /* xgmmsgid.c */; }; C64EA7B816A00CA700778456 /* xgmmsgid.c in Sources */ = {isa = PBXBuildFile; fileRef = 365DFFD115D1C93100F2DD85 /* xgmmsgid.c */; }; C64EA7C116A00CC500778456 /* mailimap_id_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7B916A00CC100778456 /* mailimap_id_parser.c */; }; C64EA7C216A00CC500778456 /* mailimap_id_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7B916A00CC100778456 /* mailimap_id_parser.c */; }; C64EA7C316A00CC500778456 /* mailimap_id_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7B916A00CC100778456 /* mailimap_id_parser.c */; }; - C64EA7C416A00CC500778456 /* mailimap_id_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C64EA7BA16A00CC100778456 /* mailimap_id_parser.h */; }; C64EA7C516A00CC500778456 /* mailimap_id_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BB16A00CC200778456 /* mailimap_id_sender.c */; }; C64EA7C616A00CC500778456 /* mailimap_id_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BB16A00CC200778456 /* mailimap_id_sender.c */; }; C64EA7C716A00CC500778456 /* mailimap_id_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BB16A00CC200778456 /* mailimap_id_sender.c */; }; - C64EA7C816A00CC500778456 /* mailimap_id_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C64EA7BC16A00CC200778456 /* mailimap_id_sender.h */; }; C64EA7C916A00CC500778456 /* mailimap_id_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BD16A00CC200778456 /* mailimap_id_types.c */; }; C64EA7CA16A00CC500778456 /* mailimap_id_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BD16A00CC200778456 /* mailimap_id_types.c */; }; C64EA7CB16A00CC500778456 /* mailimap_id_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BD16A00CC200778456 /* mailimap_id_types.c */; }; - C64EA7CC16A00CC500778456 /* mailimap_id_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C64EA7BE16A00CC300778456 /* mailimap_id_types.h */; }; C64EA7CD16A00CC500778456 /* mailimap_id.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BF16A00CC300778456 /* mailimap_id.c */; }; C64EA7CE16A00CC500778456 /* mailimap_id.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BF16A00CC300778456 /* mailimap_id.c */; }; C64EA7CF16A00CC500778456 /* mailimap_id.c in Sources */ = {isa = PBXBuildFile; fileRef = C64EA7BF16A00CC300778456 /* mailimap_id.c */; }; - C64EA7D016A00CC500778456 /* mailimap_id.h in Headers */ = {isa = PBXBuildFile; fileRef = C64EA7C016A00CC500778456 /* mailimap_id.h */; }; - C6516B6A130DD667004ADD56 /* namespace.h in Headers */ = {isa = PBXBuildFile; fileRef = C6516B69130DD667004ADD56 /* namespace.h */; }; C65179E5130E84BD004ADD56 /* namespace.c in Sources */ = {isa = PBXBuildFile; fileRef = C65179E4130E84BD004ADD56 /* namespace.c */; }; C65179E7130E84BD004ADD56 /* namespace.c in Sources */ = {isa = PBXBuildFile; fileRef = C65179E4130E84BD004ADD56 /* namespace.c */; }; C65179F2130E85CA004ADD56 /* namespace_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C65179F1130E85CA004ADD56 /* namespace_parser.c */; }; - C65179F4130E85CA004ADD56 /* namespace_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C65179F0130E85CA004ADD56 /* namespace_parser.h */; }; C65179F5130E85CA004ADD56 /* namespace_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C65179F1130E85CA004ADD56 /* namespace_parser.c */; }; - C6517A07130E86C6004ADD56 /* namespace_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6517A05130E86C6004ADD56 /* namespace_types.h */; }; C6517A08130E86C6004ADD56 /* namespace_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C6517A06130E86C6004ADD56 /* namespace_types.c */; }; C6517A0A130E86C6004ADD56 /* namespace_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C6517A06130E86C6004ADD56 /* namespace_types.c */; }; - C6517A0D130E86D3004ADD56 /* namespace_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C6517A0B130E86D3004ADD56 /* namespace_sender.h */; }; C6517A0E130E86D3004ADD56 /* namespace_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C6517A0C130E86D3004ADD56 /* namespace_sender.c */; }; C6517A10130E86D3004ADD56 /* namespace_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C6517A0C130E86D3004ADD56 /* namespace_sender.c */; }; + C6635C3A16DFF10E0066276E /* condstore_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C6635C3616DFF10E0066276E /* condstore_types.c */; }; + C6635C3B16DFF10E0066276E /* condstore.c in Sources */ = {isa = PBXBuildFile; fileRef = C6635C3816DFF10E0066276E /* condstore.c */; }; C6667DEF1342ACCD00969A8E /* xlist.c in Sources */ = {isa = PBXBuildFile; fileRef = C6667DED1342ACCD00969A8E /* xlist.c */; }; - C6667DF01342ACCD00969A8E /* xlist.h in Headers */ = {isa = PBXBuildFile; fileRef = C6667DEE1342ACCD00969A8E /* xlist.h */; settings = {ATTRIBUTES = (Public, ); }; }; C6667DF11342ACCD00969A8E /* xlist.c in Sources */ = {isa = PBXBuildFile; fileRef = C6667DED1342ACCD00969A8E /* xlist.c */; }; - C682E21A15B315EF00BE9DA7 /* libetpan in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6DC67A71083CDB700FA050B /* libetpan */; }; C682E21C15B315EF00BE9DA7 /* acl.c in Sources */ = {isa = PBXBuildFile; fileRef = C6F9E9EE105335BC0059C3BA /* acl.c */; }; C682E21D15B315EF00BE9DA7 /* acl_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C6F9E9F0105335BC0059C3BA /* acl_parser.c */; }; C682E21E15B315EF00BE9DA7 /* acl_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C6F9E9F2105335BC0059C3BA /* acl_sender.c */; }; @@ -390,15 +197,6 @@ C682E2B915B315EF00BE9DA7 /* xlist.c in Sources */ = {isa = PBXBuildFile; fileRef = C6667DED1342ACCD00969A8E /* xlist.c */; }; C682E2BA15B315EF00BE9DA7 /* mailstream_cfstream.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EFB8761433F1F300F805C0 /* mailstream_cfstream.c */; }; C682E2BB15B315EF00BE9DA7 /* xgmlabels.c in Sources */ = {isa = PBXBuildFile; fileRef = C6CE9B1514AA9C8900D20BA6 /* xgmlabels.c */; }; - C68C6206130FFE7E00F16728 /* namespace_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C61FE130FFE7E00F16728 /* namespace_parser.h */; }; - C68C6207130FFE7E00F16728 /* namespace_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C61FF130FFE7E00F16728 /* namespace_sender.h */; }; - C68C6208130FFE7E00F16728 /* namespace_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C6200130FFE7E00F16728 /* namespace_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C68C6209130FFE7E00F16728 /* namespace.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C6201130FFE7E00F16728 /* namespace.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C68C620A130FFE7E00F16728 /* quota_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C6202130FFE7E00F16728 /* quota_parser.h */; }; - C68C620B130FFE7E00F16728 /* quota_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C6203130FFE7E00F16728 /* quota_sender.h */; }; - C68C620C130FFE7E00F16728 /* quota_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C6204130FFE7E00F16728 /* quota_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C68C620D130FFE7E00F16728 /* quota.h in Headers */ = {isa = PBXBuildFile; fileRef = C68C6205130FFE7E00F16728 /* quota.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C69AB0411054298E00F32FBD /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = C69AAFB51054298E00F32FBD /* config.h */; settings = {ATTRIBUTES = (); }; }; C69AB1981054704000F32FBD /* acl.c in Sources */ = {isa = PBXBuildFile; fileRef = C6F9E9EE105335BC0059C3BA /* acl.c */; }; C69AB19A1054704000F32FBD /* acl_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C6F9E9F0105335BC0059C3BA /* acl_parser.c */; }; C69AB19C1054704000F32FBD /* acl_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C6F9E9F2105335BC0059C3BA /* acl_sender.c */; }; @@ -550,158 +348,15 @@ C69AB2DE1054704000F32FBD /* uidplus_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C6F9EA21105335BC0059C3BA /* uidplus_types.c */; }; C69AD25F14AB2062003D04D5 /* xgmlabels.c in Sources */ = {isa = PBXBuildFile; fileRef = C6CE9B1514AA9C8900D20BA6 /* xgmlabels.c */; }; C6CE9B1614AA9C8B00D20BA6 /* xgmlabels.c in Sources */ = {isa = PBXBuildFile; fileRef = C6CE9B1514AA9C8900D20BA6 /* xgmlabels.c */; }; - C6DC671C1083CDA000FA050B /* acl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66931083CDA000FA050B /* acl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC671D1083CDA000FA050B /* acl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66941083CDA000FA050B /* acl_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC671E1083CDA000FA050B /* annotatemore.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66951083CDA000FA050B /* annotatemore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC671F1083CDA000FA050B /* annotatemore_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66961083CDA000FA050B /* annotatemore_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67201083CDA000FA050B /* carray.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66971083CDA000FA050B /* carray.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67211083CDA000FA050B /* charconv.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66981083CDA000FA050B /* charconv.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67221083CDA000FA050B /* chash.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66991083CDA000FA050B /* chash.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67231083CDA000FA050B /* clist.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC669A1083CDA000FA050B /* clist.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67241083CDA000FA050B /* data_message_driver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC669B1083CDA000FA050B /* data_message_driver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67251083CDA000FA050B /* dbdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC669C1083CDA000FA050B /* dbdriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67261083CDA000FA050B /* dbdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC669D1083CDA000FA050B /* dbdriver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67271083CDA000FA050B /* dbdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC669E1083CDA000FA050B /* dbdriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67281083CDA000FA050B /* dbstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC669F1083CDA000FA050B /* dbstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67291083CDA000FA050B /* feeddriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A01083CDA000FA050B /* feeddriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC672A1083CDA000FA050B /* feeddriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A11083CDA000FA050B /* feeddriver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC672B1083CDA000FA050B /* feeddriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A21083CDA000FA050B /* feeddriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC672C1083CDA000FA050B /* feedstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A31083CDA000FA050B /* feedstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC672D1083CDA000FA050B /* generic_cache_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A41083CDA000FA050B /* generic_cache_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC672E1083CDA000FA050B /* hotmailstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A51083CDA000FA050B /* hotmailstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC672F1083CDA000FA050B /* idle.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A61083CDA000FA050B /* idle.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67301083CDA000FA050B /* imapdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A71083CDA000FA050B /* imapdriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67311083CDA000FA050B /* imapdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A81083CDA000FA050B /* imapdriver_cached.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67321083CDA000FA050B /* imapdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66A91083CDA000FA050B /* imapdriver_cached_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67331083CDA000FA050B /* imapdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66AA1083CDA000FA050B /* imapdriver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67341083CDA000FA050B /* imapdriver_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66AB1083CDA000FA050B /* imapdriver_tools.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67351083CDA000FA050B /* imapdriver_tools_private.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66AC1083CDA000FA050B /* imapdriver_tools_private.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67361083CDA000FA050B /* imapdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66AD1083CDA000FA050B /* imapdriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67371083CDA000FA050B /* imapstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66AE1083CDA000FA050B /* imapstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67381083CDA000FA050B /* libetpan-config.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66AF1083CDA000FA050B /* libetpan-config.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67391083CDA000FA050B /* libetpan.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B01083CDA000FA050B /* libetpan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC673A1083CDA000FA050B /* libetpan_version.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B11083CDA000FA050B /* libetpan_version.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC673B1083CDA000FA050B /* mail.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B21083CDA000FA050B /* mail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC673C1083CDA000FA050B /* maildir.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B31083CDA000FA050B /* maildir.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC673D1083CDA000FA050B /* maildir_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B41083CDA000FA050B /* maildir_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC673E1083CDA000FA050B /* maildirdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B51083CDA000FA050B /* maildirdriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC673F1083CDA000FA050B /* maildirdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B61083CDA000FA050B /* maildirdriver_cached.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67401083CDA000FA050B /* maildirdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B71083CDA000FA050B /* maildirdriver_cached_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67411083CDA000FA050B /* maildirdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B81083CDA000FA050B /* maildirdriver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67421083CDA000FA050B /* maildirdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66B91083CDA000FA050B /* maildirdriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67431083CDA000FA050B /* maildirstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66BA1083CDA000FA050B /* maildirstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67441083CDA000FA050B /* maildriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66BB1083CDA000FA050B /* maildriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67451083CDA000FA050B /* maildriver_errors.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66BC1083CDA000FA050B /* maildriver_errors.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67461083CDA000FA050B /* maildriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66BD1083CDA000FA050B /* maildriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67471083CDA000FA050B /* maildriver_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66BE1083CDA000FA050B /* maildriver_types_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67481083CDA000FA050B /* mailengine.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66BF1083CDA000FA050B /* mailengine.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67491083CDA000FA050B /* mailfolder.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C01083CDA000FA050B /* mailfolder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC674A1083CDA000FA050B /* mailimap.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C11083CDA000FA050B /* mailimap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC674B1083CDA000FA050B /* mailimap_extension.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C21083CDA000FA050B /* mailimap_extension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC674C1083CDA000FA050B /* mailimap_extension_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C31083CDA000FA050B /* mailimap_extension_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC674D1083CDA000FA050B /* mailimap_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C41083CDA000FA050B /* mailimap_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC674E1083CDA000FA050B /* mailimap_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C51083CDA000FA050B /* mailimap_socket.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC674F1083CDA000FA050B /* mailimap_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C61083CDA000FA050B /* mailimap_ssl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67501083CDA000FA050B /* mailimap_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C71083CDA000FA050B /* mailimap_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67511083CDA000FA050B /* mailimap_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C81083CDA000FA050B /* mailimap_types_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67521083CDA000FA050B /* mailimf.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66C91083CDA000FA050B /* mailimf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67531083CDA000FA050B /* mailimf_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66CA1083CDA000FA050B /* mailimf_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67541083CDA000FA050B /* mailimf_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66CB1083CDA000FA050B /* mailimf_types_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67551083CDA000FA050B /* mailimf_write_file.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66CC1083CDA000FA050B /* mailimf_write_file.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67561083CDA000FA050B /* mailimf_write_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66CD1083CDA000FA050B /* mailimf_write_generic.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67571083CDA000FA050B /* mailimf_write_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66CE1083CDA000FA050B /* mailimf_write_mem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67581083CDA000FA050B /* maillock.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66CF1083CDA000FA050B /* maillock.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67591083CDA000FA050B /* mailmbox.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D01083CDA000FA050B /* mailmbox.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC675A1083CDA000FA050B /* mailmbox_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D11083CDA000FA050B /* mailmbox_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC675B1083CDA000FA050B /* mailmessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D21083CDA000FA050B /* mailmessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC675C1083CDA000FA050B /* mailmessage_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D31083CDA000FA050B /* mailmessage_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC675D1083CDA000FA050B /* mailmh.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D41083CDA000FA050B /* mailmh.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC675E1083CDA000FA050B /* mailmime.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D51083CDA000FA050B /* mailmime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC675F1083CDA000FA050B /* mailmime_content.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D61083CDA000FA050B /* mailmime_content.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67601083CDA000FA050B /* mailmime_decode.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D71083CDA000FA050B /* mailmime_decode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67611083CDA000FA050B /* mailmime_disposition.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D81083CDA000FA050B /* mailmime_disposition.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67621083CDA000FA050B /* mailmime_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66D91083CDA000FA050B /* mailmime_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67631083CDA000FA050B /* mailmime_types_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66DA1083CDA000FA050B /* mailmime_types_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67641083CDA000FA050B /* mailmime_write_file.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66DB1083CDA000FA050B /* mailmime_write_file.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67651083CDA000FA050B /* mailmime_write_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66DC1083CDA000FA050B /* mailmime_write_generic.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67661083CDA000FA050B /* mailmime_write_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66DD1083CDA000FA050B /* mailmime_write_mem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67671083CDA000FA050B /* mailpop3.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66DE1083CDA000FA050B /* mailpop3.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67681083CDA000FA050B /* mailpop3_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66DF1083CDA000FA050B /* mailpop3_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67691083CDA000FA050B /* mailpop3_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E01083CDA000FA050B /* mailpop3_socket.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC676A1083CDA000FA050B /* mailpop3_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E11083CDA000FA050B /* mailpop3_ssl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC676B1083CDA000FA050B /* mailpop3_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E21083CDA000FA050B /* mailpop3_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC676C1083CDA000FA050B /* mailprivacy.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E31083CDA000FA050B /* mailprivacy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC676D1083CDA000FA050B /* mailprivacy_gnupg.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E41083CDA000FA050B /* mailprivacy_gnupg.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC676E1083CDA000FA050B /* mailprivacy_smime.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E51083CDA000FA050B /* mailprivacy_smime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC676F1083CDA000FA050B /* mailprivacy_tools.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E61083CDA000FA050B /* mailprivacy_tools.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67701083CDA000FA050B /* mailprivacy_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E71083CDA000FA050B /* mailprivacy_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67711083CDA000FA050B /* mailsem.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E81083CDA000FA050B /* mailsem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67721083CDA000FA050B /* mailsmtp.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66E91083CDA000FA050B /* mailsmtp.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67731083CDA000FA050B /* mailsmtp_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66EA1083CDA000FA050B /* mailsmtp_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67741083CDA000FA050B /* mailsmtp_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66EB1083CDA000FA050B /* mailsmtp_socket.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67751083CDA000FA050B /* mailsmtp_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66EC1083CDA000FA050B /* mailsmtp_ssl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67761083CDA000FA050B /* mailsmtp_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66ED1083CDA000FA050B /* mailsmtp_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67771083CDA000FA050B /* mailstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66EE1083CDA000FA050B /* mailstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67781083CDA000FA050B /* mailstorage_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66EF1083CDA000FA050B /* mailstorage_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67791083CDA000FA050B /* mailstream.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F01083CDA000FA050B /* mailstream.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC677A1083CDA000FA050B /* mailstream_helper.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F11083CDA000FA050B /* mailstream_helper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC677B1083CDA000FA050B /* mailstream_low.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F21083CDA000FA050B /* mailstream_low.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC677C1083CDA000FA050B /* mailstream_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F31083CDA000FA050B /* mailstream_socket.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC677D1083CDA000FA050B /* mailstream_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F41083CDA000FA050B /* mailstream_ssl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC677E1083CDA000FA050B /* mailstream_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F51083CDA000FA050B /* mailstream_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC677F1083CDA000FA050B /* mailthread.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F61083CDA000FA050B /* mailthread.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67801083CDA000FA050B /* mailthread_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F71083CDA000FA050B /* mailthread_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67811083CDA000FA050B /* mboxdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F81083CDA000FA050B /* mboxdriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67821083CDA000FA050B /* mboxdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66F91083CDA000FA050B /* mboxdriver_cached.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67831083CDA000FA050B /* mboxdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66FA1083CDA000FA050B /* mboxdriver_cached_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67841083CDA000FA050B /* mboxdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66FB1083CDA000FA050B /* mboxdriver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67851083CDA000FA050B /* mboxdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66FC1083CDA000FA050B /* mboxdriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67861083CDA000FA050B /* mboxstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66FD1083CDA000FA050B /* mboxstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67871083CDA000FA050B /* mhdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66FE1083CDA000FA050B /* mhdriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67881083CDA000FA050B /* mhdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC66FF1083CDA000FA050B /* mhdriver_cached.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67891083CDA000FA050B /* mhdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67001083CDA000FA050B /* mhdriver_cached_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC678A1083CDA000FA050B /* mhdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67011083CDA000FA050B /* mhdriver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC678B1083CDA000FA050B /* mhdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67021083CDA000FA050B /* mhdriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC678C1083CDA000FA050B /* mhstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67031083CDA000FA050B /* mhstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC678D1083CDA000FA050B /* mime_message_driver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67041083CDA000FA050B /* mime_message_driver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC678E1083CDA000FA050B /* mmapstring.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67051083CDA000FA050B /* mmapstring.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC678F1083CDA000FA050B /* newsfeed.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67061083CDA000FA050B /* newsfeed.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67901083CDA000FA050B /* newsfeed_item.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67071083CDA000FA050B /* newsfeed_item.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67911083CDA000FA050B /* newsfeed_item_enclosure.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67081083CDA000FA050B /* newsfeed_item_enclosure.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67921083CDA000FA050B /* newsfeed_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67091083CDA000FA050B /* newsfeed_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67931083CDA000FA050B /* newsnntp.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC670A1083CDA000FA050B /* newsnntp.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67941083CDA000FA050B /* newsnntp_socket.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC670B1083CDA000FA050B /* newsnntp_socket.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67951083CDA000FA050B /* newsnntp_ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC670C1083CDA000FA050B /* newsnntp_ssl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67961083CDA000FA050B /* newsnntp_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC670D1083CDA000FA050B /* newsnntp_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67971083CDA000FA050B /* nntpdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC670E1083CDA000FA050B /* nntpdriver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67981083CDA000FA050B /* nntpdriver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC670F1083CDA000FA050B /* nntpdriver_cached.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67991083CDA000FA050B /* nntpdriver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67101083CDA000FA050B /* nntpdriver_cached_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC679A1083CDA000FA050B /* nntpdriver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67111083CDA000FA050B /* nntpdriver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC679B1083CDA000FA050B /* nntpdriver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67121083CDA000FA050B /* nntpdriver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC679C1083CDA000FA050B /* nntpstorage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67131083CDA000FA050B /* nntpstorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC679D1083CDA000FA050B /* pop3driver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67141083CDA000FA050B /* pop3driver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC679E1083CDA000FA050B /* pop3driver_cached.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67151083CDA000FA050B /* pop3driver_cached.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC679F1083CDA000FA050B /* pop3driver_cached_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67161083CDA000FA050B /* pop3driver_cached_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67A01083CDA000FA050B /* pop3driver_message.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67171083CDA000FA050B /* pop3driver_message.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67A11083CDA000FA050B /* pop3driver_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67181083CDA000FA050B /* pop3driver_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67A21083CDA000FA050B /* pop3storage.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC67191083CDA000FA050B /* pop3storage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67A31083CDA000FA050B /* uidplus.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC671A1083CDA000FA050B /* uidplus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67A41083CDA000FA050B /* uidplus_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DC671B1083CDA000FA050B /* uidplus_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6DC67A81083CDBC00FA050B /* libetpan in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6DC67A71083CDB700FA050B /* libetpan */; }; C6E57202110376F200897274 /* quota_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E571FA110376F200897274 /* quota_parser.c */; }; C6E57203110376F200897274 /* quota_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E571FC110376F200897274 /* quota_sender.c */; }; C6E57204110376F200897274 /* quota_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E571FE110376F200897274 /* quota_types.c */; }; C6E57205110376F200897274 /* quota.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E57200110376F200897274 /* quota.c */; }; C6E5720E1103770400897274 /* quota.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E57200110376F200897274 /* quota.c */; }; - C6E5720F1103770400897274 /* quota.h in Headers */ = {isa = PBXBuildFile; fileRef = C6E57201110376F200897274 /* quota.h */; }; C6E572101103770400897274 /* quota_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E571FA110376F200897274 /* quota_parser.c */; }; - C6E572111103770400897274 /* quota_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = C6E571FB110376F200897274 /* quota_parser.h */; }; C6E572121103770400897274 /* quota_sender.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E571FC110376F200897274 /* quota_sender.c */; }; - C6E572131103770400897274 /* quota_sender.h in Headers */ = {isa = PBXBuildFile; fileRef = C6E571FD110376F200897274 /* quota_sender.h */; }; C6E572141103770400897274 /* quota_types.c in Sources */ = {isa = PBXBuildFile; fileRef = C6E571FE110376F200897274 /* quota_types.c */; }; - C6E572151103770400897274 /* quota_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C6E571FF110376F200897274 /* quota_types.h */; }; C6EFB8781433F1F300F805C0 /* mailstream_cfstream.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EFB8761433F1F300F805C0 /* mailstream_cfstream.c */; }; - C6EFB8791433F1F300F805C0 /* mailstream_cfstream.h in Headers */ = {isa = PBXBuildFile; fileRef = C6EFB8771433F1F300F805C0 /* mailstream_cfstream.h */; }; C6EFB87A1433F1F300F805C0 /* mailstream_cfstream.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EFB8761433F1F300F805C0 /* mailstream_cfstream.c */; }; C6EFB8AE1433F58500F805C0 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6EFB8AD1433F58500F805C0 /* CoreFoundation.framework */; }; C6EFB8B41433F5A400F805C0 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6EFB8B31433F5A400F805C0 /* CoreServices.framework */; }; @@ -862,44 +517,37 @@ C6F9EDBE105339EA0059C3BA /* libcrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C6F9EDBD105339EA0059C3BA /* libcrypto.dylib */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - C682E21915B315EF00BE9DA7 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = include; - dstSubfolderSpec = 16; - files = ( - C682E21A15B315EF00BE9DA7 /* libetpan in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C6DC649E10829CEB00FA050B /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = include; - dstSubfolderSpec = 16; - files = ( - C6DC67A81083CDBC00FA050B /* libetpan in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ +/* Begin PBXContainerItemProxy section */ + C6635C4716E000310066276E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C6635C4316DFFE6E0066276E; + remoteInfo = "libetpan-prepare"; + }; + C6635C4916E000340066276E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C6635C4316DFFE6E0066276E; + remoteInfo = "libetpan-prepare"; + }; + C6635C5116E0027B0066276E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C6635C4D16E002340066276E; + remoteInfo = "libetpan-prepare-ios"; + }; +/* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 365DFFD115D1C93100F2DD85 /* xgmmsgid.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = xgmmsgid.c; sourceTree = ""; }; 365DFFD815D1CF1800F2DD85 /* xgmmsgid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xgmmsgid.h; sourceTree = ""; }; - 365DFFDA15D1CF6D00F2DD85 /* xgmmsgid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = xgmmsgid.h; sourceTree = ""; }; - 365DFFDE15D1F2F800F2DD85 /* mailstream_cfstream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mailstream_cfstream.h; sourceTree = ""; }; - 365DFFE015D1F35800F2DD85 /* quota.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = quota.h; sourceTree = ""; }; - 365DFFE115D1F37C00F2DD85 /* quota_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = quota_types.h; sourceTree = ""; }; - 365DFFE215D1F3A300F2DD85 /* namespace_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = namespace_types.h; sourceTree = ""; }; - 365DFFE315D1F3A300F2DD85 /* namespace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = namespace.h; sourceTree = ""; }; - 365DFFE415D1F3CD00F2DD85 /* xgmlabels.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = xgmlabels.h; sourceTree = ""; }; 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 8DC2EF5B0486A6940098B216 /* libetpan.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libetpan.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C60E7B9816C3809400A25BF4 /* enable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = enable.c; sourceTree = ""; }; C60E7B9916C3809400A25BF4 /* enable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enable.h; sourceTree = ""; }; - C60E7B9F16C380D300A25BF4 /* enable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enable.h; sourceTree = ""; }; C64EA7B916A00CC100778456 /* mailimap_id_parser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mailimap_id_parser.c; sourceTree = ""; }; C64EA7BA16A00CC100778456 /* mailimap_id_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_id_parser.h; sourceTree = ""; }; C64EA7BB16A00CC200778456 /* mailimap_id_sender.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mailimap_id_sender.c; sourceTree = ""; }; @@ -916,159 +564,17 @@ C6517A06130E86C6004ADD56 /* namespace_types.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = namespace_types.c; sourceTree = ""; }; C6517A0B130E86D3004ADD56 /* namespace_sender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = namespace_sender.h; sourceTree = ""; }; C6517A0C130E86D3004ADD56 /* namespace_sender.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = namespace_sender.c; sourceTree = ""; }; + C6635C3516DFF10E0066276E /* condstore_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = condstore_private.h; sourceTree = ""; }; + C6635C3616DFF10E0066276E /* condstore_types.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = condstore_types.c; sourceTree = ""; }; + C6635C3716DFF10E0066276E /* condstore_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = condstore_types.h; sourceTree = ""; }; + C6635C3816DFF10E0066276E /* condstore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = condstore.c; sourceTree = ""; }; + C6635C3916DFF10E0066276E /* condstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = condstore.h; sourceTree = ""; }; C6667DED1342ACCD00969A8E /* xlist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xlist.c; sourceTree = ""; }; C6667DEE1342ACCD00969A8E /* xlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xlist.h; sourceTree = ""; }; C682E2C015B315EF00BE9DA7 /* libetpan-ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libetpan-ios.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C68C61FE130FFE7E00F16728 /* namespace_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = namespace_parser.h; sourceTree = ""; }; - C68C61FF130FFE7E00F16728 /* namespace_sender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = namespace_sender.h; sourceTree = ""; }; - C68C6200130FFE7E00F16728 /* namespace_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = namespace_types.h; sourceTree = ""; }; - C68C6201130FFE7E00F16728 /* namespace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = namespace.h; sourceTree = ""; }; - C68C6202130FFE7E00F16728 /* quota_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quota_parser.h; sourceTree = ""; }; - C68C6203130FFE7E00F16728 /* quota_sender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quota_sender.h; sourceTree = ""; }; - C68C6204130FFE7E00F16728 /* quota_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quota_types.h; sourceTree = ""; }; - C68C6205130FFE7E00F16728 /* quota.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quota.h; sourceTree = ""; }; - C69AAFB51054298E00F32FBD /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; C69AB10A10546FE500F32FBD /* libetpan.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libetpan.a; sourceTree = BUILT_PRODUCTS_DIR; }; C6CE9B1514AA9C8900D20BA6 /* xgmlabels.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xgmlabels.c; sourceTree = ""; }; C6CE9B1814AA9C9C00D20BA6 /* xgmlabels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xgmlabels.h; sourceTree = ""; }; - C6DC66931083CDA000FA050B /* acl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acl.h; sourceTree = ""; }; - C6DC66941083CDA000FA050B /* acl_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acl_types.h; sourceTree = ""; }; - C6DC66951083CDA000FA050B /* annotatemore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = annotatemore.h; sourceTree = ""; }; - C6DC66961083CDA000FA050B /* annotatemore_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = annotatemore_types.h; sourceTree = ""; }; - C6DC66971083CDA000FA050B /* carray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = carray.h; sourceTree = ""; }; - C6DC66981083CDA000FA050B /* charconv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = charconv.h; sourceTree = ""; }; - C6DC66991083CDA000FA050B /* chash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chash.h; sourceTree = ""; }; - C6DC669A1083CDA000FA050B /* clist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clist.h; sourceTree = ""; }; - C6DC669B1083CDA000FA050B /* data_message_driver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = data_message_driver.h; sourceTree = ""; }; - C6DC669C1083CDA000FA050B /* dbdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dbdriver.h; sourceTree = ""; }; - C6DC669D1083CDA000FA050B /* dbdriver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dbdriver_message.h; sourceTree = ""; }; - C6DC669E1083CDA000FA050B /* dbdriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dbdriver_types.h; sourceTree = ""; }; - C6DC669F1083CDA000FA050B /* dbstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dbstorage.h; sourceTree = ""; }; - C6DC66A01083CDA000FA050B /* feeddriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feeddriver.h; sourceTree = ""; }; - C6DC66A11083CDA000FA050B /* feeddriver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feeddriver_message.h; sourceTree = ""; }; - C6DC66A21083CDA000FA050B /* feeddriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feeddriver_types.h; sourceTree = ""; }; - C6DC66A31083CDA000FA050B /* feedstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feedstorage.h; sourceTree = ""; }; - C6DC66A41083CDA000FA050B /* generic_cache_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generic_cache_types.h; sourceTree = ""; }; - C6DC66A51083CDA000FA050B /* hotmailstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hotmailstorage.h; sourceTree = ""; }; - C6DC66A61083CDA000FA050B /* idle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = idle.h; sourceTree = ""; }; - C6DC66A71083CDA000FA050B /* imapdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapdriver.h; sourceTree = ""; }; - C6DC66A81083CDA000FA050B /* imapdriver_cached.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapdriver_cached.h; sourceTree = ""; }; - C6DC66A91083CDA000FA050B /* imapdriver_cached_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapdriver_cached_message.h; sourceTree = ""; }; - C6DC66AA1083CDA000FA050B /* imapdriver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapdriver_message.h; sourceTree = ""; }; - C6DC66AB1083CDA000FA050B /* imapdriver_tools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapdriver_tools.h; sourceTree = ""; }; - C6DC66AC1083CDA000FA050B /* imapdriver_tools_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapdriver_tools_private.h; sourceTree = ""; }; - C6DC66AD1083CDA000FA050B /* imapdriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapdriver_types.h; sourceTree = ""; }; - C6DC66AE1083CDA000FA050B /* imapstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imapstorage.h; sourceTree = ""; }; - C6DC66AF1083CDA000FA050B /* libetpan-config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "libetpan-config.h"; sourceTree = ""; }; - C6DC66B01083CDA000FA050B /* libetpan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libetpan.h; sourceTree = ""; }; - C6DC66B11083CDA000FA050B /* libetpan_version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libetpan_version.h; sourceTree = ""; }; - C6DC66B21083CDA000FA050B /* mail.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mail.h; sourceTree = ""; }; - C6DC66B31083CDA000FA050B /* maildir.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildir.h; sourceTree = ""; }; - C6DC66B41083CDA000FA050B /* maildir_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildir_types.h; sourceTree = ""; }; - C6DC66B51083CDA000FA050B /* maildirdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildirdriver.h; sourceTree = ""; }; - C6DC66B61083CDA000FA050B /* maildirdriver_cached.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildirdriver_cached.h; sourceTree = ""; }; - C6DC66B71083CDA000FA050B /* maildirdriver_cached_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildirdriver_cached_message.h; sourceTree = ""; }; - C6DC66B81083CDA000FA050B /* maildirdriver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildirdriver_message.h; sourceTree = ""; }; - C6DC66B91083CDA000FA050B /* maildirdriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildirdriver_types.h; sourceTree = ""; }; - C6DC66BA1083CDA000FA050B /* maildirstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildirstorage.h; sourceTree = ""; }; - C6DC66BB1083CDA000FA050B /* maildriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildriver.h; sourceTree = ""; }; - C6DC66BC1083CDA000FA050B /* maildriver_errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildriver_errors.h; sourceTree = ""; }; - C6DC66BD1083CDA000FA050B /* maildriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildriver_types.h; sourceTree = ""; }; - C6DC66BE1083CDA000FA050B /* maildriver_types_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maildriver_types_helper.h; sourceTree = ""; }; - C6DC66BF1083CDA000FA050B /* mailengine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailengine.h; sourceTree = ""; }; - C6DC66C01083CDA000FA050B /* mailfolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailfolder.h; sourceTree = ""; }; - C6DC66C11083CDA000FA050B /* mailimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap.h; sourceTree = ""; }; - C6DC66C21083CDA000FA050B /* mailimap_extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_extension.h; sourceTree = ""; }; - C6DC66C31083CDA000FA050B /* mailimap_extension_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_extension_types.h; sourceTree = ""; }; - C6DC66C41083CDA000FA050B /* mailimap_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_helper.h; sourceTree = ""; }; - C6DC66C51083CDA000FA050B /* mailimap_socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_socket.h; sourceTree = ""; }; - C6DC66C61083CDA000FA050B /* mailimap_ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_ssl.h; sourceTree = ""; }; - C6DC66C71083CDA000FA050B /* mailimap_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_types.h; sourceTree = ""; }; - C6DC66C81083CDA000FA050B /* mailimap_types_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimap_types_helper.h; sourceTree = ""; }; - C6DC66C91083CDA000FA050B /* mailimf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimf.h; sourceTree = ""; }; - C6DC66CA1083CDA000FA050B /* mailimf_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimf_types.h; sourceTree = ""; }; - C6DC66CB1083CDA000FA050B /* mailimf_types_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimf_types_helper.h; sourceTree = ""; }; - C6DC66CC1083CDA000FA050B /* mailimf_write_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimf_write_file.h; sourceTree = ""; }; - C6DC66CD1083CDA000FA050B /* mailimf_write_generic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimf_write_generic.h; sourceTree = ""; }; - C6DC66CE1083CDA000FA050B /* mailimf_write_mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailimf_write_mem.h; sourceTree = ""; }; - C6DC66CF1083CDA000FA050B /* maillock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maillock.h; sourceTree = ""; }; - C6DC66D01083CDA000FA050B /* mailmbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmbox.h; sourceTree = ""; }; - C6DC66D11083CDA000FA050B /* mailmbox_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmbox_types.h; sourceTree = ""; }; - C6DC66D21083CDA000FA050B /* mailmessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmessage.h; sourceTree = ""; }; - C6DC66D31083CDA000FA050B /* mailmessage_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmessage_types.h; sourceTree = ""; }; - C6DC66D41083CDA000FA050B /* mailmh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmh.h; sourceTree = ""; }; - C6DC66D51083CDA000FA050B /* mailmime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime.h; sourceTree = ""; }; - C6DC66D61083CDA000FA050B /* mailmime_content.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_content.h; sourceTree = ""; }; - C6DC66D71083CDA000FA050B /* mailmime_decode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_decode.h; sourceTree = ""; }; - C6DC66D81083CDA000FA050B /* mailmime_disposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_disposition.h; sourceTree = ""; }; - C6DC66D91083CDA000FA050B /* mailmime_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_types.h; sourceTree = ""; }; - C6DC66DA1083CDA000FA050B /* mailmime_types_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_types_helper.h; sourceTree = ""; }; - C6DC66DB1083CDA000FA050B /* mailmime_write_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_write_file.h; sourceTree = ""; }; - C6DC66DC1083CDA000FA050B /* mailmime_write_generic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_write_generic.h; sourceTree = ""; }; - C6DC66DD1083CDA000FA050B /* mailmime_write_mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailmime_write_mem.h; sourceTree = ""; }; - C6DC66DE1083CDA000FA050B /* mailpop3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailpop3.h; sourceTree = ""; }; - C6DC66DF1083CDA000FA050B /* mailpop3_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailpop3_helper.h; sourceTree = ""; }; - C6DC66E01083CDA000FA050B /* mailpop3_socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailpop3_socket.h; sourceTree = ""; }; - C6DC66E11083CDA000FA050B /* mailpop3_ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailpop3_ssl.h; sourceTree = ""; }; - C6DC66E21083CDA000FA050B /* mailpop3_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailpop3_types.h; sourceTree = ""; }; - C6DC66E31083CDA000FA050B /* mailprivacy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailprivacy.h; sourceTree = ""; }; - C6DC66E41083CDA000FA050B /* mailprivacy_gnupg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailprivacy_gnupg.h; sourceTree = ""; }; - C6DC66E51083CDA000FA050B /* mailprivacy_smime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailprivacy_smime.h; sourceTree = ""; }; - C6DC66E61083CDA000FA050B /* mailprivacy_tools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailprivacy_tools.h; sourceTree = ""; }; - C6DC66E71083CDA000FA050B /* mailprivacy_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailprivacy_types.h; sourceTree = ""; }; - C6DC66E81083CDA000FA050B /* mailsem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailsem.h; sourceTree = ""; }; - C6DC66E91083CDA000FA050B /* mailsmtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailsmtp.h; sourceTree = ""; }; - C6DC66EA1083CDA000FA050B /* mailsmtp_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailsmtp_helper.h; sourceTree = ""; }; - C6DC66EB1083CDA000FA050B /* mailsmtp_socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailsmtp_socket.h; sourceTree = ""; }; - C6DC66EC1083CDA000FA050B /* mailsmtp_ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailsmtp_ssl.h; sourceTree = ""; }; - C6DC66ED1083CDA000FA050B /* mailsmtp_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailsmtp_types.h; sourceTree = ""; }; - C6DC66EE1083CDA000FA050B /* mailstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstorage.h; sourceTree = ""; }; - C6DC66EF1083CDA000FA050B /* mailstorage_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstorage_types.h; sourceTree = ""; }; - C6DC66F01083CDA000FA050B /* mailstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstream.h; sourceTree = ""; }; - C6DC66F11083CDA000FA050B /* mailstream_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstream_helper.h; sourceTree = ""; }; - C6DC66F21083CDA000FA050B /* mailstream_low.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstream_low.h; sourceTree = ""; }; - C6DC66F31083CDA000FA050B /* mailstream_socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstream_socket.h; sourceTree = ""; }; - C6DC66F41083CDA000FA050B /* mailstream_ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstream_ssl.h; sourceTree = ""; }; - C6DC66F51083CDA000FA050B /* mailstream_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailstream_types.h; sourceTree = ""; }; - C6DC66F61083CDA000FA050B /* mailthread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailthread.h; sourceTree = ""; }; - C6DC66F71083CDA000FA050B /* mailthread_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mailthread_types.h; sourceTree = ""; }; - C6DC66F81083CDA000FA050B /* mboxdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboxdriver.h; sourceTree = ""; }; - C6DC66F91083CDA000FA050B /* mboxdriver_cached.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboxdriver_cached.h; sourceTree = ""; }; - C6DC66FA1083CDA000FA050B /* mboxdriver_cached_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboxdriver_cached_message.h; sourceTree = ""; }; - C6DC66FB1083CDA000FA050B /* mboxdriver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboxdriver_message.h; sourceTree = ""; }; - C6DC66FC1083CDA000FA050B /* mboxdriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboxdriver_types.h; sourceTree = ""; }; - C6DC66FD1083CDA000FA050B /* mboxstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboxstorage.h; sourceTree = ""; }; - C6DC66FE1083CDA000FA050B /* mhdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mhdriver.h; sourceTree = ""; }; - C6DC66FF1083CDA000FA050B /* mhdriver_cached.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mhdriver_cached.h; sourceTree = ""; }; - C6DC67001083CDA000FA050B /* mhdriver_cached_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mhdriver_cached_message.h; sourceTree = ""; }; - C6DC67011083CDA000FA050B /* mhdriver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mhdriver_message.h; sourceTree = ""; }; - C6DC67021083CDA000FA050B /* mhdriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mhdriver_types.h; sourceTree = ""; }; - C6DC67031083CDA000FA050B /* mhstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mhstorage.h; sourceTree = ""; }; - C6DC67041083CDA000FA050B /* mime_message_driver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mime_message_driver.h; sourceTree = ""; }; - C6DC67051083CDA000FA050B /* mmapstring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mmapstring.h; sourceTree = ""; }; - C6DC67061083CDA000FA050B /* newsfeed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsfeed.h; sourceTree = ""; }; - C6DC67071083CDA000FA050B /* newsfeed_item.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsfeed_item.h; sourceTree = ""; }; - C6DC67081083CDA000FA050B /* newsfeed_item_enclosure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsfeed_item_enclosure.h; sourceTree = ""; }; - C6DC67091083CDA000FA050B /* newsfeed_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsfeed_types.h; sourceTree = ""; }; - C6DC670A1083CDA000FA050B /* newsnntp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsnntp.h; sourceTree = ""; }; - C6DC670B1083CDA000FA050B /* newsnntp_socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsnntp_socket.h; sourceTree = ""; }; - C6DC670C1083CDA000FA050B /* newsnntp_ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsnntp_ssl.h; sourceTree = ""; }; - C6DC670D1083CDA000FA050B /* newsnntp_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newsnntp_types.h; sourceTree = ""; }; - C6DC670E1083CDA000FA050B /* nntpdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nntpdriver.h; sourceTree = ""; }; - C6DC670F1083CDA000FA050B /* nntpdriver_cached.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nntpdriver_cached.h; sourceTree = ""; }; - C6DC67101083CDA000FA050B /* nntpdriver_cached_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nntpdriver_cached_message.h; sourceTree = ""; }; - C6DC67111083CDA000FA050B /* nntpdriver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nntpdriver_message.h; sourceTree = ""; }; - C6DC67121083CDA000FA050B /* nntpdriver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nntpdriver_types.h; sourceTree = ""; }; - C6DC67131083CDA000FA050B /* nntpstorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nntpstorage.h; sourceTree = ""; }; - C6DC67141083CDA000FA050B /* pop3driver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pop3driver.h; sourceTree = ""; }; - C6DC67151083CDA000FA050B /* pop3driver_cached.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pop3driver_cached.h; sourceTree = ""; }; - C6DC67161083CDA000FA050B /* pop3driver_cached_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pop3driver_cached_message.h; sourceTree = ""; }; - C6DC67171083CDA000FA050B /* pop3driver_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pop3driver_message.h; sourceTree = ""; }; - C6DC67181083CDA000FA050B /* pop3driver_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pop3driver_types.h; sourceTree = ""; }; - C6DC67191083CDA000FA050B /* pop3storage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pop3storage.h; sourceTree = ""; }; - C6DC671A1083CDA000FA050B /* uidplus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uidplus.h; sourceTree = ""; }; - C6DC671B1083CDA000FA050B /* uidplus_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uidplus_types.h; sourceTree = ""; }; - C6DC67A71083CDB700FA050B /* libetpan */ = {isa = PBXFileReference; lastKnownFileType = folder; path = libetpan; sourceTree = ""; }; C6E571FA110376F200897274 /* quota_parser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = quota_parser.c; sourceTree = ""; }; C6E571FB110376F200897274 /* quota_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quota_parser.h; sourceTree = ""; }; C6E571FC110376F200897274 /* quota_sender.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = quota_sender.c; sourceTree = ""; }; @@ -1464,7 +970,6 @@ isa = PBXGroup; children = ( 08FB77AEFE84172EC02AAC07 /* libetpan */, - 32C88DFF0371C24200C91783 /* Other Sources */, 089C1665FE841158C02AAC07 /* Resources */, 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, 034768DFFF38A50411DB9C8B /* Products */, @@ -1502,184 +1007,6 @@ path = ..; sourceTree = ""; }; - 32C88DFF0371C24200C91783 /* Other Sources */ = { - isa = PBXGroup; - children = ( - C69AAFB41054298E00F32FBD /* include */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - C69AAFB41054298E00F32FBD /* include */ = { - isa = PBXGroup; - children = ( - C6DC67A71083CDB700FA050B /* libetpan */, - C6DC66921083CDA000FA050B /* libetpan */, - C69AAFB51054298E00F32FBD /* config.h */, - ); - path = include; - sourceTree = ""; - }; - C6DC66921083CDA000FA050B /* libetpan */ = { - isa = PBXGroup; - children = ( - C60E7B9F16C380D300A25BF4 /* enable.h */, - C6DC66931083CDA000FA050B /* acl.h */, - C6DC66941083CDA000FA050B /* acl_types.h */, - C6DC66951083CDA000FA050B /* annotatemore.h */, - C6DC66961083CDA000FA050B /* annotatemore_types.h */, - C6DC66971083CDA000FA050B /* carray.h */, - C6DC66981083CDA000FA050B /* charconv.h */, - C6DC66991083CDA000FA050B /* chash.h */, - C6DC669A1083CDA000FA050B /* clist.h */, - C6DC669B1083CDA000FA050B /* data_message_driver.h */, - C6DC669C1083CDA000FA050B /* dbdriver.h */, - C6DC669D1083CDA000FA050B /* dbdriver_message.h */, - C6DC669E1083CDA000FA050B /* dbdriver_types.h */, - C6DC669F1083CDA000FA050B /* dbstorage.h */, - C6DC66A01083CDA000FA050B /* feeddriver.h */, - C6DC66A11083CDA000FA050B /* feeddriver_message.h */, - C6DC66A21083CDA000FA050B /* feeddriver_types.h */, - C6DC66A31083CDA000FA050B /* feedstorage.h */, - C6DC66A41083CDA000FA050B /* generic_cache_types.h */, - C6DC66A51083CDA000FA050B /* hotmailstorage.h */, - C6DC66A61083CDA000FA050B /* idle.h */, - C6DC66A71083CDA000FA050B /* imapdriver.h */, - C6DC66A81083CDA000FA050B /* imapdriver_cached.h */, - C6DC66A91083CDA000FA050B /* imapdriver_cached_message.h */, - C6DC66AA1083CDA000FA050B /* imapdriver_message.h */, - C6DC66AB1083CDA000FA050B /* imapdriver_tools.h */, - C6DC66AC1083CDA000FA050B /* imapdriver_tools_private.h */, - C6DC66AD1083CDA000FA050B /* imapdriver_types.h */, - C6DC66AE1083CDA000FA050B /* imapstorage.h */, - C6DC66AF1083CDA000FA050B /* libetpan-config.h */, - C6DC66B01083CDA000FA050B /* libetpan.h */, - C6DC66B11083CDA000FA050B /* libetpan_version.h */, - C6DC66B21083CDA000FA050B /* mail.h */, - C6DC66B31083CDA000FA050B /* maildir.h */, - C6DC66B41083CDA000FA050B /* maildir_types.h */, - C6DC66B51083CDA000FA050B /* maildirdriver.h */, - C6DC66B61083CDA000FA050B /* maildirdriver_cached.h */, - C6DC66B71083CDA000FA050B /* maildirdriver_cached_message.h */, - C6DC66B81083CDA000FA050B /* maildirdriver_message.h */, - C6DC66B91083CDA000FA050B /* maildirdriver_types.h */, - C6DC66BA1083CDA000FA050B /* maildirstorage.h */, - C6DC66BB1083CDA000FA050B /* maildriver.h */, - C6DC66BC1083CDA000FA050B /* maildriver_errors.h */, - C6DC66BD1083CDA000FA050B /* maildriver_types.h */, - C6DC66BE1083CDA000FA050B /* maildriver_types_helper.h */, - C6DC66BF1083CDA000FA050B /* mailengine.h */, - C6DC66C01083CDA000FA050B /* mailfolder.h */, - C6DC66C11083CDA000FA050B /* mailimap.h */, - C6DC66C21083CDA000FA050B /* mailimap_extension.h */, - C6DC66C31083CDA000FA050B /* mailimap_extension_types.h */, - C6DC66C41083CDA000FA050B /* mailimap_helper.h */, - C6DC66C51083CDA000FA050B /* mailimap_socket.h */, - C6DC66C61083CDA000FA050B /* mailimap_ssl.h */, - C6DC66C71083CDA000FA050B /* mailimap_types.h */, - C6DC66C81083CDA000FA050B /* mailimap_types_helper.h */, - C6DC66C91083CDA000FA050B /* mailimf.h */, - C6DC66CA1083CDA000FA050B /* mailimf_types.h */, - C6DC66CB1083CDA000FA050B /* mailimf_types_helper.h */, - C6DC66CC1083CDA000FA050B /* mailimf_write_file.h */, - C6DC66CD1083CDA000FA050B /* mailimf_write_generic.h */, - C6DC66CE1083CDA000FA050B /* mailimf_write_mem.h */, - C6DC66CF1083CDA000FA050B /* maillock.h */, - C6DC66D01083CDA000FA050B /* mailmbox.h */, - C6DC66D11083CDA000FA050B /* mailmbox_types.h */, - C6DC66D21083CDA000FA050B /* mailmessage.h */, - C6DC66D31083CDA000FA050B /* mailmessage_types.h */, - C6DC66D41083CDA000FA050B /* mailmh.h */, - C6DC66D51083CDA000FA050B /* mailmime.h */, - C6DC66D61083CDA000FA050B /* mailmime_content.h */, - C6DC66D71083CDA000FA050B /* mailmime_decode.h */, - C6DC66D81083CDA000FA050B /* mailmime_disposition.h */, - C6DC66D91083CDA000FA050B /* mailmime_types.h */, - C6DC66DA1083CDA000FA050B /* mailmime_types_helper.h */, - C6DC66DB1083CDA000FA050B /* mailmime_write_file.h */, - C6DC66DC1083CDA000FA050B /* mailmime_write_generic.h */, - C6DC66DD1083CDA000FA050B /* mailmime_write_mem.h */, - C6DC66DE1083CDA000FA050B /* mailpop3.h */, - C6DC66DF1083CDA000FA050B /* mailpop3_helper.h */, - C6DC66E01083CDA000FA050B /* mailpop3_socket.h */, - C6DC66E11083CDA000FA050B /* mailpop3_ssl.h */, - C6DC66E21083CDA000FA050B /* mailpop3_types.h */, - C6DC66E31083CDA000FA050B /* mailprivacy.h */, - C6DC66E41083CDA000FA050B /* mailprivacy_gnupg.h */, - C6DC66E51083CDA000FA050B /* mailprivacy_smime.h */, - C6DC66E61083CDA000FA050B /* mailprivacy_tools.h */, - C6DC66E71083CDA000FA050B /* mailprivacy_types.h */, - C6DC66E81083CDA000FA050B /* mailsem.h */, - C6DC66E91083CDA000FA050B /* mailsmtp.h */, - C6DC66EA1083CDA000FA050B /* mailsmtp_helper.h */, - C6DC66EB1083CDA000FA050B /* mailsmtp_socket.h */, - C6DC66EC1083CDA000FA050B /* mailsmtp_ssl.h */, - C6DC66ED1083CDA000FA050B /* mailsmtp_types.h */, - C6DC66EE1083CDA000FA050B /* mailstorage.h */, - C6DC66EF1083CDA000FA050B /* mailstorage_types.h */, - C6DC66F01083CDA000FA050B /* mailstream.h */, - 365DFFDE15D1F2F800F2DD85 /* mailstream_cfstream.h */, - C6DC66F11083CDA000FA050B /* mailstream_helper.h */, - C6DC66F21083CDA000FA050B /* mailstream_low.h */, - C6DC66F31083CDA000FA050B /* mailstream_socket.h */, - C6DC66F41083CDA000FA050B /* mailstream_ssl.h */, - C6DC66F51083CDA000FA050B /* mailstream_types.h */, - C6DC66F61083CDA000FA050B /* mailthread.h */, - C6DC66F71083CDA000FA050B /* mailthread_types.h */, - C6DC66F81083CDA000FA050B /* mboxdriver.h */, - C6DC66F91083CDA000FA050B /* mboxdriver_cached.h */, - C6DC66FA1083CDA000FA050B /* mboxdriver_cached_message.h */, - C6DC66FB1083CDA000FA050B /* mboxdriver_message.h */, - C6DC66FC1083CDA000FA050B /* mboxdriver_types.h */, - C6DC66FD1083CDA000FA050B /* mboxstorage.h */, - C6DC66FE1083CDA000FA050B /* mhdriver.h */, - C6DC66FF1083CDA000FA050B /* mhdriver_cached.h */, - C6DC67001083CDA000FA050B /* mhdriver_cached_message.h */, - C6DC67011083CDA000FA050B /* mhdriver_message.h */, - C6DC67021083CDA000FA050B /* mhdriver_types.h */, - C6DC67031083CDA000FA050B /* mhstorage.h */, - C6DC67041083CDA000FA050B /* mime_message_driver.h */, - C6DC67051083CDA000FA050B /* mmapstring.h */, - 365DFFE315D1F3A300F2DD85 /* namespace.h */, - C68C61FE130FFE7E00F16728 /* namespace_parser.h */, - C68C61FF130FFE7E00F16728 /* namespace_sender.h */, - 365DFFE215D1F3A300F2DD85 /* namespace_types.h */, - C6DC67061083CDA000FA050B /* newsfeed.h */, - C6DC67071083CDA000FA050B /* newsfeed_item.h */, - C6DC67081083CDA000FA050B /* newsfeed_item_enclosure.h */, - C6DC67091083CDA000FA050B /* newsfeed_types.h */, - C6DC670A1083CDA000FA050B /* newsnntp.h */, - C6DC670B1083CDA000FA050B /* newsnntp_socket.h */, - C6DC670C1083CDA000FA050B /* newsnntp_ssl.h */, - C6DC670D1083CDA000FA050B /* newsnntp_types.h */, - C6DC670E1083CDA000FA050B /* nntpdriver.h */, - C6DC670F1083CDA000FA050B /* nntpdriver_cached.h */, - C6DC67101083CDA000FA050B /* nntpdriver_cached_message.h */, - C6DC67111083CDA000FA050B /* nntpdriver_message.h */, - C6DC67121083CDA000FA050B /* nntpdriver_types.h */, - C6DC67131083CDA000FA050B /* nntpstorage.h */, - C6DC67141083CDA000FA050B /* pop3driver.h */, - C6DC67151083CDA000FA050B /* pop3driver_cached.h */, - C6DC67161083CDA000FA050B /* pop3driver_cached_message.h */, - C6DC67171083CDA000FA050B /* pop3driver_message.h */, - C6DC67181083CDA000FA050B /* pop3driver_types.h */, - C6DC67191083CDA000FA050B /* pop3storage.h */, - 365DFFE015D1F35800F2DD85 /* quota.h */, - C68C6200130FFE7E00F16728 /* namespace_types.h */, - C68C6202130FFE7E00F16728 /* quota_parser.h */, - C68C6203130FFE7E00F16728 /* quota_sender.h */, - 365DFFE115D1F37C00F2DD85 /* quota_types.h */, - C68C6201130FFE7E00F16728 /* namespace.h */, - C6DC671A1083CDA000FA050B /* uidplus.h */, - C6DC671B1083CDA000FA050B /* uidplus_types.h */, - 365DFFE415D1F3CD00F2DD85 /* xgmlabels.h */, - 365DFFDA15D1CF6D00F2DD85 /* xgmmsgid.h */, - C68C6204130FFE7E00F16728 /* quota_types.h */, - C68C6205130FFE7E00F16728 /* quota.h */, - ); - path = libetpan; - sourceTree = ""; - }; C6F9E82E105335BC0059C3BA /* src */ = { isa = PBXGroup; children = ( @@ -2063,16 +1390,6 @@ C6F9E9D3105335BC0059C3BA /* imap */ = { isa = PBXGroup; children = ( - C60E7B9816C3809400A25BF4 /* enable.c */, - C60E7B9916C3809400A25BF4 /* enable.h */, - C64EA7B916A00CC100778456 /* mailimap_id_parser.c */, - C64EA7BA16A00CC100778456 /* mailimap_id_parser.h */, - C64EA7BB16A00CC200778456 /* mailimap_id_sender.c */, - C64EA7BC16A00CC200778456 /* mailimap_id_sender.h */, - C64EA7BD16A00CC200778456 /* mailimap_id_types.c */, - C64EA7BE16A00CC300778456 /* mailimap_id_types.h */, - C64EA7BF16A00CC300778456 /* mailimap_id.c */, - C64EA7C016A00CC500778456 /* mailimap_id.h */, C6F9E9EE105335BC0059C3BA /* acl.c */, C6F9E9EF105335BC0059C3BA /* acl.h */, C6F9E9F0105335BC0059C3BA /* acl_parser.c */, @@ -2089,6 +1406,13 @@ C6F9E9FB105335BC0059C3BA /* annotatemore_sender.h */, C6F9E9FC105335BC0059C3BA /* annotatemore_types.c */, C6F9E9FD105335BC0059C3BA /* annotatemore_types.h */, + C6635C3816DFF10E0066276E /* condstore.c */, + C6635C3916DFF10E0066276E /* condstore.h */, + C6635C3516DFF10E0066276E /* condstore_private.h */, + C6635C3616DFF10E0066276E /* condstore_types.c */, + C6635C3716DFF10E0066276E /* condstore_types.h */, + C60E7B9816C3809400A25BF4 /* enable.c */, + C60E7B9916C3809400A25BF4 /* enable.h */, C6F9E9FE105335BC0059C3BA /* idle.c */, C6F9E9FF105335BC0059C3BA /* idle.h */, C6F9EA00105335BC0059C3BA /* mailimap.c */, @@ -2098,6 +1422,14 @@ C6F9EA04105335BC0059C3BA /* mailimap_extension_types.h */, C6F9EA05105335BC0059C3BA /* mailimap_helper.c */, C6F9EA06105335BC0059C3BA /* mailimap_helper.h */, + C64EA7BF16A00CC300778456 /* mailimap_id.c */, + C64EA7C016A00CC500778456 /* mailimap_id.h */, + C64EA7B916A00CC100778456 /* mailimap_id_parser.c */, + C64EA7BA16A00CC100778456 /* mailimap_id_parser.h */, + C64EA7BB16A00CC200778456 /* mailimap_id_sender.c */, + C64EA7BC16A00CC200778456 /* mailimap_id_sender.h */, + C64EA7BD16A00CC200778456 /* mailimap_id_types.c */, + C64EA7BE16A00CC300778456 /* mailimap_id_types.h */, C6F9EA07105335BC0059C3BA /* mailimap_keywords.c */, C6F9EA08105335BC0059C3BA /* mailimap_keywords.h */, C6F9EA09105335BC0059C3BA /* mailimap_parser.c */, @@ -2118,10 +1450,10 @@ C6516B69130DD667004ADD56 /* namespace.h */, C65179F1130E85CA004ADD56 /* namespace_parser.c */, C65179F0130E85CA004ADD56 /* namespace_parser.h */, - C6517A06130E86C6004ADD56 /* namespace_types.c */, - C6517A05130E86C6004ADD56 /* namespace_types.h */, C6517A0C130E86D3004ADD56 /* namespace_sender.c */, C6517A0B130E86D3004ADD56 /* namespace_sender.h */, + C6517A06130E86C6004ADD56 /* namespace_types.c */, + C6517A05130E86C6004ADD56 /* namespace_types.h */, C6E57200110376F200897274 /* quota.c */, C6E57201110376F200897274 /* quota.h */, C6E571FA110376F200897274 /* quota_parser.c */, @@ -2138,12 +1470,12 @@ C6F9EA20105335BC0059C3BA /* uidplus_sender.h */, C6F9EA21105335BC0059C3BA /* uidplus_types.c */, C6F9EA22105335BC0059C3BA /* uidplus_types.h */, - C6667DED1342ACCD00969A8E /* xlist.c */, - C6667DEE1342ACCD00969A8E /* xlist.h */, C6CE9B1514AA9C8900D20BA6 /* xgmlabels.c */, C6CE9B1814AA9C9C00D20BA6 /* xgmlabels.h */, 365DFFD115D1C93100F2DD85 /* xgmmsgid.c */, 365DFFD815D1CF1800F2DD85 /* xgmmsgid.h */, + C6667DED1342ACCD00969A8E /* xlist.c */, + C6667DEE1342ACCD00969A8E /* xlist.h */, ); path = imap; sourceTree = ""; @@ -2296,367 +1628,43 @@ }; /* End PBXGroup section */ -/* Begin PBXHeadersBuildPhase section */ - 8DC2EF500486A6940098B216 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - C69AB0411054298E00F32FBD /* config.h in Headers */, - C6DC671C1083CDA000FA050B /* acl.h in Headers */, - C6DC671D1083CDA000FA050B /* acl_types.h in Headers */, - C6DC671E1083CDA000FA050B /* annotatemore.h in Headers */, - C6DC671F1083CDA000FA050B /* annotatemore_types.h in Headers */, - C6DC67201083CDA000FA050B /* carray.h in Headers */, - C6DC67211083CDA000FA050B /* charconv.h in Headers */, - C6DC67221083CDA000FA050B /* chash.h in Headers */, - C6DC67231083CDA000FA050B /* clist.h in Headers */, - C6DC67241083CDA000FA050B /* data_message_driver.h in Headers */, - C6DC67251083CDA000FA050B /* dbdriver.h in Headers */, - C6DC67261083CDA000FA050B /* dbdriver_message.h in Headers */, - C6DC67271083CDA000FA050B /* dbdriver_types.h in Headers */, - C6DC67281083CDA000FA050B /* dbstorage.h in Headers */, - C6DC67291083CDA000FA050B /* feeddriver.h in Headers */, - C6DC672A1083CDA000FA050B /* feeddriver_message.h in Headers */, - C6DC672B1083CDA000FA050B /* feeddriver_types.h in Headers */, - C6DC672C1083CDA000FA050B /* feedstorage.h in Headers */, - C6DC672D1083CDA000FA050B /* generic_cache_types.h in Headers */, - C6DC672E1083CDA000FA050B /* hotmailstorage.h in Headers */, - C6DC672F1083CDA000FA050B /* idle.h in Headers */, - C6DC67301083CDA000FA050B /* imapdriver.h in Headers */, - C6DC67311083CDA000FA050B /* imapdriver_cached.h in Headers */, - C6DC67321083CDA000FA050B /* imapdriver_cached_message.h in Headers */, - C6DC67331083CDA000FA050B /* imapdriver_message.h in Headers */, - C6DC67341083CDA000FA050B /* imapdriver_tools.h in Headers */, - C6DC67351083CDA000FA050B /* imapdriver_tools_private.h in Headers */, - C6DC67361083CDA000FA050B /* imapdriver_types.h in Headers */, - C6DC67371083CDA000FA050B /* imapstorage.h in Headers */, - C6DC67381083CDA000FA050B /* libetpan-config.h in Headers */, - C6DC67391083CDA000FA050B /* libetpan.h in Headers */, - C6DC673A1083CDA000FA050B /* libetpan_version.h in Headers */, - C6DC673B1083CDA000FA050B /* mail.h in Headers */, - C6DC673C1083CDA000FA050B /* maildir.h in Headers */, - C6DC673D1083CDA000FA050B /* maildir_types.h in Headers */, - C6DC673E1083CDA000FA050B /* maildirdriver.h in Headers */, - C6DC673F1083CDA000FA050B /* maildirdriver_cached.h in Headers */, - C6DC67401083CDA000FA050B /* maildirdriver_cached_message.h in Headers */, - C6DC67411083CDA000FA050B /* maildirdriver_message.h in Headers */, - C6DC67421083CDA000FA050B /* maildirdriver_types.h in Headers */, - C6DC67431083CDA000FA050B /* maildirstorage.h in Headers */, - C6DC67441083CDA000FA050B /* maildriver.h in Headers */, - C6DC67451083CDA000FA050B /* maildriver_errors.h in Headers */, - C6DC67461083CDA000FA050B /* maildriver_types.h in Headers */, - C6DC67471083CDA000FA050B /* maildriver_types_helper.h in Headers */, - C6DC67481083CDA000FA050B /* mailengine.h in Headers */, - C6DC67491083CDA000FA050B /* mailfolder.h in Headers */, - C6DC674A1083CDA000FA050B /* mailimap.h in Headers */, - C6DC674B1083CDA000FA050B /* mailimap_extension.h in Headers */, - C6DC674C1083CDA000FA050B /* mailimap_extension_types.h in Headers */, - C6DC674D1083CDA000FA050B /* mailimap_helper.h in Headers */, - C6DC674E1083CDA000FA050B /* mailimap_socket.h in Headers */, - C6DC674F1083CDA000FA050B /* mailimap_ssl.h in Headers */, - C6DC67501083CDA000FA050B /* mailimap_types.h in Headers */, - C6DC67511083CDA000FA050B /* mailimap_types_helper.h in Headers */, - C6DC67521083CDA000FA050B /* mailimf.h in Headers */, - C6DC67531083CDA000FA050B /* mailimf_types.h in Headers */, - C6DC67541083CDA000FA050B /* mailimf_types_helper.h in Headers */, - C6DC67551083CDA000FA050B /* mailimf_write_file.h in Headers */, - C6DC67561083CDA000FA050B /* mailimf_write_generic.h in Headers */, - C6DC67571083CDA000FA050B /* mailimf_write_mem.h in Headers */, - C6DC67581083CDA000FA050B /* maillock.h in Headers */, - C6DC67591083CDA000FA050B /* mailmbox.h in Headers */, - C6DC675A1083CDA000FA050B /* mailmbox_types.h in Headers */, - C6DC675B1083CDA000FA050B /* mailmessage.h in Headers */, - C6DC675C1083CDA000FA050B /* mailmessage_types.h in Headers */, - C6DC675D1083CDA000FA050B /* mailmh.h in Headers */, - C6DC675E1083CDA000FA050B /* mailmime.h in Headers */, - C6DC675F1083CDA000FA050B /* mailmime_content.h in Headers */, - C6DC67601083CDA000FA050B /* mailmime_decode.h in Headers */, - C6DC67611083CDA000FA050B /* mailmime_disposition.h in Headers */, - C6DC67621083CDA000FA050B /* mailmime_types.h in Headers */, - C6DC67631083CDA000FA050B /* mailmime_types_helper.h in Headers */, - C6DC67641083CDA000FA050B /* mailmime_write_file.h in Headers */, - C6DC67651083CDA000FA050B /* mailmime_write_generic.h in Headers */, - C6DC67661083CDA000FA050B /* mailmime_write_mem.h in Headers */, - C6DC67671083CDA000FA050B /* mailpop3.h in Headers */, - C6DC67681083CDA000FA050B /* mailpop3_helper.h in Headers */, - C6DC67691083CDA000FA050B /* mailpop3_socket.h in Headers */, - C6DC676A1083CDA000FA050B /* mailpop3_ssl.h in Headers */, - C6DC676B1083CDA000FA050B /* mailpop3_types.h in Headers */, - C6DC676C1083CDA000FA050B /* mailprivacy.h in Headers */, - C6DC676D1083CDA000FA050B /* mailprivacy_gnupg.h in Headers */, - C6DC676E1083CDA000FA050B /* mailprivacy_smime.h in Headers */, - C6DC676F1083CDA000FA050B /* mailprivacy_tools.h in Headers */, - C6DC67701083CDA000FA050B /* mailprivacy_types.h in Headers */, - C6DC67711083CDA000FA050B /* mailsem.h in Headers */, - C6DC67721083CDA000FA050B /* mailsmtp.h in Headers */, - C6DC67731083CDA000FA050B /* mailsmtp_helper.h in Headers */, - C6DC67741083CDA000FA050B /* mailsmtp_socket.h in Headers */, - C6DC67751083CDA000FA050B /* mailsmtp_ssl.h in Headers */, - C6DC67761083CDA000FA050B /* mailsmtp_types.h in Headers */, - C6DC67771083CDA000FA050B /* mailstorage.h in Headers */, - C6DC67781083CDA000FA050B /* mailstorage_types.h in Headers */, - 365DFFDF15D1F2F800F2DD85 /* mailstream_cfstream.h in Headers */, - C6DC67791083CDA000FA050B /* mailstream.h in Headers */, - C6DC677A1083CDA000FA050B /* mailstream_helper.h in Headers */, - C6DC677B1083CDA000FA050B /* mailstream_low.h in Headers */, - C6DC677C1083CDA000FA050B /* mailstream_socket.h in Headers */, - C6DC677D1083CDA000FA050B /* mailstream_ssl.h in Headers */, - C6DC677E1083CDA000FA050B /* mailstream_types.h in Headers */, - C6DC677F1083CDA000FA050B /* mailthread.h in Headers */, - C6DC67801083CDA000FA050B /* mailthread_types.h in Headers */, - C6DC67811083CDA000FA050B /* mboxdriver.h in Headers */, - C6DC67821083CDA000FA050B /* mboxdriver_cached.h in Headers */, - C6DC67831083CDA000FA050B /* mboxdriver_cached_message.h in Headers */, - C6DC67841083CDA000FA050B /* mboxdriver_message.h in Headers */, - C6DC67851083CDA000FA050B /* mboxdriver_types.h in Headers */, - C6DC67861083CDA000FA050B /* mboxstorage.h in Headers */, - C6DC67871083CDA000FA050B /* mhdriver.h in Headers */, - C6DC67881083CDA000FA050B /* mhdriver_cached.h in Headers */, - C6DC67891083CDA000FA050B /* mhdriver_cached_message.h in Headers */, - C6DC678A1083CDA000FA050B /* mhdriver_message.h in Headers */, - C6DC678B1083CDA000FA050B /* mhdriver_types.h in Headers */, - C6DC678C1083CDA000FA050B /* mhstorage.h in Headers */, - C6DC678D1083CDA000FA050B /* mime_message_driver.h in Headers */, - C68C6208130FFE7E00F16728 /* namespace_types.h in Headers */, - C68C6209130FFE7E00F16728 /* namespace.h in Headers */, - C6DC678E1083CDA000FA050B /* mmapstring.h in Headers */, - C6DC678F1083CDA000FA050B /* newsfeed.h in Headers */, - C6DC67901083CDA000FA050B /* newsfeed_item.h in Headers */, - C6DC67911083CDA000FA050B /* newsfeed_item_enclosure.h in Headers */, - C6DC67921083CDA000FA050B /* newsfeed_types.h in Headers */, - C6DC67931083CDA000FA050B /* newsnntp.h in Headers */, - C6DC67941083CDA000FA050B /* newsnntp_socket.h in Headers */, - C6DC67951083CDA000FA050B /* newsnntp_ssl.h in Headers */, - C6DC67961083CDA000FA050B /* newsnntp_types.h in Headers */, - C6DC67971083CDA000FA050B /* nntpdriver.h in Headers */, - C6DC67981083CDA000FA050B /* nntpdriver_cached.h in Headers */, - C6DC67991083CDA000FA050B /* nntpdriver_cached_message.h in Headers */, - C6DC679A1083CDA000FA050B /* nntpdriver_message.h in Headers */, - C6DC679B1083CDA000FA050B /* nntpdriver_types.h in Headers */, - C6DC679C1083CDA000FA050B /* nntpstorage.h in Headers */, - C6DC679D1083CDA000FA050B /* pop3driver.h in Headers */, - C6DC679E1083CDA000FA050B /* pop3driver_cached.h in Headers */, - C6DC679F1083CDA000FA050B /* pop3driver_cached_message.h in Headers */, - C6DC67A01083CDA000FA050B /* pop3driver_message.h in Headers */, - C6DC67A11083CDA000FA050B /* pop3driver_types.h in Headers */, - C68C620C130FFE7E00F16728 /* quota_types.h in Headers */, - C68C620D130FFE7E00F16728 /* quota.h in Headers */, - C6DC67A21083CDA000FA050B /* pop3storage.h in Headers */, - 365DFFE515D1F3CD00F2DD85 /* xgmlabels.h in Headers */, - C6DC67A31083CDA000FA050B /* uidplus.h in Headers */, - 365DFFDB15D1CF6D00F2DD85 /* xgmmsgid.h in Headers */, - C6DC67A41083CDA000FA050B /* uidplus_types.h in Headers */, - C6451AFE1083D316003135FD /* mailimf_write.h in Headers */, - C6451AFF1083D316003135FD /* mhdriver_cached.h in Headers */, - C6451B001083D316003135FD /* mhdriver_types.h in Headers */, - C6451B011083D316003135FD /* mailimap_types.h in Headers */, - C6451B021083D316003135FD /* annotatemore_sender.h in Headers */, - C6451B031083D316003135FD /* parser.h in Headers */, - C6451B041083D316003135FD /* mailimap_extension.h in Headers */, - C6451B051083D316003135FD /* mailmessage_types.h in Headers */, - C6451B061083D316003135FD /* newsfeed_types.h in Headers */, - C6451B071083D316003135FD /* mailsmtp_ssl.h in Headers */, - C6451B081083D316003135FD /* parser_rss20.h in Headers */, - C6451B091083D316003135FD /* mailmbox_parse.h in Headers */, - C6451B0A1083D316003135FD /* mailimf.h in Headers */, - C6451B0B1083D316003135FD /* mailstorage_types.h in Headers */, - C6451B0C1083D316003135FD /* date.h in Headers */, - C6451B0D1083D316003135FD /* mailimf_types.h in Headers */, - C6451B0E1083D316003135FD /* mailsmtp.h in Headers */, - C6451B0F1083D316003135FD /* feeddriver_types.h in Headers */, - C6451B101083D316003135FD /* mboxdriver_types.h in Headers */, - C6451B111083D316003135FD /* newsnntp_socket.h in Headers */, - C6451B121083D316003135FD /* mhdriver_tools.h in Headers */, - C6451B131083D316003135FD /* acl_types.h in Headers */, - C6451B141083D316003135FD /* parser_atom03.h in Headers */, - C6451B151083D316003135FD /* mailthread_types.h in Headers */, - C6451B161083D316003135FD /* maildriver_types_helper.h in Headers */, - C6451B171083D316003135FD /* imapdriver_types.h in Headers */, - C6451B181083D316003135FD /* mboxdriver_cached_message.h in Headers */, - C6451B191083D316003135FD /* mailprivacy_tools_private.h in Headers */, - C6451B1A1083D316003135FD /* libetpan.h in Headers */, - C6451B1B1083D316003135FD /* dbdriver_types.h in Headers */, - C6451B1C1083D316003135FD /* mailmime_write_generic.h in Headers */, - C6451B1D1083D316003135FD /* maildirdriver.h in Headers */, - C6451B1E1083D316003135FD /* mailmbox.h in Headers */, - C6451B1F1083D316003135FD /* mailimf_types_helper.h in Headers */, - C6451B201083D316003135FD /* nntpstorage.h in Headers */, - C6451B211083D316003135FD /* newsnntp.h in Headers */, - C6451B221083D316003135FD /* annotatemore_types.h in Headers */, - C6451B231083D316003135FD /* maildriver_tools.h in Headers */, - C6451B241083D316003135FD /* mboxdriver.h in Headers */, - C6451B251083D316003135FD /* imapdriver_tools_private.h in Headers */, - C6451B261083D316003135FD /* maildirdriver_types.h in Headers */, - C6451B271083D316003135FD /* annotatemore.h in Headers */, - C6451B281083D316003135FD /* uidplus.h in Headers */, - C6451B291083D316003135FD /* mailimap_types_helper.h in Headers */, - C6451B2A1083D316003135FD /* mailimap_keywords.h in Headers */, - C6451B2B1083D316003135FD /* mailprivacy_tools.h in Headers */, - C6451B2C1083D316003135FD /* feeddriver_message.h in Headers */, - C6451B2D1083D316003135FD /* feeddriver.h in Headers */, - C6451B2E1083D316003135FD /* mboxstorage.h in Headers */, - C6451B2F1083D316003135FD /* mailimap_extension_types.h in Headers */, - C6451B301083D316003135FD /* uidplus_types.h in Headers */, - C6451B311083D316003135FD /* hotmailstorage.h in Headers */, - C6451B321083D316003135FD /* mailsmtp_socket.h in Headers */, - C6451B331083D316003135FD /* nntpdriver_types.h in Headers */, - C6451B341083D316003135FD /* mailengine.h in Headers */, - C6451B351083D316003135FD /* mailpop3_ssl.h in Headers */, - C6451B361083D316003135FD /* mailmessage.h in Headers */, - C6451B371083D316003135FD /* imapstorage.h in Headers */, - C6451B381083D316003135FD /* mboxdriver_tools.h in Headers */, - C6451B391083D316003135FD /* data_message_driver.h in Headers */, - C6451B3A1083D316003135FD /* maildir.h in Headers */, - C6451B3B1083D316003135FD /* mailimap_sender.h in Headers */, - C6451B3C1083D316003135FD /* mailprivacy_types.h in Headers */, - C6451B3D1083D316003135FD /* newsnntp_types.h in Headers */, - C6451B3E1083D316003135FD /* dbdriver.h in Headers */, - C6451B3F1083D316003135FD /* mailimap_socket.h in Headers */, - C6451B401083D316003135FD /* mailmh.h in Headers */, - C6451B411083D316003135FD /* generic_cache.h in Headers */, - C6451B421083D316003135FD /* imapdriver_message.h in Headers */, - C6451B431083D316003135FD /* generic_cache_types.h in Headers */, - C6451B441083D316003135FD /* mailmime_decode.h in Headers */, - C6451B451083D316003135FD /* maildriver.h in Headers */, - C6451B461083D316003135FD /* mailmime_types.h in Headers */, - C6451B471083D316003135FD /* maildirstorage.h in Headers */, - C6451B481083D316003135FD /* acl_sender.h in Headers */, - C6451B491083D316003135FD /* nntpdriver_message.h in Headers */, - C6451B4A1083D316003135FD /* parser_rdf.h in Headers */, - C6451B4B1083D316003135FD /* mhdriver_cached_message.h in Headers */, - C6451B4C1083D316003135FD /* mailfolder.h in Headers */, - C6451B4D1083D316003135FD /* mailstorage_tools.h in Headers */, - C6451B4E1083D316003135FD /* uidplus_sender.h in Headers */, - C6451B4F1083D316003135FD /* newsfeed_private.h in Headers */, - C6451B501083D316003135FD /* feedstorage.h in Headers */, - C6451B511083D316003135FD /* mhstorage.h in Headers */, - C6451B521083D316003135FD /* imapdriver_cached.h in Headers */, - C6451B531083D316003135FD /* mailimf_write_mem.h in Headers */, - C6451B541083D316003135FD /* mboxdriver_cached.h in Headers */, - C6451B551083D316003135FD /* acl_parser.h in Headers */, - C6451B561083D316003135FD /* mailsmtp_types.h in Headers */, - C6451B571083D316003135FD /* uidplus_parser.h in Headers */, - C6451B581083D316003135FD /* newsfeed_item_enclosure.h in Headers */, - C6451B591083D316003135FD /* acl.h in Headers */, - C6451B5A1083D316003135FD /* nntpdriver_tools.h in Headers */, - C6451B5B1083D316003135FD /* maildirdriver_cached_message.h in Headers */, - C6451B5C1083D316003135FD /* mailprivacy.h in Headers */, - C6451B5D1083D316003135FD /* mailimap_parser.h in Headers */, - C6451B5E1083D316003135FD /* dbdriver_message.h in Headers */, - C6451B5F1083D316003135FD /* mailmbox_types.h in Headers */, - C6451B601083D316003135FD /* pop3storage.h in Headers */, - C6451B611083D316003135FD /* imapdriver.h in Headers */, - C6451B621083D316003135FD /* pop3driver_tools.h in Headers */, - C6451B631083D316003135FD /* newsnntp_ssl.h in Headers */, - C6451B641083D316003135FD /* mhdriver_message.h in Headers */, - C6451B651083D316003135FD /* mailimf_write_generic.h in Headers */, - C6451B661083D316003135FD /* imapdriver_cached_message.h in Headers */, - C6451B671083D316003135FD /* mailpop3_types.h in Headers */, - C6451B681083D316003135FD /* mailimap_print.h in Headers */, - C6451B691083D316003135FD /* annotatemore_parser.h in Headers */, - C6451B6A1083D316003135FD /* idle.h in Headers */, - C6451B6B1083D316003135FD /* mailpop3.h in Headers */, - C6451B6C1083D316003135FD /* mailmime.h in Headers */, - C6451B6D1083D316003135FD /* mailmessage_tools.h in Headers */, - C6451B6E1083D316003135FD /* pop3driver_message.h in Headers */, - C6451B6F1083D316003135FD /* mboxdriver_message.h in Headers */, - C6451B701083D316003135FD /* maildirdriver_message.h in Headers */, - C6451B711083D316003135FD /* pop3driver_cached.h in Headers */, - C6451B721083D316003135FD /* dbstorage.h in Headers */, - C6451B731083D316003135FD /* mailimf_write_file.h in Headers */, - C6451B741083D316003135FD /* newsfeed_item.h in Headers */, - C6451B751083D316003135FD /* mhdriver.h in Headers */, - C6451B761083D316003135FD /* mailmime_disposition.h in Headers */, - C6451B771083D316003135FD /* maildriver_types.h in Headers */, - C6451B781083D316003135FD /* mailmime_write_file.h in Headers */, - C6451B791083D316003135FD /* mailmime_write_mem.h in Headers */, - C6451B7A1083D316003135FD /* nntpdriver_cached_message.h in Headers */, - C6451B7B1083D316003135FD /* mailprivacy_gnupg.h in Headers */, - C6451B7C1083D316003135FD /* mailmime_write.h in Headers */, - C6451B7D1083D316003135FD /* parser_atom10.h in Headers */, - C6451B7E1083D316003135FD /* mailsmtp_helper.h in Headers */, - C6451B7F1083D316003135FD /* mailmime_content.h in Headers */, - C6451B801083D316003135FD /* mailprivacy_smime.h in Headers */, - C6451B811083D316003135FD /* mailimap.h in Headers */, - C6451B821083D316003135FD /* mailimap_ssl.h in Headers */, - C6451B831083D316003135FD /* nntpdriver.h in Headers */, - C6451B841083D316003135FD /* mailpop3_helper.h in Headers */, - C6451B851083D316003135FD /* mailimap_helper.h in Headers */, - C6451B861083D316003135FD /* mailpop3_socket.h in Headers */, - C6451B871083D316003135FD /* imapdriver_tools.h in Headers */, - C6451B881083D316003135FD /* maildirdriver_tools.h in Headers */, - C6451B891083D316003135FD /* maildirdriver_cached.h in Headers */, - C6451B8A1083D316003135FD /* pop3driver_types.h in Headers */, - C6451B8B1083D316003135FD /* mailthread.h in Headers */, - C6451B8C1083D316003135FD /* maildriver_errors.h in Headers */, - C6451B8D1083D316003135FD /* mailmime_types_helper.h in Headers */, - C6451B8E1083D316003135FD /* imfcache.h in Headers */, - C6451B8F1083D316003135FD /* maildir_types.h in Headers */, - C6451B901083D316003135FD /* nntpdriver_cached.h in Headers */, - C6451B911083D316003135FD /* mime_message_driver.h in Headers */, - C6451B921083D316003135FD /* mailstorage.h in Headers */, - C6451B931083D316003135FD /* pop3driver.h in Headers */, - C6451B941083D316003135FD /* newsfeed.h in Headers */, - C6451B951083D316003135FD /* pop3driver_cached_message.h in Headers */, - C6451B961083D34C003135FD /* mmapstring_private.h in Headers */, - C6451B971083D34C003135FD /* timeutils.h in Headers */, - C6451B981083D34C003135FD /* mailstream_cancel.h in Headers */, - C6451B991083D34C003135FD /* mmapstring.h in Headers */, - C6451B9A1083D34C003135FD /* mailstream_ssl.h in Headers */, - C6451B9B1083D34C003135FD /* connect.h in Headers */, - C6451B9C1083D34C003135FD /* mail_cache_db.h in Headers */, - C6451B9D1083D34C003135FD /* mailsasl.h in Headers */, - C6451B9E1083D34C003135FD /* base64.h in Headers */, - C6451B9F1083D34C003135FD /* mailstream_ssl_private.h in Headers */, - C6451BA01083D34C003135FD /* chash.h in Headers */, - C6451BA11083D34C003135FD /* hmac-md5.h in Headers */, - C6451BA21083D34C003135FD /* mailstream.h in Headers */, - C6451BA31083D34C003135FD /* md5.h in Headers */, - C6451BA41083D34C003135FD /* mailstream_low.h in Headers */, - C6451BA51083D34C003135FD /* mailstream_cancel_types.h in Headers */, - C6451BA61083D34C003135FD /* charconv.h in Headers */, - C6451BA71083D34C003135FD /* mailstream_socket.h in Headers */, - C6451BA81083D34C003135FD /* mail_cache_db_types.h in Headers */, - C6451BA91083D34C003135FD /* md5global.h in Headers */, - C6451BAA1083D34C003135FD /* clist.h in Headers */, - C6451BAB1083D34C003135FD /* mail.h in Headers */, - C6451BAC1083D34C003135FD /* mailstream_helper.h in Headers */, - C6451BAD1083D34C003135FD /* maillock.h in Headers */, - C6451BAE1083D34C003135FD /* carray.h in Headers */, - C6451BAF1083D34C003135FD /* mailsem.h in Headers */, - C6451BB01083D34C003135FD /* mailstream_types.h in Headers */, - C6E5720F1103770400897274 /* quota.h in Headers */, - C6E572111103770400897274 /* quota_parser.h in Headers */, - C6E572131103770400897274 /* quota_sender.h in Headers */, - C6E572151103770400897274 /* quota_types.h in Headers */, - C6516B6A130DD667004ADD56 /* namespace.h in Headers */, - C65179F4130E85CA004ADD56 /* namespace_parser.h in Headers */, - C6517A07130E86C6004ADD56 /* namespace_types.h in Headers */, - C6517A0D130E86D3004ADD56 /* namespace_sender.h in Headers */, - C68C6206130FFE7E00F16728 /* namespace_parser.h in Headers */, - C68C6207130FFE7E00F16728 /* namespace_sender.h in Headers */, - C68C620A130FFE7E00F16728 /* quota_parser.h in Headers */, - C68C620B130FFE7E00F16728 /* quota_sender.h in Headers */, - C6667DF01342ACCD00969A8E /* xlist.h in Headers */, - C6EFB8791433F1F300F805C0 /* mailstream_cfstream.h in Headers */, - 365DFFD915D1CF1800F2DD85 /* xgmmsgid.h in Headers */, - C64EA7C416A00CC500778456 /* mailimap_id_parser.h in Headers */, - C64EA7C816A00CC500778456 /* mailimap_id_sender.h in Headers */, - C64EA7CC16A00CC500778456 /* mailimap_id_types.h in Headers */, - C64EA7D016A00CC500778456 /* mailimap_id.h in Headers */, - C60E7B9B16C3809500A25BF4 /* enable.h in Headers */, - C60E7BA016C380D300A25BF4 /* enable.h in Headers */, +/* Begin PBXLegacyTarget section */ + C6635C4316DFFE6E0066276E /* libetpan-prepare */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(SRCROOT)/update.sh"; + buildConfigurationList = C6635C4416DFFE6E0066276E /* Build configuration list for PBXLegacyTarget "libetpan-prepare" */; + buildPhases = ( ); - runOnlyForDeploymentPostprocessing = 0; + buildToolPath = /bin/sh; + buildWorkingDirectory = "/Users/hoa/LibEtPan/libetpan/build-mac"; + dependencies = ( + ); + name = "libetpan-prepare"; + passBuildSettingsInEnvironment = 1; + productName = "libetpan-prepare"; }; -/* End PBXHeadersBuildPhase section */ + C6635C4D16E002340066276E /* libetpan-prepare-ios */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(SRCROOT)/update.sh"; + buildConfigurationList = C6635C4E16E002340066276E /* Build configuration list for PBXLegacyTarget "libetpan-prepare-ios" */; + buildPhases = ( + ); + buildToolPath = /bin/sh; + buildWorkingDirectory = "/Users/hoa/LibEtPan/libetpan/build-mac"; + dependencies = ( + ); + name = "libetpan-prepare-ios"; + passBuildSettingsInEnvironment = 1; + productName = "libetpan-prepare"; + }; +/* End PBXLegacyTarget section */ /* Begin PBXNativeTarget section */ 8DC2EF4F0486A6940098B216 /* libetpan */ = { isa = PBXNativeTarget; buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "libetpan" */; buildPhases = ( - 8DC2EF500486A6940098B216 /* Headers */, + C6635C5316E002ED0066276E /* ShellScript */, 8DC2EF520486A6940098B216 /* Resources */, 8DC2EF540486A6940098B216 /* Sources */, 8DC2EF560486A6940098B216 /* Frameworks */, @@ -2664,6 +1672,7 @@ buildRules = ( ); dependencies = ( + C6635C4816E000310066276E /* PBXTargetDependency */, ); name = libetpan; productInstallPath = "$(HOME)/Library/Frameworks"; @@ -2675,7 +1684,7 @@ isa = PBXNativeTarget; buildConfigurationList = C682E2BD15B315EF00BE9DA7 /* Build configuration list for PBXNativeTarget "libetpan ios" */; buildPhases = ( - C682E21915B315EF00BE9DA7 /* CopyFiles */, + C6635C3416DFF0030066276E /* ShellScript */, C682E21B15B315EF00BE9DA7 /* Sources */, C682E2BC15B315EF00BE9DA7 /* Frameworks */, C6740DB515B384FB00D4A16B /* ShellScript */, @@ -2683,6 +1692,7 @@ buildRules = ( ); dependencies = ( + C6635C5216E0027B0066276E /* PBXTargetDependency */, ); name = "libetpan ios"; productName = "static libetpan"; @@ -2693,13 +1703,14 @@ isa = PBXNativeTarget; buildConfigurationList = C69AB10D1054700400F32FBD /* Build configuration list for PBXNativeTarget "static libetpan" */; buildPhases = ( - C6DC649E10829CEB00FA050B /* CopyFiles */, + C6635C3316DFEFE00066276E /* ShellScript */, C69AB10710546FE500F32FBD /* Sources */, C69AB10810546FE500F32FBD /* Frameworks */, ); buildRules = ( ); dependencies = ( + C6635C4A16E000340066276E /* PBXTargetDependency */, ); name = "static libetpan"; productName = "static libetpan"; @@ -2732,6 +1743,8 @@ 8DC2EF4F0486A6940098B216 /* libetpan */, C69AB10910546FE500F32FBD /* static libetpan */, C682E21815B315EF00BE9DA7 /* libetpan ios */, + C6635C4316DFFE6E0066276E /* libetpan-prepare */, + C6635C4D16E002340066276E /* libetpan-prepare-ios */, ); }; /* End PBXProject section */ @@ -2747,6 +1760,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + C6635C3316DFEFE00066276E /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "mkdir -p \"$BUILT_PRODUCTS_DIR/include\"\nrsync -aL \"$SRCROOT/../include/libetpan/\" \"$BUILT_PRODUCTS_DIR/include/libetpan/\"\n"; + }; + C6635C3416DFF0030066276E /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "mkdir -p \"$BUILT_PRODUCTS_DIR/include\"\nrsync -aL \"$SRCROOT/../include/libetpan/\" \"$BUILT_PRODUCTS_DIR/include/libetpan/\"\n"; + }; + C6635C5316E002ED0066276E /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "mkdir -p \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"\nln -sf \"Versions/Current/Headers\" \"$BUILT_PRODUCTS_DIR/$FULL_PRODUCT_NAME/Headers\"\nrsync -aL \"$SRCROOT/../include/libetpan/\" \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH/\"\n"; + }; C6740DB515B384FB00D4A16B /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2933,6 +1985,8 @@ C64EA7C916A00CC500778456 /* mailimap_id_types.c in Sources */, C64EA7CD16A00CC500778456 /* mailimap_id.c in Sources */, C60E7B9A16C3809400A25BF4 /* enable.c in Sources */, + C6635C3A16DFF10E0066276E /* condstore_types.c in Sources */, + C6635C3B16DFF10E0066276E /* condstore.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3284,6 +2338,24 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + C6635C4816E000310066276E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C6635C4316DFFE6E0066276E /* libetpan-prepare */; + targetProxy = C6635C4716E000310066276E /* PBXContainerItemProxy */; + }; + C6635C4A16E000340066276E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C6635C4316DFFE6E0066276E /* libetpan-prepare */; + targetProxy = C6635C4916E000340066276E /* PBXContainerItemProxy */; + }; + C6635C5216E0027B0066276E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C6635C4D16E002340066276E /* libetpan-prepare-ios */; + targetProxy = C6635C5116E0027B0066276E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 1DEB91AE08733DA50010E9CD /* Debug */ = { isa = XCBuildConfiguration; @@ -3334,7 +2406,10 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/include"; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/..", + "$(SRCROOT)/include", + ); ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DHAVE_CFNETWORK=1", @@ -3350,7 +2425,10 @@ GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/include"; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/..", + "$(SRCROOT)/include", + ); OTHER_CFLAGS = ( "-DHAVE_CFNETWORK=1", "-DHAVE_CONFIG_H=1", @@ -3358,6 +2436,34 @@ }; name = Release; }; + C6635C4516DFFE6E0066276E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + SDKROOT = macosx; + }; + name = Debug; + }; + C6635C4616DFFE6E0066276E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + SDKROOT = macosx; + }; + name = Release; + }; + C6635C4F16E002340066276E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + SDKROOT = iphoneos; + }; + name = Debug; + }; + C6635C5016E002340066276E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + SDKROOT = iphoneos; + }; + name = Release; + }; C682E2BE15B315EF00BE9DA7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3455,6 +2561,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C6635C4416DFFE6E0066276E /* Build configuration list for PBXLegacyTarget "libetpan-prepare" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6635C4516DFFE6E0066276E /* Debug */, + C6635C4616DFFE6E0066276E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C6635C4E16E002340066276E /* Build configuration list for PBXLegacyTarget "libetpan-prepare-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6635C4F16E002340066276E /* Debug */, + C6635C5016E002340066276E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; C682E2BD15B315EF00BE9DA7 /* Build configuration list for PBXNativeTarget "libetpan ios" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/build-mac/update.sh b/build-mac/update.sh index 2ad4c54..b4b9276 100755 --- a/build-mac/update.sh +++ b/build-mac/update.sh @@ -6,20 +6,37 @@ fi logfile="`pwd`/update.log" cd .. -echo configuring -./autogen.sh > "$logfile" 2>&1 -if [[ "$?" != "0" ]]; then - echo "configure failed" - exit 1 + +if test x$SRCROOT = x ; then + echo Should be run from Xcode + exit 1 fi -make stamp-prepare-target >> "$logfile" 2>&1 -make libetpan-config.h >> "$logfile" 2>&1 -cd build-mac -mkdir -p include/libetpan >> "$logfile" 2>&1 -cp -r ../include/libetpan/ include/libetpan/ -cp ../config.h include -cp ../libetpan-config.h include +if test x$ACTION = x ; then + if test ! -f Makefile ; then + echo configuring + ./autogen.sh > "$logfile" 2>&1 + if [[ "$?" != "0" ]]; then + echo "configure failed" + exit 1 + fi + + make stamp-prepare-target >> "$logfile" 2>&1 + make libetpan-config.h >> "$logfile" 2>&1 + fi + if test x$PLATFORM_NAME = xiphoneos ; then + if test ! -d build-mac/libsasl-ios ; then + # build dependencies for iOS + cd build-mac + sh ./prepare-ios.sh + fi + fi +elif test x$ACTION = xclean ; then + if test -f Makefile ; then + make maintainer-clean >/dev/null + cd build-mac + rm -rf libsasl-ios + rm -rf dependencies/build + fi +fi -# build dependencies for iOS -sh ./prepare-ios.sh diff --git a/src/low-level/imap/Makefile.am b/src/low-level/imap/Makefile.am index e22d7ef..9f8500e 100644 --- a/src/low-level/imap/Makefile.am +++ b/src/low-level/imap/Makefile.am @@ -44,7 +44,7 @@ etpaninclude_HEADERS = \ namespace.h namespace_parser.h namespace_sender.h namespace_types.h \ xlist.h xgmlabels.h xgmmsgid.h \ mailimap_id.h mailimap_id_types.h \ - enable.h + enable.h condstore.h condstore_types.h AM_CPPFLAGS = -I$(top_builddir)/include \ -I$(top_srcdir)/src/data-types @@ -90,5 +90,6 @@ libimap_la_SOURCES = \ mailimap_id_types.h mailimap_id_types.c \ mailimap_id_sender.h mailimap_id_sender.c \ mailimap_id_parser.h mailimap_id_parser.c \ - enable.h enable.c + enable.h enable.c \ + condstore.h condstore.c condstore_types.h condstore_types.c diff --git a/src/low-level/imap/condstore.c b/src/low-level/imap/condstore.c new file mode 100644 index 0000000..df056ca --- /dev/null +++ b/src/low-level/imap/condstore.c @@ -0,0 +1,1139 @@ +#include "condstore.h" +#include "condstore_private.h" + +#include +#include +#include + +#include "mailimap_sender.h" +#include "mailimap.h" +#include "condstore_types.h" +#include "mailimap_keywords.h" +#include "mailimap_parser.h" + +/* + capability =/ "CONDSTORE" + + status-att =/ "HIGHESTMODSEQ" + ;; extends non-terminal defined in RFC 3501. + + status-att-val =/ "HIGHESTMODSEQ" SP mod-sequence-valzer + ;; extends non-terminal defined in [IMAPABNF]. + ;; Value 0 denotes that the mailbox doesn't + ;; support persistent mod-sequences + ;; as described in Section 3.1.2 + + store-modifier =/ "UNCHANGEDSINCE" SP mod-sequence-valzer + ;; Only a single "UNCHANGEDSINCE" may be + ;; specified in a STORE operation + + fetch-modifier =/ chgsince-fetch-mod + ;; conforms to the generic "fetch-modifier" + ;; syntax defined in [IMAPABNF]. + + chgsince-fetch-mod = "CHANGEDSINCE" SP mod-sequence-value + ;; CHANGEDSINCE FETCH modifier conforms to + ;; the fetch-modifier syntax + + fetch-att =/ fetch-mod-sequence + ;; modifies original IMAP4 fetch-att + + fetch-mod-sequence = "MODSEQ" + + fetch-mod-resp = "MODSEQ" SP "(" permsg-modsequence ")" + + msg-att-dynamic =/ fetch-mod-resp + + search-key =/ search-modsequence + ;; modifies original IMAP4 search-key + ;; + ;; This change applies to all commands + ;; referencing this non-terminal, in + ;; particular SEARCH. + + search-modsequence = "MODSEQ" [search-modseq-ext] SP + mod-sequence-valzer + + search-modseq-ext = SP entry-name SP entry-type-req + + resp-text-code =/ "HIGHESTMODSEQ" SP mod-sequence-value / + "NOMODSEQ" / + "MODIFIED" SP set + + entry-name = entry-flag-name + + entry-flag-name = DQUOTE "/flags/" attr-flag DQUOTE + ;; each system or user defined flag + ;; is mapped to "/flags/". + ;; + ;; follows the escape rules + ;; used by "quoted" string as described in + ;; Section 4.3 of [IMAP4], e.g., for the flag + ;; \Seen the corresponding is + ;; "/flags/\\seen", and for the flag + ;; $MDNSent, the corresponding + ;; is "/flags/$mdnsent". + + entry-type-resp = "priv" / "shared" + ;; metadata item type + + entry-type-req = entry-type-resp / "all" + ;; perform SEARCH operation on private + ;; metadata item, shared metadata item or both + + permsg-modsequence = mod-sequence-value + ;; per message mod-sequence + + mod-sequence-value = 1*DIGIT + ;; Positive unsigned 64-bit integer + ;; (mod-sequence) + ;; (1 <= n < 18,446,744,073,709,551,615) + + mod-sequence-valzer = "0" / mod-sequence-value + + search-sort-mod-seq = "(" "MODSEQ" SP mod-sequence-value ")" + + select-param =/ condstore-param + ;; conforms to the generic "select-param" + ;; non-terminal syntax defined in [IMAPABNF]. + + condstore-param = "CONDSTORE" + + mailbox-data =/ "SEARCH" [1*(SP nz-number) SP + search-sort-mod-seq] + + attr-flag = "\\Answered" / "\\Flagged" / "\\Deleted" / + "\\Seen" / "\\Draft" / attr-flag-keyword / + attr-flag-extension + ;; Does not include "\\Recent" + + attr-flag-extension = "\\" atom + ;; Future expansion. Client implementations + ;; MUST accept flag-extension flags. Server + ;; implementations MUST NOT generate + ;; flag-extension flags except as defined by + ;; future standard or standards-track + ;; revisions of [IMAP4]. + + attr-flag-keyword = atom +*/ + +enum { + MAILIMAP_CONDSTORE_TYPE_FETCH_DATA, + MAILIMAP_CONDSTORE_TYPE_RESP_TEXT_CODE, + MAILIMAP_CONDSTORE_TYPE_SEARCH_DATA, + MAILIMAP_CONDSTORE_TYPE_STATUS_INFO +}; + +static void + mailimap_condstore_extension_data_free(struct mailimap_extension_data * ext_data); + +static int + mailimap_condstore_extension_parse(int calling_parser, mailstream * fd, + MMAPString * buffer, size_t * indx, + struct mailimap_extension_data ** result, + size_t progr_rate, progress_function * progr_fun); + +struct mailimap_extension_api mailimap_extension_condstore = { + /* name */ "CONDSTORE", + /* extension_id */ MAILIMAP_EXTENSION_CONDSTORE, + /* parser */ mailimap_condstore_extension_parse, + /* free */ mailimap_condstore_extension_data_free +}; + +int mailimap_store_unchangedsince_optional(mailimap * session, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags) +{ + struct mailimap_response * response; + int r; + int error_code; + + if (session->imap_state != MAILIMAP_STATE_SELECTED) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_store_send(session->imap_stream, set, + use_unchangedsince, mod_sequence_valzer, store_att_flags); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) + return r; + + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + return MAILIMAP_NO_ERROR; + + default: + return MAILIMAP_ERROR_STORE; + } +} + +int mailimap_uid_store_unchangedsince_optional(mailimap * session, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags) +{ + struct mailimap_response * response; + int r; + int error_code; + + if (session->imap_state != MAILIMAP_STATE_SELECTED) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_uid_store_send(session->imap_stream, set, + use_unchangedsince, mod_sequence_valzer, store_att_flags); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) + return r; + + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + return MAILIMAP_NO_ERROR; + + default: + return MAILIMAP_ERROR_UID_STORE; + } +} + +int mailimap_store_unchangedsince(mailimap * session, + struct mailimap_set * set, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags) +{ + return mailimap_store_unchangedsince_optional(session, set, 1, mod_sequence_valzer, + store_att_flags); +} + +int mailimap_uid_store_unchangedsince(mailimap * session, + struct mailimap_set * set, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags) +{ + return mailimap_uid_store_unchangedsince_optional(session, set, 1, mod_sequence_valzer, + store_att_flags); +} + +int mailimap_fetch_changedsince(mailimap * session, + struct mailimap_set * set, + struct mailimap_fetch_type * fetch_type, uint64_t mod_sequence_value, + clist ** result) +{ + struct mailimap_response * response; + int r; + int error_code; + + if (session->imap_state != MAILIMAP_STATE_SELECTED) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_fetch_send(session->imap_stream, set, fetch_type); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mod_sequence_value != 0) { + r = mailimap_space_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_oparenth_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_token_send(session->imap_stream, "CHANGEDSINCE"); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_space_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_mod_sequence_value_send(session->imap_stream, mod_sequence_value); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_cparenth_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + } + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) + return r; + + * result = session->imap_response_info->rsp_fetch_list; + session->imap_response_info->rsp_fetch_list = NULL; + + if (clist_count(* result) == 0) { + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + } + else { + error_code = MAILIMAP_RESP_COND_STATE_OK; + } + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + return MAILIMAP_NO_ERROR; + + default: + mailimap_fetch_list_free(* result); + return MAILIMAP_ERROR_FETCH; + } +} + +int mailimap_uid_fetch_changedsince(mailimap * session, + struct mailimap_set * set, + struct mailimap_fetch_type * fetch_type, uint64_t mod_sequence_value, + clist ** result) +{ + struct mailimap_response * response; + int r; + int error_code; + + if (session->imap_state != MAILIMAP_STATE_SELECTED) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_uid_fetch_send(session->imap_stream, set, fetch_type); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mod_sequence_value != 0) { + r = mailimap_space_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_oparenth_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_token_send(session->imap_stream, "CHANGEDSINCE"); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_space_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_mod_sequence_value_send(session->imap_stream, mod_sequence_value); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_cparenth_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + } + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + * result = session->imap_response_info->rsp_fetch_list; + session->imap_response_info->rsp_fetch_list = NULL; + + if (clist_count(* result) == 0) { + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + } + else { + error_code = MAILIMAP_RESP_COND_STATE_OK; + } + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + return MAILIMAP_NO_ERROR; + + default: + mailimap_fetch_list_free(* result); + return MAILIMAP_ERROR_UID_FETCH; + } +} + +struct mailimap_fetch_att * mailimap_fetch_att_new_modseq(void) +{ + char * keyword; + struct mailimap_fetch_att * att; + + keyword = strdup("MODSEQ"); + if (keyword == NULL) + return NULL; + + att = mailimap_fetch_att_new_extension(keyword); + if (att == NULL) { + free(keyword); + return NULL; + } + + return att; +} + +struct mailimap_msg_att_modseq * mailimap_msg_att_modseq_new(uint64_t mod_sequence_value) +{ + struct mailimap_msg_att_modseq * att; + + att = malloc(sizeof(* att)); + if (att == NULL) + return NULL; + + att->att_modseq = mod_sequence_value; + + return att; +} + +struct mailimap_search_key * mailimap_search_key_new_modseq(struct mailimap_flag * entry_name, + int entry_type_req, + uint64_t modseq_valzer) +{ + struct mailimap_search_key * key; + + key = malloc(sizeof(* key)); + if (key == NULL) + return NULL; + + key->sk_type = MAILIMAP_SEARCH_KEY_MODSEQ; + key->sk_data.sk_modseq.sk_entry_name = entry_name; + key->sk_data.sk_modseq.sk_entry_type_req = entry_type_req; + key->sk_data.sk_modseq.sk_modseq_valzer = modseq_valzer; + + return key; +} + +int mailimap_search_modseq(mailimap * session, const char * charset, + struct mailimap_search_key * key, clist ** result, uint64_t * p_mod_sequence_value) +{ + struct mailimap_response * response; + int r; + int error_code; + struct mailimap_condstore_search * search_data; + clistiter * cur; + + if (session->imap_state != MAILIMAP_STATE_SELECTED) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_search_send(session->imap_stream, charset, key); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) + return r; + + search_data = NULL; + for(cur = clist_begin(session->imap_response_info->rsp_extension_list) ; cur != NULL ; cur = clist_next(cur)) { + struct mailimap_extension_data * ext_data; + + ext_data = clist_content(cur); + if (ext_data->ext_extension->ext_id != MAILIMAP_EXTENSION_CONDSTORE) { + continue; + } + if (ext_data->ext_type != MAILIMAP_CONDSTORE_TYPE_SEARCH_DATA) { + continue; + } + + search_data = ext_data->ext_data; + ext_data->ext_data = NULL; + break; + } + + if (search_data == NULL) { + return MAILIMAP_ERROR_UID_SEARCH; + } + + * result = search_data->cs_search_result; + * p_mod_sequence_value = search_data->cs_modseq_value; + search_data->cs_search_result = NULL; + + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + return MAILIMAP_NO_ERROR; + + default: + return MAILIMAP_ERROR_SEARCH; + } +} + +int mailimap_uid_search_modseq(mailimap * session, const char * charset, + struct mailimap_search_key * key, clist ** result, uint64_t * p_mod_sequence_value) +{ + struct mailimap_response * response; + int r; + int error_code; + struct mailimap_condstore_search * search_data; + clistiter * cur; + + if (session->imap_state != MAILIMAP_STATE_SELECTED) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_uid_search_send(session->imap_stream, charset, key); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) + return r; + + search_data = NULL; + for(cur = clist_begin(session->imap_response_info->rsp_extension_list) ; cur != NULL ; cur = clist_next(cur)) { + struct mailimap_extension_data * ext_data; + + ext_data = clist_content(cur); + if (ext_data->ext_extension->ext_id != MAILIMAP_EXTENSION_CONDSTORE) { + continue; + } + if (ext_data->ext_type != MAILIMAP_CONDSTORE_TYPE_SEARCH_DATA) { + continue; + } + + search_data = ext_data->ext_data; + ext_data->ext_data = NULL; + break; + } + + if (search_data == NULL) { + return MAILIMAP_ERROR_UID_SEARCH; + } + + * result = search_data->cs_search_result; + * p_mod_sequence_value = search_data->cs_modseq_value; + search_data->cs_search_result = NULL; + + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + return MAILIMAP_NO_ERROR; + + default: + return MAILIMAP_ERROR_UID_SEARCH; + } +} + +int mailimap_select_condstore(mailimap * session, const char * mb, uint64_t * p_mod_sequence_value) +{ + return mailimap_select_condstore_optional(session, mb, 1, p_mod_sequence_value); +} + +int mailimap_select_condstore_optional(mailimap * session, const char * mb, + int condstore, uint64_t * p_mod_sequence_value) +{ + struct mailimap_response * response; + int r; + int error_code; + uint64_t mod_sequence_value; + clistiter * cur; + + if ((session->imap_state != MAILIMAP_STATE_AUTHENTICATED) && + (session->imap_state != MAILIMAP_STATE_SELECTED)) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_select_send(session->imap_stream, mb, condstore); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + if (session->imap_selection_info != NULL) + mailimap_selection_info_free(session->imap_selection_info); + session->imap_selection_info = mailimap_selection_info_new(); + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) + return r; + + mod_sequence_value = 0; + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + for(cur = clist_begin(session->imap_response_info->rsp_extension_list) ; cur != NULL ; cur = clist_next(cur)) { + struct mailimap_extension_data * ext_data; + struct mailimap_condstore_resptextcode * resptextcode; + + ext_data = clist_content(cur); + if (ext_data->ext_extension->ext_id != MAILIMAP_EXTENSION_CONDSTORE) { + continue; + } + if (ext_data->ext_type != MAILIMAP_CONDSTORE_TYPE_RESP_TEXT_CODE) { + continue; + } + + resptextcode = ext_data->ext_data; + switch (resptextcode->cs_type) { + case MAILIMAP_CONDSTORE_RESPTEXTCODE_HIGHESTMODSEQ: + mod_sequence_value = resptextcode->cs_data.cs_modseq_value; + break; + case MAILIMAP_CONDSTORE_RESPTEXTCODE_NOMODSEQ: + mod_sequence_value = 0; + break; + } + } + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + session->imap_state = MAILIMAP_STATE_SELECTED; + * p_mod_sequence_value = mod_sequence_value; + return MAILIMAP_NO_ERROR; + + default: + mailimap_selection_info_free(session->imap_selection_info); + session->imap_selection_info = NULL; + session->imap_state = MAILIMAP_STATE_AUTHENTICATED; + * p_mod_sequence_value = mod_sequence_value; + return MAILIMAP_ERROR_SELECT; + } +} + +int mailimap_examine_condstore(mailimap * session, const char * mb, uint64_t * p_mod_sequence_value) +{ + return mailimap_examine_condstore_optional(session, mb, 1, p_mod_sequence_value); +} + +int mailimap_examine_condstore_optional(mailimap * session, const char * mb, + int condstore, uint64_t * p_mod_sequence_value) +{ + struct mailimap_response * response; + int r; + int error_code; + uint64_t mod_sequence_value; + clistiter * cur; + + if ((session->imap_state != MAILIMAP_STATE_AUTHENTICATED) && + (session->imap_state != MAILIMAP_STATE_SELECTED)) + return MAILIMAP_ERROR_BAD_STATE; + + r = mailimap_send_current_tag(session); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_examine_send(session->imap_stream, mb, condstore); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_crlf_send(session->imap_stream); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (mailstream_flush(session->imap_stream) == -1) + return MAILIMAP_ERROR_STREAM; + + if (mailimap_read_line(session) == NULL) + return MAILIMAP_ERROR_STREAM; + + if (session->imap_selection_info != NULL) + mailimap_selection_info_free(session->imap_selection_info); + session->imap_selection_info = mailimap_selection_info_new(); + + r = mailimap_parse_response(session, &response); + if (r != MAILIMAP_NO_ERROR) + return r; + + mod_sequence_value = 0; + error_code = response->rsp_resp_done->rsp_data.rsp_tagged->rsp_cond_state->rsp_type; + for(cur = clist_begin(session->imap_response_info->rsp_extension_list) ; cur != NULL ; cur = clist_next(cur)) { + struct mailimap_extension_data * ext_data; + struct mailimap_condstore_resptextcode * resptextcode; + + ext_data = clist_content(cur); + if (ext_data->ext_extension->ext_id != MAILIMAP_EXTENSION_CONDSTORE) { + continue; + } + if (ext_data->ext_type != MAILIMAP_CONDSTORE_TYPE_RESP_TEXT_CODE) { + continue; + } + + resptextcode = ext_data->ext_data; + switch (resptextcode->cs_type) { + case MAILIMAP_CONDSTORE_RESPTEXTCODE_HIGHESTMODSEQ: + mod_sequence_value = resptextcode->cs_data.cs_modseq_value; + break; + case MAILIMAP_CONDSTORE_RESPTEXTCODE_NOMODSEQ: + mod_sequence_value = 0; + break; + } + } + + mailimap_response_free(response); + + switch (error_code) { + case MAILIMAP_RESP_COND_STATE_OK: + session->imap_state = MAILIMAP_STATE_SELECTED; + * p_mod_sequence_value = mod_sequence_value; + return MAILIMAP_NO_ERROR; + + default: + mailimap_selection_info_free(session->imap_selection_info); + session->imap_selection_info = NULL; + session->imap_state = MAILIMAP_STATE_AUTHENTICATED; + * p_mod_sequence_value = mod_sequence_value; + return MAILIMAP_ERROR_EXAMINE; + } +} + +int mailimap_has_condstore(mailimap * session) +{ + return mailimap_has_extension(session, "CONDSTORE"); +} + +static int fetch_data_parse(mailstream * fd, + MMAPString * buffer, size_t * indx, struct mailimap_condstore_fetch_mod_resp ** result) +{ + int r; + size_t cur_token; + struct mailimap_condstore_fetch_mod_resp * fetch_data; + uint64_t value; + + /* + fetch-mod-resp = "MODSEQ" SP "(" permsg-modsequence ")" + permsg-modsequence = mod-sequence-value + */ + + cur_token = * indx; + + r = mailimap_token_case_insensitive_parse(fd, buffer, &cur_token, "MODSEQ"); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + r = mailimap_space_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + r = mailimap_oparenth_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + r = mailimap_mod_sequence_value_parse(fd, buffer, &cur_token, &value); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + r = mailimap_cparenth_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + fetch_data = mailimap_condstore_fetch_mod_resp_new(value); + if (fetch_data == NULL) { + return MAILIMAP_ERROR_MEMORY; + } + + * indx = cur_token; + * result = fetch_data; + + return MAILIMAP_NO_ERROR; +} + +static int resp_text_code_parse(mailstream * fd, + MMAPString * buffer, size_t * indx, struct mailimap_condstore_resptextcode ** result) +{ + size_t cur_token; + struct mailimap_condstore_resptextcode * resptextcode; + int r; + + cur_token = * indx; + + /* + resp-text-code =/ "HIGHESTMODSEQ" SP mod-sequence-value / + "NOMODSEQ" / + "MODIFIED" SP set + */ + cur_token = * indx; + + r = mailimap_token_case_insensitive_parse(fd, buffer, &cur_token, "HIGHESTMODSEQ"); + if (r == MAILIMAP_NO_ERROR) { + uint64_t value; + + r = mailimap_space_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + r = mailimap_mod_sequence_value_parse(fd, buffer, &cur_token, &value); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + resptextcode = mailimap_condstore_resptextcode_new(MAILIMAP_CONDSTORE_RESPTEXTCODE_HIGHESTMODSEQ, value, NULL); + if (resptextcode == NULL) + return MAILIMAP_ERROR_MEMORY; + + * indx = cur_token; + * result = resptextcode; + + return MAILIMAP_NO_ERROR; + } + r = mailimap_token_case_insensitive_parse(fd, buffer, &cur_token, "NOMODSEQ"); + if (r == MAILIMAP_NO_ERROR) { + resptextcode = mailimap_condstore_resptextcode_new(MAILIMAP_CONDSTORE_RESPTEXTCODE_NOMODSEQ, 0, NULL); + if (resptextcode == NULL) + return MAILIMAP_ERROR_MEMORY; + + * indx = cur_token; + * result = resptextcode; + + return MAILIMAP_NO_ERROR; + } + r = mailimap_token_case_insensitive_parse(fd, buffer, &cur_token, "MODIFIED"); + if (r == MAILIMAP_NO_ERROR) { + struct mailimap_set * set; + + r = mailimap_space_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + r = mailimap_set_parse(fd, buffer, &cur_token, &set); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + resptextcode = mailimap_condstore_resptextcode_new(MAILIMAP_CONDSTORE_RESPTEXTCODE_MODIFIED, 0, set); + if (resptextcode == NULL) { + mailimap_set_free(set); + return MAILIMAP_ERROR_MEMORY; + } + + * indx = cur_token; + * result = resptextcode; + + return MAILIMAP_NO_ERROR; + } + return MAILIMAP_ERROR_PARSE; +} + +static int search_data_parse(mailstream * fd, + MMAPString * buffer, size_t * indx, struct mailimap_condstore_search ** result) +{ + int r; + clist * number_list; + struct mailimap_condstore_search * search_data; + size_t cur_token; + int res; + uint64_t value; + + cur_token = * indx; + + /* + mailbox-data =/ "SEARCH" [1*(SP nz-number) SP + search-sort-mod-seq] + search-sort-mod-seq = "(" "MODSEQ" SP mod-sequence-value ")" + */ + + r = mailimap_token_case_insensitive_parse(fd, buffer, &cur_token, "SEARCH"); + if (r != MAILIMAP_NO_ERROR) { + res = r; + goto err; + return r; + } + + r = mailimap_space_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + res = r; + goto err; + } + + r = mailimap_struct_spaced_list_parse(fd, buffer, &cur_token, &number_list, + (mailimap_struct_parser *) + mailimap_nz_number_alloc_parse, + (mailimap_struct_destructor *) + mailimap_number_alloc_free, + 0, NULL); + if (r != MAILIMAP_NO_ERROR) { + res = r; + goto err; + } + + r = mailimap_space_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + res = r; + goto free_number_list; + } + r = mailimap_oparenth_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + res = r; + goto free_number_list; + } + r = mailimap_mod_sequence_value_parse(fd, buffer, &cur_token, &value); + if (r != MAILIMAP_NO_ERROR) { + res = r; + goto free_number_list; + } + r = mailimap_cparenth_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + res = r; + goto free_number_list; + } + + search_data = mailimap_condstore_search_new(number_list, value); + if (search_data == NULL) { + res = r; + goto free_number_list; + } + + * indx = cur_token; + * result = search_data; + + return MAILIMAP_NO_ERROR; + +free_number_list: + clist_foreach(number_list, (clist_func) free, NULL); + clist_free(number_list); +err: + return res; +} + +static int status_info_parse(mailstream * fd, + MMAPString * buffer, size_t * indx, struct mailimap_condstore_status_info ** result) +{ + int r; + struct mailimap_condstore_status_info * status_info; + size_t cur_token; + int status_att; + uint64_t value; + + cur_token = * indx; + + r = mailimap_status_att_parse(fd, buffer, &cur_token, &status_att); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + if (status_att != MAILIMAP_STATUS_ATT_HIGHESTMODSEQ) { + return MAILIMAP_ERROR_PARSE; + } + r = mailimap_space_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) + return r; + r = mailimap_mod_sequence_value_parse(fd, buffer, &cur_token, &value); + if (r != MAILIMAP_NO_ERROR) + return r; + + status_info = mailimap_condstore_status_info_new(value); + if (status_info == NULL) + return MAILIMAP_ERROR_MEMORY; + + * result = status_info; + * indx = cur_token; + + return MAILIMAP_NO_ERROR; +} + +static int + mailimap_condstore_extension_parse(int calling_parser, mailstream * fd, + MMAPString * buffer, size_t * indx, + struct mailimap_extension_data ** result, + size_t progr_rate, progress_function * progr_fun) +{ + size_t cur_token; + int r; + + cur_token = * indx; + + switch (calling_parser) { + case MAILIMAP_EXTENDED_PARSER_FETCH_DATA: { + struct mailimap_condstore_fetch_mod_resp * fetch_data; + struct mailimap_extension_data * ext_data; + + r = fetch_data_parse(fd, buffer, &cur_token, &fetch_data); + if (r != MAILIMAP_NO_ERROR) + return r; + ext_data = mailimap_extension_data_new(&mailimap_extension_condstore, + MAILIMAP_CONDSTORE_TYPE_FETCH_DATA, fetch_data); + if (ext_data == NULL) { + mailimap_condstore_fetch_mod_resp_free(fetch_data); + return MAILIMAP_NO_ERROR; + } + * indx = cur_token; + * result = ext_data; + return MAILIMAP_NO_ERROR; + } + + case MAILIMAP_EXTENDED_PARSER_RESP_TEXT_CODE: { + struct mailimap_condstore_resptextcode * resptextcode; + struct mailimap_extension_data * ext_data; + + r = resp_text_code_parse(fd, buffer, &cur_token, &resptextcode); + if (r != MAILIMAP_NO_ERROR) + return r; + ext_data = mailimap_extension_data_new(&mailimap_extension_condstore, + MAILIMAP_CONDSTORE_TYPE_RESP_TEXT_CODE, resptextcode); + if (ext_data == NULL) { + mailimap_condstore_resptextcode_free(resptextcode); + return MAILIMAP_NO_ERROR; + } + * indx = cur_token; + * result = ext_data; + return MAILIMAP_NO_ERROR; + } + + case MAILIMAP_EXTENDED_PARSER_MAILBOX_DATA: { + struct mailimap_condstore_search * search_data; + struct mailimap_extension_data * ext_data; + + r = search_data_parse(fd, buffer, &cur_token, &search_data); + if (r != MAILIMAP_NO_ERROR) + return r; + ext_data = mailimap_extension_data_new(&mailimap_extension_condstore, + MAILIMAP_CONDSTORE_TYPE_SEARCH_DATA, search_data); + if (ext_data == NULL) { + mailimap_condstore_search_free(search_data); + return MAILIMAP_NO_ERROR; + } + * indx = cur_token; + * result = ext_data; + return MAILIMAP_NO_ERROR; + } + + case MAILIMAP_EXTENDED_PARSER_STATUS_ATT: { + struct mailimap_condstore_status_info * status_info; + struct mailimap_extension_data * ext_data; + + r = status_info_parse(fd, buffer, &cur_token, &status_info); + if (r != MAILIMAP_NO_ERROR) + return r; + ext_data = mailimap_extension_data_new(&mailimap_extension_condstore, + MAILIMAP_CONDSTORE_TYPE_STATUS_INFO, status_info); + if (ext_data == NULL) { + mailimap_condstore_status_info_free(status_info); + return MAILIMAP_NO_ERROR; + } + * indx = cur_token; + * result = ext_data; + return MAILIMAP_NO_ERROR; + } + } + + return MAILIMAP_ERROR_PARSE; +} + +static void + mailimap_condstore_extension_data_free(struct mailimap_extension_data * ext_data) +{ + if (ext_data == NULL) + return; + + switch (ext_data->ext_type) { + case MAILIMAP_CONDSTORE_TYPE_FETCH_DATA: + mailimap_condstore_fetch_mod_resp_free(ext_data->ext_data); + break; + case MAILIMAP_CONDSTORE_TYPE_RESP_TEXT_CODE: + mailimap_condstore_resptextcode_free(ext_data->ext_data); + break; + case MAILIMAP_CONDSTORE_TYPE_SEARCH_DATA: + mailimap_condstore_search_free(ext_data->ext_data); + break; + case MAILIMAP_CONDSTORE_TYPE_STATUS_INFO: + mailimap_condstore_status_info_free(ext_data->ext_data); + break; + } + + free(ext_data); +} diff --git a/src/low-level/imap/condstore.h b/src/low-level/imap/condstore.h new file mode 100644 index 0000000..1975f94 --- /dev/null +++ b/src/low-level/imap/condstore.h @@ -0,0 +1,96 @@ +/* + * libEtPan! -- a mail stuff library + * + * Copyright (C) 2001, 2013 - DINH Viet Hoa + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the libEtPan! project nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef CONDSTORE_H + +#define CONDSTORE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +LIBETPAN_EXPORT +extern struct mailimap_extension_api mailimap_extension_condstore; + +LIBETPAN_EXPORT +int mailimap_store_unchangedsince(mailimap * session, + struct mailimap_set * set, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags); + +LIBETPAN_EXPORT +int mailimap_uid_store_unchangedsince(mailimap * session, + struct mailimap_set * set, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags); + +LIBETPAN_EXPORT +int mailimap_fetch_changedsince(mailimap * session, + struct mailimap_set * set, + struct mailimap_fetch_type * fetch_type, uint64_t mod_sequence_value, + clist ** result); + +LIBETPAN_EXPORT +int mailimap_uid_fetch_changedsince(mailimap * session, + struct mailimap_set * set, + struct mailimap_fetch_type * fetch_type, uint64_t mod_sequence_value, + clist ** result); + +LIBETPAN_EXPORT +struct mailimap_fetch_att * mailimap_fetch_att_new_modseq(void); + +LIBETPAN_EXPORT +struct mailimap_msg_att_modseq * mailimap_msg_att_modseq_new(uint64_t mod_sequence_value); + +LIBETPAN_EXPORT +int mailimap_search_modseq(mailimap * session, const char * charset, + struct mailimap_search_key * key, clist ** result, uint64_t * p_mod_sequence_value); + +LIBETPAN_EXPORT +int mailimap_uid_search_modseq(mailimap * session, const char * charset, + struct mailimap_search_key * key, clist ** result, uint64_t * p_mod_sequence_value); + +LIBETPAN_EXPORT +int mailimap_select_condstore(mailimap * session, const char * mb, uint64_t * p_mod_sequence_value); + +LIBETPAN_EXPORT +int mailimap_examine_condstore(mailimap * session, const char * mb, uint64_t * p_mod_sequence_value); + +LIBETPAN_EXPORT +int mailimap_has_condstore(mailimap * session); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/low-level/imap/condstore_private.h b/src/low-level/imap/condstore_private.h new file mode 100644 index 0000000..1699f32 --- /dev/null +++ b/src/low-level/imap/condstore_private.h @@ -0,0 +1,19 @@ +#ifndef CONDSTORE_PRIVATE_H + +#define CONDSTORE_PRIVATE_H + +int mailimap_examine_condstore_optional(mailimap * session, const char * mb, + int condstore, uint64_t * p_mod_sequence_value); + +int mailimap_select_condstore_optional(mailimap * session, const char * mb, + int condstore, uint64_t * p_mod_sequence_value); + +int mailimap_store_unchangedsince_optional(mailimap * session, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags); + +int mailimap_uid_store_unchangedsince_optional(mailimap * session, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags); + +#endif diff --git a/src/low-level/imap/condstore_types.c b/src/low-level/imap/condstore_types.c new file mode 100644 index 0000000..c559716 --- /dev/null +++ b/src/low-level/imap/condstore_types.c @@ -0,0 +1,100 @@ +#include "condstore_types.h" + +#include + +struct mailimap_condstore_fetch_mod_resp * mailimap_condstore_fetch_mod_resp_new(uint64_t cs_modseq_value) +{ + struct mailimap_condstore_fetch_mod_resp * fetch_data; + + fetch_data = malloc(sizeof(* fetch_data)); + if (fetch_data == NULL) + return NULL; + + fetch_data->cs_modseq_value = cs_modseq_value; + + return fetch_data; +} + +void mailimap_condstore_fetch_mod_resp_free(struct mailimap_condstore_fetch_mod_resp * fetch_data) +{ + free(fetch_data); +} + +struct mailimap_condstore_resptextcode * mailimap_condstore_resptextcode_new(int cs_type, + uint64_t cs_modseq_value, struct mailimap_set * cs_modified_set) +{ + struct mailimap_condstore_resptextcode * resptextcode; + + resptextcode = malloc(sizeof(* resptextcode)); + if (resptextcode == NULL) + return NULL; + + resptextcode->cs_type = cs_type; + switch (cs_type) { + case MAILIMAP_CONDSTORE_RESPTEXTCODE_HIGHESTMODSEQ: + resptextcode->cs_data.cs_modseq_value = cs_modseq_value; + break; + case MAILIMAP_CONDSTORE_RESPTEXTCODE_NOMODSEQ: + break; + case MAILIMAP_CONDSTORE_RESPTEXTCODE_MODIFIED: + resptextcode->cs_data.cs_modified_set = cs_modified_set; + break; + } + + return resptextcode; +} + +void mailimap_condstore_resptextcode_free(struct mailimap_condstore_resptextcode * resptextcode) +{ + switch (resptextcode->cs_type) { + case MAILIMAP_CONDSTORE_RESPTEXTCODE_HIGHESTMODSEQ: + break; + case MAILIMAP_CONDSTORE_RESPTEXTCODE_NOMODSEQ: + break; + case MAILIMAP_CONDSTORE_RESPTEXTCODE_MODIFIED: + mailimap_set_free(resptextcode->cs_data.cs_modified_set); + break; + } +} + +struct mailimap_condstore_search * mailimap_condstore_search_new(clist * cs_search_result, uint64_t cs_modseq_value) +{ + struct mailimap_condstore_search * search_data; + + search_data = malloc(sizeof(* search_data)); + if (search_data == NULL) + return NULL; + + search_data->cs_search_result = cs_search_result; + search_data->cs_modseq_value = cs_modseq_value; + + return search_data; +} + +void mailimap_condstore_search_free(struct mailimap_condstore_search * search_data) +{ + if (search_data->cs_search_result != NULL) { + clist_foreach(search_data->cs_search_result, (clist_func) free, NULL); + clist_free(search_data->cs_search_result); + } + free(search_data); +} + +struct mailimap_condstore_status_info * mailimap_condstore_status_info_new(uint64_t cs_highestmodseq_value) +{ + struct mailimap_condstore_status_info * status_info; + + status_info = malloc(sizeof(* status_info)); + if (status_info == NULL) + return NULL; + + status_info->cs_highestmodseq_value = cs_highestmodseq_value; + + return status_info; +} + +void mailimap_condstore_status_info_free(struct mailimap_condstore_status_info * status_info) +{ + free(status_info); +} + diff --git a/src/low-level/imap/condstore_types.h b/src/low-level/imap/condstore_types.h new file mode 100644 index 0000000..f3800ae --- /dev/null +++ b/src/low-level/imap/condstore_types.h @@ -0,0 +1,51 @@ +#ifndef CONDSTORE_TYPE_H + +#define CONDSTORE_TYPE_H + +#include + +struct mailimap_condstore_fetch_mod_resp { + uint64_t cs_modseq_value; +}; + +enum { + MAILIMAP_CONDSTORE_RESPTEXTCODE_HIGHESTMODSEQ, + MAILIMAP_CONDSTORE_RESPTEXTCODE_NOMODSEQ, + MAILIMAP_CONDSTORE_RESPTEXTCODE_MODIFIED +}; + +struct mailimap_msg_att_modseq { + uint64_t att_modseq; +}; + +struct mailimap_condstore_resptextcode { + int cs_type; + union { + uint64_t cs_modseq_value; + struct mailimap_set * cs_modified_set; + } cs_data; +}; + +struct mailimap_condstore_search { + clist * cs_search_result; /* uint32_t */ + uint64_t cs_modseq_value; +}; + +struct mailimap_condstore_status_info { + uint64_t cs_highestmodseq_value; +}; + +struct mailimap_condstore_fetch_mod_resp * mailimap_condstore_fetch_mod_resp_new(uint64_t cs_modseq_value); +void mailimap_condstore_fetch_mod_resp_free(struct mailimap_condstore_fetch_mod_resp * fetch_data); + +struct mailimap_condstore_resptextcode * mailimap_condstore_resptextcode_new(int cs_type, + uint64_t cs_modseq_value, struct mailimap_set * cs_modified_set); +void mailimap_condstore_resptextcode_free(struct mailimap_condstore_resptextcode * resptextcode); + +struct mailimap_condstore_search * mailimap_condstore_search_new(clist * cs_search_result, uint64_t cs_modseq_value); +void mailimap_condstore_search_free(struct mailimap_condstore_search * search_data); + +struct mailimap_condstore_status_info * mailimap_condstore_status_info_new(uint64_t cs_highestmodseq_value); +void mailimap_condstore_status_info_free(struct mailimap_condstore_status_info * status_info); + +#endif diff --git a/src/low-level/imap/mailimap.c b/src/low-level/imap/mailimap.c index 21c7de3..38c09c2 100644 --- a/src/low-level/imap/mailimap.c +++ b/src/low-level/imap/mailimap.c @@ -42,6 +42,8 @@ #include "mailimap_sender.h" #include "mailimap_extension.h" #include "mail.h" +#include "condstore.h" +#include "condstore_private.h" #include #include @@ -1239,6 +1241,7 @@ int mailimap_delete(mailimap * session, const char * mb) } } +#if 0 LIBETPAN_EXPORT int mailimap_examine(mailimap * session, const char * mb) { @@ -1292,12 +1295,21 @@ int mailimap_examine(mailimap * session, const char * mb) return MAILIMAP_ERROR_EXAMINE; } } +#else +LIBETPAN_EXPORT +int mailimap_examine(mailimap * session, const char * mb) +{ + uint64_t dummy; + return mailimap_examine_condstore_optional(session, mb, 0, &dummy); +} +#endif LIBETPAN_EXPORT int mailimap_fetch(mailimap * session, struct mailimap_set * set, struct mailimap_fetch_type * fetch_type, clist ** result) { +#if 0 struct mailimap_response * response; int r; int error_code; @@ -1347,6 +1359,9 @@ mailimap_fetch(mailimap * session, struct mailimap_set * set, mailimap_fetch_list_free(* result); return MAILIMAP_ERROR_FETCH; } +#else + return mailimap_fetch_changedsince(session, set, fetch_type, 0, result); +#endif } LIBETPAN_EXPORT @@ -1362,6 +1377,7 @@ mailimap_uid_fetch(mailimap * session, struct mailimap_set * set, struct mailimap_fetch_type * fetch_type, clist ** result) { +#if 0 struct mailimap_response * response; int r; int error_code; @@ -1412,6 +1428,9 @@ mailimap_uid_fetch(mailimap * session, mailimap_fetch_list_free(* result); return MAILIMAP_ERROR_UID_FETCH; } +#else + return mailimap_uid_fetch_changedsince(session, set, fetch_type, 0, result); +#endif } LIBETPAN_EXPORT @@ -1948,6 +1967,7 @@ int mailimap_search(mailimap * session, const char * charset, struct mailimap_search_key * key, clist ** result) { +#if 0 struct mailimap_response * response; int r; int error_code; @@ -1991,6 +2011,9 @@ mailimap_search(mailimap * session, const char * charset, default: return MAILIMAP_ERROR_SEARCH; } +#else + return mailimap_search_modseq(session, charset, key, result, NULL); +#endif } LIBETPAN_EXPORT @@ -1998,6 +2021,7 @@ int mailimap_uid_search(mailimap * session, const char * charset, struct mailimap_search_key * key, clist ** result) { +#if 0 struct mailimap_response * response; int r; int error_code; @@ -2041,6 +2065,9 @@ mailimap_uid_search(mailimap * session, const char * charset, default: return MAILIMAP_ERROR_UID_SEARCH; } +#else + return mailimap_uid_search_modseq(session, charset, key, result, NULL); +#endif } LIBETPAN_EXPORT @@ -2050,6 +2077,7 @@ void mailimap_search_result_free(clist * search_result) clist_free(search_result); } +#if 0 LIBETPAN_EXPORT int mailimap_select(mailimap * session, const char * mb) @@ -2104,6 +2132,15 @@ mailimap_select(mailimap * session, const char * mb) return MAILIMAP_ERROR_SELECT; } } +#else +LIBETPAN_EXPORT +int +mailimap_select(mailimap * session, const char * mb) +{ + uint64_t dummy; + return mailimap_select_condstore_optional(session, mb, 0, &dummy); +} +#endif LIBETPAN_EXPORT int @@ -2164,6 +2201,7 @@ mailimap_store(mailimap * session, struct mailimap_set * set, struct mailimap_store_att_flags * store_att_flags) { +#if 0 struct mailimap_response * response; int r; int error_code; @@ -2204,6 +2242,10 @@ mailimap_store(mailimap * session, default: return MAILIMAP_ERROR_STORE; } +#else + return mailimap_store_unchangedsince_optional(session, + set, 0, 0, store_att_flags); +#endif } LIBETPAN_EXPORT @@ -2212,6 +2254,7 @@ mailimap_uid_store(mailimap * session, struct mailimap_set * set, struct mailimap_store_att_flags * store_att_flags) { +#if 0 struct mailimap_response * response; int r; int error_code; @@ -2252,6 +2295,10 @@ mailimap_uid_store(mailimap * session, default: return MAILIMAP_ERROR_UID_STORE; } +#else + return mailimap_uid_store_unchangedsince_optional(session, + set, 0, 0, store_att_flags); +#endif } LIBETPAN_EXPORT diff --git a/src/low-level/imap/mailimap.h b/src/low-level/imap/mailimap.h index 7153363..3633b4f 100644 --- a/src/low-level/imap/mailimap.h +++ b/src/low-level/imap/mailimap.h @@ -59,6 +59,7 @@ extern "C" { #include #include #include +#include /* mailimap_connect() diff --git a/src/low-level/imap/mailimap_extension.c b/src/low-level/imap/mailimap_extension.c index cca405d..148151f 100644 --- a/src/low-level/imap/mailimap_extension.c +++ b/src/low-level/imap/mailimap_extension.c @@ -50,6 +50,7 @@ #include "xgmmsgid.h" #include "mailimap_id.h" #include "enable.h" +#include "condstore.h" /* the list of registered extensions (struct mailimap_extension_api *) @@ -69,7 +70,8 @@ static struct mailimap_extension_api * internal_extension_list[] = { &mailimap_extension_xgmlabels, &mailimap_extension_xgmmsgid, &mailimap_extension_id, - &mailimap_extension_enable + &mailimap_extension_enable, + &mailimap_extension_condstore }; LIBETPAN_EXPORT diff --git a/src/low-level/imap/mailimap_extension_types.h b/src/low-level/imap/mailimap_extension_types.h index 1b8288f..f6f63c0 100644 --- a/src/low-level/imap/mailimap_extension_types.h +++ b/src/low-level/imap/mailimap_extension_types.h @@ -17,7 +17,8 @@ enum { MAILIMAP_EXTENSION_XGMLABELS, /* X-GM-LABELS (Gmail) */ MAILIMAP_EXTENSION_XGMMSGID, /* X-GM-MSGID (Gmail) */ MAILIMAP_EXTENSION_ID, /* ID */ - MAILIMAP_EXTENSION_ENABLE /* ENABLE */ + MAILIMAP_EXTENSION_ENABLE, /* ENABLE */ + MAILIMAP_EXTENSION_CONDSTORE /* CONDSTORE */ }; @@ -30,7 +31,8 @@ enum { MAILIMAP_EXTENDED_PARSER_RESPONSE_DATA, MAILIMAP_EXTENDED_PARSER_RESP_TEXT_CODE, MAILIMAP_EXTENDED_PARSER_MAILBOX_DATA, - MAILIMAP_EXTENDED_PARSER_FETCH_DATA + MAILIMAP_EXTENDED_PARSER_FETCH_DATA, + MAILIMAP_EXTENDED_PARSER_STATUS_ATT }; /* diff --git a/src/low-level/imap/mailimap_keywords.c b/src/low-level/imap/mailimap_keywords.c index 167c390..f7cd546 100644 --- a/src/low-level/imap/mailimap_keywords.c +++ b/src/low-level/imap/mailimap_keywords.c @@ -177,11 +177,12 @@ static int mailimap_get_token_value_size(mailstream * fd, MMAPString * buffer, static struct mailimap_token_value status_att_tab[] = { - {MAILIMAP_STATUS_ATT_MESSAGES, "MESSAGES"}, - {MAILIMAP_STATUS_ATT_RECENT, "RECENT"}, - {MAILIMAP_STATUS_ATT_UIDNEXT, "UIDNEXT"}, - {MAILIMAP_STATUS_ATT_UIDVALIDITY, "UIDVALIDITY"}, - {MAILIMAP_STATUS_ATT_UNSEEN, "UNSEEN"} + {MAILIMAP_STATUS_ATT_MESSAGES, "MESSAGES"}, + {MAILIMAP_STATUS_ATT_RECENT, "RECENT"}, + {MAILIMAP_STATUS_ATT_UIDNEXT, "UIDNEXT"}, + {MAILIMAP_STATUS_ATT_UIDVALIDITY, "UIDVALIDITY"}, + {MAILIMAP_STATUS_ATT_UNSEEN, "UNSEEN"}, + {MAILIMAP_STATUS_ATT_HIGHESTMODSEQ, "HIGHESTMODSEQ"}, }; int mailimap_status_att_get_token_value(mailstream * fd, MMAPString * buffer, diff --git a/src/low-level/imap/mailimap_parser.c b/src/low-level/imap/mailimap_parser.c index ed1aeb9..48cd17b 100644 --- a/src/low-level/imap/mailimap_parser.c +++ b/src/low-level/imap/mailimap_parser.c @@ -708,9 +708,6 @@ mailimap_section_text_parse(mailstream * fd, MMAPString * buffer, progress_function * progr_fun); -static int mailimap_status_att_parse(mailstream * fd, MMAPString * buffer, - size_t * indx, int * result); - static int mailimap_tag_parse(mailstream * fd, MMAPString * buffer, size_t * indx, char ** result, size_t progr_rate, @@ -1303,7 +1300,7 @@ mailimap_custom_string_parse(mailstream * fd, MMAPString * buffer, -static int +int mailimap_nz_number_alloc_parse(mailstream * fd, MMAPString * buffer, size_t * indx, uint32_t ** result, @@ -6363,6 +6360,30 @@ mailimap_status_info_parse(mailstream * fd, MMAPString * buffer, value = 0; r = mailimap_status_att_parse(fd, buffer, &cur_token, &status_att); + if (r == MAILIMAP_NO_ERROR) { + /* Force parse error when HIGHESTMODSEQ is parsed */ + if (status_att == MAILIMAP_STATUS_ATT_HIGHESTMODSEQ) { + r = MAILIMAP_ERROR_PARSE; + } + } + if (r == MAILIMAP_ERROR_PARSE) { + struct mailimap_extension_data * ext_data; + + r = mailimap_extension_data_parse(MAILIMAP_EXTENDED_PARSER_STATUS_ATT, + fd, buffer, &cur_token, &ext_data, + progr_rate, progr_fun); + if (r == MAILIMAP_NO_ERROR) { + info = mailimap_status_info_new(MAILIMAP_STATUS_ATT_EXTENSION, 0, ext_data); + if (info == NULL) + return MAILIMAP_ERROR_MEMORY; + + * result = info; + * indx = cur_token; + + return MAILIMAP_NO_ERROR; + } + } + if (r != MAILIMAP_NO_ERROR) return r; @@ -6374,7 +6395,7 @@ mailimap_status_info_parse(mailstream * fd, MMAPString * buffer, if (r != MAILIMAP_NO_ERROR) return r; - info = mailimap_status_info_new(status_att, value); + info = mailimap_status_info_new(status_att, value, NULL); if (info == NULL) return MAILIMAP_ERROR_MEMORY; @@ -10528,8 +10549,8 @@ mailimap_section_text_parse(mailstream * fd, MMAPString * buffer, "UNSEEN" */ -static int mailimap_status_att_parse(mailstream * fd, MMAPString * buffer, - size_t * indx, int * result) +int mailimap_status_att_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, int * result) { int type; size_t cur_token; @@ -10880,3 +10901,167 @@ static int mailimap_zone_parse(mailstream * fd, MMAPString * buffer, return MAILIMAP_NO_ERROR; } + +int mailimap_mod_sequence_value_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, uint64_t * result) +{ + size_t cur_token; + int digit; + uint64_t number; + int parsed; + int r; + + cur_token = * indx; + parsed = 0; + + mailimap_space_parse(fd, buffer, &cur_token); + + number = 0; + while (1) { + r = mailimap_digit_parse(fd, buffer, &cur_token, &digit); + if (r == MAILIMAP_ERROR_PARSE) + break; + else if (r == MAILIMAP_NO_ERROR) { + number *= 10; + number += digit; + parsed = 1; + } + else + return r; + } + + if (!parsed) + return MAILIMAP_ERROR_PARSE; + + * result = number; + * indx = cur_token; + + return MAILIMAP_NO_ERROR; +} + +static int mailimap_seq_number_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, uint32_t * result) +{ + int r; + uint32_t value; + size_t cur_token; + + cur_token = * indx; + + r = mailimap_nz_number_parse(fd, buffer, &cur_token, &value); + if (r == MAILIMAP_NO_ERROR) { + * indx = cur_token; + * result = value; + return MAILIMAP_NO_ERROR; + } + r = mailimap_star_parse(fd, buffer, &cur_token); + if (r == MAILIMAP_NO_ERROR) { + * indx = cur_token; + * result = 0; + return MAILIMAP_NO_ERROR; + } + + return MAILIMAP_ERROR_PARSE; +} + +static int mailimap_seq_range_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, uint32_t * result_left, uint32_t * result_right) +{ + size_t cur_token; + int r; + uint32_t left; + uint32_t right; + + cur_token = * indx; + r = mailimap_seq_number_parse(fd, buffer, &cur_token, &left); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + r = mailimap_colon_parse(fd, buffer, &cur_token); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + r = mailimap_seq_number_parse(fd, buffer, &cur_token, &right); + if (r != MAILIMAP_NO_ERROR) { + return r; + } + + * indx = cur_token; + * result_left = left; + * result_right = right; + + return MAILIMAP_NO_ERROR; +} + +static int mailimap_set_item_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, struct mailimap_set_item ** result, + size_t progr_rate, + progress_function * progr_fun) +{ + int r; + uint32_t value; + uint32_t left; + uint32_t right; + size_t cur_token; + + cur_token = * indx; + + r = mailimap_seq_range_parse(fd, buffer, &cur_token, &left, &right); + if (r == MAILIMAP_NO_ERROR) { + struct mailimap_set_item * item; + + item = mailimap_set_item_new(left, right); + if (item == NULL) { + return MAILIMAP_ERROR_MEMORY; + } + * result = item; + * indx = cur_token; + return MAILIMAP_NO_ERROR; + } + + r = mailimap_seq_number_parse(fd, buffer, &cur_token, &value); + if (r == MAILIMAP_NO_ERROR) { + struct mailimap_set_item * item; + + item = mailimap_set_item_new(value, value); + if (item == NULL) { + return MAILIMAP_ERROR_MEMORY; + } + * result = item; + * indx = cur_token; + return MAILIMAP_NO_ERROR; + } + + return MAILIMAP_ERROR_PARSE; +} + +int mailimap_set_parse(mailstream * fd, + MMAPString * buffer, size_t * indx, struct mailimap_set ** result) +{ + size_t cur_token; + struct mailimap_set * set; + clist * item_list; + int r; + + cur_token = * indx; + + r = mailimap_struct_list_parse(fd, buffer, indx, &item_list, + ' ', (mailimap_struct_parser *) mailimap_set_item_parse, (mailimap_struct_destructor *)mailimap_set_item_free, + 0, NULL); + if (r != MAILIMAP_NO_ERROR) + return r; + + set = mailimap_set_new(item_list); + if (set == NULL) { + clist_foreach(item_list, (clist_func) mailimap_set_item_free, NULL); + clist_free(item_list); + return MAILIMAP_ERROR_MEMORY; + } + + * indx = cur_token; + * result = set; + + return MAILIMAP_NO_ERROR; +} diff --git a/src/low-level/imap/mailimap_parser.h b/src/low-level/imap/mailimap_parser.h index d1cf7f8..e83cbab 100644 --- a/src/low-level/imap/mailimap_parser.h +++ b/src/low-level/imap/mailimap_parser.h @@ -183,6 +183,21 @@ int mailimap_capability_data_parse(mailstream * fd, MMAPString * buffer, size_t progr_rate, progress_function * progr_fun); +int mailimap_status_att_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, int * result); + +int mailimap_nz_number_alloc_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, + uint32_t ** result, + size_t progr_rate, + progress_function * progr_fun); + +int mailimap_mod_sequence_value_parse(mailstream * fd, MMAPString * buffer, + size_t * indx, uint64_t * result); + +int mailimap_set_parse(mailstream * fd, + MMAPString * buffer, size_t * indx, struct mailimap_set ** result); + #ifdef __cplusplus } #endif diff --git a/src/low-level/imap/mailimap_sender.c b/src/low-level/imap/mailimap_sender.c index 4e60cec..cf41657 100644 --- a/src/low-level/imap/mailimap_sender.c +++ b/src/low-level/imap/mailimap_sender.c @@ -1030,7 +1030,7 @@ static int mailimap_digit_send(mailstream * fd, int digit) => examine = "EXAMINE" SP mailbox */ -int mailimap_examine_send(mailstream * fd, const char * mb) +int mailimap_examine_send(mailstream * fd, const char * mb, int condstore) { int r; @@ -1046,6 +1046,24 @@ int mailimap_examine_send(mailstream * fd, const char * mb) if (r != MAILIMAP_NO_ERROR) return r; + if (condstore) { + r = mailimap_space_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_oparenth_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_token_send(fd, "CONDSTORE"); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_cparenth_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + } + return MAILIMAP_NO_ERROR; } @@ -1934,49 +1952,49 @@ static int mailimap_search_key_send(mailstream * fd, case MAILIMAP_SEARCH_KEY_BCC: r = mailimap_token_send(fd, "BCC"); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_astring_send(fd, key->sk_data.sk_bcc); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_BEFORE: r = mailimap_token_send(fd, "BEFORE"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_date_send(fd, key->sk_data.sk_before); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_BODY: r = mailimap_token_send(fd, "BODY"); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_astring_send(fd, key->sk_data.sk_body); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_CC: r = mailimap_token_send(fd, "CC"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_astring_send(fd, key->sk_data.sk_cc); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; @@ -1988,25 +2006,25 @@ static int mailimap_search_key_send(mailstream * fd, case MAILIMAP_SEARCH_KEY_FROM: r = mailimap_token_send(fd, "FROM"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_astring_send(fd, key->sk_data.sk_from); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_KEYWORD: r = mailimap_token_send(fd, "KEYWORD"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) - return r; - r = mailimap_flag_keyword_send(fd, key->sk_data.sk_keyword); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) + return r; + r = mailimap_flag_keyword_send(fd, key->sk_data.sk_keyword); + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; @@ -2018,13 +2036,13 @@ static int mailimap_search_key_send(mailstream * fd, case MAILIMAP_SEARCH_KEY_ON: r = mailimap_token_send(fd, "ON"); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) - return r; - r = mailimap_date_send(fd, key->sk_data.sk_on); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) + return r; + r = mailimap_date_send(fd, key->sk_data.sk_on); + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; @@ -2036,49 +2054,49 @@ static int mailimap_search_key_send(mailstream * fd, case MAILIMAP_SEARCH_KEY_SINCE: r = mailimap_token_send(fd, "SINCE"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; - r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + r = mailimap_space_send(fd); + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_date_send(fd, key->sk_data.sk_since); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_SUBJECT: r = mailimap_token_send(fd, "SUBJECT"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_astring_send(fd, key->sk_data.sk_subject); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_TEXT: r = mailimap_token_send(fd, "TEXT"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_astring_send(fd, key->sk_data.sk_text); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_TO: r = mailimap_token_send(fd, "TO"); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_astring_send(fd, key->sk_data.sk_text); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; @@ -2093,14 +2111,14 @@ static int mailimap_search_key_send(mailstream * fd, case MAILIMAP_SEARCH_KEY_UNKEYWORD: r = mailimap_token_send(fd, "UNKEYWORD"); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_flag_keyword_send(fd, key->sk_data.sk_keyword); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_UNSEEN: @@ -2111,123 +2129,123 @@ static int mailimap_search_key_send(mailstream * fd, case MAILIMAP_SEARCH_KEY_HEADER: r = mailimap_token_send(fd, "HEADER"); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_header_fld_name_send(fd, - key->sk_data.sk_header.sk_header_name); - if (r != MAILIMAP_NO_ERROR) - return r; + key->sk_data.sk_header.sk_header_name); + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_astring_send(fd, - key->sk_data.sk_header.sk_header_value); - if (r != MAILIMAP_NO_ERROR) - return r; + key->sk_data.sk_header.sk_header_value); + if (r != MAILIMAP_NO_ERROR) + return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_LARGER: r = mailimap_token_send(fd, "LARGER"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_number_send(fd, key->sk_data.sk_larger); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_NOT: r = mailimap_token_send(fd, "NOT"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_search_key_send(fd, key->sk_data.sk_not); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_OR: r = mailimap_token_send(fd, "OR"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_search_key_send(fd, key->sk_data.sk_or.sk_or1); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_search_key_send(fd, key->sk_data.sk_or.sk_or2); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_SENTBEFORE: r = mailimap_token_send(fd, "SENTBEFORE"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_date_send(fd, key->sk_data.sk_sentbefore); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_SENTON: r = mailimap_token_send(fd, "SENTON"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_date_send(fd, key->sk_data.sk_senton); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_SENTSINCE: r = mailimap_token_send(fd, "SENTSINCE"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_date_send(fd, key->sk_data.sk_sentsince); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_SMALLER: r = mailimap_token_send(fd, "SMALLER"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_number_send(fd, key->sk_data.sk_smaller); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; case MAILIMAP_SEARCH_KEY_UID: r = mailimap_token_send(fd, "UID"); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_set_send(fd, key->sk_data.sk_set); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; @@ -2239,26 +2257,89 @@ static int mailimap_search_key_send(mailstream * fd, case MAILIMAP_SEARCH_KEY_MULTIPLE: r = mailimap_oparenth_send(fd); - if (r != MAILIMAP_NO_ERROR) - return r; + if (r != MAILIMAP_NO_ERROR) + return r; r = mailimap_struct_spaced_list_send(fd, key->sk_data.sk_multiple, - (mailimap_struct_sender *) - mailimap_search_key_send); - if (r != MAILIMAP_NO_ERROR) + (mailimap_struct_sender *) mailimap_search_key_send); + if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_cparenth_send(fd); - if (r != MAILIMAP_NO_ERROR) + if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; + case MAILIMAP_SEARCH_KEY_MODSEQ: + r = mailimap_token_send(fd, "MODSEQ"); + if (r != MAILIMAP_NO_ERROR) + return r; + + if (key->sk_data.sk_modseq.sk_entry_name != NULL) { + r = mailimap_space_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + mailimap_dquote_send(fd); + r = mailimap_token_send(fd, "/flags/"); + if (r != MAILIMAP_NO_ERROR) + return r; + if (key->sk_data.sk_modseq.sk_entry_name->fl_type != MAILIMAP_FLAG_KEYWORD) { + r = mailimap_token_send(fd, "\\"); + if (r != MAILIMAP_NO_ERROR) + return r; + } + r = mailimap_flag_send(fd, key->sk_data.sk_modseq.sk_entry_name); + if (r != MAILIMAP_NO_ERROR) + return r; + mailimap_dquote_send(fd); + + r = mailimap_space_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + switch (key->sk_data.sk_modseq.sk_entry_type_req) { + case MAILIMAP_SEARCH_KEY_MODSEQ_ENTRY_TYPE_REQ_PRIV: + r = mailimap_token_send(fd, "priv"); + if (r != MAILIMAP_NO_ERROR) + return r; + break; + case MAILIMAP_SEARCH_KEY_MODSEQ_ENTRY_TYPE_REQ_SHARED: + r = mailimap_token_send(fd, "shared"); + if (r != MAILIMAP_NO_ERROR) + return r; + break; + case MAILIMAP_SEARCH_KEY_MODSEQ_ENTRY_TYPE_REQ_ALL: + r = mailimap_token_send(fd, "all"); + if (r != MAILIMAP_NO_ERROR) + return r; + break; + } + } + + r = mailimap_space_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_mod_sequence_value_send(fd, key->sk_data.sk_modseq.sk_modseq_valzer); + if (r != MAILIMAP_NO_ERROR) + return r; + + return MAILIMAP_NO_ERROR; + default: /* should not happend */ return MAILIMAP_ERROR_INVAL; } } +int mailimap_mod_sequence_value_send(mailstream * fd, uint64_t modseq) +{ + char modseqstr[30]; + snprintf(modseqstr, sizeof(modseqstr), "%llu", (long long unsigned) modseq); + return mailimap_token_send(fd, modseqstr); +} + /* => section = "[" [section-spec] "]" */ @@ -2428,7 +2509,7 @@ mailimap_section_text_send(mailstream * fd, */ int -mailimap_select_send(mailstream * fd, const char * mb) +mailimap_select_send(mailstream * fd, const char * mb, int condstore) { int r; @@ -2442,6 +2523,24 @@ mailimap_select_send(mailstream * fd, const char * mb) if (r != MAILIMAP_NO_ERROR) return r; + if (condstore) { + r = mailimap_space_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_oparenth_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_token_send(fd, "CONDSTORE"); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_cparenth_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + } + return MAILIMAP_NO_ERROR; } @@ -2580,7 +2679,7 @@ static int mailimap_status_att_send(mailstream * fd, int * status_att) int mailimap_store_send(mailstream * fd, - struct mailimap_set * set, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, struct mailimap_store_att_flags * store_att_flags) { int r; @@ -2594,6 +2693,29 @@ mailimap_store_send(mailstream * fd, r = mailimap_set_send(fd, set); if (r != MAILIMAP_NO_ERROR) return r; + + if (use_unchangedsince) { + r = mailimap_oparenth_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_token_send(fd, "UNCHANGEDSINCE"); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_space_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_mod_sequence_value_send(fd, mod_sequence_valzer); + if (r != MAILIMAP_NO_ERROR) + return r; + + r = mailimap_cparenth_send(fd); + if (r != MAILIMAP_NO_ERROR) + return r; + } + r = mailimap_space_send(fd); if (r != MAILIMAP_NO_ERROR) return r; @@ -2607,7 +2729,7 @@ mailimap_store_send(mailstream * fd, int mailimap_uid_store_send(mailstream * fd, - struct mailimap_set * set, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, struct mailimap_store_att_flags * store_att_flags) { int r; @@ -2619,7 +2741,8 @@ mailimap_uid_store_send(mailstream * fd, if (r != MAILIMAP_NO_ERROR) return r; - return mailimap_store_send(fd, set, store_att_flags); + return mailimap_store_send(fd, set, + use_unchangedsince, mod_sequence_valzer, store_att_flags); } /* diff --git a/src/low-level/imap/mailimap_sender.h b/src/low-level/imap/mailimap_sender.h index 4f69531..485146d 100644 --- a/src/low-level/imap/mailimap_sender.h +++ b/src/low-level/imap/mailimap_sender.h @@ -81,7 +81,7 @@ int mailimap_create_send(mailstream * fd, int mailimap_delete_send(mailstream * fd, const char * mb); -int mailimap_examine_send(mailstream * fd, const char * mb); +int mailimap_examine_send(mailstream * fd, const char * mb, int condstore); int mailimap_fetch_send(mailstream * fd, @@ -114,21 +114,21 @@ mailimap_uid_search_send(mailstream * fd, const char * charset, struct mailimap_search_key * key); int -mailimap_select_send(mailstream * fd, const char * mb); +mailimap_select_send(mailstream * fd, const char * mb, int condstore); int mailimap_status_send(mailstream * fd, const char * mb, struct mailimap_status_att_list * status_att_list); int -mailimap_store_send(mailstream * fd, - struct mailimap_set * set, - struct mailimap_store_att_flags * store_att_flags); + mailimap_store_send(mailstream * fd, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags); int -mailimap_uid_store_send(mailstream * fd, - struct mailimap_set * set, - struct mailimap_store_att_flags * store_att_flags); + mailimap_uid_store_send(mailstream * fd, + struct mailimap_set * set, int use_unchangedsince, uint64_t mod_sequence_valzer, + struct mailimap_store_att_flags * store_att_flags); int mailimap_subscribe_send(mailstream * fd, const char * mb); @@ -188,6 +188,8 @@ int mailimap_oparenth_send(mailstream * fd); int mailimap_cparenth_send(mailstream * fd); +int mailimap_mod_sequence_value_send(mailstream * fd, uint64_t modseq); + #ifdef __cplusplus } #endif diff --git a/src/low-level/imap/mailimap_types.c b/src/low-level/imap/mailimap_types.c index ca209be..8c2cf4d 100644 --- a/src/low-level/imap/mailimap_types.c +++ b/src/low-level/imap/mailimap_types.c @@ -1272,7 +1272,8 @@ void mailimap_mailbox_free(char * mb) struct mailimap_status_info * -mailimap_status_info_new(int st_att, uint32_t st_value) +mailimap_status_info_new(int st_att, uint32_t st_value, + struct mailimap_extension_data * st_ext_data) { struct mailimap_status_info * info; @@ -1281,12 +1282,16 @@ mailimap_status_info_new(int st_att, uint32_t st_value) return NULL; info->st_att = st_att; info->st_value = st_value; + info->st_ext_data = st_ext_data; return info; } void mailimap_status_info_free(struct mailimap_status_info * info) { + if (info->st_ext_data != NULL) { + mailimap_extension_data_free(info->st_ext_data); + } free(info); } @@ -2829,6 +2834,11 @@ void mailimap_search_key_free(struct mailimap_search_key * key) (clist_func) mailimap_search_key_free, NULL); clist_free(key->sk_data.sk_multiple); break; + case MAILIMAP_SEARCH_KEY_MODSEQ: + if (key->sk_data.sk_modseq.sk_entry_name != NULL) { + mailimap_flag_free(key->sk_data.sk_modseq.sk_entry_name); + } + break; } free(key); diff --git a/src/low-level/imap/mailimap_types.h b/src/low-level/imap/mailimap_types.h index 900fa25..a84e15f 100644 --- a/src/low-level/imap/mailimap_types.h +++ b/src/low-level/imap/mailimap_types.h @@ -1497,16 +1497,20 @@ mailimap_header_list_free(struct mailimap_header_list * header_list); /* this is the type of mailbox STATUS that can be returned */ enum { - MAILIMAP_STATUS_ATT_MESSAGES, /* when requesting the number of - messages */ - MAILIMAP_STATUS_ATT_RECENT, /* when requesting the number of - recent messages */ - MAILIMAP_STATUS_ATT_UIDNEXT, /* when requesting the next unique - identifier */ - MAILIMAP_STATUS_ATT_UIDVALIDITY, /* when requesting the validity of - message unique identifiers*/ - MAILIMAP_STATUS_ATT_UNSEEN /* when requesting the number of - unseen messages */ + MAILIMAP_STATUS_ATT_MESSAGES, /* when requesting the number of + messages */ + MAILIMAP_STATUS_ATT_RECENT, /* when requesting the number of + recent messages */ + MAILIMAP_STATUS_ATT_UIDNEXT, /* when requesting the next unique + identifier */ + MAILIMAP_STATUS_ATT_UIDVALIDITY, /* when requesting the validity of + message unique identifiers*/ + MAILIMAP_STATUS_ATT_UNSEEN, /* when requesting the number of + unseen messages */ + MAILIMAP_STATUS_ATT_HIGHESTMODSEQ, /* when requesting the highest + mod-sequence value of all messages in + the mailbox */ + MAILIMAP_STATUS_ATT_EXTENSION }; /* @@ -1515,19 +1519,23 @@ enum { - att is the type of mailbox STATUS, the value can be MAILIMAP_STATUS_ATT_MESSAGES, MAILIMAP_STATUS_ATT_RECENT, - MAILIMAP_STATUS_ATT_UIDNEXT, MAILIMAP_STATUS_ATT_UIDVALIDITY or - MAILIMAP_STATUS_ATT_UNSEEN + MAILIMAP_STATUS_ATT_UIDNEXT, MAILIMAP_STATUS_ATT_UIDVALIDITY, + MAILIMAP_STATUS_ATT_UNSEEN or MAILIMAP_STATUS_ATT_EXTENSION - value is the value of the given information + + - st_ext_data is the data of the extension. */ struct mailimap_status_info { int st_att; uint32_t st_value; + struct mailimap_extension_data * st_ext_data; /* can be NULL */ }; struct mailimap_status_info * -mailimap_status_info_new(int st_att, uint32_t st_value); + mailimap_status_info_new(int st_att, uint32_t st_value, + struct mailimap_extension_data * st_ext_data); void mailimap_status_info_free(struct mailimap_status_info * info); @@ -2847,8 +2855,9 @@ enum { MAILIMAP_SEARCH_KEY_SET, /* messages whose number (or unique identifiers in case of UID SEARCH) are in the given range */ - MAILIMAP_SEARCH_KEY_MULTIPLE /* the boolean operator between the + MAILIMAP_SEARCH_KEY_MULTIPLE, /* the boolean operator between the conditions is AND */ + MAILIMAP_SEARCH_KEY_MODSEQ /* mod sequence */ }; /* @@ -2918,6 +2927,12 @@ enum { - multiple is a set of message when type is MAILIMAP_SEARCH_KEY_MULTIPLE */ +enum { + MAILIMAP_SEARCH_KEY_MODSEQ_ENTRY_TYPE_REQ_PRIV, + MAILIMAP_SEARCH_KEY_MODSEQ_ENTRY_TYPE_REQ_SHARED, + MAILIMAP_SEARCH_KEY_MODSEQ_ENTRY_TYPE_REQ_ALL, +}; + struct mailimap_search_key { int sk_type; union { @@ -2950,6 +2965,11 @@ struct mailimap_search_key { struct mailimap_set * sk_uid; struct mailimap_set * sk_set; clist * sk_multiple; /* list of (struct mailimap_search_key *) */ + struct { + struct mailimap_flag * sk_entry_name; + int sk_entry_type_req; + uint64_t sk_modseq_valzer; + } sk_modseq; } sk_data; };