fix: reverter should execute the reversion in reversed order (#6872)

Signed-off-by: Jason Joo <hblzxsj@gmail.com>
This commit is contained in:
Jason Joo
2024-09-12 09:07:02 +08:00
committed by GitHub
parent ee4d26b780
commit 4e7bd5a51c
3 changed files with 22 additions and 2 deletions

View File

@@ -90,8 +90,9 @@ func (r *ResponseReverter) WriteMsg(res1 *dns.Msg) error {
}
func (r *ResponseReverter) rewriteResourceRecord(res *dns.Msg, rr dns.RR) {
for _, rule := range r.ResponseRules {
rule.RewriteResponse(res, rr)
// The reverting rules need to be done in reversed order.
for i := len(r.ResponseRules) - 1; i >= 0; i-- {
r.ResponseRules[i].RewriteResponse(res, rr)
}
}