File tree 2 files changed +14
-2
lines changed
2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -792,14 +792,18 @@ def unsign_zone(zone):
792
792
"""
793
793
Remove all DNSSEC records from the given zone
794
794
"""
795
+ rdatasets = []
796
+ for item in zone .iterate_rdatasets ():
797
+ rdatasets .append (item )
798
+
795
799
# Remove signatures
796
- for rrname , rdataset in zone . iterate_rdatasets () :
800
+ for rrname , rdataset in rdatasets :
797
801
if rdataset .rdtype != dns .rdatatype .RRSIG :
798
802
zone .delete_rdataset (rrname , rdtype = dns .rdatatype .RRSIG ,
799
803
covers = rdataset .rdtype )
800
804
801
805
# Remove NSEC/NSEC3
802
- for rrname , rdataset in zone . iterate_rdatasets () :
806
+ for rrname , rdataset in rdatasets :
803
807
if rdataset .rdtype in (dns .rdatatype .NSEC , dns .rdatatype .NSEC3 ):
804
808
zone .delete_rdataset (rrname , rdtype = rdataset .rdtype )
805
809
Original file line number Diff line number Diff line change @@ -673,5 +673,13 @@ def testRSASHA512(self):
673
673
self ._diff (zone , signedzone )
674
674
self .assertEqual (zone , signedzone )
675
675
676
+ def test_unsign_zone (self ):
677
+ zone = dns .zone .from_text (zone_orig_txt , relativize = False )
678
+ signedzone = dns .zone .from_text (zone_rsasha512_txt ,
679
+ relativize = False )
680
+ unsignedzone = dnssec .unsign_zone (signedzone )
681
+ self .assertEqual (zone , unsignedzone )
682
+
683
+
676
684
if __name__ == '__main__' :
677
685
unittest .main ()
You can’t perform that action at this time.
0 commit comments