mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-04-11 17:47:20 +10:00
46 lines
884 B
Go
46 lines
884 B
Go
package adapter
|
|
|
|
import (
|
|
"net"
|
|
"net/netip"
|
|
"testing"
|
|
|
|
"github.com/miekg/dns"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestDNSResponseAddressesUnmapsHTTPSIPv4Hints(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ipv4Hint := net.ParseIP("1.1.1.1")
|
|
require.NotNil(t, ipv4Hint)
|
|
|
|
response := &dns.Msg{
|
|
MsgHdr: dns.MsgHdr{
|
|
Response: true,
|
|
Rcode: dns.RcodeSuccess,
|
|
},
|
|
Answer: []dns.RR{
|
|
&dns.HTTPS{
|
|
SVCB: dns.SVCB{
|
|
Hdr: dns.RR_Header{
|
|
Name: dns.Fqdn("example.com"),
|
|
Rrtype: dns.TypeHTTPS,
|
|
Class: dns.ClassINET,
|
|
Ttl: 60,
|
|
},
|
|
Priority: 1,
|
|
Target: ".",
|
|
Value: []dns.SVCBKeyValue{
|
|
&dns.SVCBIPv4Hint{Hint: []net.IP{ipv4Hint}},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
addresses := DNSResponseAddresses(response)
|
|
require.Equal(t, []netip.Addr{netip.MustParseAddr("1.1.1.1")}, addresses)
|
|
require.True(t, addresses[0].Is4())
|
|
}
|