diff options
Diffstat (limited to 'contrib/tzcode/tzfile.5')
-rw-r--r-- | contrib/tzcode/tzfile.5 | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/contrib/tzcode/tzfile.5 b/contrib/tzcode/tzfile.5 index 63bda4114388..66d169fc5302 100644 --- a/contrib/tzcode/tzfile.5 +++ b/contrib/tzcode/tzfile.5 @@ -11,7 +11,7 @@ The timezone information files used by .Xr tzset 3 are found under .Pa /usr/share/zoneinfo . -These files use the format described in Internet RFC 8536. +These files use the format described in Internet RFC 9636. Each file is a sequence of 8-bit bytes. In a file, a binary integer is represented by a sequence of one or more bytes in network order (bigendian, or high-order byte first), @@ -107,7 +107,7 @@ and serves as an index into the array of time zone abbreviation bytes that follow the .Vt ttinfo -entries in the file; if the designated string is "\*-00", the +entries in the file; if the designated string is "\-00", the .Vt ttinfo entry is a placeholder indicating that local time is unspecified. The @@ -128,7 +128,7 @@ The byte strings can overlap if one is a suffix of the other. The encoding of these strings is not specified. .It Va tzh_leapcnt pairs of four-byte values, written in network byte order; -the first value of each pair gives the nonnegative time +the first value of each pair gives the non-negative time (as returned by .Xr time 3 ) at which a leap second occurs or at which the leap second table expires; @@ -141,7 +141,7 @@ Each pair denotes one leap second, either positive or negative, except that if the last pair has the same correction as the previous one, the last pair denotes the leap second table's expiration time. Each leap second is at the end of a UTC calendar month. -The first leap second has a nonnegative occurrence time, +The first leap second has a non-negative occurrence time, and is a positive leap second if and only if its correction is positive; the correction for each leap second after the first differs from the previous leap second by either 1 for a positive leap second, @@ -168,7 +168,7 @@ The standard/wall and UT/local indicators were designed for transforming a TZif file's transition times into transitions appropriate for another time zone specified via a proleptic TZ string that lacks rules. -For example, when TZ="EET\*-2EEST" and there is no TZif file "EET\*-2EEST", +For example, when TZ="EET\-2EEST" and there is no TZif file "EET\-2EEST", the idea was to adapt the transition times from a TZif file with the well-known name "posixrules" that is present only for this purpose and is a copy of the file "Europe/Brussels", a file with a different UT offset. @@ -177,7 +177,7 @@ the default rules are installation-dependent, and no implementation is known to support this feature for timestamps past 2037, so users desiring (say) Greek time should instead specify TZ="Europe/Athens" for better historical coverage, falling back on -TZ="EET\*-2EEST,M3.5.0/3,M10.5.0/4" if POSIX conformance is required +TZ="EET\-2EEST,M3.5.0/3,M10.5.0/4" if POSIX conformance is required and older timestamps need not be handled accurately. .Pp The @@ -203,7 +203,7 @@ after the last transition time stored in the file or for all instants if the file has no transitions. The TZ string is empty (i.e., nothing between the newlines) if there is no proleptic representation for such instants. -If nonempty, the TZ string must agree with the local time +If non-empty, the TZ string must agree with the local time type after the last transition time if present in the eight-byte data; for example, given the string .Dq "WET0WEST,M3.5.0/1,M10.5.0" @@ -218,7 +218,7 @@ the earliest transition time. For version-3-format timezone files, a TZ string (see .Xr newtzset 3 ) may use the following POSIX.1-2024 extensions to POSIX.1-2017: -First, as in TZ="<\*-02>2<\*-01>,M3.5.0/\*-1,M10.5.0/0", +First, as in TZ="<\-02>2<\-01>,M3.5.0/\-1,M10.5.0/0", the hours part of its transition times may be signed and range from \-167 through 167 instead of being limited to unsigned values from 0 through 24. @@ -275,7 +275,7 @@ time did not exist (possibly with an error indication). Time zone designations should consist of at least three (3) and no more than six (6) ASCII characters from the set of alphanumerics, -.Dq "\*-" , +.Dq "\-" , and .Dq "+" . This is for compatibility with POSIX requirements for @@ -300,16 +300,16 @@ through 60 instead of the usual 59; the UTC offset is unaffected. This section documents common problems in reading or writing TZif files. Most of these are problems in generating TZif files for use by older readers. -The goals of this section are: +The goals of this section are to help: .Bl -bullet .It -to help TZif writers output files that avoid common +TZif writers output files that avoid common pitfalls in older or buggy TZif readers, .It -to help TZif readers avoid common pitfalls when reading +TZif readers avoid common pitfalls when reading files generated by future TZif writers, and .It -to help any future specification authors see what sort of +any future specification authors see what sort of problems arise when the TZif format is changed. .El .Pp @@ -320,9 +320,9 @@ reader was designed for. When complete compatibility was not achieved, an attempt was made to limit glitches to rarely used timestamps and allow simple partial workarounds in writers designed to generate -new-version data useful even for older-version readers. +newer-version data useful even for older-version readers. This section attempts to document these compatibility issues and -workarounds, as well as to document other common bugs in +workarounds as well as documenting other common bugs in readers. .Pp Interoperability problems with TZif include the following: @@ -355,15 +355,15 @@ for two time zones east, e.g., for a time zone with a never-used standard time (XXX, \-03) and negative daylight saving time (EDT, \-04) all year. Alternatively, -as a partial workaround a writer can substitute standard time +as a partial workaround, a writer can substitute standard time for the next time zone east \(en e.g., .Dq "AST4" for permanent Atlantic Standard Time (\-04). .It -Some readers designed for version 2 or 3, and that require strict -conformance to RFC 8536, reject version 4 files whose leap second -tables are truncated at the start or that end in expiration times. +Some readers designed for version 2 or 3 and that require strict +conformance to RFC 9636 reject version 4 files whose leap second +tables are truncated at the start or end in expiration times. .It Some readers ignore the footer, and instead predict future timestamps from the time type of the last transition. @@ -378,7 +378,7 @@ and even for current timestamps it can fail for settings like TZ="Africa/Casablanca". This corresponds to a TZif file containing explicit transitions through the year 2087, followed by a footer containing the TZ string -.Dq <+01>\*-1 , +.Dq <+01>\-1 , which should be used only for timestamps after the last explicit transition. .It @@ -389,7 +389,7 @@ As a partial workaround, a writer can output a dummy (no-op) first transition at an early time. .It Some readers mishandle timestamps before the first -transition that has a timestamp not less than \-2**31. +transition that has a timestamp that is not less than \-2**31. Readers that support only 32-bit timestamps are likely to be more prone to this problem, for example, when they process 64-bit transitions only some of which are representable in 32 @@ -401,7 +401,7 @@ Some readers mishandle a transition if its timestamp has the minimum possible signed 64-bit value. Timestamps less than \-2**59 are not recommended. .It -Some readers mishandle TZ strings that +Some readers mishandle proleptic TZ strings that contain .Dq "<" or @@ -418,9 +418,9 @@ non-ASCII characters. These characters are not recommended. .It Some readers may mishandle time zone abbreviations that -contain fewer than 3 or more than 6 characters, or that +contain fewer than 3 or more than 6 characters or that contain ASCII characters other than alphanumerics, -.Dq "\*-", +.Dq "\-", and .Dq "+". These abbreviations are not recommended. @@ -430,7 +430,7 @@ daylight-saving time UT offsets that are less than the UT offsets for the corresponding standard time. These readers do not support locations like Ireland, which uses the equivalent of the TZ string -.Dq "IST\*-1GMT0,M10.5.0,M3.5.0/1", +.Dq "IST\-1GMT0,M10.5.0,M3.5.0/1", observing standard time (IST, +01) in summer and daylight saving time (GMT, +00) in winter. As a partial workaround, a writer can output data for the @@ -443,7 +443,7 @@ abbreviations correctly. .It Some readers generate ambiguous timestamps for positive leap seconds that occur when the UTC offset is not a multiple of 60 seconds. -For example, in a timezone with UTC offset +01:23:45 and with +For example, with UTC offset +01:23:45 and a positive leap second 78796801 (1972-06-30 23:59:60 UTC), some readers will map both 78796800 and 78796801 to 01:23:45 local time the next day instead of mapping the latter to 01:23:46, and they will map 78796815 to @@ -462,15 +462,15 @@ Developers of distributed applications should keep this in mind if they need to deal with pre-1970 data. .It Some readers mishandle timestamps before the first -transition that has a nonnegative timestamp. +transition that has a non-negative timestamp. Readers that do not support negative timestamps are likely to be more prone to this problem. .It Some readers mishandle time zone abbreviations like -.Dq "\*-08" +.Dq "\-08" that contain -.Dq "+" , -.Dq "\*-" , +.Dq "+", +.Dq "\-", or digits. .It Some readers mishandle UT offsets that are out of the @@ -479,7 +479,7 @@ support locations like Kiritimati that are outside this range. .It Some readers mishandle UT offsets in the range [\-3599, \-1] -seconds from UT, because they integer-divide the offset by +seconds from UT because they integer-divide the offset by 3600 to get 0 and then display the hour part as .Dq "+00" . .It @@ -498,8 +498,8 @@ of one hour, or of 15 minutes, or of 1 minute. .%A P. Eggert .%A K. Murchison .%T "The Time Zone Information Format (TZif)" -.%R RFC 8536 -.%D February 2019 -.%U https://datatracker.ietf.org/doc/html/rfc8536 -.%U https://doi.org/10.17487/RFC8536 +.%R RFC 9636 +.%D October 2024 +.%U https://datatracker.ietf.org/doc/html/rfc9636 +.%U https://doi.org/10.17487/RFC9636 .Re |