Files
kumomta/crates/mod-dns-resolver/test-strategy.lua
T
Wez Furlong 654f9b88f5 new: ip_lookup_strategy option in make_egress_path
This provides control over IPv4 and IPv6 lookups based on the source
and/or destination.
2026-03-04 16:33:32 +00:00

62 lines
1.1 KiB
Lua

local kumo = require 'kumo'
local utils = require 'policy-extras.policy_utils'
kumo.dns.define_resolver('woot', {
Test = {
zones = {
[[
$ORIGIN example.com.
mx1 30 IN A 10.0.0.1
mx1 30 IN AAAA ::1
mx4 30 IN A 10.0.0.2
mx6 30 IN AAAA ::1
]],
},
},
})
utils.assert_eq(
kumo.dns.lookup_addr('mx1.example.com', 'woot', 'Ipv4AndIpv6'),
{ '10.0.0.1', '::1' }
)
utils.assert_eq(
kumo.dns.lookup_addr('mx1.example.com', 'woot', 'Ipv4Only'),
{ '10.0.0.1' }
)
utils.assert_eq(
kumo.dns.lookup_addr('mx1.example.com', 'woot', 'Ipv4ThenIpv6'),
{ '10.0.0.1' }
)
utils.assert_eq(
kumo.dns.lookup_addr('mx4.example.com', 'woot', 'Ipv4ThenIpv6'),
{ '10.0.0.2' }
)
utils.assert_eq(
kumo.dns.lookup_addr('mx6.example.com', 'woot', 'Ipv4ThenIpv6'),
{ '::1' }
)
utils.assert_eq(
kumo.dns.lookup_addr('mx1.example.com', 'woot', 'Ipv6Only'),
{ '::1' }
)
utils.assert_eq(
kumo.dns.lookup_addr('mx6.example.com', 'woot', 'Ipv4Only'),
{}
)
utils.assert_eq(
kumo.dns.lookup_addr('mx6.example.com', 'woot', 'Ipv6Only'),
{ '::1' }
)
utils.assert_eq(
kumo.dns.lookup_addr('mx4.example.com', 'woot', 'Ipv6Only'),
{}
)