[tz] version information in tz binary file?

lennox at cs.columbia.edu lennox at cs.columbia.edu
Tue Sep 10 15:49:05 UTC 2013

On Monday, September 9 2013, "Paul Eggert" wrote to "Arthur David Olson, tz at iana.org" saying:

> +section, if present, consists of the four magic bytes "=TZ\en",
> +followed by zero or more newline-terminated byte strings, followed by
> +another copy of the newline-enclosed POSIX-TZ-style string (this last
> +is for the benefit of any older clients that look for the TZ string at
> +the very end of the file).  Each newline-terminated byte string
> +consists of a name-value pair separated by "=" and terminated by
> +newline.  Names consist of ASCII letters, digits and underscores, and
> +start with a letter; duplicate names are not allowed.  Two common
> +names are "name", the Zone name for the data, and "version", the
> +version number.  Values consist of any bytes except NUL, newline, and
> +backslash; however, newline and backslash can represented via the
> +two-byte strings "\en" and "\e\e" respectively.

I assume "\e" is supposed to be interpreted in the C sense, i.e. as ASCII 27
(ESC)?  If we go with this format (and not Zephram's proposed variant, or
something else) I suggest that this be documented explicitly.

I also think that the all the valid meta-data name/value pairs need to be
explicitly documented (both syntactically and semantically), not just a few
examples given.  Otherwise it's unclear whether non-zic zonefile compilers
are allowed to invent their own meta-data names, or what format they have
to follow for the defined ones' values.

I also suggest that we have a meta-data entry giving the name and version of
the program that generated the zonefile.

Jonathan Lennox
lennox at cs.columbia.edu

More information about the tz mailing list