From 2f6cca948c914dbd172e6c91e81f98c48b034604 Mon Sep 17 00:00:00 2001 From: kayrus Date: Fri, 26 Nov 2021 16:29:14 +0100 Subject: [PATCH] Remove hostname argument from the NewSession method --- README.md | 2 +- backend.go | 17 +++++++++-------- backendutil/transform.go | 4 ++-- backendutil/transform_test.go | 2 +- cmd/smtp-debug-server/main.go | 2 +- conn.go | 2 +- example_test.go | 2 +- server_test.go | 2 +- 8 files changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index c6e0791..6936f78 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ import ( // The Backend implements SMTP server methods. type Backend struct{} -func (bkd *Backend) NewSession(_ smtp.ConnectionState, _ string) (smtp.Session, error) { +func (bkd *Backend) NewSession(_ smtp.ConnectionState) (smtp.Session, error) { return &Session{}, nil } diff --git a/backend.go b/backend.go index 13e7081..c65c41c 100644 --- a/backend.go +++ b/backend.go @@ -5,20 +5,21 @@ import ( ) var ( - ErrAuthRequired = &SMTPError{ - Code: 502, + ErrAuthRequired = &SMTPError{ + Code: 502, EnhancedCode: EnhancedCode{5, 7, 0}, - Message: "Please authenticate first", + Message: "Please authenticate first", } - ErrAuthUnsupported = &SMTPError{ - Code: 502, + ErrAuthUnsupported = &SMTPError{ + Code: 502, EnhancedCode: EnhancedCode{5, 7, 0}, - Message: "Authentication not supported", - }) + Message: "Authentication not supported", + } +) // A SMTP server backend. type Backend interface { - NewSession(c ConnectionState, hostname string) (Session, error) + NewSession(c ConnectionState) (Session, error) } type BodyType string diff --git a/backendutil/transform.go b/backendutil/transform.go index aae0ab8..6bbe485 100755 --- a/backendutil/transform.go +++ b/backendutil/transform.go @@ -15,8 +15,8 @@ type TransformBackend struct { TransformData func(r io.Reader) (io.Reader, error) } -func (be *TransformBackend) NewSession(c smtp.ConnectionState, hostname string) (smtp.Session, error) { - sess, err := be.Backend.NewSession(c, hostname) +func (be *TransformBackend) NewSession(c smtp.ConnectionState) (smtp.Session, error) { + sess, err := be.Backend.NewSession(c) if err != nil { return nil, err } diff --git a/backendutil/transform_test.go b/backendutil/transform_test.go index 471bfc1..1800bb1 100755 --- a/backendutil/transform_test.go +++ b/backendutil/transform_test.go @@ -29,7 +29,7 @@ type backend struct { userErr error } -func (be *backend) NewSession(c smtp.ConnectionState, hostname string) (smtp.Session, error) { +func (be *backend) NewSession(c smtp.ConnectionState) (smtp.Session, error) { return &session{backend: be, anonymous: true}, nil } diff --git a/cmd/smtp-debug-server/main.go b/cmd/smtp-debug-server/main.go index 38d0a90..2606bd5 100644 --- a/cmd/smtp-debug-server/main.go +++ b/cmd/smtp-debug-server/main.go @@ -17,7 +17,7 @@ func init() { type backend struct{} -func (bkd *backend) NewSession(c smtp.ConnectionState, hostname string) (smtp.Session, error) { +func (bkd *backend) NewSession(c smtp.ConnectionState) (smtp.Session, error) { return &session{}, nil } diff --git a/conn.go b/conn.go index ca32dc8..cc0d93b 100644 --- a/conn.go +++ b/conn.go @@ -243,7 +243,7 @@ func (c *Conn) handleGreet(enhanced bool, arg string) { } c.helo = domain - sess, err := c.server.Backend.NewSession(c.State(), domain) + sess, err := c.server.Backend.NewSession(c.State()) if err != nil { if smtpErr, ok := err.(*SMTPError); ok { c.WriteResponse(smtpErr.Code, smtpErr.EnhancedCode, smtpErr.Message) diff --git a/example_test.go b/example_test.go index 89d09f8..08aee82 100644 --- a/example_test.go +++ b/example_test.go @@ -93,7 +93,7 @@ func ExampleSendMail() { type Backend struct{} // NewSession is called after client greeting (EHLO, HELO). -func (bkd *Backend) NewSession(c smtp.ConnectionState, hostname string) (smtp.Session, error) { +func (bkd *Backend) NewSession(c smtp.ConnectionState) (smtp.Session, error) { return &Session{}, nil } diff --git a/server_test.go b/server_test.go index 1b2f47a..57c1c50 100644 --- a/server_test.go +++ b/server_test.go @@ -45,7 +45,7 @@ type backend struct { userErr error } -func (be *backend) NewSession(_ smtp.ConnectionState, _ string) (smtp.Session, error) { +func (be *backend) NewSession(_ smtp.ConnectionState) (smtp.Session, error) { if be.implementLMTPData { return &lmtpSession{&session{backend: be, anonymous: true}}, nil }