diff --git a/update.go b/update.go index 275d4e6c..f9558817 100644 --- a/update.go +++ b/update.go @@ -104,18 +104,9 @@ func (u *Msg) Insert(rr []RR) { // RemoveRRset creates a dynamic update packet that deletes an RRset, see RFC 2136 section 2.5.2. func (u *Msg) RemoveRRset(rr []RR) { - m := make(map[RR_Header]struct{}) - u.Ns = make([]RR, 0, len(rr)) - for _, r := range rr { - h := *r.Header().copyHeader() - h.Class = ClassANY - h.Ttl = 0 - h.Rdlength = 0 - if _, ok := m[h]; ok { - continue - } - m[h] = struct{}{} - u.Ns = append(u.Ns, &ANY{h}) + u.Ns = make([]RR, len(rr)) + for i, r := range rr { + u.Ns[i] = &ANY{Hdr: RR_Header{Name: r.Header().Name, Ttl: 0, Rrtype: r.Header().Rrtype, Class: ClassANY}} } } diff --git a/update_test.go b/update_test.go index fc22536e..bdcaac4d 100644 --- a/update_test.go +++ b/update_test.go @@ -86,20 +86,4 @@ func TestRemoveRRset(t *testing.T) { t.Logf("Actual msg:\n%v", tmp) t.Fail() } - - m.Ns = nil - m.RemoveRRset([]RR{rr, rr}) - actual, err = m.Pack() - if err != nil { - t.Fatalf("Error packing actual msg: %v", err) - } - if !bytes.Equal(actual, expect) { - tmp := new(Msg) - if err := tmp.Unpack(actual); err != nil { - t.Fatalf("Error unpacking actual msg: %v", err) - } - t.Logf("Expected msg:\n%v", expectstr) - t.Logf("Actual msg:\n%v", tmp) - t.Fail() - } }