moved from log.Logger to slog.Logger
This commit is contained in:
parent
33c7d9338e
commit
fb16a3fc81
2 changed files with 42 additions and 41 deletions
9
smtpd.go
9
smtpd.go
|
@ -6,7 +6,8 @@ import (
|
|||
"crypto/tls"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"log"
|
||||
"net"
|
||||
"strings"
|
||||
"sync"
|
||||
|
@ -51,7 +52,7 @@ type Server struct {
|
|||
TLSConfig *tls.Config // Enable STARTTLS support.
|
||||
ForceTLS bool // Force STARTTLS usage.
|
||||
|
||||
ProtocolLogger *log.Logger
|
||||
ProtocolLogger *slog.Logger
|
||||
|
||||
// mu guards doneChan and makes closing it and listener atomic from
|
||||
// perspective of Serve()
|
||||
|
@ -384,7 +385,7 @@ func (session *session) logf(format string, v ...interface{}) {
|
|||
if session.server.ProtocolLogger == nil {
|
||||
return
|
||||
}
|
||||
session.server.ProtocolLogger.Output(2, fmt.Sprintf(
|
||||
session.server.ProtocolLogger.Info(fmt.Sprintf(
|
||||
"%s [peer:%s]",
|
||||
fmt.Sprintf(format, v...),
|
||||
session.peer.Addr,
|
||||
|
@ -393,7 +394,7 @@ func (session *session) logf(format string, v ...interface{}) {
|
|||
}
|
||||
|
||||
func (session *session) logError(err error, desc string) {
|
||||
session.logf("%s: %v ", desc, err)
|
||||
session.server.ProtocolLogger.Error(desc, "error", err)
|
||||
}
|
||||
|
||||
func (session *session) extensions() []string {
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"crypto/tls"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"net"
|
||||
"net/smtp"
|
||||
"net/textproto"
|
||||
|
@ -158,7 +158,7 @@ func runsslserver(t *testing.T, server *smtpd.Server) (addr string, closer func(
|
|||
func TestSMTP(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
defer closer()
|
||||
|
||||
|
@ -233,7 +233,7 @@ func TestListenAndServe(t *testing.T) {
|
|||
closer()
|
||||
|
||||
server := &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
}
|
||||
|
||||
go func() {
|
||||
|
@ -258,7 +258,7 @@ func TestSTARTTLS(t *testing.T) {
|
|||
addr, closer := runsslserver(t, &smtpd.Server{
|
||||
Authenticator: func(peer smtpd.Peer, username, password string) error { return nil },
|
||||
ForceTLS: true,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -347,7 +347,7 @@ func TestAuthRejection(t *testing.T) {
|
|||
return smtpd.Error{Code: 550, Message: "Denied"}
|
||||
},
|
||||
ForceTLS: true,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -371,7 +371,7 @@ func TestAuthNotSupported(t *testing.T) {
|
|||
|
||||
addr, closer := runsslserver(t, &smtpd.Server{
|
||||
ForceTLS: true,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -398,7 +398,7 @@ func TestAuthBypass(t *testing.T) {
|
|||
return smtpd.Error{Code: 550, Message: "Denied"}
|
||||
},
|
||||
ForceTLS: true,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -424,7 +424,7 @@ func TestConnectionCheck(t *testing.T) {
|
|||
ConnectionChecker: func(peer smtpd.Peer) error {
|
||||
return smtpd.Error{Code: 552, Message: "Denied"}
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -441,7 +441,7 @@ func TestConnectionCheckSimpleError(t *testing.T) {
|
|||
ConnectionChecker: func(peer smtpd.Peer) error {
|
||||
return errors.New("Denied")
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -461,7 +461,7 @@ func TestHELOCheck(t *testing.T) {
|
|||
}
|
||||
return smtpd.Error{Code: 552, Message: "Denied"}
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -483,7 +483,7 @@ func TestSenderCheck(t *testing.T) {
|
|||
SenderChecker: func(peer smtpd.Peer, addr string) error {
|
||||
return smtpd.Error{Code: 552, Message: "Denied"}
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -505,7 +505,7 @@ func TestRecipientCheck(t *testing.T) {
|
|||
RecipientChecker: func(peer smtpd.Peer, addr string) error {
|
||||
return smtpd.Error{Code: 552, Message: "Denied"}
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -529,7 +529,7 @@ func TestMaxMessageSize(t *testing.T) {
|
|||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
MaxMessageSize: 5,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -586,7 +586,7 @@ func TestHandler(t *testing.T) {
|
|||
}
|
||||
return nil
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -631,7 +631,7 @@ func TestRejectHandler(t *testing.T) {
|
|||
Handler: func(peer smtpd.Peer, env smtpd.Envelope) error {
|
||||
return smtpd.Error{Code: 550, Message: "Rejected"}
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -674,7 +674,7 @@ func TestMaxConnections(t *testing.T) {
|
|||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
MaxConnections: 1,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -696,7 +696,7 @@ func TestNoMaxConnections(t *testing.T) {
|
|||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
MaxConnections: -1,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -713,7 +713,7 @@ func TestMaxRecipients(t *testing.T) {
|
|||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
MaxRecipients: 1,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -744,7 +744,7 @@ func TestMaxRecipients(t *testing.T) {
|
|||
func TestInvalidHelo(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -763,7 +763,7 @@ func TestInvalidHelo(t *testing.T) {
|
|||
func TestInvalidSender(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -782,7 +782,7 @@ func TestInvalidSender(t *testing.T) {
|
|||
func TestInvalidRecipient(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -805,7 +805,7 @@ func TestInvalidRecipient(t *testing.T) {
|
|||
func TestRCPTbeforeMAIL(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -824,7 +824,7 @@ func TestRCPTbeforeMAIL(t *testing.T) {
|
|||
func TestDATAbeforeRCPT(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -855,7 +855,7 @@ func TestInterruptedDATA(t *testing.T) {
|
|||
t.Fatal("Accepted DATA despite disconnection")
|
||||
return nil
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -893,7 +893,7 @@ func TestTimeoutClose(t *testing.T) {
|
|||
MaxConnections: 1,
|
||||
ReadTimeout: time.Second,
|
||||
WriteTimeout: time.Second,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -930,7 +930,7 @@ func TestTLSTimeout(t *testing.T) {
|
|||
addr, closer := runsslserver(t, &smtpd.Server{
|
||||
ReadTimeout: time.Second * 2,
|
||||
WriteTimeout: time.Second * 2,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -973,7 +973,7 @@ func TestTLSTimeout(t *testing.T) {
|
|||
func TestLongLine(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1012,7 +1012,7 @@ func TestXCLIENT(t *testing.T) {
|
|||
}
|
||||
return nil
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1076,7 +1076,7 @@ func TestEnvelopeReceived(t *testing.T) {
|
|||
return nil
|
||||
},
|
||||
ForceTLS: true,
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1122,7 +1122,7 @@ func TestEnvelopeReceived(t *testing.T) {
|
|||
func TestHELO(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1158,7 +1158,7 @@ func TestLOGINAuth(t *testing.T) {
|
|||
|
||||
addr, closer := runsslserver(t, &smtpd.Server{
|
||||
Authenticator: func(peer smtpd.Peer, username, password string) error { return nil },
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1213,7 +1213,7 @@ func TestLOGINAuth(t *testing.T) {
|
|||
func TestNullSender(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1240,7 +1240,7 @@ func TestNullSender(t *testing.T) {
|
|||
func TestNoBracketsSender(t *testing.T) {
|
||||
|
||||
addr, closer := runserver(t, &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1273,7 +1273,7 @@ func TestErrors(t *testing.T) {
|
|||
|
||||
server := &smtpd.Server{
|
||||
Authenticator: func(peer smtpd.Peer, username, password string) error { return nil },
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
}
|
||||
|
||||
addr, closer := runserver(t, server)
|
||||
|
@ -1356,7 +1356,7 @@ func TestMailformedMAILFROM(t *testing.T) {
|
|||
}
|
||||
return nil
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
})
|
||||
|
||||
defer closer()
|
||||
|
@ -1402,7 +1402,7 @@ func TestTLSListener(t *testing.T) {
|
|||
}
|
||||
return nil
|
||||
},
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
}
|
||||
|
||||
go func() {
|
||||
|
@ -1440,7 +1440,7 @@ func TestTLSListener(t *testing.T) {
|
|||
func TestShutdown(t *testing.T) {
|
||||
fmt.Println("Starting test")
|
||||
server := &smtpd.Server{
|
||||
ProtocolLogger: log.New(os.Stdout, "log: ", log.Lshortfile),
|
||||
ProtocolLogger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
|
||||
}
|
||||
|
||||
ln, err := net.Listen("tcp", "127.0.0.1:0")
|
||||
|
|
Loading…
Add table
Reference in a new issue