From 0e953a824bfc942e4344b2112750840155b2d44c Mon Sep 17 00:00:00 2001 From: Mark Lipscombe Date: Mon, 10 Feb 2025 08:41:48 -0500 Subject: [PATCH 1/2] fix: make `tls_client` configuration work in `target.smtp` block --- internal/target/smtp/smtp_downstream.go | 6 +++--- internal/target/smtp/smtp_downstream_test.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/target/smtp/smtp_downstream.go b/internal/target/smtp/smtp_downstream.go index 8880f6cb..294e283e 100644 --- a/internal/target/smtp/smtp_downstream.go +++ b/internal/target/smtp/smtp_downstream.go @@ -57,7 +57,7 @@ type Downstream struct { hostname string endpoints []config.Endpoint saslFactory saslClientFactory - tlsConfig tls.Config + tlsConfig *tls.Config connectTimeout time.Duration commandTimeout time.Duration @@ -229,9 +229,9 @@ func (d *delivery) connect(ctx context.Context) error { for _, endp := range d.u.endpoints { var err error if d.u.lmtp { - _, err = conn.ConnectLMTP(ctx, endp, d.u.starttls, &d.u.tlsConfig) + _, err = conn.ConnectLMTP(ctx, endp, d.u.starttls, d.u.tlsConfig) } else { - _, err = conn.Connect(ctx, endp, d.u.starttls, &d.u.tlsConfig) + _, err = conn.Connect(ctx, endp, d.u.starttls, d.u.tlsConfig) } if err != nil { if len(d.u.endpoints) != 1 { diff --git a/internal/target/smtp/smtp_downstream_test.go b/internal/target/smtp/smtp_downstream_test.go index 31ef2954..f0f58c66 100644 --- a/internal/target/smtp/smtp_downstream_test.go +++ b/internal/target/smtp/smtp_downstream_test.go @@ -221,7 +221,7 @@ func TestDownstreamDelivery_StartTLS(t *testing.T) { Port: testPort, }, }, - tlsConfig: *clientCfg.Clone(), + tlsConfig: clientCfg.Clone(), starttls: true, log: testutils.Logger(t, "target.smtp"), } From 63420d1bef3a8902d8902b8a23c47bd96881f260 Mon Sep 17 00:00:00 2001 From: "fox.cpp" Date: Sun, 9 Mar 2025 15:39:22 +0300 Subject: [PATCH 2/2] target/smtp: Fix-up default value for tls_client --- internal/target/smtp/smtp_downstream.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/target/smtp/smtp_downstream.go b/internal/target/smtp/smtp_downstream.go index 294e283e..b85c4ba9 100644 --- a/internal/target/smtp/smtp_downstream.go +++ b/internal/target/smtp/smtp_downstream.go @@ -121,7 +121,7 @@ func (u *Downstream) Init(cfg *config.Map) error { return nil, nil }, saslAuthDirective, &u.saslFactory) cfg.Custom("tls_client", true, false, func() (interface{}, error) { - return tls.Config{}, nil + return &tls.Config{}, nil }, tls2.TLSClientBlock, &u.tlsConfig) cfg.Duration("connect_timeout", false, false, 5*time.Minute, &u.connectTimeout) cfg.Duration("command_timeout", false, false, 5*time.Minute, &u.commandTimeout)