add 300 seconds of fudge

(cherry picked from commit acf0292da4)
This commit is contained in:
Mark Andrews
2019-01-30 13:02:14 +11:00
parent 7b12906ac0
commit 135b0797fb
2 changed files with 19 additions and 8 deletions

View File

@@ -100,6 +100,12 @@
set by the <option>-K</option> option), and check the keys for
all the zones represented in the directory.
</para>
<para>
Key times that are in the past will not be updated unless
the <option>-f</option> is used (see below). Key inactivation
and deletion times that are less than five minutes in the future
will be delayed by five minutes.
</para>
<para>
It is expected that this tool will be run automatically and
unattended (for example, by <command>cron</command>).

View File

@@ -83,31 +83,36 @@ class keyseries:
a = now
i = key.inactive()
fudge = 300
if not rp:
key.setinactive(None, **kwargs)
key.setdelete(None, **kwargs)
elif not i or a + rp != i:
if not i and a + rp > now + prepub:
if not i and a + rp > now + prepub + fudge:
key.setinactive(a + rp, **kwargs)
key.setdelete(a + rp + postpub, **kwargs)
elif not i:
key.setinactive(now + prepub, **kwargs)
key.setdelete(now + prepub + postpub, **kwargs)
key.setinactive(now + prepub + fudge, **kwargs)
key.setdelete(now + prepub + postpub + fudge, **kwargs)
elif i < now:
pass
elif a + rp > i:
key.setinactive(a + rp, **kwargs)
key.setdelete(a + rp + postpub, **kwargs)
elif a + rp > now + prepub:
elif a + rp > now + prepub + fudge:
key.setinactive(a + rp, **kwargs)
key.setdelete(a + rp + postpub, **kwargs)
else:
key.setinactive(now + prepub, **kwargs)
key.setdelete(now + prepub + postpub, **kwargs)
key.setinactive(now + prepub + fudge, **kwargs)
key.setdelete(now + prepub + postpub + fudge, **kwargs)
else:
d = key.delete()
if not d or i + postpub > now:
if not d or i + postpub > now + fudge:
key.setdelete(i + postpub, **kwargs)
elif not d:
key.setdelete(now + postpub, **kwargs)
key.setdelete(now + postpub + fudge, **kwargs)
elif d < now + fudge:
pass
elif d < i + postpub:
key.setdelete(i + postpub, **kwargs)