commit 41f2fc30c98ea08d29cd23e15e9cf8750b789b65
parent 6cd1e95b7fd147fae2f19d23e254d45e55d4dce1
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Tue, 18 Jan 2022 21:09:54 +0100
djb: expiration/monotonic time handling
Diffstat:
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
@@ -2008,6 +2008,8 @@ example.com = zk2
If the NICK record is supplemental, the resolver only returns the
record set if one of the non-supplemental records matches the
queried record type.
+ It is possible that one record set contains both supplemental
+ and non-supplemental NICK records.
</t>
<t>
The differentiation between a supplemental and non-supplemental
@@ -2115,10 +2117,23 @@ NICK: john (Supplemental)
ensured that each time a block is published into the storage, its IV is
unique as the expiration time is calculated dynamically and increases
monotonically.
+ The implementation MUST ensure that when relative expiration times
+ are decreased that the expiration time of the next record block is
+ always after the last published block.
For blocks with absolute expiration times, the implementation
- MUST ensure that the expiration time is modified when the record
+ MUST ensure that the expiration time is increased when the record
data changes. For example, the expiration time may be increased
by a single microsecond.
+ In case of deletion of all resource records under a label, the
+ implementation MUST keep track of the last absolute expiration time
+ of the last published resource block.
+ When new records are added under this label later, the implementation
+ MUST ensure that the expiration times are after the last published
+ block.
+ Finally, in order to ensure monotonically increasing expiration times
+ the implementation MUST keep a local record of the last time obtained
+ from the system clock, so as to construct a monotonic clock in case
+ the system clock jumps backwards.
</t>
</section>
<section anchor="security_abuse" numbered="true" toc="default">