From db7165424199a473265eda5d35f2399e8816e92d Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Mon, 21 Jan 2019 07:17:56 +0200 Subject: Improve folder handling and expansion in mail. Add convenience functions to the library. * configure.ac: Build libmailutils/wicket * libmailutils/Makefile.am: Likewise. * libmailutils/base/wicket.c: Move file wicket stuff to ... * libmailutils/wicket/file.c: ... here * libmailutils/wicket/noauth.c: New file. * libmailutils/wicket/Makefile.am: New file. * include/mailutils/auth.h (mu_noauth_ticket_create) (mu_noauth_wicket_create): New protos. * include/mailutils/folder.h (mu_folder_attach_ticket) (mu_folder_is_local): New protos. * include/mailutils/mailbox.h (mu_mailbox_attach_ticket): New proto. * include/mailutils/sys/folder.h (_mu_folder): Remove flags. Add new member: is_local. * libmailutils/mailbox/folder.c (mu_folder_create_from_record): Set is_local. (mu_folder_attach_ticket): New function. (mu_folder_is_local): New function. * libmailutils/mailbox/mbx_default.c (mu_mailbox_attach_ticket): New function. * libmailutils/url/create.c: Allow for trailing / in url. * libproto/imap/mbox.c (_imap_mbx_open): Do initial scan. (__imap_msg_get_stream): Initialize clos.size. * libproto/imap/tests/imapfolder.c: Attach ticket to the folder. * mail/cd.c (mail_cd): Expand directory name (~, %, + notations) prior to use. * mail/file.c (mail_file): Attach ticket to the mailbox. * mail/copy.c (append_to_mailbox): Likewise. * mail/mailline.c: Rewrite directory expansion. Implement fully functional folder expansion. * mail/util.c (util_folder_path) (util_outfolder_name): Rewrite using mu_mailbox_expand_name. --- include/mailutils/mailbox.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/mailutils/mailbox.h') diff --git a/include/mailutils/mailbox.h b/include/mailutils/mailbox.h index 5c5f4c628..e54ae88f0 100644 --- a/include/mailutils/mailbox.h +++ b/include/mailutils/mailbox.h @@ -72,6 +72,8 @@ extern int mu_mailbox_expunge (mu_mailbox_t); extern int mu_mailbox_sync (mu_mailbox_t); extern int mu_mailbox_save_attributes (mu_mailbox_t) MU_DEPRECATED; +extern int mu_mailbox_attach_ticket (mu_mailbox_t mbox); + #define MU_UIDL_LENGTH 70 #define MU_UIDL_BUFFER_SIZE (MU_UIDL_LENGTH+1) -- cgit v1.2.1