From 1b42755f90a4b0cb2d227d2312cc14f0fb24078d Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@dovecot.fi>
Date: Thu, 14 Sep 2017 04:11:42 +0200
Subject: [PATCH] plugins: Migrated from lib-lda/smtp-client.h to using
 lib-smtp/smtp-submit.h for message submission.

---
 src/plugins/imapsieve/imap-sieve.c       | 31 ++++++++++++------------
 src/plugins/lda-sieve/lda-sieve-plugin.c | 30 +++++++++++------------
 2 files changed, 31 insertions(+), 30 deletions(-)

diff --git a/src/plugins/imapsieve/imap-sieve.c b/src/plugins/imapsieve/imap-sieve.c
index 065126c7c..8df831b2c 100644
--- a/src/plugins/imapsieve/imap-sieve.c
+++ b/src/plugins/imapsieve/imap-sieve.c
@@ -5,11 +5,10 @@
 #include "home-expand.h"
 #include "mail-storage.h"
 #include "mail-user.h"
-#include "lda-settings.h"
-#include "mail-deliver.h"
 #include "mail-duplicate.h"
-#include "smtp-client.h"
+#include "smtp-submit.h"
 #include "imap-client.h"
+#include "imap-settings.h"
 
 #include "sieve.h"
 #include "sieve-script.h"
@@ -160,44 +159,46 @@ static void *imap_sieve_smtp_start
 	struct imap_sieve_context *isctx =
 		(struct imap_sieve_context *)senv->script_context;
 	struct imap_sieve *isieve = isctx->isieve;
-	const struct lda_settings *lda_set = isieve->client->lda_set;
-
-	return (void *)smtp_client_init(lda_set, return_path);
+	const struct smtp_submit_settings *smtp_set = isieve->client->smtp_set;
+	
+	return (void *)smtp_submit_init_simple(smtp_set, return_path);
 }
 
 static void imap_sieve_smtp_add_rcpt
 (const struct sieve_script_env *senv ATTR_UNUSED, void *handle,
 	const char *address)
 {
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
 
-	smtp_client_add_rcpt(smtp_client, address);
+	smtp_submit_add_rcpt(smtp_submit, address);
 }
 
 static struct ostream *imap_sieve_smtp_send
 (const struct sieve_script_env *senv ATTR_UNUSED, void *handle)
 {
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
 
-	return smtp_client_send(smtp_client);
+	return smtp_submit_send(smtp_submit);
 }
 
 static void imap_sieve_smtp_abort
 (const struct sieve_script_env *senv ATTR_UNUSED, void *handle)
 {
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
 
-	smtp_client_abort(&smtp_client);
+	smtp_submit_deinit(&smtp_submit);
 }
 
 static int imap_sieve_smtp_finish
 (const struct sieve_script_env *senv ATTR_UNUSED, void *handle,
 	const char **error_r)
 {
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
+	int ret;
 
-	return smtp_client_deinit_timeout
-		(smtp_client, LDA_SUBMISSION_TIMEOUT_SECS, error_r);
+	ret = smtp_submit_run(smtp_submit, error_r);
+	smtp_submit_deinit(&smtp_submit);
+	return ret;
 }
 
 /*
diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c
index eeec5132f..8acd6daa1 100644
--- a/src/plugins/lda-sieve/lda-sieve-plugin.c
+++ b/src/plugins/lda-sieve/lda-sieve-plugin.c
@@ -9,7 +9,7 @@
 #include "mail-deliver.h"
 #include "mail-user.h"
 #include "mail-duplicate.h"
-#include "smtp-client.h"
+#include "smtp-submit.h"
 #include "mail-send.h"
 #include "lda-settings.h"
 
@@ -73,45 +73,45 @@ static void *lda_sieve_smtp_start
 {
 	struct mail_deliver_context *dctx =
 		(struct mail_deliver_context *) senv->script_context;
-
-	return (void *)smtp_client_init(dctx->set, return_path);
+	
+	return (void *)smtp_submit_init_simple(dctx->smtp_set, return_path);
 }
 
 static void lda_sieve_smtp_add_rcpt
 (const struct sieve_script_env *senv ATTR_UNUSED, void *handle,
 	const char *address)
 {
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
 
-	smtp_client_add_rcpt(smtp_client, address);
+	smtp_submit_add_rcpt(smtp_submit, address);
 }
 
 static struct ostream *lda_sieve_smtp_send
 (const struct sieve_script_env *senv ATTR_UNUSED, void *handle)
 {
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
 
-	return smtp_client_send(smtp_client);
+	return smtp_submit_send(smtp_submit);
 }
 
 static void lda_sieve_smtp_abort
 (const struct sieve_script_env *senv ATTR_UNUSED, void *handle)
 {
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
 
-	smtp_client_abort(&smtp_client);
+	smtp_submit_deinit(&smtp_submit);
 }
 
 static int lda_sieve_smtp_finish
-(const struct sieve_script_env *senv, void *handle,
+(const struct sieve_script_env *senv ATTR_UNUSED, void *handle,
 	const char **error_r)
 {
-	struct mail_deliver_context *dctx =
-		(struct mail_deliver_context *) senv->script_context;
-	struct smtp_client *smtp_client = (struct smtp_client *) handle;
+	struct smtp_submit *smtp_submit = (struct smtp_submit *) handle;
+	int ret;
 
-	return smtp_client_deinit_timeout
-		(smtp_client, dctx->timeout_secs, error_r);
+	ret = smtp_submit_run(smtp_submit, error_r);
+	smtp_submit_deinit(&smtp_submit);
+	return ret;
 }
 
 static int lda_sieve_reject_mail
-- 
GitLab