in dns.ParseDomain, don't allow ipv4 addresses (ipv6 addresses were already rejected)

we are expecting a DNS domain name there.
also highlighted a wrong test in the smtp server.
This commit is contained in:
Mechiel Lukkien
2025-02-23 11:33:31 +01:00
parent 797c1cf9f0
commit 151729af08
2 changed files with 15 additions and 1 deletions

View File

@ -530,7 +530,14 @@ func TestDelivery(t *testing.T) {
ts.run(func(client *smtpclient.Client) {
mailFrom := "remote@example.org"
rcptTo := "mjl@127.0.0.10"
rcptTo := "mjl@[127.0.0.10]"
err := client.Deliver(ctxbg, mailFrom, rcptTo, int64(len(deliverMessage)), strings.NewReader(deliverMessage), false, false, false)
ts.smtpErr(err, &smtpclient.Error{Permanent: true, Code: smtp.C550MailboxUnavail, Secode: smtp.SeAddr1UnknownDestMailbox1})
})
ts.run(func(client *smtpclient.Client) {
mailFrom := "remote@example.org"
rcptTo := "mjl@[IPv6:::1]"
err := client.Deliver(ctxbg, mailFrom, rcptTo, int64(len(deliverMessage)), strings.NewReader(deliverMessage), false, false, false)
ts.smtpErr(err, &smtpclient.Error{Permanent: true, Code: smtp.C550MailboxUnavail, Secode: smtp.SeAddr1UnknownDestMailbox1})
})