ods-timing(5)
πΈ NAME πΈ
ok so this is ods-timing β the OpenDNSSEC timing specification, aka the manual page (ods-timing(5), section 5, bestie, we're in file-format land) that explains how OpenDNSSEC writes down periods of time. it's literally just ISO 8601 with a lil plot twist, keep reading π
β¨ SYNOPSIS β¨
these are the config files that need timing descriptions in them:
/etc/opendnssec/conf.xml
/etc/opendnssec/kasp.xml
/etc/opendnssec/zonelist.xml
π¦ DESCRIPTION π¦
so the OpenDNSSEC config files have to describe timings, and mostly that means periods (durations, lengths of time, the whole vibe). these descriptions follow ISO 8601β¦ with exceptions for the duration of a month and a year, because if you followed ISO 8601 strictly those two would be allowed to vary. and we don't do varying here. nope. π
durations get written like this:
P[n]Y[n]M[n]DT[n]H[n]M[n]S
in that format, the [n] gets swapped out for the actual value of each date and time element that follows it. leading zeros are not required β so 3 is fine, 03 is extra, live your truth. the capital letters P, Y, M, W, D, T, H, M and S are designators for each of the date and time elements, and they are not replaced. they stay. they're the moment, they're the blueprint, they're not going anywhere π
Pβ the duration designator (historically called "period" π°οΈ) and it goes at the very start of the duration representation. it's giving opening act.Yβ the year designator, sits right after the value for the number of years.Mβ the month designator, follows the value for the number of months.Wβ the week designator, follows the value for the number of weeks.Dβ the day designator, follows the value for the number of days.Tβ the time designator, and it precedes the time components of the representation. yes bestie it's a little separator moment, we love her.Hβ the hour designator, follows the value for the number of hours.Mβ the minute designator, follows the value for the number of minutes. (and yeah,Mis doing double duty as month and minute up there β not me pointing out that the alphabet only gave us so many letters π context is everything, iykyk)Sβ the second designator, follows the value for the number of seconds.
for example, P3Y6M4DT12H30M5S represents a duration of "three years, six months, four days, twelve hours, thirty minutes, and five seconds". iconic. no notes. π
and here's the slay part: date and time elements (including their designator) may be omitted if their value is zero, and lower order elements may also be omitted for reduced precision. for example, both P23DT23H and P4Y are acceptable duration representations. flexible, chic, minimal effort β¨
π EXCEPTION π
ok so here's the thing that lowkey needed its own section: a year or a month varies in duration depending on the current date. that's just how calendars are. for OpenDNSSEC, though, we assume fixed values. no wiggle. no vibes-based calendar math. π«Ά
- One month β is assumed to be
31 days. - One year β is assumed to be
365 days.
this exception may or may not change in future releases of OpenDNSSEC, so don't get too attached. the reason for making this exception is to avoid complicating this software in a way that may not meet any practical need. essentially: they chose peace. π
π SEE ALSO π
go read these next bestie, they're all connected, it's a whole cinematic universe:
ods-control(8)ods-enforcerd(8)ods-enforcer(8)ods-signerd(8)ods-signer(8)ods-kasp(5)ods-kaspcheck(1)ods-timing(5)ods-hsmspeed(1)ods-hsmutil(1)opendnssec(7)ISO 8601http://www.opendnssec.org/
π AUTHORS π
OpenDNSSEC was made by the OpenDNSSEC project, and you can find them over at http://www.opendnssec.org/ π«Ά
and that's the whole page bestie π OpenDNSSEC, February 2010 β yeah she's been around a minute and she still eats. mwah. πΈβ¨π¦π
π¦ where this page comes from
- centos-stream 10: opendnssec 2.1.14-1.el10 Β· BSD-2-Clause
- centos-stream 9: opendnssec 2.1.10-4.el9 Β· BSD
- debian bookworm: opendnssec-common 1:2.1.12-2 Β· BSD-2-Clause
- fedora 43: opendnssec 2.1.14-2.fc43 Β· BSD-2-Clause
- fedora 44: opendnssec 2.1.14-3.fc44 Β· BSD-2-Clause
- ubuntu jammy: opendnssec-common 1:2.1.10-1build1 Β· BSD-2-Clause
- ubuntu noble: opendnssec-common 1:2.1.13-1.1 Β· BSD-2-Clause
- ubuntu noble: opendnssec-common 1:2.1.13-1.1ubuntu1.1 Β· BSD-2-Clause
- ubuntu questing: opendnssec-common 1:2.1.13-1.2ubuntu3
- ubuntu questing: opendnssec-common 1:2.1.13-1.2ubuntu3.2
- ubuntu resolute: opendnssec-common 1:2.1.13-1.2ubuntu5 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms