0
mirror of https://github.com/XTLS/Xray-core.git synced 2025-06-18 22:29:49 +03:00

DNS: Retry with EDNS0 when response is truncated (#4516)

This commit is contained in:
风扇滑翔翼
2025-03-21 08:22:04 +08:00
committed by RPRX
parent 6f8e253dec
commit 86a225cda1
3 changed files with 49 additions and 15 deletions

View File

@ -51,7 +51,7 @@ func Test_parseResponse(t *testing.T) {
}{
{
"empty",
&IPRecord{0, []net.Address(nil), time.Time{}, dnsmessage.RCodeSuccess},
&IPRecord{0, []net.Address(nil), time.Time{}, dnsmessage.RCodeSuccess, nil},
false,
},
{
@ -66,12 +66,13 @@ func Test_parseResponse(t *testing.T) {
[]net.Address{net.ParseAddress("8.8.8.8"), net.ParseAddress("8.8.4.4")},
time.Time{},
dnsmessage.RCodeSuccess,
nil,
},
false,
},
{
"aaaa record",
&IPRecord{2, []net.Address{net.ParseAddress("2001::123:8888"), net.ParseAddress("2001::123:8844")}, time.Time{}, dnsmessage.RCodeSuccess},
&IPRecord{2, []net.Address{net.ParseAddress("2001::123:8888"), net.ParseAddress("2001::123:8844")}, time.Time{}, dnsmessage.RCodeSuccess, nil},
false,
},
}
@ -84,8 +85,9 @@ func Test_parseResponse(t *testing.T) {
}
if got != nil {
// reset the time
// reset the time and RawHeader
got.Expire = time.Time{}
got.RawHeader = nil
}
if cmp.Diff(got, tt.want) != "" {
t.Error(cmp.Diff(got, tt.want))