From: Stephan Bosch Date: Thu, 14 Sep 2017 23:44:24 +0000 (+0200) Subject: imap: Drop dependencies on lib-lda settings. X-Git-Tag: 2.3.0.rc1~919 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1519df1d514ed508c9708e3d2a4daf89e9c937e0;p=thirdparty%2Fdovecot%2Fcore.git imap: Drop dependencies on lib-lda settings. Start using lib-smtp/smtp-submit-settings instead. Put any other settings required by IMAPSIEVE in struct imap_settings. --- diff --git a/src/imap/Makefile.am b/src/imap/Makefile.am index a61d8117d7..7e89d0c382 100644 --- a/src/imap/Makefile.am +++ b/src/imap/Makefile.am @@ -8,7 +8,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib-dict \ -I$(top_srcdir)/src/lib-master \ -I$(top_srcdir)/src/lib-mail \ - -I$(top_srcdir)/src/lib-lda \ + -I$(top_srcdir)/src/lib-smtp \ -I$(top_srcdir)/src/lib-imap \ -I$(top_srcdir)/src/lib-imap-urlauth \ -I$(top_srcdir)/src/lib-imap-storage \ @@ -21,12 +21,10 @@ imap_LDFLAGS = -export-dynamic \ imap_LDADD = \ ../lib-imap-urlauth/libimap-urlauth.la \ - $(LIBDOVECOT_LDA) \ $(LIBDOVECOT_STORAGE) \ $(LIBDOVECOT) imap_DEPENDENCIES = \ ../lib-imap-urlauth/libimap-urlauth.la \ - $(LIBDOVECOT_LDA) \ $(LIBDOVECOT_STORAGE_DEPS) \ $(LIBDOVECOT_DEPS) diff --git a/src/imap/imap-client.c b/src/imap/imap-client.c index 9e2fc68f9d..1759858ac2 100644 --- a/src/imap/imap-client.c +++ b/src/imap/imap-client.c @@ -86,7 +86,7 @@ struct client *client_create(int fd_in, int fd_out, const char *session_id, struct mail_user *user, struct mail_storage_service_user *service_user, const struct imap_settings *set, - const struct lda_settings *lda_set) + const struct smtp_submit_settings *smtp_set) { const struct mail_storage_settings *mail_set; struct client *client; @@ -102,7 +102,7 @@ struct client *client_create(int fd_in, int fd_out, const char *session_id, client->pool = pool; client->v = imap_client_vfuncs; client->set = set; - client->lda_set = lda_set; + client->smtp_set = smtp_set; client->service_user = service_user; client->session_id = p_strdup(pool, session_id); client->fd_in = fd_in; diff --git a/src/imap/imap-client.h b/src/imap/imap-client.h index eaeed3cae5..e40d2eb2c1 100644 --- a/src/imap/imap-client.h +++ b/src/imap/imap-client.h @@ -155,7 +155,7 @@ struct client { pool_t pool; struct mail_storage_service_user *service_user; const struct imap_settings *set; - const struct lda_settings *lda_set; + const struct smtp_submit_settings *smtp_set; string_t *capability_string; const char *disconnect_reason; @@ -254,7 +254,7 @@ struct client *client_create(int fd_in, int fd_out, const char *session_id, struct mail_user *user, struct mail_storage_service_user *service_user, const struct imap_settings *set, - const struct lda_settings *lda_set); + const struct smtp_submit_settings *smtp_set); void client_destroy(struct client *client, const char *reason) ATTR_NULL(2); /* Disconnect client connection */ diff --git a/src/imap/imap-settings.c b/src/imap/imap-settings.c index 4ded405ab2..8ab5f0c26a 100644 --- a/src/imap/imap-settings.c +++ b/src/imap/imap-settings.c @@ -2,10 +2,11 @@ #include "lib.h" #include "buffer.h" +#include "hostpid.h" #include "settings-parser.h" #include "service-settings.h" #include "mail-storage-settings.h" -#include "lda-settings.h" +#include "smtp-submit-settings.h" #include "imap-settings.h" #include @@ -111,7 +112,7 @@ static const struct imap_settings imap_default_settings = { static const struct setting_parser_info *imap_setting_dependencies[] = { &mail_user_setting_parser_info, - &lda_setting_parser_info, + &smtp_submit_setting_parser_info, NULL }; diff --git a/src/imap/main.c b/src/imap/main.c index 6b2fd178d7..1fe024e00a 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -18,7 +18,7 @@ #include "master-login.h" #include "mail-user.h" #include "mail-storage-service.h" -#include "lda-settings.h" +#include "smtp-submit-settings.h" #include "imap-master-client.h" #include "imap-resp-code.h" #include "imap-commands.h" @@ -245,7 +245,7 @@ int client_create_from_input(const struct mail_storage_service_input *input, struct mail_user *mail_user; struct client *client; struct imap_settings *imap_set; - struct lda_settings *lda_set; + struct smtp_submit_settings *smtp_set; const char *errstr; if (mail_storage_service_lookup_next(storage_service, input, @@ -253,15 +253,15 @@ int client_create_from_input(const struct mail_storage_service_input *input, return -1; restrict_access_allow_coredumps(TRUE); - imap_set = mail_storage_service_user_get_set(user)[1]; + smtp_set = mail_storage_service_user_get_set(user)[1]; + imap_set = mail_storage_service_user_get_set(user)[2]; if (imap_set->verbose_proctitle) verbose_proctitle = TRUE; - lda_set = mail_storage_service_user_get_set(user)[2]; - if (settings_var_expand(&imap_setting_parser_info, imap_set, + if (settings_var_expand(&smtp_submit_setting_parser_info, smtp_set, mail_user->pool, mail_user_var_expand_table(mail_user), &errstr) <= 0 || - settings_var_expand(&lda_setting_parser_info, lda_set, + settings_var_expand(&imap_setting_parser_info, imap_set, mail_user->pool, mail_user_var_expand_table(mail_user), &errstr) <= 0) { *error_r = t_strdup_printf("Failed to expand settings: %s", errstr); @@ -271,7 +271,7 @@ int client_create_from_input(const struct mail_storage_service_input *input, } client = client_create(fd_in, fd_out, input->session_id, - mail_user, user, imap_set, lda_set); + mail_user, user, imap_set, smtp_set); client->userdb_fields = input->userdb_fields == NULL ? NULL : p_strarray_dup(client->pool, input->userdb_fields); *client_r = client; @@ -397,8 +397,8 @@ static void client_connected(struct master_service_connection *conn) int main(int argc, char *argv[]) { static const struct setting_parser_info *set_roots[] = { + &smtp_submit_setting_parser_info, &imap_setting_parser_info, - &lda_setting_parser_info, NULL }; struct master_login_settings login_set;