Source-Changes archive

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

CVS commit: src/lib/libc



Module Name:    src
Committed By:   christos
Date:           Mon Jul 13 18:44:45 UTC 2026

Modified Files:
        src/lib/libc/compat/time: compat_localtime.c
        src/lib/libc/time: Makefile NEWS localtime.c private.h theory.html
            tz-art.html tz-how-to.html tz-link.html version zdump.c zic.8 zic.c

Log Message:
Apply changes between 2026b and 2026c

Release 2026c - 2026-07-08 10:23:58 -0700

  Briefly:
    Alberta moved to permanent -06 on 2026-06-18.
    Morocco moves to permanent +00 on 2026-09-20.
    More integer overflow bugs have been fixed in zic.

  Changes to future timestamps

    Alberta's 2026-03-08 spring forward was its last foreseeable clock
    change, as it moved to permanent -06 thereafter.  (Thanks to Roozbeh
    Pournader and others.)  Model this with its traditional abbreviation
    CST.  Although the change to permanent -06 legally took place on
    2026-06-18, temporarily model the change to occur on 2026-11-01 at
    02:00 instead, for the same reason we introduced a similarly
    temporary hack for British Columbia in 2026b.

      Although another TZDB release will likely be needed soon because
      Northwest Territories will likely follow Alberta, the legal
      formalities have not yet taken place.

    Morocco plans to move back to permanent UTC, without daylight
    saving time transitions, on 2026-09-20 at 02:00.  This also
    affects Western Sahara.

  Changes to code

    zic no longer overflows integers when processing outlandish input
    like Zone Ouch 0 - LMT 9223372036854775807, Zone Ouch 0
    2562047788015215 LMT, Zone Ouch -2562047788015215:30:08 - LMT�,
    and �Zone Ouch -2562047788015215:30:08 - %%z.  This avoids
    undefined behavior in C.  (Problems reported by Naveed Khan.)

    On platforms that have EFTYPE, tzalloc now fails with errno set to
    EFTYPE, not EINVAL, if it detects that the TZif file has an
    invalid format or is not a regular file.  Formerly it did this
    only on NetBSD, and only when the file was not a regular file.

    Unprivileged programs no longer require TZif files to be regular
    files or reject relative names containing ".." components.  This
    reverts to the more-permissive 2025b behavior, as the stricter
    behavior did not catch on in FreeBSD.

    zic now reports any failure to remove a temporary file when
    cleaning up after a previous failure.  (Problem reported by Tom
    Lane.)

  Changes to commentary

    Northwest Territories is expected to move to permanent -06 prior to
    2026-11-01 02:00, when clocks would otherwise fall back.  (Thanks to
    Tim Parenti and James Bellaire.)  Model this with its traditional
    abbreviation CST.  Unfortunately the change is not yet official, so
    it is currently present only as comments that can be uncommented as
    needed.

  Changes to build procedure

    The undocumented �typecheck� Makefile check rule has been
    removed.  It stopped working in 2025a and evidently nobody
    noticed.  The rule was superseded by �check_time_t_alternatives�
    in 2013d.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/lib/libc/compat/time/compat_localtime.c
cvs rdiff -u -r1.61 -r1.62 src/lib/libc/time/Makefile
cvs rdiff -u -r1.50 -r1.51 src/lib/libc/time/NEWS
cvs rdiff -u -r1.154 -r1.155 src/lib/libc/time/localtime.c
cvs rdiff -u -r1.76 -r1.77 src/lib/libc/time/private.h
cvs rdiff -u -r1.23 -r1.24 src/lib/libc/time/theory.html
cvs rdiff -u -r1.17 -r1.18 src/lib/libc/time/tz-art.html
cvs rdiff -u -r1.12 -r1.13 src/lib/libc/time/tz-how-to.html
cvs rdiff -u -r1.22 -r1.23 src/lib/libc/time/tz-link.html
cvs rdiff -u -r1.31 -r1.32 src/lib/libc/time/version
cvs rdiff -u -r1.67 -r1.68 src/lib/libc/time/zdump.c
cvs rdiff -u -r1.54 -r1.55 src/lib/libc/time/zic.8
cvs rdiff -u -r1.100 -r1.101 src/lib/libc/time/zic.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index