[Gen-art] Genart last call review of draft-murchison-tzdist-tzif-14

Paul Eggert <eggert@cs.ucla.edu> Fri, 05 October 2018 21:30 UTC

Return-Path: <eggert@cs.ucla.edu>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 41CD21277D2; Fri, 5 Oct 2018 14:30:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 67L1MOokjQL7; Fri, 5 Oct 2018 14:30:11 -0700 (PDT)
Received: from zimbra.cs.ucla.edu (zimbra.cs.ucla.edu [131.179.128.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 32B87128A6E; Fri, 5 Oct 2018 14:30:11 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id DF4A3161741; Fri, 5 Oct 2018 14:30:08 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Hw1c2uI_6kLO; Fri, 5 Oct 2018 14:30:06 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 05DC2161744; Fri, 5 Oct 2018 14:30:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id SoK1XsNl2HEP; Fri, 5 Oct 2018 14:30:05 -0700 (PDT)
Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id C0AC2161741; Fri, 5 Oct 2018 14:30:05 -0700 (PDT)
From: Paul Eggert <eggert@cs.ucla.edu>
To: Dale Worley <worley@ariadne.com>, gen-art@ietf.org
Cc: draft-murchison-tzdist-tzif.all@ietf.org, ietf@ietf.org, Extensions to Time Zone Data Distribution Service <tzdist-bis@ietf.org>
References: <153836174465.13418.13652697245235348230@ietfa.amsl.com>
Openpgp: preference=signencrypt
Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= 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 uNcby4U=
Organization: UCLA Computer Science Department
Message-ID: <0f45cd9c-e6ad-ff3d-58e6-78b4fc304796@cs.ucla.edu>
Date: Fri, 05 Oct 2018 14:30:05 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <153836174465.13418.13652697245235348230@ietfa.amsl.com>
Content-Type: multipart/mixed; boundary="------------0666627F512E7AE97B6BE0E4"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/GAg6YkO86bvXnFkycUBbLPVhKuw>
Subject: [Gen-art] Genart last call review of draft-murchison-tzdist-tzif-14
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Oct 2018 21:30:17 -0000

Thanks for the review. I've attached a proposed patch that attempts to 
address the issues you raised. Unless otherwise noted below, I agreed 
with your comments and incorporated them into the patch. The attached 
patch assumes the patches I proposed earlier in 
<https://www.ietf.org/mail-archive/web/tzdist-bis/current/msg00339.html> 
and in 
<https://www.ietf.org/mail-archive/web/tzdist-bis/current/msg00345.html>.

> Certain
> passages suggest that processors are expected to *not* examine the
> version number in a file,

Readers can examine the version number (which some do), or they can 
charge ahead and assume the version is good enough (some do that too). 
If a passage suggests otherwise let's fix it (I briefly looked for such 
passages and didn't find any).

> silent acceptance of trailing
> garbage is not specified, and this strategy is different from most
> IETF standards.

It's the strategy used in practice for this format. For example, the 
reference implementation (tzcode) does it that way. The attached 
proposed patch proposes adding text to section 3 paragraph 2 to try to 
document this better.

> the glossary (in section 2)
> gives definitions of several terms that suggest the document is
> attempting to define the semantics, but the definitions given are
> nowhere near sufficient to specify those semantics.

The glossary doesn't explain every aspect of timekeeping from the ground 
up and isn't really the place to do so, as it would take a lot of space 
and our readers are likely to be reasonably familiar with timekeeping 
already. That being said, we can fix specific issues with definitions as 
they come up (including the issues you noted). Also, the attached 
proposed patch prefaces the glossary with a pointer to tz-link to try to 
help readers unfamiliar with timekeeping.

> 3. Apparently (see comments on section 4), characters outside the
> ASCII set are allowed in time zone designations.  If so, their
> encoding needs to be specified.

The spec deliberately does not have a MUST for encoding. All the format 
requires is a string of octets terminated by an 0x00 octet. The attached 
proposed patch adds some text to say this explicitly. (Section 4 does 
say the encoding SHOULD be ASCII, and the patch doesn't change this.)

> The sequence "nor does it define the source the time zone data" is
> gramatically incorrect.

Noted earlier with a proposed fix in the 
<https://www.ietf.org/mail-archive/web/tzdist-bis/current/msg00339.html> 
email cited above.

> Also, it's not clear how "as defined in Section
> 3 of [RFC7808]" attaches to the sentence, since the closest item in
> the list, "versions", is defined in section 3 and not RFC 7808.

As far as I'm concerned the sentence is mostly a red herring, and we can 
reduce confusion by dropping the laundry list and the most-irrelevant 
citation of RFC 7808, as done in the attached proposed patch.


>     Daylight Saving Time (DST):  The time according to a location's law
>        or practice, adjusted as necessary from standard time.  The
>        adjustment may be positive, negative, or zero.
> 
> This seems to read that "Daylight Saving Time" is not "standard time"
> plus the summer time offset, but standard time, adjusted by whatever
> summer time offset might be in effect at the moment.  But that is not
> not the definition of DST, at least, not as commonly used in the US.

In general there is no single "summer time offset"; some localities have 
used different offsets at different points in the summer.  The attached 
proposed patch attempts to make this clearer.

>        2.  a change in whether standard or daylight saving time is in use
> 
> Is this intended to include the regular transition between summer time
> and winter time, or only when a locality starts or stops the practice
> of using summer time each year or the schedule of transitions?

The former. The attached proposed patch rewords this.

>     Wall Time:  The time as shown on a clock set according to a
>        location's law or practice.
> 
> In what way does this differ from "Local Time"?

It doesn't. Good catch. Fixed in the attached proposed patch, which also 
tries to nail down "local time" better.


> 
>        '2' (0x32)  Version 2 - The file MUST contain the 32-bit header
>           and data block, a 64-bit header and data block, and a footer.
> 
> The phrases "32-bit header" and "64-bit header" don't work, as the
> headers have the same format.  They could be called "header for 32-bit
> data", etc., but that's a bit awkward.  Alternatively, names for all
> of the data sections could be defined in section 2.

The attached proposed patch attempts to address this by using the names 
"version 1 header" and "version 2+ header", and similarly for data blocks.

> 
>     typecnt:  A four-octet unsigned integer specifying the number of
>        local time type records contained in the data block - MUST NOT be
>        zero.  (Although time type 0 is not used in files that have
>        nonempty TZ strings but no transitions, it is nevertheless
>        required because many TZif readers reject files that lack time
>        types.)
> 
> This is hard to understand.

Reworded in the attached proposed patch.

>        *  "application/tzif-leap" (Section 8.2) to indicate that leap
>           second records are included in the TZif data.
> 
> You probably need to spell out:  "For version 1 files, leap second
> records must be present in the 32-bit data block; for version 2 and 3
> files, leap second records must be present in the 64-bit data block."

Leap second records need not be present even in application/tzif-leap 
files, so the attached draft changes this to "leap second records are 
included in the TZif data as necessary (none are necessary if the file 
is truncated to a range that precedes the first leap second)".

> 10.3.  URIs
> 
> This section is odd.  Item [1] is just the URL for BCP 14, but BCP 14
> is also listed in the references section.  Items [6] and [7] duplicate
> [8] and [9], but they're references and should be treated as such.
> Items [3], [4], and [5] are more interesting -- they're locations
> inside reference [POSIX].  The Editor should be able to suggest a
> better way of presenting these references.

The cross references do not work the way I would like 
<https://www.ietf.org/mail-archive/web/tzdist-bis/current/msg00326.html> 
and apparently can't be done well 
<https://www.ietf.org/mail-archive/web/tzdist-bis/current/msg00328.html>. I 
gave up on doing them well, but if someone more expert in 
XML/HTML/whatever can fix things I'll be a happy camper.

> Appendix A.  Common Interoperability Issues
> 
>     Most of these are problems in generating TZif files
>     for use by readers conforming to predecessors of this specification.
> 
> It would be helpful to those dealing with compatibility issues to have
> references to the predecessors of this specification.

The predecessors are published in the version-controlled tzfile.5 man 
pages in the tzdb development version 
<https://github.com/eggert/tz/commits/master/tzfile.5>. The attached 
patch hyperlinks to that.