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, M is 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:


πŸŽ€ 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. πŸŒΈβœ¨πŸ¦‹πŸ’–