in starttls command in smtp & imap server, add the cid in the "ok, go ahead with tls" response

so facilitate debugging. a remote client that logs details about failing
connections can give the cid to the mox operator to find the relevant logging.
This commit is contained in:
Mechiel Lukkien 2023-11-13 10:26:31 +01:00
parent 58d84f3882
commit 6ce69d5425
No known key found for this signature in database
2 changed files with 4 additions and 2 deletions

View file

@ -1435,7 +1435,8 @@ func (c *conn) cmdStarttls(tag, cmd string, p *parser) {
xcheckf(err, "reading buffered data for tls handshake")
conn = &prefixConn{buf, conn}
}
c.ok(tag, cmd)
// We add the cid to facilitate debugging in case of TLS connection failure.
c.ok(tag, cmd+" ("+mox.ReceivedID(c.cid)+")")
cidctx := context.WithValue(mox.Context, mlog.CidKey, c.cid)
ctx, cancel := context.WithTimeout(cidctx, time.Minute)

View file

@ -880,7 +880,8 @@ func (c *conn) cmdStarttls(p *parser) {
}
}
c.writecodeline(smtp.C220ServiceReady, smtp.SeOther00, "go!", nil)
// We add the cid to the output, to help debugging in case of a failing TLS connection.
c.writecodeline(smtp.C220ServiceReady, smtp.SeOther00, "go! ("+mox.ReceivedID(c.cid)+")", nil)
tlsConn := tls.Server(conn, c.tlsConfig)
cidctx := context.WithValue(mox.Context, mlog.CidKey, c.cid)
ctx, cancel := context.WithTimeout(cidctx, time.Minute)