Re: Opsdir last call review of draft-murchison-tzdist-tzif-14

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the review. Attached is a proposed patch that attempts to address your comments, except that I didn't understand this remark:
3.Leap second records definition
How 64 bit data block can be used to accommodate 16 octet records?

The draft doesn't mention 16-octet records, so I'm not sure what this comment is referring to. A leap second record is 8 octets in the 32-bit data block, and is 12 octets in the 64-bit data block. The difference in length is because the former uses a 4 octet 'occur' field whereas the latter uses 8. The 'corr' field is always a 4-octet value, because it's assumed that the leap second correction (which is a relative time, not an absolute time) must fit into a 32-bit signed integer. In hindsight perhaps the leap second correction should also have been an 8-octet value, as the 4-octet value will stop working many thousands of years from now (see <https://www.ucolick.org/~sla/leapsecs/dutc.html> for why) whereas an 8-octet value would have been more future-proof. However, billions of readers already assume 4-octet leap second corrections so we'll have to defer fixing this to a later version of TZif. Most likely version 3 will be obsolete for other reasons long before the limited 'corr' range becomes a real problem. (If you think this issue should be discussed in the spec, I can add something; just let me know.)

The attached proposed patch assumes an earlier patch <https://www.ietf.org/mail-archive/web/tzdist-bis/current/msg00339.html> that I proposed in response to Tom Petch's review.

--- draft-murchison-tzdist-tzif-14-01.xml	2018-09-13 11:27:43.484884588 -0700
+++ draft-murchison-tzdist-tzif-14-02.xml	2018-09-27 08:11:16.386765915 -0700
@@ -162,6 +162,10 @@
	          The time according to a location's current time zone
	          offset from Universal Time.
	        </t>
+	        <t hangText="POSIX Epoch:">
+		  1970-01-01 00:00:00 UTC, the basis for absolute timestamps
+		  in this document.
+		</t>
	        <t hangText="Standard Time:">
	          The time according to a location's law or practice,
	          unadjusted for Daylight Saving Time.
@@ -185,6 +189,11 @@
	          time zone abbreviations."  The interchange format defined in
	          this document is one such form of time zone data.
	        </t>
+	        <t hangText="Transition Time:">
+		  The moment of occurrence of a time change that is not a leap
+		  second.  It is identified with a signed integer count of
+		  Unix Leap Time seconds since the POSIX Epoch.
+		</t>
	        <t hangText="Universal Time (UT):">
	          The basis of civil time.
	          This is the principal form of the mean solar time at the
@@ -201,7 +210,7 @@
	          target="http://pubs.opengroup.org/onlinepubs/9699919799/functions/time.html";>
	          Section 3 of the "System Interfaces" Volume</eref> of <xref
	          target="POSIX"/>).  This is an integer number of seconds
-	          since the POSIX Epoch (1970-01-01 00:00:00 UTC) not counting
+	          since the POSIX Epoch, not counting
	          leap seconds.  As an extension to POSIX, negative values
	          represent times before the POSIX Epoch, using UT.
	        </t>
@@ -233,7 +242,10 @@
	      variable-length <xref target='data'>data block</xref> using
	      four-octet  (32-bit) transition times and leap second
	      occurrences. These 32-bit values are limited to representing
-	      times from 1901-12-13 20:45:52 through 2038-01-19 03:14:07 UT.</t>
+	      time changes from 1901-12-13 20:45:52 through 2038-01-19 03:14:07 UT,
+	      and the initial header and data block are present only for backward
+	      compatibility with obsolescent readers as discussed in
+	      <a xref='issues'>Common Interoperability Issues</a>.</t>
	
	      <t>The TZif header contains a field which specifies the version
	      of the file's format.  Version 1 files terminate after the
@@ -385,6 +397,11 @@
		    </t>
		  </list>
	        </t>
+	
+		<t>Although the 32- and 64-bit headers have the same format
+		with the same magic number and version fields, their count
+		fields can differ because the 32-bit data can be a subset of
+		the 64-bit data.</t>
	      </section>  <!-- header -->
	
	      <section anchor='data' title='TZif Data Block'>
@@ -671,6 +688,10 @@
		  </list>
	        </t>
	
+		<t>The TZif footer is present only in Version 2 and 3 files,
+		as the obsolescent Version 1 format was designed before the
+		need for a footer was apparent.</t>
+	
	        <section anchor='tzstrext' title='TZ String Extensions'>
		  <t>The TZ string in a Version 3 TZif file MAY use the
		  following extensions to POSIX TZ strings.

[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux