Version in base suite: 1.0.27-1 Version in overlay suite: 1.0.27-2 Base version: maradns_1.0.27-1 Target version: maradns_1.0.27-2 Base file: /org/ftp.debian.org/ftp/pool/main/m/maradns/maradns_1.0.27-1.dsc Target file: /org/ftp.debian.org/ftp/pool/main/m/maradns/maradns_1.0.27-2.dsc diff -u maradns-1.0.27/debian/changelog maradns-1.0.27/debian/changelog --- maradns-1.0.27/debian/changelog +++ maradns-1.0.27/debian/changelog @@ -1,3 +1,9 @@ +maradns (1.0.27-2) oldstable-security; urgency=high + + * Fix remote DoS + + -- Moritz Muehlenhoff Wed, 2 Jan 2008 20:13:43 +0000 + maradns (1.0.27-1) unstable; urgency=high * New upstream release (sponsored upload) only in patch2: unchanged: --- maradns-1.0.27.orig/server/MaraDNS.c +++ maradns-1.0.27/server/MaraDNS.c @@ -580,7 +580,8 @@ rotate_last = where; where = where->next; /* If it makes sense to do a round-robin rotation, do so */ - if(where == 0 && rotate_2nd != 0 && max_ar_chain == 1) { + if(where == 0 && rotate_2nd != 0 && max_ar_chain == 1 + && first_rr_type != RR_NS) { /* For records in the cache, we need to make sure that the custodian properly points to the first record in the chain or we will leak memory */ @@ -752,7 +753,8 @@ is buggy if we round-robin rotate data when we allow more than one additional record to be create per answer/authoritative record. */ - if(rotate_2nd != 0 && max_ar_chain == 1 && rotate_done == 0) { + if(rotate_2nd != 0 && max_ar_chain == 1 && rotate_done == 0 + && first_rr_type != RR_NS) { rotate_done = 1; /* If it makes sense to do a round-robin rotation */ rotate_1st->next = where;