From 83609e21bb3c2cb8e5fd715743389f500e2ccadc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20B=C3=BChler?= Date: Sat, 13 Jul 2013 13:37:27 +0200 Subject: [PATCH] SOA-EDIT: fix INCEPTION-INCREMENT handling --- pdns/serialtweaker.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pdns/serialtweaker.cc b/pdns/serialtweaker.cc index 32ec01cc22..f824f87cfb 100644 --- a/pdns/serialtweaker.cc +++ b/pdns/serialtweaker.cc @@ -62,10 +62,11 @@ uint32_t calculateEditSoa(SOAData sd, const string& kind) { uint32_t inception_serial = localtime_format_YYYYMMDDSS(inception, 1); uint32_t dont_increment_after = localtime_format_YYYYMMDDSS(inception + 2*86400, 99); - if(sd.serial <= dont_increment_after) - return (sd.serial + 2); /* "day00" and "day01" are reserved for inception increasing, so increment sd.serial by two */ - else if(sd.serial < inception_serial) - return inception_serial; + if(sd.serial < inception_serial - 1) { /* less than 00 */ + return inception_serial; /* return 01 (skipping 00 as possible value) */ + } else if(sd.serial <= dont_increment_after) { /* >= 00 but <= 99 */ + return (sd.serial + 2); /* "00" and "01" are reserved for inception increasing, so increment sd.serial by two */ + } } else if(pdns_iequals(kind,"INCEPTION-WEEK")) { time_t inception = getStartOfWeek(); -- 2.47.2