From nobody Mon Feb 5 00:30:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TSnMY5BGMz598qt; Mon, 5 Feb 2024 00:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TSnMY4wZbz4jJj; Mon, 5 Feb 2024 00:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707093001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t2vlczzUqnFCKIQVCqGJlIgDi8/I+DaGHI7/DJA/iY8=; b=VMLOLUbA0WzVEjeikDwgGyN0q7Hsg6VAS67VbWIHbWalRoPVQdH7ux74zulfgyZBmGqGKQ xj/3YUEZ5xZrzgEiHHPOKOBRSzM7tAiBPRfEVz+XmBs14s6a6eEeijb8gdMIVyYmoYrm4R 7W5f+E22uDHf8LkmHBQnOjjodaQJU695DAFwElNmc2mI9TN8DqR00u5+LVAQ3i8eQ32AEM ps1phhqPju4o0IxubcN3lVj9jfI7IxXMbbyDozB2EA7E0QMD8Odr8VclZkZQbYbkWlhRQC TjNDHEgkTfK/1fOjfYTlUIFRQ2debghd0XGta5iulPpjK843/gMqXSaS3xr0Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707093001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t2vlczzUqnFCKIQVCqGJlIgDi8/I+DaGHI7/DJA/iY8=; b=s92wdcl6zINb1zJoWJ8anXC9Cu2I07kp5/X4lUlbwVbJGPf6mrwFMBz9njaAKuOw0e2NF2 xsoYJfS5x1fEVXt71LNuxtzr2YOCa8LiFtEGnHouIMySYbpDKPLqgm8gA80VMK9k4CugVO comhALRn+CX5nrxgSxmLyN9mIxPf/uBl4wAdmD7OCc/imhCFmztmA0+fkIzffw45T4e15s /s6bn+PcCi8YX5WFKwdOrLct5xdFe+kW7eZaXUVSzFwAq1QOcNlnXb+PNDL8zjYF+C6FzD KkPI65a4A14OaX99tRSZGpDuvK5K0x321R6eZzYNTTp/9/Ec6VgLSZpz7h68gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707093001; a=rsa-sha256; cv=none; b=u50LMpORX8072QOZrfGkr6iMe9pgGrBq/4tmuWgqcdiRrUFhrB9MWJkuGq3srtLQFZWv3g RPTDs6gj6bFueSkagjwR4dYnVBdXjHysnGt+6dRc99gRIdseTsz8dgcvvoYHA+wts2cotj 8UJKIJeoTGf50YDyNF794IoDiy1oH5YD3xkFBnnMBWtVdaLhliC+fv9ycAQF3cKBlBJIN8 7BSkj/FslDtIQLbDrS+Ld2P1CcUH/VYhGy64rmMSqNFqIqhPsI8btYXEYJo9K/lpvwewqA ogGP0mJZJiELBHz+MCda20JzTgVYEDKrKFb3uKxIiUlbPd/scJNFTLnzn3bBtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TSnMY3wtpzJjJ; Mon, 5 Feb 2024 00:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4150U1Hv040599; Mon, 5 Feb 2024 00:30:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4150U1Mo040586; Mon, 5 Feb 2024 00:30:01 GMT (envelope-from git) Date: Mon, 5 Feb 2024 00:30:01 GMT Message-Id: <202402050030.4150U1Mo040586@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 26fe22019cb2 - stable/14 - contrib/tzdata: import tzdata 2024a List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 26fe22019cb244aaaf8f96218e6e74641157e204 Auto-Submitted: auto-generated The branch stable/14 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=26fe22019cb244aaaf8f96218e6e74641157e204 commit 26fe22019cb244aaaf8f96218e6e74641157e204 Author: Philip Paeps AuthorDate: 2024-02-02 02:01:39 +0000 Commit: Philip Paeps CommitDate: 2024-02-05 00:28:54 +0000 contrib/tzdata: import tzdata 2024a Changes: https://github.com/eggert/tz/blob/2024a/NEWS (cherry picked from commit 2723c7ffb7f729a1d3f7c59e7db48b0edf3d30a6) --- contrib/tzdata/Makefile | 53 ++++-- contrib/tzdata/NEWS | 68 +++++++ contrib/tzdata/africa | 8 +- contrib/tzdata/asia | 174 +++++++++++------- contrib/tzdata/australasia | 14 +- contrib/tzdata/checknow.awk | 2 +- contrib/tzdata/etcetera | 2 +- contrib/tzdata/europe | 29 ++- contrib/tzdata/leap-seconds.list | 373 +++++++++++++-------------------------- contrib/tzdata/leapseconds | 19 +- contrib/tzdata/leapseconds.awk | 11 +- contrib/tzdata/northamerica | 29 +-- contrib/tzdata/southamerica | 5 +- contrib/tzdata/theory.html | 37 ++-- contrib/tzdata/version | 2 +- contrib/tzdata/zishrink.awk | 98 ++++++---- contrib/tzdata/zonenow.tab | 4 +- 17 files changed, 507 insertions(+), 421 deletions(-) diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index 4e45f93b915c..d48354c72df4 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/Makefile @@ -53,7 +53,7 @@ DATAFORM= main LOCALTIME= Factory -# The POSIXRULES macro controls interpretation of POSIX-like TZ +# The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ # settings like TZ='EET-2EEST' that lack DST transition rules. # If POSIXRULES is '-', no template is installed; this is the default. # Any other value for POSIXRULES is obsolete and should not be relied on, as: @@ -274,7 +274,7 @@ LDLIBS= # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; # the default is system-supplied, typically "/usr/lib/locale" # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified -# DST transitions for POSIX-style TZ strings lacking them, +# DST transitions for POSIX.1-2017-style TZ strings lacking them, # in the usual case where POSIXRULES is '-'. If not specified, # TZDEFRULESTRING defaults to US rules for future DST transitions. # This mishandles some past timestamps, as US DST rules have changed. @@ -340,9 +340,10 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. # Similarly, if your system has a "zone abbreviation" field, define # -DTM_ZONE=tm_zone -# and define NO_TM_ZONE to suppress any guessing. Although these two fields -# not required by POSIX, a future version of POSIX is planned to require them -# and they are widely available on GNU/Linux and BSD systems. +# and define NO_TM_ZONE to suppress any guessing. +# Although these two fields are not required by POSIX.1-2017, +# POSIX 202x/D4 requires them and they are widely available +# on GNU/Linux and BSD systems. # # The next batch of options control support for external variables # exported by tzcode. In practice these variables are less useful @@ -352,7 +353,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DHAVE_TZNAME=0 # do not support "tzname" # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library # # -DHAVE_TZNAME=2 # support and define "tzname" -# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. +# # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later. # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause # # crashes when combined with some platforms' standard libraries, @@ -362,8 +363,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DUSG_COMPAT=0 # do not support # # -DUSG_COMPAT=1 # support, and variables are defined by system library # # -DUSG_COMPAT=2 # support and define variables -# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by -# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. +# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix +# # Systems Group code and are required by POSIX.1-2008 and later (with XSI). # # If not defined, the code attempts to guess USG_COMPAT from other macros. # # # # To support the external variable "altzone", add @@ -427,7 +428,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # The name of a POSIX-like library archiver, its flags, C compiler, # linker flags, and 'make' utility. Ordinarily the defaults suffice. -# The commented-out values are the defaults specified by POSIX 202x/D3. +# The commented-out values are the defaults specified by POSIX.1-202x/D4. #AR = ar #ARFLAGS = -rv #CC = c17 @@ -439,6 +440,12 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ LEAPSECONDS= +# Where to fetch leap-seconds.list from. +leaplist_URI = \ + https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list +# The file is generated by the IERS Earth Orientation Centre, in Paris. +leaplist_TZ = Europe/Paris + # The zic command and its arguments. zic= ./zic @@ -471,7 +478,8 @@ AWK= awk # is typically nicer if it works. KSHELL= /bin/bash -# Name of curl , used for HTML validation. +# Name of curl , used for HTML validation +# and to fetch leap-seconds.list from upstream. CURL= curl # Name of GNU Privacy Guard , used to sign distributions. @@ -718,6 +726,28 @@ leapseconds: $(LEAP_DEPS) -f leapseconds.awk leap-seconds.list >$@.out mv $@.out $@ +# Awk script to extract a Git-style author from leap-seconds.list comments. +EXTRACT_AUTHOR = \ + author_line { sub(/^.[[:space:]]*/, ""); \ + sub(/:[[:space:]]*/, " <"); \ + printf "%s>\n", $$0; \ + success = 1; \ + exit \ + } \ + /Questions or comments to:/ { author_line = 1 } \ + END { exit !success } + +# Fetch leap-seconds.list from upstream. +fetch-leap-seconds.list: + $(CURL) -OR $(leaplist_URI) + +# Fetch leap-seconds.list from upstream and commit it to the local repository. +commit-leap-seconds.list: fetch-leap-seconds.list + author=$$($(AWK) '$(EXTRACT_AUTHOR)' leap-seconds.list) && \ + date=$$(TZ=$(leaplist_TZ) stat -c%y leap-seconds.list) && \ + git commit --author="$$author" --date="$$date" -m'make $@' \ + leap-seconds.list + # Arguments to pass to submakes of install_data. # They can be overridden by later submake arguments. INSTALLARGS = \ @@ -1315,7 +1345,8 @@ zic.o: private.h tzfile.h tzdir.h version.h .PHONY: ALL INSTALL all .PHONY: check check_mild check_time_t_alternatives .PHONY: check_web check_zishrink -.PHONY: clean clean_misc dummy.zd force_tzs +.PHONY: clean clean_misc commit-leap-seconds.list dummy.zd +.PHONY: fetch-leap-seconds.list force_tzs .PHONY: install install_data maintainer-clean names .PHONY: posix_only posix_right public .PHONY: rearguard_signatures rearguard_signatures_version diff --git a/contrib/tzdata/NEWS b/contrib/tzdata/NEWS index 031ba6a8a250..d407342a50e6 100644 --- a/contrib/tzdata/NEWS +++ b/contrib/tzdata/NEWS @@ -1,5 +1,73 @@ News for the tz database +Release 2024a - 2024-02-01 09:28:56 -0800 + + Briefly: + Kazakhstan unifies on UTC+5 beginning 2024-03-01. + Palestine springs forward a week later after Ramadan. + zic no longer pretends to support indefinite-past DST. + localtime no longer mishandles Ciudad Juárez in 2422. + + Changes to future timestamps + + Kazakhstan unifies on UTC+5. This affects Asia/Almaty and + Asia/Qostanay which together represent the eastern portion of the + country that will transition from UTC+6 on 2024-03-01 at 00:00 to + join the western portion. (Thanks to Zhanbolat Raimbekov.) + + Palestine springs forward a week later than previously predicted + in 2024 and 2025. (Thanks to Heba Hamad.) Change spring-forward + predictions to the second Saturday after Ramadan, not the first; + this also affects other predictions starting in 2039. + + Changes to past timestamps + + Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00 + not 00:00. (Thanks to Đoàn Trần Công Danh.) + + From 1947 through 1949, Toronto's transitions occurred at 02:00 + not 00:00. (Thanks to Chris Walton.) + + In 1911 Miquelon adopted standard time on June 15, not May 15. + + Changes to code + + The FROM and TO columns of Rule lines can no longer be "minimum" + or an abbreviation of "minimum", because TZif files do not support + DST rules that extend into the indefinite past - although these + rules were supported when TZif files had only 32-bit data, this + stopped working when 64-bit TZif files were introduced in 1995. + This should not be a problem for realistic data, since DST was + first used in the 20th century. As a transition aid, FROM columns + like "minimum" are now diagnosed and then treated as if they were + the year 1900; this should suffice for TZif files on old systems + with only 32-bit time_t, and it is more compatible with bugs in + 2023c-and-earlier localtime.c. (Problem reported by Yoshito + Umaoka.) + + localtime and related functions no longer mishandle some + timestamps that occur about 400 years after a switch to a time + zone with a DST schedule. In 2023d data this problem was visible + for some timestamps in November 2422, November 2822, etc. in + America/Ciudad_Juarez. (Problem reported by Gilmore Davidson.) + + strftime %s now uses tm_gmtoff if available. (Problem and draft + patch reported by Dag-Erling Smørgrav.) + + Changes to build procedure + + The leap-seconds.list file is now copied from the IERS instead of + from its downstream counterpart at NIST, as the IERS version is + now in the public domain too and tends to be more up-to-date. + (Thanks to Martin Burnicki for liaisoning with the IERS.) + + Changes to documentation + + The strftime man page documents which struct tm members affect + which conversion specs, and that tzset is called. (Problems + reported by Robert Elz and Steve Summit.) + + Release 2023d - 2023-12-21 20:02:24 -0800 Briefly: diff --git a/contrib/tzdata/africa b/contrib/tzdata/africa index 6fae18c0979f..92d823a0515c 100644 --- a/contrib/tzdata/africa +++ b/contrib/tzdata/africa @@ -30,6 +30,10 @@ # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # European-style abbreviations are commonly used along the Mediterranean. # For sub-Saharan Africa abbreviations were less standardized. # Previous editions of this database used WAT, CAT, SAT, and EAT @@ -113,7 +117,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia # Chad # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena +Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena 1:00 - WAT 1979 Oct 14 1:00 1:00 WAST 1980 Mar 8 1:00 - WAT @@ -139,7 +143,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena # Inaccessible, Nightingale: uninhabited # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Abidjan -0:16:08 - LMT 1912 +Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1 0:00 - GMT ############################################################################### diff --git a/contrib/tzdata/asia b/contrib/tzdata/asia index 04526c196931..05683b9ebaa3 100644 --- a/contrib/tzdata/asia +++ b/contrib/tzdata/asia @@ -2457,18 +2457,33 @@ Zone Asia/Amman 2:23:44 - LMT 1931 # effective December 21st, 2018.... # http://adilet.zan.kz/rus/docs/P1800000817 (russian language). +# From Zhanbolat Raimbekov (2024-01-19): +# Kazakhstan (all parts) switching to UTC+5 on March 1, 2024 +# https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru +# [in Russian] +# (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20 +# +# From Alexander Krivenyshev (2024-01-19): +# According to a different news and the official web site for the Ministry of +# Trade and Integration of the Republic of Kazakhstan: +# https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/ + # Zone NAME STDOFF RULES FORMAT [UNTIL] # # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan -# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA, -# KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ. +# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11), +# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71), +# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33), +# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55), +# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62). Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata 5:00 - +05 1930 Jun 21 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s - 6:00 - +06 -# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43) Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2481,8 +2496,7 @@ Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 6:00 - +06 2018 Dec 21 0:00 5:00 - +05 -# -# Qostanay (aka Kostanay, Kustanay) (KZ-KUS) +# Qostanay (aka Kostanay, Kustanay) (KZ-39) # The 1991/2 rules are unclear partly because of the 1997 Turgai # reorganization. Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 @@ -2493,9 +2507,9 @@ Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s - 6:00 - +06 - -# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15) Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2505,7 +2519,7 @@ Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 5:00 - +05 -# Mangghystaū (KZ-MAN) +# Mangghystaū (KZ-47) # Aqtau was not founded until 1963, but it represents an inhabited region, # so include timestamps before 1963. Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 @@ -2517,7 +2531,7 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# Atyraū (KZ-ATY) is like Mangghystaū except it switched from +# Atyraū (KZ-23) is like Mangghystaū except it switched from # +04/+05 to +05/+06 in spring 1999, not fall 1994. Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 3:00 - +03 1930 Jun 21 @@ -2528,7 +2542,7 @@ Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# West Kazakhstan (KZ-ZAP) +# West Kazakhstan (KZ-27) # From Paul Eggert (2016-03-18): # The 1989 transition is from USSR act No. 227 (1989-03-14). Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk @@ -3430,19 +3444,26 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # ... winter time will begin in Palestine from Saturday 10-28-2023, # 02:00 AM by 60 minutes back. # -# From Paul Eggert (2023-03-22): +# From Heba Hamad (2024-01-25): +# the summer time for the years 2024,2025 will begin in Palestine +# from Saturday at 02:00 AM by 60 minutes forward as shown below: +# year date +# 2024 2024-04-20 +# 2025 2025-04-12 +# +# From Paul Eggert (2024-01-25): # For now, guess that spring and fall transitions will normally # continue to use 2022's rules, that during DST Palestine will switch # to standard time at 02:00 the last Saturday before Ramadan and back -# to DST at 02:00 the first Saturday after Ramadan, and that +# to DST at 02:00 the second Saturday after Ramadan, and that # if the normal spring-forward or fall-back transition occurs during # Ramadan the former is delayed and the latter advanced. # To implement this, I predicted Ramadan-oriented transition dates for -# 2023 through 2086 by running the following program under GNU Emacs 28.2, +# 2026 through 2086 by running the following program under GNU Emacs 29.2, # with the results integrated by hand into the table below. # Predictions after 2086 are approximated without Ramadan. # -# (let ((islamic-year 1444)) +# (let ((islamic-year 1447)) # (require 'cal-islam) # (while (< islamic-year 1510) # (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year))) @@ -3451,6 +3472,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # (while (/= saturday (mod (setq a (1- a)) 7))) # (while (/= saturday (mod b 7)) # (setq b (1+ b))) +# (setq b (+ 7 b)) # (setq a (calendar-gregorian-from-absolute a)) # (setq b (calendar-gregorian-from-absolute b)) # (insert @@ -3501,84 +3523,84 @@ Rule Palestine 2021 only - Oct 29 1:00 0 - Rule Palestine 2022 only - Mar 27 0:00 1:00 S Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 - Rule Palestine 2023 only - Apr 29 2:00 1:00 S -Rule Palestine 2024 only - Apr 13 2:00 1:00 S -Rule Palestine 2025 only - Apr 5 2:00 1:00 S +Rule Palestine 2024 only - Apr 20 2:00 1:00 S +Rule Palestine 2025 only - Apr 12 2:00 1:00 S Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S Rule Palestine 2036 only - Oct 18 2:00 0 - Rule Palestine 2037 only - Oct 10 2:00 0 - Rule Palestine 2038 only - Sep 25 2:00 0 - Rule Palestine 2039 only - Sep 17 2:00 0 - -Rule Palestine 2039 only - Oct 22 2:00 1:00 S -Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2040 only - Sep 1 2:00 0 - -Rule Palestine 2040 only - Oct 13 2:00 1:00 S +Rule Palestine 2040 only - Oct 20 2:00 1:00 S +Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2041 only - Aug 24 2:00 0 - -Rule Palestine 2041 only - Sep 28 2:00 1:00 S +Rule Palestine 2041 only - Oct 5 2:00 1:00 S Rule Palestine 2042 only - Aug 16 2:00 0 - -Rule Palestine 2042 only - Sep 20 2:00 1:00 S +Rule Palestine 2042 only - Sep 27 2:00 1:00 S Rule Palestine 2043 only - Aug 1 2:00 0 - -Rule Palestine 2043 only - Sep 12 2:00 1:00 S +Rule Palestine 2043 only - Sep 19 2:00 1:00 S Rule Palestine 2044 only - Jul 23 2:00 0 - -Rule Palestine 2044 only - Aug 27 2:00 1:00 S +Rule Palestine 2044 only - Sep 3 2:00 1:00 S Rule Palestine 2045 only - Jul 15 2:00 0 - -Rule Palestine 2045 only - Aug 19 2:00 1:00 S +Rule Palestine 2045 only - Aug 26 2:00 1:00 S Rule Palestine 2046 only - Jun 30 2:00 0 - -Rule Palestine 2046 only - Aug 11 2:00 1:00 S +Rule Palestine 2046 only - Aug 18 2:00 1:00 S Rule Palestine 2047 only - Jun 22 2:00 0 - -Rule Palestine 2047 only - Jul 27 2:00 1:00 S +Rule Palestine 2047 only - Aug 3 2:00 1:00 S Rule Palestine 2048 only - Jun 6 2:00 0 - -Rule Palestine 2048 only - Jul 18 2:00 1:00 S +Rule Palestine 2048 only - Jul 25 2:00 1:00 S Rule Palestine 2049 only - May 29 2:00 0 - -Rule Palestine 2049 only - Jul 3 2:00 1:00 S +Rule Palestine 2049 only - Jul 10 2:00 1:00 S Rule Palestine 2050 only - May 21 2:00 0 - -Rule Palestine 2050 only - Jun 25 2:00 1:00 S +Rule Palestine 2050 only - Jul 2 2:00 1:00 S Rule Palestine 2051 only - May 6 2:00 0 - -Rule Palestine 2051 only - Jun 17 2:00 1:00 S +Rule Palestine 2051 only - Jun 24 2:00 1:00 S Rule Palestine 2052 only - Apr 27 2:00 0 - -Rule Palestine 2052 only - Jun 1 2:00 1:00 S +Rule Palestine 2052 only - Jun 8 2:00 1:00 S Rule Palestine 2053 only - Apr 12 2:00 0 - -Rule Palestine 2053 only - May 24 2:00 1:00 S +Rule Palestine 2053 only - May 31 2:00 1:00 S Rule Palestine 2054 only - Apr 4 2:00 0 - -Rule Palestine 2054 only - May 16 2:00 1:00 S -Rule Palestine 2055 only - May 1 2:00 1:00 S -Rule Palestine 2056 only - Apr 22 2:00 1:00 S -Rule Palestine 2057 only - Apr 7 2:00 1:00 S -Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S +Rule Palestine 2054 only - May 23 2:00 1:00 S +Rule Palestine 2055 only - May 8 2:00 1:00 S +Rule Palestine 2056 only - Apr 29 2:00 1:00 S +Rule Palestine 2057 only - Apr 14 2:00 1:00 S +Rule Palestine 2058 only - Apr 6 2:00 1:00 S +Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S Rule Palestine 2068 only - Oct 20 2:00 0 - Rule Palestine 2069 only - Oct 12 2:00 0 - Rule Palestine 2070 only - Oct 4 2:00 0 - Rule Palestine 2071 only - Sep 19 2:00 0 - Rule Palestine 2072 only - Sep 10 2:00 0 - -Rule Palestine 2072 only - Oct 15 2:00 1:00 S +Rule Palestine 2072 only - Oct 22 2:00 1:00 S Rule Palestine 2072 max - Oct Sat<=30 2:00 0 - Rule Palestine 2073 only - Sep 2 2:00 0 - -Rule Palestine 2073 only - Oct 7 2:00 1:00 S +Rule Palestine 2073 only - Oct 14 2:00 1:00 S Rule Palestine 2074 only - Aug 18 2:00 0 - -Rule Palestine 2074 only - Sep 29 2:00 1:00 S +Rule Palestine 2074 only - Oct 6 2:00 1:00 S Rule Palestine 2075 only - Aug 10 2:00 0 - -Rule Palestine 2075 only - Sep 14 2:00 1:00 S +Rule Palestine 2075 only - Sep 21 2:00 1:00 S Rule Palestine 2076 only - Jul 25 2:00 0 - -Rule Palestine 2076 only - Sep 5 2:00 1:00 S +Rule Palestine 2076 only - Sep 12 2:00 1:00 S Rule Palestine 2077 only - Jul 17 2:00 0 - -Rule Palestine 2077 only - Aug 28 2:00 1:00 S +Rule Palestine 2077 only - Sep 4 2:00 1:00 S Rule Palestine 2078 only - Jul 9 2:00 0 - -Rule Palestine 2078 only - Aug 13 2:00 1:00 S +Rule Palestine 2078 only - Aug 20 2:00 1:00 S Rule Palestine 2079 only - Jun 24 2:00 0 - -Rule Palestine 2079 only - Aug 5 2:00 1:00 S +Rule Palestine 2079 only - Aug 12 2:00 1:00 S Rule Palestine 2080 only - Jun 15 2:00 0 - -Rule Palestine 2080 only - Jul 20 2:00 1:00 S +Rule Palestine 2080 only - Jul 27 2:00 1:00 S Rule Palestine 2081 only - Jun 7 2:00 0 - -Rule Palestine 2081 only - Jul 12 2:00 1:00 S +Rule Palestine 2081 only - Jul 19 2:00 1:00 S Rule Palestine 2082 only - May 23 2:00 0 - -Rule Palestine 2082 only - Jul 4 2:00 1:00 S +Rule Palestine 2082 only - Jul 11 2:00 1:00 S Rule Palestine 2083 only - May 15 2:00 0 - -Rule Palestine 2083 only - Jun 19 2:00 1:00 S +Rule Palestine 2083 only - Jun 26 2:00 1:00 S Rule Palestine 2084 only - Apr 29 2:00 0 - -Rule Palestine 2084 only - Jun 10 2:00 1:00 S +Rule Palestine 2084 only - Jun 17 2:00 1:00 S Rule Palestine 2085 only - Apr 21 2:00 0 - -Rule Palestine 2085 only - Jun 2 2:00 1:00 S +Rule Palestine 2085 only - Jun 9 2:00 1:00 S Rule Palestine 2086 only - Apr 13 2:00 0 - -Rule Palestine 2086 only - May 18 2:00 1:00 S +Rule Palestine 2086 only - May 25 2:00 1:00 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct @@ -3606,7 +3628,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct # Philippines -# From Paul Eggert (2018-11-18): +# From Paul Eggert (2024-01-21): # The Spanish initially used American (west-of-Greenwich) time. # It is unknown what time Manila kept when the British occupied it from # 1762-10-06 through 1764-04; for now assume it kept American time. @@ -3614,7 +3636,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct # Philippines, issued a proclamation announcing that 1844-12-30 was to # be immediately followed by 1845-01-01; see R.H. van Gent's # History of the International Date Line -# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm # The rest of the data entries are from Shanks & Pottenger. # From Jesper Nørgaard Welen (2006-04-26): @@ -4041,7 +4063,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 # The English-language name of Vietnam's most populous city is "Ho Chi Minh # City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters. -# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân: +# From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngọc Quân +# and a 2024-01-14 heads-up from Đoàn Trần Công Danh: # Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)" # (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50, # is quoted verbatim in: @@ -4071,14 +4094,35 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 # # Trần cites the following sources; it's unclear which supplied the info above. # -# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, -# No. 9, Paris, February 1982. +# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, +# No. 9, Paris, February 1982. +# +# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", +# NXB Thống kê, Hanoi, 2000. # -# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", -# NXB Thống kê, Hanoi, 2000. +# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", +# NXB Thuận Hoá, Huế, 1995. # -# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", -# NXB Thuận Hoá, Huế, 1995. +# Here is the decision for the September 1945 transition: +# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13 +# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none +# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07. +# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General) +# to set the time zone to +09, but does not say whether that decree +# merely legalized an earlier change to +09. +# +# July 1955 transition: +# Ngô Đình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781 +# Ordinance (Dụ) No. 46 (1955-06-25) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216 +# It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07). +# +# December 1959 transition: +# Ngô Đình Diệm, Công Báo Việt Nam Cộng Hòa, 1960 part 1 (1960-01-02), page 62 +# Decree (Sắc lệnh) No. 362-TTP (1959-12-30) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202 +# It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08). + # Zone NAME STDOFF RULES FORMAT [UNTIL] #STDOFF 7:06:30.13 @@ -4086,9 +4130,9 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT 7:00 - +07 1942 Dec 31 23:00 8:00 - +08 1945 Mar 14 23:00 - 9:00 - +09 1945 Sep 2 + 9:00 - +09 1945 Sep 1 24:00 7:00 - +07 1947 Apr 1 - 8:00 - +08 1955 Jul 1 + 8:00 - +08 1955 Jul 1 01:00 7:00 - +07 1959 Dec 31 23:00 8:00 - +08 1975 Jun 13 7:00 - +07 diff --git a/contrib/tzdata/australasia b/contrib/tzdata/australasia index dc98c1e2de17..0e9c2592e4be 100644 --- a/contrib/tzdata/australasia +++ b/contrib/tzdata/australasia @@ -420,11 +420,11 @@ Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva # French Polynesia # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea +Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea -9:00 - -09 -Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct +Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1 -9:30 - -0930 -Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete +Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete -10:00 - -10 # Clipperton (near North America) is administered from French Polynesia; # it is uninhabited. @@ -802,7 +802,7 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 # Solomon Is # excludes Bougainville, for which see Papua New Guinea # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara +Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara 11:00 - +11 # Tokelau @@ -963,6 +963,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -2039,7 +2043,7 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila # ordaining - by a masterpiece of diplomatic flattery - that # the Fourth of July should be celebrated twice in that year." # This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. -# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm # Although Shanks & Pottenger says they both switched to UT -11:30 # in 1911, and to -11 in 1950. many earlier sources give -11 diff --git a/contrib/tzdata/checknow.awk b/contrib/tzdata/checknow.awk index d722c03fd689..57ff3c02e789 100644 --- a/contrib/tzdata/checknow.awk +++ b/contrib/tzdata/checknow.awk @@ -45,7 +45,7 @@ END { for (zone in zone_data) { data = zone_data[zone] if (!zonenow[data]) { - printf "checknow.tab should have one of:%s\n", zones[data] + printf "zonenow.tab should have one of:%s\n", zones[data] zonenow[data] = zone # This suppresses duplicate diagnostics. status = 1 } diff --git a/contrib/tzdata/etcetera b/contrib/tzdata/etcetera index 865a220c1f4b..29fbed9b9290 100644 --- a/contrib/tzdata/etcetera +++ b/contrib/tzdata/etcetera @@ -5,7 +5,7 @@ # These entries are for uses not otherwise covered by the tz database. # Their main practical use is for platforms like Android that lack -# support for POSIX-style TZ strings. On such platforms these entries +# support for POSIX.1-2017-style TZ strings. On such platforms these entries # can be useful if the timezone database is wrong or if a ship or # aircraft at sea is not in a timezone. diff --git a/contrib/tzdata/europe b/contrib/tzdata/europe index 27f821e77600..c6b5270316b9 100644 --- a/contrib/tzdata/europe +++ b/contrib/tzdata/europe @@ -990,9 +990,34 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 # Czech Republic (Czechia) # Slovakia # -# From Paul Eggert (2018-04-15): -# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15. +# From Ivan Benovic (2024-01-30): +# https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/ +# (This is an official link to the Czechoslovak Summer Time Act of +# March 8, 1946 that authorizes the Czechoslovak government to set the +# exact dates of change to summer time and back to Central European Time. +# The act also implicitly confirms Central European Time as the +# official time zone of Czechoslovakia and currently remains in force +# in both the Czech Republic and Slovakia.) +# https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm +# (This is a link to the original legislative proposal dating back to +# February 22, 1946. The accompanying memorandum to the proposal says +# that an advisory committee on European railroad transportation that +# met in Brussels in October 1945 decided that the change of time +# should be carried out in all participating countries in a strictly +# coordinated manner....) +# +# From Paul Eggert (2024-01-30): +# The source for Czech data is: Kdy začíná a končí letní čas. # https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas +# Its main text disagrees with its quoted sources only in 1918, +# where the main text says spring and autumn transitions +# occurred at 02:00 and 03:00 respectively (as usual), +# whereas the 1918 source "Oznámení o zavedení letního času v roce 1918" +# says transitions were at 01:00 and 02:00 respectively. +# As the 1918 source appears to be a humorous piece, and it is +# unlikely that Prague would have disagreed with its neighbors by an hour, +# go with the main text for now. +# # We know of no English-language name for historical Czech winter time; # abbreviate it as "GMT", as it happened to be GMT. # diff --git a/contrib/tzdata/leap-seconds.list b/contrib/tzdata/leap-seconds.list index 3fe9a1210e3c..e52effc257b2 100644 --- a/contrib/tzdata/leap-seconds.list +++ b/contrib/tzdata/leap-seconds.list @@ -1,255 +1,120 @@ +# ATOMIC TIME. +# The Coordinated Universal Time (UTC) is the reference time scale derived +# from The "Temps Atomique International" (TAI) calculated by the Bureau +# International des Poids et Mesures (BIPM) using a worldwide network of atomic +# clocks. UTC differs from TAI by an integer number of seconds; it is the basis +# of all activities in the world. # -# In the following text, the symbol '#' introduces -# a comment, which continues from that symbol until -# the end of the line. A plain comment line has a -# whitespace character following the comment indicator. -# There are also special comment lines defined below. -# A special comment will always have a non-whitespace -# character in column 2. -# -# A blank line should be ignored. -# -# The following table shows the corrections that must -# be applied to compute International Atomic Time (TAI) -# from the Coordinated Universal Time (UTC) values that -# are transmitted by almost all time services. -# -# The first column shows an epoch as a number of seconds -# since 1 January 1900, 00:00:00 (1900.0 is also used to -# indicate the same epoch.) Both of these time stamp formats -# ignore the complexities of the time scales that were -# used before the current definition of UTC at the start -# of 1972. (See note 3 below.) -# The second column shows the number of seconds that -# must be added to UTC to compute TAI for any timestamp -# at or after that epoch. The value on each line is -# valid from the indicated initial instant until the -# epoch given on the next one or indefinitely into the -# future if there is no next line. -# (The comment on each line shows the representation of -# the corresponding initial epoch in the usual -# day-month-year format. The epoch always begins at -# 00:00:00 UTC on the indicated day. See Note 5 below.) -# -# Important notes: -# -# 1. Coordinated Universal Time (UTC) is often referred to -# as Greenwich Mean Time (GMT). The GMT time scale is no -# longer used, and the use of GMT to designate UTC is -# discouraged. -# -# 2. The UTC time scale is realized by many national -# laboratories and timing centers. Each laboratory -# identifies its realization with its name: Thus -# UTC(NIST), UTC(USNO), etc. The differences among -# these different realizations are typically on the -# order of a few nanoseconds (i.e., 0.000 000 00x s) -# and can be ignored for many purposes. These differences -# are tabulated in Circular T, which is published monthly -# by the International Bureau of Weights and Measures -# (BIPM). See www.bipm.org for more information. -# -# 3. The current definition of the relationship between UTC -# and TAI dates from 1 January 1972. A number of different -# time scales were in use before that epoch, and it can be -# quite difficult to compute precise timestamps and time -# intervals in those "prehistoric" days. For more information, -# consult: -# -# The Explanatory Supplement to the Astronomical -# Ephemeris. -# or -# Terry Quinn, "The BIPM and the Accurate Measurement -# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905, -# July, 1991. -# reprinted in: -# Christine Hackman and Donald B Sullivan (eds.) -# Time and Frequency Measurement -# American Association of Physics Teachers (1996) -# , pp. 75-86 -# -# 4. The decision to insert a leap second into UTC is currently -# the responsibility of the International Earth Rotation and -# Reference Systems Service. (The name was changed from the -# International Earth Rotation Service, but the acronym IERS -# is still used.) -# -# Leap seconds are announced by the IERS in its Bulletin C. -# -# See www.iers.org for more details. -# -# Every national laboratory and timing center uses the -# data from the BIPM and the IERS to construct UTC(lab), -# their local realization of UTC. -# -# Although the definition also includes the possibility -# of dropping seconds ("negative" leap seconds), this has -# never been done and is unlikely to be necessary in the -# foreseeable future. -# -# 5. If your system keeps time as the number of seconds since -# some epoch (e.g., NTP timestamps), then the algorithm for -# assigning a UTC time stamp to an event that happens during a positive -# leap second is not well defined. The official name of that leap -# second is 23:59:60, but there is no way of representing that time -# in these systems. -# Many systems of this type effectively stop the system clock for -# one second during the leap second and use a time that is equivalent -# to 23:59:59 UTC twice. For these systems, the corresponding TAI -# timestamp would be obtained by advancing to the next entry in the -# following table when the time equivalent to 23:59:59 UTC -# is used for the second time. Thus the leap second which -# occurred on 30 June 1972 at 23:59:59 UTC would have TAI -# timestamps computed as follows: -# -# ... -# 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds -# 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds -# 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds -# ... -# -# If your system realizes the leap second by repeating 00:00:00 UTC twice -# (this is possible but not usual), then the advance to the next entry -# in the table must occur the second time that a time equivalent to -# 00:00:00 UTC is used. Thus, using the same example as above: -# -# ... -# 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds -# 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds -# 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds -# ... -# -# in both cases the use of timestamps based on TAI produces a smooth -# time scale with no discontinuity in the time interval. However, -# although the long-term behavior of the time scale is correct in both -# methods, the second method is technically not correct because it adds -# the extra second to the wrong day. -# -# This complexity would not be needed for negative leap seconds (if they -# are ever used). The UTC time would skip 23:59:59 and advance from -# 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by -# 1 second at the same instant. This is a much easier situation to deal -# with, since the difficulty of unambiguously representing the epoch -# during the leap second does not arise. -# -# Some systems implement leap seconds by amortizing the leap second -# over the last few minutes of the day. The frequency of the local -# clock is decreased (or increased) to realize the positive (or -# negative) leap second. This method removes the time step described -# above. Although the long-term behavior of the time scale is correct -# in this case, this method introduces an error during the adjustment -# period both in time and in frequency with respect to the official -# definition of UTC. -# -# Questions or comments to: -# Judah Levine -# Time and Frequency Division -# NIST -# Boulder, Colorado -# Judah.Levine@nist.gov -# -# Last Update of leap second values: 8 July 2016 -# -# The following line shows this last update date in NTP timestamp -# format. This is the date on which the most recent change to -# the leap second data was added to the file. This line can -# be identified by the unique pair of characters in the first two -# columns as shown below. -# -#$ 3676924800 -# -# The NTP timestamps are in units of seconds since the NTP epoch, -# which is 1 January 1900, 00:00:00. The Modified Julian Day number -# corresponding to the NTP time stamp, X, can be computed as -# -# X/86400 + 15020 -# -# where the first term converts seconds to days and the second -# term adds the MJD corresponding to the time origin defined above. -# The integer portion of the result is the integer MJD for that -# day, and any remainder is the time of day, expressed as the -# fraction of the day since 0 hours UTC. The conversion from day -# fraction to seconds or to hours, minutes, and seconds may involve -# rounding or truncation, depending on the method used in the -# computation. -# -# The data in this file will be updated periodically as new leap -# seconds are announced. In addition to being entered on the line -# above, the update time (in NTP format) will be added to the basic -# file name leap-seconds to form the name leap-seconds.. -# In addition, the generic name leap-seconds.list will always point to -# the most recent version of the file. -# -# This update procedure will be performed only when a new leap second -# is announced. -# -# The following entry specifies the expiration date of the data -# in this file in units of seconds since the origin at the instant -# 1 January 1900, 00:00:00. This expiration date will be changed -# at least twice per year whether or not a new leap second is -# announced. These semi-annual changes will be made no later -# than 1 June and 1 December of each year to indicate what -# action (if any) is to be taken on 30 June and 31 December, -# respectively. (These are the customary effective dates for new -# leap seconds.) This expiration date will be identified by a -# unique pair of characters in columns 1 and 2 as shown below. -# In the unlikely event that a leap second is announced with an -# effective date other than 30 June or 31 December, then this -# file will be edited to include that leap second as soon as it is -# announced or at least one month before the effective date -# (whichever is later). -# If an announcement by the IERS specifies that no leap second is -# scheduled, then only the expiration date of the file will -# be advanced to show that the information in the file is still -# current -- the update time stamp, the data and the name of the file -# will not change. -# -# Updated through IERS Bulletin C66 -# File expires on: 28 June 2024 -# -#@ 3928521600 -# -2272060800 10 # 1 Jan 1972 -2287785600 11 # 1 Jul 1972 -2303683200 12 # 1 Jan 1973 -2335219200 13 # 1 Jan 1974 -2366755200 14 # 1 Jan 1975 -2398291200 15 # 1 Jan 1976 -2429913600 16 # 1 Jan 1977 -2461449600 17 # 1 Jan 1978 -2492985600 18 # 1 Jan 1979 -2524521600 19 # 1 Jan 1980 -2571782400 20 # 1 Jul 1981 -2603318400 21 # 1 Jul 1982 -2634854400 22 # 1 Jul 1983 -2698012800 23 # 1 Jul 1985 -2776982400 24 # 1 Jan 1988 -2840140800 25 # 1 Jan 1990 -2871676800 26 # 1 Jan 1991 -2918937600 27 # 1 Jul 1992 -2950473600 28 # 1 Jul 1993 -2982009600 29 # 1 Jul 1994 -3029443200 30 # 1 Jan 1996 -3076704000 31 # 1 Jul 1997 -3124137600 32 # 1 Jan 1999 -3345062400 33 # 1 Jan 2006 -3439756800 34 # 1 Jan 2009 -3550089600 35 # 1 Jul 2012 -3644697600 36 # 1 Jul 2015 -3692217600 37 # 1 Jan 2017 -# -# the following special comment contains the -# hash value of the data in this file computed -# use the secure hash algorithm as specified -# by FIPS 180-1. See the files in ~/pub/sha for -# the details of how this hash value is -# computed. Note that the hash computation -# ignores comments and whitespace characters -# in data lines. It includes the NTP values -# of both the last modification time and the -# expiration time of the file, but not the -# white space on those lines. *** 596 LINES SKIPPED *** From nobody Mon Feb 5 00:30:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TSnNL5J30z598nT; Mon, 5 Feb 2024 00:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TSnNL535Pz4jqg; Mon, 5 Feb 2024 00:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707093042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r9uAQQUtdrx7OPuuOv3eLDfmC5VoWXU/HHte+9q8Uc4=; b=KqgSBUySQP037EIVTXKHlk/6vyNHh6OUXggcgw/XKHTYhdfjWGLcIwYdQMDJOkxmi/AFPO M+mhyDmk4dK1LFGQexn/kcrVwWRtWKZDs24vYnMTTVplI4clIVsTYsoACZLE5XIAK9Hm6Y xVjoUtsecbmyY+xY4Kx7xLOc4hgkcLkkTsW1ccqcPDNwSROei2/9zMUhKF1lvDPDwU3Fpe L8a/znr4Y2Lydu1rzRcCDYGXoQoJejuyDnzY+ccSgxXyFKZNUkQL8IoXLl7r8UHebVCs8k P+hl5JnjGp4QzpeKus7V7t9AinaejBBP1qy6PhUvk9v9Kaba0OdYhDGCw4xN5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707093042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r9uAQQUtdrx7OPuuOv3eLDfmC5VoWXU/HHte+9q8Uc4=; b=tTGtb2Oog0C9FkapiAXwuReuSaE2PqRig82DAv3TBq/oYoU3/jAvxa1gYieUlWqrRSn9zQ GvqfnikenjOOU3t3YrqP0YfTtRjdsAWn3RJpxWOHWUZuqXffUfSiM+N8bJpn5prQvtRbVN 66onCeVsKmDYZ7QaudQpv2aY+w35/lBxyys+TNOCFAbWdtRCpmf0KmhgMqo2RPX0MrIOQz fMQsQVaMilDk/imIMaMHjTpyjlkaKNYy8yH66Ab5aEmy08eWfvU0xTWW9bk0iot29YRHmM 0RtwJSngC04Yyw7inzlWTPoGSttb1qfzAqrzVANtk/qihFXIsqS31j6bi9m/4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707093042; a=rsa-sha256; cv=none; b=cDsJTL0IfvFGf8B+5UwQ/7c/bRHQsbYSVfURiHpoKxrHqHMRCmkPJ8sxeleMve+pqsmHWV 9ByGpu1MnBjVl5AcqhYh4Go/hfLWDNdZwUaHlt9de7IwmH6R/2IaJeBCdy/QQC1Vrsz1YZ hWF+Ed/diq893gbZm5xj8nDS0eK7fOehpDROZxVSGK/TW27e9szzA0MLrbTLZp6ZHryBRv 0nD7cJuKmDr5CXqdQnM6m+I5QpgbnMGioqbhLsRX0ACyaR5Gj9Okp0itnFi+aIgusJf+uD 6PIw0BZ/Bo9JaTAaMla/ivJ1REQt+GKW8W3Ux3+5Jue9bwlqcJ7708c2H8GC6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TSnNL41h2zJVr; Mon, 5 Feb 2024 00:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4150Ugxa048382; Mon, 5 Feb 2024 00:30:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4150UgcV048379; Mon, 5 Feb 2024 00:30:42 GMT (envelope-from git) Date: Mon, 5 Feb 2024 00:30:42 GMT Message-Id: <202402050030.4150UgcV048379@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: f4256acec1c9 - stable/13 - contrib/tzdata: import tzdata 2024a List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f4256acec1c980b7d08e9e526be6d2a7c4751f0b Auto-Submitted: auto-generated The branch stable/13 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=f4256acec1c980b7d08e9e526be6d2a7c4751f0b commit f4256acec1c980b7d08e9e526be6d2a7c4751f0b Author: Philip Paeps AuthorDate: 2024-02-02 02:01:39 +0000 Commit: Philip Paeps CommitDate: 2024-02-05 00:30:26 +0000 contrib/tzdata: import tzdata 2024a Changes: https://github.com/eggert/tz/blob/2024a/NEWS (cherry picked from commit 2723c7ffb7f729a1d3f7c59e7db48b0edf3d30a6) --- contrib/tzdata/Makefile | 53 ++++-- contrib/tzdata/NEWS | 68 +++++++ contrib/tzdata/africa | 8 +- contrib/tzdata/asia | 174 +++++++++++------- contrib/tzdata/australasia | 14 +- contrib/tzdata/checknow.awk | 2 +- contrib/tzdata/etcetera | 2 +- contrib/tzdata/europe | 29 ++- contrib/tzdata/leap-seconds.list | 373 +++++++++++++-------------------------- contrib/tzdata/leapseconds | 19 +- contrib/tzdata/leapseconds.awk | 11 +- contrib/tzdata/northamerica | 29 +-- contrib/tzdata/southamerica | 5 +- contrib/tzdata/theory.html | 37 ++-- contrib/tzdata/version | 2 +- contrib/tzdata/zishrink.awk | 98 ++++++---- contrib/tzdata/zonenow.tab | 4 +- 17 files changed, 507 insertions(+), 421 deletions(-) diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index 4e45f93b915c..d48354c72df4 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/Makefile @@ -53,7 +53,7 @@ DATAFORM= main LOCALTIME= Factory -# The POSIXRULES macro controls interpretation of POSIX-like TZ +# The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ # settings like TZ='EET-2EEST' that lack DST transition rules. # If POSIXRULES is '-', no template is installed; this is the default. # Any other value for POSIXRULES is obsolete and should not be relied on, as: @@ -274,7 +274,7 @@ LDLIBS= # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; # the default is system-supplied, typically "/usr/lib/locale" # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified -# DST transitions for POSIX-style TZ strings lacking them, +# DST transitions for POSIX.1-2017-style TZ strings lacking them, # in the usual case where POSIXRULES is '-'. If not specified, # TZDEFRULESTRING defaults to US rules for future DST transitions. # This mishandles some past timestamps, as US DST rules have changed. @@ -340,9 +340,10 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. # Similarly, if your system has a "zone abbreviation" field, define # -DTM_ZONE=tm_zone -# and define NO_TM_ZONE to suppress any guessing. Although these two fields -# not required by POSIX, a future version of POSIX is planned to require them -# and they are widely available on GNU/Linux and BSD systems. +# and define NO_TM_ZONE to suppress any guessing. +# Although these two fields are not required by POSIX.1-2017, +# POSIX 202x/D4 requires them and they are widely available +# on GNU/Linux and BSD systems. # # The next batch of options control support for external variables # exported by tzcode. In practice these variables are less useful @@ -352,7 +353,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DHAVE_TZNAME=0 # do not support "tzname" # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library # # -DHAVE_TZNAME=2 # support and define "tzname" -# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. +# # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later. # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause # # crashes when combined with some platforms' standard libraries, @@ -362,8 +363,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DUSG_COMPAT=0 # do not support # # -DUSG_COMPAT=1 # support, and variables are defined by system library # # -DUSG_COMPAT=2 # support and define variables -# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by -# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. +# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix +# # Systems Group code and are required by POSIX.1-2008 and later (with XSI). # # If not defined, the code attempts to guess USG_COMPAT from other macros. # # # # To support the external variable "altzone", add @@ -427,7 +428,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # The name of a POSIX-like library archiver, its flags, C compiler, # linker flags, and 'make' utility. Ordinarily the defaults suffice. -# The commented-out values are the defaults specified by POSIX 202x/D3. +# The commented-out values are the defaults specified by POSIX.1-202x/D4. #AR = ar #ARFLAGS = -rv #CC = c17 @@ -439,6 +440,12 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ LEAPSECONDS= +# Where to fetch leap-seconds.list from. +leaplist_URI = \ + https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list +# The file is generated by the IERS Earth Orientation Centre, in Paris. +leaplist_TZ = Europe/Paris + # The zic command and its arguments. zic= ./zic @@ -471,7 +478,8 @@ AWK= awk # is typically nicer if it works. KSHELL= /bin/bash -# Name of curl , used for HTML validation. +# Name of curl , used for HTML validation +# and to fetch leap-seconds.list from upstream. CURL= curl # Name of GNU Privacy Guard , used to sign distributions. @@ -718,6 +726,28 @@ leapseconds: $(LEAP_DEPS) -f leapseconds.awk leap-seconds.list >$@.out mv $@.out $@ +# Awk script to extract a Git-style author from leap-seconds.list comments. +EXTRACT_AUTHOR = \ + author_line { sub(/^.[[:space:]]*/, ""); \ + sub(/:[[:space:]]*/, " <"); \ + printf "%s>\n", $$0; \ + success = 1; \ + exit \ + } \ + /Questions or comments to:/ { author_line = 1 } \ + END { exit !success } + +# Fetch leap-seconds.list from upstream. +fetch-leap-seconds.list: + $(CURL) -OR $(leaplist_URI) + +# Fetch leap-seconds.list from upstream and commit it to the local repository. +commit-leap-seconds.list: fetch-leap-seconds.list + author=$$($(AWK) '$(EXTRACT_AUTHOR)' leap-seconds.list) && \ + date=$$(TZ=$(leaplist_TZ) stat -c%y leap-seconds.list) && \ + git commit --author="$$author" --date="$$date" -m'make $@' \ + leap-seconds.list + # Arguments to pass to submakes of install_data. # They can be overridden by later submake arguments. INSTALLARGS = \ @@ -1315,7 +1345,8 @@ zic.o: private.h tzfile.h tzdir.h version.h .PHONY: ALL INSTALL all .PHONY: check check_mild check_time_t_alternatives .PHONY: check_web check_zishrink -.PHONY: clean clean_misc dummy.zd force_tzs +.PHONY: clean clean_misc commit-leap-seconds.list dummy.zd +.PHONY: fetch-leap-seconds.list force_tzs .PHONY: install install_data maintainer-clean names .PHONY: posix_only posix_right public .PHONY: rearguard_signatures rearguard_signatures_version diff --git a/contrib/tzdata/NEWS b/contrib/tzdata/NEWS index 031ba6a8a250..d407342a50e6 100644 --- a/contrib/tzdata/NEWS +++ b/contrib/tzdata/NEWS @@ -1,5 +1,73 @@ News for the tz database +Release 2024a - 2024-02-01 09:28:56 -0800 + + Briefly: + Kazakhstan unifies on UTC+5 beginning 2024-03-01. + Palestine springs forward a week later after Ramadan. + zic no longer pretends to support indefinite-past DST. + localtime no longer mishandles Ciudad Juárez in 2422. + + Changes to future timestamps + + Kazakhstan unifies on UTC+5. This affects Asia/Almaty and + Asia/Qostanay which together represent the eastern portion of the + country that will transition from UTC+6 on 2024-03-01 at 00:00 to + join the western portion. (Thanks to Zhanbolat Raimbekov.) + + Palestine springs forward a week later than previously predicted + in 2024 and 2025. (Thanks to Heba Hamad.) Change spring-forward + predictions to the second Saturday after Ramadan, not the first; + this also affects other predictions starting in 2039. + + Changes to past timestamps + + Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00 + not 00:00. (Thanks to Đoàn Trần Công Danh.) + + From 1947 through 1949, Toronto's transitions occurred at 02:00 + not 00:00. (Thanks to Chris Walton.) + + In 1911 Miquelon adopted standard time on June 15, not May 15. + + Changes to code + + The FROM and TO columns of Rule lines can no longer be "minimum" + or an abbreviation of "minimum", because TZif files do not support + DST rules that extend into the indefinite past - although these + rules were supported when TZif files had only 32-bit data, this + stopped working when 64-bit TZif files were introduced in 1995. + This should not be a problem for realistic data, since DST was + first used in the 20th century. As a transition aid, FROM columns + like "minimum" are now diagnosed and then treated as if they were + the year 1900; this should suffice for TZif files on old systems + with only 32-bit time_t, and it is more compatible with bugs in + 2023c-and-earlier localtime.c. (Problem reported by Yoshito + Umaoka.) + + localtime and related functions no longer mishandle some + timestamps that occur about 400 years after a switch to a time + zone with a DST schedule. In 2023d data this problem was visible + for some timestamps in November 2422, November 2822, etc. in + America/Ciudad_Juarez. (Problem reported by Gilmore Davidson.) + + strftime %s now uses tm_gmtoff if available. (Problem and draft + patch reported by Dag-Erling Smørgrav.) + + Changes to build procedure + + The leap-seconds.list file is now copied from the IERS instead of + from its downstream counterpart at NIST, as the IERS version is + now in the public domain too and tends to be more up-to-date. + (Thanks to Martin Burnicki for liaisoning with the IERS.) + + Changes to documentation + + The strftime man page documents which struct tm members affect + which conversion specs, and that tzset is called. (Problems + reported by Robert Elz and Steve Summit.) + + Release 2023d - 2023-12-21 20:02:24 -0800 Briefly: diff --git a/contrib/tzdata/africa b/contrib/tzdata/africa index 6fae18c0979f..92d823a0515c 100644 --- a/contrib/tzdata/africa +++ b/contrib/tzdata/africa @@ -30,6 +30,10 @@ # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # European-style abbreviations are commonly used along the Mediterranean. # For sub-Saharan Africa abbreviations were less standardized. # Previous editions of this database used WAT, CAT, SAT, and EAT @@ -113,7 +117,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia # Chad # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena +Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena 1:00 - WAT 1979 Oct 14 1:00 1:00 WAST 1980 Mar 8 1:00 - WAT @@ -139,7 +143,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena # Inaccessible, Nightingale: uninhabited # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Abidjan -0:16:08 - LMT 1912 +Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1 0:00 - GMT ############################################################################### diff --git a/contrib/tzdata/asia b/contrib/tzdata/asia index 04526c196931..05683b9ebaa3 100644 --- a/contrib/tzdata/asia +++ b/contrib/tzdata/asia @@ -2457,18 +2457,33 @@ Zone Asia/Amman 2:23:44 - LMT 1931 # effective December 21st, 2018.... # http://adilet.zan.kz/rus/docs/P1800000817 (russian language). +# From Zhanbolat Raimbekov (2024-01-19): +# Kazakhstan (all parts) switching to UTC+5 on March 1, 2024 +# https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru +# [in Russian] +# (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20 +# +# From Alexander Krivenyshev (2024-01-19): +# According to a different news and the official web site for the Ministry of +# Trade and Integration of the Republic of Kazakhstan: +# https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/ + # Zone NAME STDOFF RULES FORMAT [UNTIL] # # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan -# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA, -# KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ. +# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11), +# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71), +# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33), +# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55), +# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62). Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata 5:00 - +05 1930 Jun 21 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s - 6:00 - +06 -# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43) Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2481,8 +2496,7 @@ Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 6:00 - +06 2018 Dec 21 0:00 5:00 - +05 -# -# Qostanay (aka Kostanay, Kustanay) (KZ-KUS) +# Qostanay (aka Kostanay, Kustanay) (KZ-39) # The 1991/2 rules are unclear partly because of the 1997 Turgai # reorganization. Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 @@ -2493,9 +2507,9 @@ Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s - 6:00 - +06 - -# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15) Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2505,7 +2519,7 @@ Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 5:00 - +05 -# Mangghystaū (KZ-MAN) +# Mangghystaū (KZ-47) # Aqtau was not founded until 1963, but it represents an inhabited region, # so include timestamps before 1963. Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 @@ -2517,7 +2531,7 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# Atyraū (KZ-ATY) is like Mangghystaū except it switched from +# Atyraū (KZ-23) is like Mangghystaū except it switched from # +04/+05 to +05/+06 in spring 1999, not fall 1994. Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 3:00 - +03 1930 Jun 21 @@ -2528,7 +2542,7 @@ Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# West Kazakhstan (KZ-ZAP) +# West Kazakhstan (KZ-27) # From Paul Eggert (2016-03-18): # The 1989 transition is from USSR act No. 227 (1989-03-14). Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk @@ -3430,19 +3444,26 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # ... winter time will begin in Palestine from Saturday 10-28-2023, # 02:00 AM by 60 minutes back. # -# From Paul Eggert (2023-03-22): +# From Heba Hamad (2024-01-25): +# the summer time for the years 2024,2025 will begin in Palestine +# from Saturday at 02:00 AM by 60 minutes forward as shown below: +# year date +# 2024 2024-04-20 +# 2025 2025-04-12 +# +# From Paul Eggert (2024-01-25): # For now, guess that spring and fall transitions will normally # continue to use 2022's rules, that during DST Palestine will switch # to standard time at 02:00 the last Saturday before Ramadan and back -# to DST at 02:00 the first Saturday after Ramadan, and that +# to DST at 02:00 the second Saturday after Ramadan, and that # if the normal spring-forward or fall-back transition occurs during # Ramadan the former is delayed and the latter advanced. # To implement this, I predicted Ramadan-oriented transition dates for -# 2023 through 2086 by running the following program under GNU Emacs 28.2, +# 2026 through 2086 by running the following program under GNU Emacs 29.2, # with the results integrated by hand into the table below. # Predictions after 2086 are approximated without Ramadan. # -# (let ((islamic-year 1444)) +# (let ((islamic-year 1447)) # (require 'cal-islam) # (while (< islamic-year 1510) # (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year))) @@ -3451,6 +3472,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # (while (/= saturday (mod (setq a (1- a)) 7))) # (while (/= saturday (mod b 7)) # (setq b (1+ b))) +# (setq b (+ 7 b)) # (setq a (calendar-gregorian-from-absolute a)) # (setq b (calendar-gregorian-from-absolute b)) # (insert @@ -3501,84 +3523,84 @@ Rule Palestine 2021 only - Oct 29 1:00 0 - Rule Palestine 2022 only - Mar 27 0:00 1:00 S Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 - Rule Palestine 2023 only - Apr 29 2:00 1:00 S -Rule Palestine 2024 only - Apr 13 2:00 1:00 S -Rule Palestine 2025 only - Apr 5 2:00 1:00 S +Rule Palestine 2024 only - Apr 20 2:00 1:00 S +Rule Palestine 2025 only - Apr 12 2:00 1:00 S Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S Rule Palestine 2036 only - Oct 18 2:00 0 - Rule Palestine 2037 only - Oct 10 2:00 0 - Rule Palestine 2038 only - Sep 25 2:00 0 - Rule Palestine 2039 only - Sep 17 2:00 0 - -Rule Palestine 2039 only - Oct 22 2:00 1:00 S -Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2040 only - Sep 1 2:00 0 - -Rule Palestine 2040 only - Oct 13 2:00 1:00 S +Rule Palestine 2040 only - Oct 20 2:00 1:00 S +Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2041 only - Aug 24 2:00 0 - -Rule Palestine 2041 only - Sep 28 2:00 1:00 S +Rule Palestine 2041 only - Oct 5 2:00 1:00 S Rule Palestine 2042 only - Aug 16 2:00 0 - -Rule Palestine 2042 only - Sep 20 2:00 1:00 S +Rule Palestine 2042 only - Sep 27 2:00 1:00 S Rule Palestine 2043 only - Aug 1 2:00 0 - -Rule Palestine 2043 only - Sep 12 2:00 1:00 S +Rule Palestine 2043 only - Sep 19 2:00 1:00 S Rule Palestine 2044 only - Jul 23 2:00 0 - -Rule Palestine 2044 only - Aug 27 2:00 1:00 S +Rule Palestine 2044 only - Sep 3 2:00 1:00 S Rule Palestine 2045 only - Jul 15 2:00 0 - -Rule Palestine 2045 only - Aug 19 2:00 1:00 S +Rule Palestine 2045 only - Aug 26 2:00 1:00 S Rule Palestine 2046 only - Jun 30 2:00 0 - -Rule Palestine 2046 only - Aug 11 2:00 1:00 S +Rule Palestine 2046 only - Aug 18 2:00 1:00 S Rule Palestine 2047 only - Jun 22 2:00 0 - -Rule Palestine 2047 only - Jul 27 2:00 1:00 S +Rule Palestine 2047 only - Aug 3 2:00 1:00 S Rule Palestine 2048 only - Jun 6 2:00 0 - -Rule Palestine 2048 only - Jul 18 2:00 1:00 S +Rule Palestine 2048 only - Jul 25 2:00 1:00 S Rule Palestine 2049 only - May 29 2:00 0 - -Rule Palestine 2049 only - Jul 3 2:00 1:00 S +Rule Palestine 2049 only - Jul 10 2:00 1:00 S Rule Palestine 2050 only - May 21 2:00 0 - -Rule Palestine 2050 only - Jun 25 2:00 1:00 S +Rule Palestine 2050 only - Jul 2 2:00 1:00 S Rule Palestine 2051 only - May 6 2:00 0 - -Rule Palestine 2051 only - Jun 17 2:00 1:00 S +Rule Palestine 2051 only - Jun 24 2:00 1:00 S Rule Palestine 2052 only - Apr 27 2:00 0 - -Rule Palestine 2052 only - Jun 1 2:00 1:00 S +Rule Palestine 2052 only - Jun 8 2:00 1:00 S Rule Palestine 2053 only - Apr 12 2:00 0 - -Rule Palestine 2053 only - May 24 2:00 1:00 S +Rule Palestine 2053 only - May 31 2:00 1:00 S Rule Palestine 2054 only - Apr 4 2:00 0 - -Rule Palestine 2054 only - May 16 2:00 1:00 S -Rule Palestine 2055 only - May 1 2:00 1:00 S -Rule Palestine 2056 only - Apr 22 2:00 1:00 S -Rule Palestine 2057 only - Apr 7 2:00 1:00 S -Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S +Rule Palestine 2054 only - May 23 2:00 1:00 S +Rule Palestine 2055 only - May 8 2:00 1:00 S +Rule Palestine 2056 only - Apr 29 2:00 1:00 S +Rule Palestine 2057 only - Apr 14 2:00 1:00 S +Rule Palestine 2058 only - Apr 6 2:00 1:00 S +Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S Rule Palestine 2068 only - Oct 20 2:00 0 - Rule Palestine 2069 only - Oct 12 2:00 0 - Rule Palestine 2070 only - Oct 4 2:00 0 - Rule Palestine 2071 only - Sep 19 2:00 0 - Rule Palestine 2072 only - Sep 10 2:00 0 - -Rule Palestine 2072 only - Oct 15 2:00 1:00 S +Rule Palestine 2072 only - Oct 22 2:00 1:00 S Rule Palestine 2072 max - Oct Sat<=30 2:00 0 - Rule Palestine 2073 only - Sep 2 2:00 0 - -Rule Palestine 2073 only - Oct 7 2:00 1:00 S +Rule Palestine 2073 only - Oct 14 2:00 1:00 S Rule Palestine 2074 only - Aug 18 2:00 0 - -Rule Palestine 2074 only - Sep 29 2:00 1:00 S +Rule Palestine 2074 only - Oct 6 2:00 1:00 S Rule Palestine 2075 only - Aug 10 2:00 0 - -Rule Palestine 2075 only - Sep 14 2:00 1:00 S +Rule Palestine 2075 only - Sep 21 2:00 1:00 S Rule Palestine 2076 only - Jul 25 2:00 0 - -Rule Palestine 2076 only - Sep 5 2:00 1:00 S +Rule Palestine 2076 only - Sep 12 2:00 1:00 S Rule Palestine 2077 only - Jul 17 2:00 0 - -Rule Palestine 2077 only - Aug 28 2:00 1:00 S +Rule Palestine 2077 only - Sep 4 2:00 1:00 S Rule Palestine 2078 only - Jul 9 2:00 0 - -Rule Palestine 2078 only - Aug 13 2:00 1:00 S +Rule Palestine 2078 only - Aug 20 2:00 1:00 S Rule Palestine 2079 only - Jun 24 2:00 0 - -Rule Palestine 2079 only - Aug 5 2:00 1:00 S +Rule Palestine 2079 only - Aug 12 2:00 1:00 S Rule Palestine 2080 only - Jun 15 2:00 0 - -Rule Palestine 2080 only - Jul 20 2:00 1:00 S +Rule Palestine 2080 only - Jul 27 2:00 1:00 S Rule Palestine 2081 only - Jun 7 2:00 0 - -Rule Palestine 2081 only - Jul 12 2:00 1:00 S +Rule Palestine 2081 only - Jul 19 2:00 1:00 S Rule Palestine 2082 only - May 23 2:00 0 - -Rule Palestine 2082 only - Jul 4 2:00 1:00 S +Rule Palestine 2082 only - Jul 11 2:00 1:00 S Rule Palestine 2083 only - May 15 2:00 0 - -Rule Palestine 2083 only - Jun 19 2:00 1:00 S +Rule Palestine 2083 only - Jun 26 2:00 1:00 S Rule Palestine 2084 only - Apr 29 2:00 0 - -Rule Palestine 2084 only - Jun 10 2:00 1:00 S +Rule Palestine 2084 only - Jun 17 2:00 1:00 S Rule Palestine 2085 only - Apr 21 2:00 0 - -Rule Palestine 2085 only - Jun 2 2:00 1:00 S +Rule Palestine 2085 only - Jun 9 2:00 1:00 S Rule Palestine 2086 only - Apr 13 2:00 0 - -Rule Palestine 2086 only - May 18 2:00 1:00 S +Rule Palestine 2086 only - May 25 2:00 1:00 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct @@ -3606,7 +3628,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct # Philippines -# From Paul Eggert (2018-11-18): +# From Paul Eggert (2024-01-21): # The Spanish initially used American (west-of-Greenwich) time. # It is unknown what time Manila kept when the British occupied it from # 1762-10-06 through 1764-04; for now assume it kept American time. @@ -3614,7 +3636,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct # Philippines, issued a proclamation announcing that 1844-12-30 was to # be immediately followed by 1845-01-01; see R.H. van Gent's # History of the International Date Line -# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm # The rest of the data entries are from Shanks & Pottenger. # From Jesper Nørgaard Welen (2006-04-26): @@ -4041,7 +4063,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 # The English-language name of Vietnam's most populous city is "Ho Chi Minh # City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters. -# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân: +# From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngọc Quân +# and a 2024-01-14 heads-up from Đoàn Trần Công Danh: # Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)" # (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50, # is quoted verbatim in: @@ -4071,14 +4094,35 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 # # Trần cites the following sources; it's unclear which supplied the info above. # -# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, -# No. 9, Paris, February 1982. +# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, +# No. 9, Paris, February 1982. +# +# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", +# NXB Thống kê, Hanoi, 2000. # -# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", -# NXB Thống kê, Hanoi, 2000. +# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", +# NXB Thuận Hoá, Huế, 1995. # -# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", -# NXB Thuận Hoá, Huế, 1995. +# Here is the decision for the September 1945 transition: +# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13 +# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none +# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07. +# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General) +# to set the time zone to +09, but does not say whether that decree +# merely legalized an earlier change to +09. +# +# July 1955 transition: +# Ngô Đình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781 +# Ordinance (Dụ) No. 46 (1955-06-25) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216 +# It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07). +# +# December 1959 transition: +# Ngô Đình Diệm, Công Báo Việt Nam Cộng Hòa, 1960 part 1 (1960-01-02), page 62 +# Decree (Sắc lệnh) No. 362-TTP (1959-12-30) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202 +# It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08). + # Zone NAME STDOFF RULES FORMAT [UNTIL] #STDOFF 7:06:30.13 @@ -4086,9 +4130,9 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT 7:00 - +07 1942 Dec 31 23:00 8:00 - +08 1945 Mar 14 23:00 - 9:00 - +09 1945 Sep 2 + 9:00 - +09 1945 Sep 1 24:00 7:00 - +07 1947 Apr 1 - 8:00 - +08 1955 Jul 1 + 8:00 - +08 1955 Jul 1 01:00 7:00 - +07 1959 Dec 31 23:00 8:00 - +08 1975 Jun 13 7:00 - +07 diff --git a/contrib/tzdata/australasia b/contrib/tzdata/australasia index dc98c1e2de17..0e9c2592e4be 100644 --- a/contrib/tzdata/australasia +++ b/contrib/tzdata/australasia @@ -420,11 +420,11 @@ Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva # French Polynesia # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea +Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea -9:00 - -09 -Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct +Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1 -9:30 - -0930 -Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete +Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete -10:00 - -10 # Clipperton (near North America) is administered from French Polynesia; # it is uninhabited. @@ -802,7 +802,7 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 # Solomon Is # excludes Bougainville, for which see Papua New Guinea # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara +Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara 11:00 - +11 # Tokelau @@ -963,6 +963,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -2039,7 +2043,7 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila # ordaining - by a masterpiece of diplomatic flattery - that # the Fourth of July should be celebrated twice in that year." # This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. -# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm # Although Shanks & Pottenger says they both switched to UT -11:30 # in 1911, and to -11 in 1950. many earlier sources give -11 diff --git a/contrib/tzdata/checknow.awk b/contrib/tzdata/checknow.awk index d722c03fd689..57ff3c02e789 100644 --- a/contrib/tzdata/checknow.awk +++ b/contrib/tzdata/checknow.awk @@ -45,7 +45,7 @@ END { for (zone in zone_data) { data = zone_data[zone] if (!zonenow[data]) { - printf "checknow.tab should have one of:%s\n", zones[data] + printf "zonenow.tab should have one of:%s\n", zones[data] zonenow[data] = zone # This suppresses duplicate diagnostics. status = 1 } diff --git a/contrib/tzdata/etcetera b/contrib/tzdata/etcetera index 865a220c1f4b..29fbed9b9290 100644 --- a/contrib/tzdata/etcetera +++ b/contrib/tzdata/etcetera @@ -5,7 +5,7 @@ # These entries are for uses not otherwise covered by the tz database. # Their main practical use is for platforms like Android that lack -# support for POSIX-style TZ strings. On such platforms these entries +# support for POSIX.1-2017-style TZ strings. On such platforms these entries # can be useful if the timezone database is wrong or if a ship or # aircraft at sea is not in a timezone. diff --git a/contrib/tzdata/europe b/contrib/tzdata/europe index 27f821e77600..c6b5270316b9 100644 --- a/contrib/tzdata/europe +++ b/contrib/tzdata/europe @@ -990,9 +990,34 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 # Czech Republic (Czechia) # Slovakia # -# From Paul Eggert (2018-04-15): -# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15. +# From Ivan Benovic (2024-01-30): +# https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/ +# (This is an official link to the Czechoslovak Summer Time Act of +# March 8, 1946 that authorizes the Czechoslovak government to set the +# exact dates of change to summer time and back to Central European Time. +# The act also implicitly confirms Central European Time as the +# official time zone of Czechoslovakia and currently remains in force +# in both the Czech Republic and Slovakia.) +# https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm +# (This is a link to the original legislative proposal dating back to +# February 22, 1946. The accompanying memorandum to the proposal says +# that an advisory committee on European railroad transportation that +# met in Brussels in October 1945 decided that the change of time +# should be carried out in all participating countries in a strictly +# coordinated manner....) +# +# From Paul Eggert (2024-01-30): +# The source for Czech data is: Kdy začíná a končí letní čas. # https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas +# Its main text disagrees with its quoted sources only in 1918, +# where the main text says spring and autumn transitions +# occurred at 02:00 and 03:00 respectively (as usual), +# whereas the 1918 source "Oznámení o zavedení letního času v roce 1918" +# says transitions were at 01:00 and 02:00 respectively. +# As the 1918 source appears to be a humorous piece, and it is +# unlikely that Prague would have disagreed with its neighbors by an hour, +# go with the main text for now. +# # We know of no English-language name for historical Czech winter time; # abbreviate it as "GMT", as it happened to be GMT. # diff --git a/contrib/tzdata/leap-seconds.list b/contrib/tzdata/leap-seconds.list index 3fe9a1210e3c..e52effc257b2 100644 --- a/contrib/tzdata/leap-seconds.list +++ b/contrib/tzdata/leap-seconds.list @@ -1,255 +1,120 @@ +# ATOMIC TIME. +# The Coordinated Universal Time (UTC) is the reference time scale derived +# from The "Temps Atomique International" (TAI) calculated by the Bureau +# International des Poids et Mesures (BIPM) using a worldwide network of atomic +# clocks. UTC differs from TAI by an integer number of seconds; it is the basis +# of all activities in the world. # -# In the following text, the symbol '#' introduces -# a comment, which continues from that symbol until -# the end of the line. A plain comment line has a -# whitespace character following the comment indicator. -# There are also special comment lines defined below. -# A special comment will always have a non-whitespace -# character in column 2. -# -# A blank line should be ignored. -# -# The following table shows the corrections that must -# be applied to compute International Atomic Time (TAI) -# from the Coordinated Universal Time (UTC) values that -# are transmitted by almost all time services. -# -# The first column shows an epoch as a number of seconds -# since 1 January 1900, 00:00:00 (1900.0 is also used to -# indicate the same epoch.) Both of these time stamp formats -# ignore the complexities of the time scales that were -# used before the current definition of UTC at the start -# of 1972. (See note 3 below.) -# The second column shows the number of seconds that -# must be added to UTC to compute TAI for any timestamp -# at or after that epoch. The value on each line is -# valid from the indicated initial instant until the -# epoch given on the next one or indefinitely into the -# future if there is no next line. -# (The comment on each line shows the representation of -# the corresponding initial epoch in the usual -# day-month-year format. The epoch always begins at -# 00:00:00 UTC on the indicated day. See Note 5 below.) -# -# Important notes: -# -# 1. Coordinated Universal Time (UTC) is often referred to -# as Greenwich Mean Time (GMT). The GMT time scale is no -# longer used, and the use of GMT to designate UTC is -# discouraged. -# -# 2. The UTC time scale is realized by many national -# laboratories and timing centers. Each laboratory -# identifies its realization with its name: Thus -# UTC(NIST), UTC(USNO), etc. The differences among -# these different realizations are typically on the -# order of a few nanoseconds (i.e., 0.000 000 00x s) -# and can be ignored for many purposes. These differences -# are tabulated in Circular T, which is published monthly -# by the International Bureau of Weights and Measures -# (BIPM). See www.bipm.org for more information. -# -# 3. The current definition of the relationship between UTC -# and TAI dates from 1 January 1972. A number of different -# time scales were in use before that epoch, and it can be -# quite difficult to compute precise timestamps and time -# intervals in those "prehistoric" days. For more information, -# consult: -# -# The Explanatory Supplement to the Astronomical -# Ephemeris. -# or -# Terry Quinn, "The BIPM and the Accurate Measurement -# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905, -# July, 1991. -# reprinted in: -# Christine Hackman and Donald B Sullivan (eds.) -# Time and Frequency Measurement -# American Association of Physics Teachers (1996) -# , pp. 75-86 -# -# 4. The decision to insert a leap second into UTC is currently -# the responsibility of the International Earth Rotation and -# Reference Systems Service. (The name was changed from the -# International Earth Rotation Service, but the acronym IERS -# is still used.) -# -# Leap seconds are announced by the IERS in its Bulletin C. -# -# See www.iers.org for more details. -# -# Every national laboratory and timing center uses the -# data from the BIPM and the IERS to construct UTC(lab), -# their local realization of UTC. -# -# Although the definition also includes the possibility -# of dropping seconds ("negative" leap seconds), this has -# never been done and is unlikely to be necessary in the -# foreseeable future. -# -# 5. If your system keeps time as the number of seconds since -# some epoch (e.g., NTP timestamps), then the algorithm for -# assigning a UTC time stamp to an event that happens during a positive -# leap second is not well defined. The official name of that leap -# second is 23:59:60, but there is no way of representing that time -# in these systems. -# Many systems of this type effectively stop the system clock for -# one second during the leap second and use a time that is equivalent -# to 23:59:59 UTC twice. For these systems, the corresponding TAI -# timestamp would be obtained by advancing to the next entry in the -# following table when the time equivalent to 23:59:59 UTC -# is used for the second time. Thus the leap second which -# occurred on 30 June 1972 at 23:59:59 UTC would have TAI -# timestamps computed as follows: -# -# ... -# 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds -# 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds -# 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds -# ... -# -# If your system realizes the leap second by repeating 00:00:00 UTC twice -# (this is possible but not usual), then the advance to the next entry -# in the table must occur the second time that a time equivalent to -# 00:00:00 UTC is used. Thus, using the same example as above: -# -# ... -# 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds -# 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds -# 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds -# ... -# -# in both cases the use of timestamps based on TAI produces a smooth -# time scale with no discontinuity in the time interval. However, -# although the long-term behavior of the time scale is correct in both -# methods, the second method is technically not correct because it adds -# the extra second to the wrong day. -# -# This complexity would not be needed for negative leap seconds (if they -# are ever used). The UTC time would skip 23:59:59 and advance from -# 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by -# 1 second at the same instant. This is a much easier situation to deal -# with, since the difficulty of unambiguously representing the epoch -# during the leap second does not arise. -# -# Some systems implement leap seconds by amortizing the leap second -# over the last few minutes of the day. The frequency of the local -# clock is decreased (or increased) to realize the positive (or -# negative) leap second. This method removes the time step described -# above. Although the long-term behavior of the time scale is correct -# in this case, this method introduces an error during the adjustment -# period both in time and in frequency with respect to the official -# definition of UTC. -# -# Questions or comments to: -# Judah Levine -# Time and Frequency Division -# NIST -# Boulder, Colorado -# Judah.Levine@nist.gov -# -# Last Update of leap second values: 8 July 2016 -# -# The following line shows this last update date in NTP timestamp -# format. This is the date on which the most recent change to -# the leap second data was added to the file. This line can -# be identified by the unique pair of characters in the first two -# columns as shown below. -# -#$ 3676924800 -# -# The NTP timestamps are in units of seconds since the NTP epoch, -# which is 1 January 1900, 00:00:00. The Modified Julian Day number -# corresponding to the NTP time stamp, X, can be computed as -# -# X/86400 + 15020 -# -# where the first term converts seconds to days and the second -# term adds the MJD corresponding to the time origin defined above. -# The integer portion of the result is the integer MJD for that -# day, and any remainder is the time of day, expressed as the -# fraction of the day since 0 hours UTC. The conversion from day -# fraction to seconds or to hours, minutes, and seconds may involve -# rounding or truncation, depending on the method used in the -# computation. -# -# The data in this file will be updated periodically as new leap -# seconds are announced. In addition to being entered on the line -# above, the update time (in NTP format) will be added to the basic -# file name leap-seconds to form the name leap-seconds.. -# In addition, the generic name leap-seconds.list will always point to -# the most recent version of the file. -# -# This update procedure will be performed only when a new leap second -# is announced. -# -# The following entry specifies the expiration date of the data -# in this file in units of seconds since the origin at the instant -# 1 January 1900, 00:00:00. This expiration date will be changed -# at least twice per year whether or not a new leap second is -# announced. These semi-annual changes will be made no later -# than 1 June and 1 December of each year to indicate what -# action (if any) is to be taken on 30 June and 31 December, -# respectively. (These are the customary effective dates for new -# leap seconds.) This expiration date will be identified by a -# unique pair of characters in columns 1 and 2 as shown below. -# In the unlikely event that a leap second is announced with an -# effective date other than 30 June or 31 December, then this -# file will be edited to include that leap second as soon as it is -# announced or at least one month before the effective date -# (whichever is later). -# If an announcement by the IERS specifies that no leap second is -# scheduled, then only the expiration date of the file will -# be advanced to show that the information in the file is still -# current -- the update time stamp, the data and the name of the file -# will not change. -# -# Updated through IERS Bulletin C66 -# File expires on: 28 June 2024 -# -#@ 3928521600 -# -2272060800 10 # 1 Jan 1972 -2287785600 11 # 1 Jul 1972 -2303683200 12 # 1 Jan 1973 -2335219200 13 # 1 Jan 1974 -2366755200 14 # 1 Jan 1975 -2398291200 15 # 1 Jan 1976 -2429913600 16 # 1 Jan 1977 -2461449600 17 # 1 Jan 1978 -2492985600 18 # 1 Jan 1979 -2524521600 19 # 1 Jan 1980 -2571782400 20 # 1 Jul 1981 -2603318400 21 # 1 Jul 1982 -2634854400 22 # 1 Jul 1983 -2698012800 23 # 1 Jul 1985 -2776982400 24 # 1 Jan 1988 -2840140800 25 # 1 Jan 1990 -2871676800 26 # 1 Jan 1991 -2918937600 27 # 1 Jul 1992 -2950473600 28 # 1 Jul 1993 -2982009600 29 # 1 Jul 1994 -3029443200 30 # 1 Jan 1996 -3076704000 31 # 1 Jul 1997 -3124137600 32 # 1 Jan 1999 -3345062400 33 # 1 Jan 2006 -3439756800 34 # 1 Jan 2009 -3550089600 35 # 1 Jul 2012 -3644697600 36 # 1 Jul 2015 -3692217600 37 # 1 Jan 2017 -# -# the following special comment contains the -# hash value of the data in this file computed -# use the secure hash algorithm as specified -# by FIPS 180-1. See the files in ~/pub/sha for -# the details of how this hash value is -# computed. Note that the hash computation -# ignores comments and whitespace characters -# in data lines. It includes the NTP values -# of both the last modification time and the -# expiration time of the file, but not the -# white space on those lines. *** 596 LINES SKIPPED *** From nobody Mon Feb 5 00:57:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TSnzp5NNrz59C9g; Mon, 5 Feb 2024 00:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TSnzp4xcbz4lQL; Mon, 5 Feb 2024 00:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707094678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=04stisC/XQLRkKut6pKiAr6YU7qpYvhGCsH6L7ohbgg=; b=UHlNPW/Z0+gw9ikUqsILqBCAx/OqvojD+WtqTcvAMp5f/J3pD1Kaqj3djBJkPkgGl0OUd9 ZqWeuMaZ0gQ9nHjw782cg8nR9j73z/OUgwVrcfI0yzGyXOIDzbEV4LFz6PH74w3thwJHi4 lvLBuigEXhSozZ5QnDKoMtgbAAbKp05f9DtdEaKL0QJ87Xfy0l9x9QbjZBKsBCSP5tgBIA zwwYGcyEKeAyhAFyt2687F06j5nLGWIjZEZI68ZUSDJ7SQ/WfZS1pSglJRErSfjtiAgciG OyelPiY4suuzXJrFeTlLZKBs5pnY0C5Nhgku1FgrrpCtmmRkonhEnHmj2zjkzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707094678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=04stisC/XQLRkKut6pKiAr6YU7qpYvhGCsH6L7ohbgg=; b=BZRKutyj6I33wsUwZkZb9clsXnDZsko9B6VupmznmTfpo0hczeVVsms+2CBc1cu0+20Su9 0V0U4qsEIU2ZX/U4BQ4RQG4gLxpHs7vQK7pTrtXIW9ZMMDmF6Adbat+hreokqD2j7fnIbR j1ZKtVUgkrhhtqT4Qi5CukuDgwQXA+kXHtTEtSnJxluI82ob9dXKOymQp0iLt/+Jzkf+3j um2uSxdb+DjoAmWYN/4Y83MHHfUyt9kGkEy7EZFQVqkbSAFjXVLsWS0QzzqVYY07rw1rx4 b8IxzqmO1wI83pPJKsGPgdnI+7bi59Ky/NLHiBaTdSmRZrF1wr3lt4ZoZ6vlJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707094678; a=rsa-sha256; cv=none; b=BgpAQIOH812CnEIMiYqoXZBOovYdS6ypmuxOGaVomWtMcc80aN4EixIHpuOajIcDAOwXdG dBsCrDXeLiZ6g+nXw6jB8es41l72sMnHUxQlCMLXGdSegE2GoTmXtHQAM6fiODLMHiYqJS Rj7Ebyd3iSRqK7JT59E6RtJURle4GI2q02mePdETBLyAJeChK65a5AOuwJ53HoiTKwbEaD Mo11/rCXmwn8ujdZI7BwofckczDZK6v/WtywPgmzUDw5OTPqmW5rc+3ayxnfRzvM91HNF6 fxKEuqFIJrZ9Z4KQDduRuNEacSurQlmSEN8F/8pR/Du+Cnb/Wk594i6rsNoC9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TSnzp3M3MzKSs; Mon, 5 Feb 2024 00:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4150vw4a087929; Mon, 5 Feb 2024 00:57:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4150vwW0087926; Mon, 5 Feb 2024 00:57:58 GMT (envelope-from git) Date: Mon, 5 Feb 2024 00:57:58 GMT Message-Id: <202402050057.4150vwW0087926@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 24eb518714f6 - releng/13.3 - contrib/tzdata: import tzdata 2024a List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 24eb518714f6c681fc5fbb28170b1d74296d24f1 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=24eb518714f6c681fc5fbb28170b1d74296d24f1 commit 24eb518714f6c681fc5fbb28170b1d74296d24f1 Author: Philip Paeps AuthorDate: 2024-02-02 02:01:39 +0000 Commit: Philip Paeps CommitDate: 2024-02-05 00:56:50 +0000 contrib/tzdata: import tzdata 2024a Changes: https://github.com/eggert/tz/blob/2024a/NEWS (cherry picked from commit 2723c7ffb7f729a1d3f7c59e7db48b0edf3d30a6) (cherry picked from commit f4256acec1c980b7d08e9e526be6d2a7c4751f0b) Approved by: re (karels) --- contrib/tzdata/Makefile | 53 ++++-- contrib/tzdata/NEWS | 68 +++++++ contrib/tzdata/africa | 8 +- contrib/tzdata/asia | 174 +++++++++++------- contrib/tzdata/australasia | 14 +- contrib/tzdata/checknow.awk | 2 +- contrib/tzdata/etcetera | 2 +- contrib/tzdata/europe | 29 ++- contrib/tzdata/leap-seconds.list | 373 +++++++++++++-------------------------- contrib/tzdata/leapseconds | 19 +- contrib/tzdata/leapseconds.awk | 11 +- contrib/tzdata/northamerica | 29 +-- contrib/tzdata/southamerica | 5 +- contrib/tzdata/theory.html | 37 ++-- contrib/tzdata/version | 2 +- contrib/tzdata/zishrink.awk | 98 ++++++---- contrib/tzdata/zonenow.tab | 4 +- 17 files changed, 507 insertions(+), 421 deletions(-) diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index 4e45f93b915c..d48354c72df4 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/Makefile @@ -53,7 +53,7 @@ DATAFORM= main LOCALTIME= Factory -# The POSIXRULES macro controls interpretation of POSIX-like TZ +# The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ # settings like TZ='EET-2EEST' that lack DST transition rules. # If POSIXRULES is '-', no template is installed; this is the default. # Any other value for POSIXRULES is obsolete and should not be relied on, as: @@ -274,7 +274,7 @@ LDLIBS= # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; # the default is system-supplied, typically "/usr/lib/locale" # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified -# DST transitions for POSIX-style TZ strings lacking them, +# DST transitions for POSIX.1-2017-style TZ strings lacking them, # in the usual case where POSIXRULES is '-'. If not specified, # TZDEFRULESTRING defaults to US rules for future DST transitions. # This mishandles some past timestamps, as US DST rules have changed. @@ -340,9 +340,10 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. # Similarly, if your system has a "zone abbreviation" field, define # -DTM_ZONE=tm_zone -# and define NO_TM_ZONE to suppress any guessing. Although these two fields -# not required by POSIX, a future version of POSIX is planned to require them -# and they are widely available on GNU/Linux and BSD systems. +# and define NO_TM_ZONE to suppress any guessing. +# Although these two fields are not required by POSIX.1-2017, +# POSIX 202x/D4 requires them and they are widely available +# on GNU/Linux and BSD systems. # # The next batch of options control support for external variables # exported by tzcode. In practice these variables are less useful @@ -352,7 +353,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DHAVE_TZNAME=0 # do not support "tzname" # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library # # -DHAVE_TZNAME=2 # support and define "tzname" -# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. +# # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later. # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause # # crashes when combined with some platforms' standard libraries, @@ -362,8 +363,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DUSG_COMPAT=0 # do not support # # -DUSG_COMPAT=1 # support, and variables are defined by system library # # -DUSG_COMPAT=2 # support and define variables -# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by -# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. +# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix +# # Systems Group code and are required by POSIX.1-2008 and later (with XSI). # # If not defined, the code attempts to guess USG_COMPAT from other macros. # # # # To support the external variable "altzone", add @@ -427,7 +428,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # The name of a POSIX-like library archiver, its flags, C compiler, # linker flags, and 'make' utility. Ordinarily the defaults suffice. -# The commented-out values are the defaults specified by POSIX 202x/D3. +# The commented-out values are the defaults specified by POSIX.1-202x/D4. #AR = ar #ARFLAGS = -rv #CC = c17 @@ -439,6 +440,12 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ LEAPSECONDS= +# Where to fetch leap-seconds.list from. +leaplist_URI = \ + https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list +# The file is generated by the IERS Earth Orientation Centre, in Paris. +leaplist_TZ = Europe/Paris + # The zic command and its arguments. zic= ./zic @@ -471,7 +478,8 @@ AWK= awk # is typically nicer if it works. KSHELL= /bin/bash -# Name of curl , used for HTML validation. +# Name of curl , used for HTML validation +# and to fetch leap-seconds.list from upstream. CURL= curl # Name of GNU Privacy Guard , used to sign distributions. @@ -718,6 +726,28 @@ leapseconds: $(LEAP_DEPS) -f leapseconds.awk leap-seconds.list >$@.out mv $@.out $@ +# Awk script to extract a Git-style author from leap-seconds.list comments. +EXTRACT_AUTHOR = \ + author_line { sub(/^.[[:space:]]*/, ""); \ + sub(/:[[:space:]]*/, " <"); \ + printf "%s>\n", $$0; \ + success = 1; \ + exit \ + } \ + /Questions or comments to:/ { author_line = 1 } \ + END { exit !success } + +# Fetch leap-seconds.list from upstream. +fetch-leap-seconds.list: + $(CURL) -OR $(leaplist_URI) + +# Fetch leap-seconds.list from upstream and commit it to the local repository. +commit-leap-seconds.list: fetch-leap-seconds.list + author=$$($(AWK) '$(EXTRACT_AUTHOR)' leap-seconds.list) && \ + date=$$(TZ=$(leaplist_TZ) stat -c%y leap-seconds.list) && \ + git commit --author="$$author" --date="$$date" -m'make $@' \ + leap-seconds.list + # Arguments to pass to submakes of install_data. # They can be overridden by later submake arguments. INSTALLARGS = \ @@ -1315,7 +1345,8 @@ zic.o: private.h tzfile.h tzdir.h version.h .PHONY: ALL INSTALL all .PHONY: check check_mild check_time_t_alternatives .PHONY: check_web check_zishrink -.PHONY: clean clean_misc dummy.zd force_tzs +.PHONY: clean clean_misc commit-leap-seconds.list dummy.zd +.PHONY: fetch-leap-seconds.list force_tzs .PHONY: install install_data maintainer-clean names .PHONY: posix_only posix_right public .PHONY: rearguard_signatures rearguard_signatures_version diff --git a/contrib/tzdata/NEWS b/contrib/tzdata/NEWS index 031ba6a8a250..d407342a50e6 100644 --- a/contrib/tzdata/NEWS +++ b/contrib/tzdata/NEWS @@ -1,5 +1,73 @@ News for the tz database +Release 2024a - 2024-02-01 09:28:56 -0800 + + Briefly: + Kazakhstan unifies on UTC+5 beginning 2024-03-01. + Palestine springs forward a week later after Ramadan. + zic no longer pretends to support indefinite-past DST. + localtime no longer mishandles Ciudad Juárez in 2422. + + Changes to future timestamps + + Kazakhstan unifies on UTC+5. This affects Asia/Almaty and + Asia/Qostanay which together represent the eastern portion of the + country that will transition from UTC+6 on 2024-03-01 at 00:00 to + join the western portion. (Thanks to Zhanbolat Raimbekov.) + + Palestine springs forward a week later than previously predicted + in 2024 and 2025. (Thanks to Heba Hamad.) Change spring-forward + predictions to the second Saturday after Ramadan, not the first; + this also affects other predictions starting in 2039. + + Changes to past timestamps + + Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00 + not 00:00. (Thanks to Đoàn Trần Công Danh.) + + From 1947 through 1949, Toronto's transitions occurred at 02:00 + not 00:00. (Thanks to Chris Walton.) + + In 1911 Miquelon adopted standard time on June 15, not May 15. + + Changes to code + + The FROM and TO columns of Rule lines can no longer be "minimum" + or an abbreviation of "minimum", because TZif files do not support + DST rules that extend into the indefinite past - although these + rules were supported when TZif files had only 32-bit data, this + stopped working when 64-bit TZif files were introduced in 1995. + This should not be a problem for realistic data, since DST was + first used in the 20th century. As a transition aid, FROM columns + like "minimum" are now diagnosed and then treated as if they were + the year 1900; this should suffice for TZif files on old systems + with only 32-bit time_t, and it is more compatible with bugs in + 2023c-and-earlier localtime.c. (Problem reported by Yoshito + Umaoka.) + + localtime and related functions no longer mishandle some + timestamps that occur about 400 years after a switch to a time + zone with a DST schedule. In 2023d data this problem was visible + for some timestamps in November 2422, November 2822, etc. in + America/Ciudad_Juarez. (Problem reported by Gilmore Davidson.) + + strftime %s now uses tm_gmtoff if available. (Problem and draft + patch reported by Dag-Erling Smørgrav.) + + Changes to build procedure + + The leap-seconds.list file is now copied from the IERS instead of + from its downstream counterpart at NIST, as the IERS version is + now in the public domain too and tends to be more up-to-date. + (Thanks to Martin Burnicki for liaisoning with the IERS.) + + Changes to documentation + + The strftime man page documents which struct tm members affect + which conversion specs, and that tzset is called. (Problems + reported by Robert Elz and Steve Summit.) + + Release 2023d - 2023-12-21 20:02:24 -0800 Briefly: diff --git a/contrib/tzdata/africa b/contrib/tzdata/africa index 6fae18c0979f..92d823a0515c 100644 --- a/contrib/tzdata/africa +++ b/contrib/tzdata/africa @@ -30,6 +30,10 @@ # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # European-style abbreviations are commonly used along the Mediterranean. # For sub-Saharan Africa abbreviations were less standardized. # Previous editions of this database used WAT, CAT, SAT, and EAT @@ -113,7 +117,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia # Chad # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena +Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena 1:00 - WAT 1979 Oct 14 1:00 1:00 WAST 1980 Mar 8 1:00 - WAT @@ -139,7 +143,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena # Inaccessible, Nightingale: uninhabited # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Abidjan -0:16:08 - LMT 1912 +Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1 0:00 - GMT ############################################################################### diff --git a/contrib/tzdata/asia b/contrib/tzdata/asia index 04526c196931..05683b9ebaa3 100644 --- a/contrib/tzdata/asia +++ b/contrib/tzdata/asia @@ -2457,18 +2457,33 @@ Zone Asia/Amman 2:23:44 - LMT 1931 # effective December 21st, 2018.... # http://adilet.zan.kz/rus/docs/P1800000817 (russian language). +# From Zhanbolat Raimbekov (2024-01-19): +# Kazakhstan (all parts) switching to UTC+5 on March 1, 2024 +# https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru +# [in Russian] +# (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20 +# +# From Alexander Krivenyshev (2024-01-19): +# According to a different news and the official web site for the Ministry of +# Trade and Integration of the Republic of Kazakhstan: +# https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/ + # Zone NAME STDOFF RULES FORMAT [UNTIL] # # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan -# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA, -# KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ. +# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11), +# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71), +# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33), +# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55), +# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62). Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata 5:00 - +05 1930 Jun 21 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s - 6:00 - +06 -# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43) Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2481,8 +2496,7 @@ Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 6:00 - +06 2018 Dec 21 0:00 5:00 - +05 -# -# Qostanay (aka Kostanay, Kustanay) (KZ-KUS) +# Qostanay (aka Kostanay, Kustanay) (KZ-39) # The 1991/2 rules are unclear partly because of the 1997 Turgai # reorganization. Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 @@ -2493,9 +2507,9 @@ Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s - 6:00 - +06 - -# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) + 6:00 - +06 2024 Mar 1 0:00 + 5:00 - +05 +# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15) Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 4:00 - +04 1930 Jun 21 5:00 - +05 1981 Apr 1 @@ -2505,7 +2519,7 @@ Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s 5:00 - +05 -# Mangghystaū (KZ-MAN) +# Mangghystaū (KZ-47) # Aqtau was not founded until 1963, but it represents an inhabited region, # so include timestamps before 1963. Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 @@ -2517,7 +2531,7 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# Atyraū (KZ-ATY) is like Mangghystaū except it switched from +# Atyraū (KZ-23) is like Mangghystaū except it switched from # +04/+05 to +05/+06 in spring 1999, not fall 1994. Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 3:00 - +03 1930 Jun 21 @@ -2528,7 +2542,7 @@ Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s 5:00 - +05 -# West Kazakhstan (KZ-ZAP) +# West Kazakhstan (KZ-27) # From Paul Eggert (2016-03-18): # The 1989 transition is from USSR act No. 227 (1989-03-14). Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk @@ -3430,19 +3444,26 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # ... winter time will begin in Palestine from Saturday 10-28-2023, # 02:00 AM by 60 minutes back. # -# From Paul Eggert (2023-03-22): +# From Heba Hamad (2024-01-25): +# the summer time for the years 2024,2025 will begin in Palestine +# from Saturday at 02:00 AM by 60 minutes forward as shown below: +# year date +# 2024 2024-04-20 +# 2025 2025-04-12 +# +# From Paul Eggert (2024-01-25): # For now, guess that spring and fall transitions will normally # continue to use 2022's rules, that during DST Palestine will switch # to standard time at 02:00 the last Saturday before Ramadan and back -# to DST at 02:00 the first Saturday after Ramadan, and that +# to DST at 02:00 the second Saturday after Ramadan, and that # if the normal spring-forward or fall-back transition occurs during # Ramadan the former is delayed and the latter advanced. # To implement this, I predicted Ramadan-oriented transition dates for -# 2023 through 2086 by running the following program under GNU Emacs 28.2, +# 2026 through 2086 by running the following program under GNU Emacs 29.2, # with the results integrated by hand into the table below. # Predictions after 2086 are approximated without Ramadan. # -# (let ((islamic-year 1444)) +# (let ((islamic-year 1447)) # (require 'cal-islam) # (while (< islamic-year 1510) # (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year))) @@ -3451,6 +3472,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # (while (/= saturday (mod (setq a (1- a)) 7))) # (while (/= saturday (mod b 7)) # (setq b (1+ b))) +# (setq b (+ 7 b)) # (setq a (calendar-gregorian-from-absolute a)) # (setq b (calendar-gregorian-from-absolute b)) # (insert @@ -3501,84 +3523,84 @@ Rule Palestine 2021 only - Oct 29 1:00 0 - Rule Palestine 2022 only - Mar 27 0:00 1:00 S Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 - Rule Palestine 2023 only - Apr 29 2:00 1:00 S -Rule Palestine 2024 only - Apr 13 2:00 1:00 S -Rule Palestine 2025 only - Apr 5 2:00 1:00 S +Rule Palestine 2024 only - Apr 20 2:00 1:00 S +Rule Palestine 2025 only - Apr 12 2:00 1:00 S Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S Rule Palestine 2036 only - Oct 18 2:00 0 - Rule Palestine 2037 only - Oct 10 2:00 0 - Rule Palestine 2038 only - Sep 25 2:00 0 - Rule Palestine 2039 only - Sep 17 2:00 0 - -Rule Palestine 2039 only - Oct 22 2:00 1:00 S -Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2040 only - Sep 1 2:00 0 - -Rule Palestine 2040 only - Oct 13 2:00 1:00 S +Rule Palestine 2040 only - Oct 20 2:00 1:00 S +Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 - Rule Palestine 2041 only - Aug 24 2:00 0 - -Rule Palestine 2041 only - Sep 28 2:00 1:00 S +Rule Palestine 2041 only - Oct 5 2:00 1:00 S Rule Palestine 2042 only - Aug 16 2:00 0 - -Rule Palestine 2042 only - Sep 20 2:00 1:00 S +Rule Palestine 2042 only - Sep 27 2:00 1:00 S Rule Palestine 2043 only - Aug 1 2:00 0 - -Rule Palestine 2043 only - Sep 12 2:00 1:00 S +Rule Palestine 2043 only - Sep 19 2:00 1:00 S Rule Palestine 2044 only - Jul 23 2:00 0 - -Rule Palestine 2044 only - Aug 27 2:00 1:00 S +Rule Palestine 2044 only - Sep 3 2:00 1:00 S Rule Palestine 2045 only - Jul 15 2:00 0 - -Rule Palestine 2045 only - Aug 19 2:00 1:00 S +Rule Palestine 2045 only - Aug 26 2:00 1:00 S Rule Palestine 2046 only - Jun 30 2:00 0 - -Rule Palestine 2046 only - Aug 11 2:00 1:00 S +Rule Palestine 2046 only - Aug 18 2:00 1:00 S Rule Palestine 2047 only - Jun 22 2:00 0 - -Rule Palestine 2047 only - Jul 27 2:00 1:00 S +Rule Palestine 2047 only - Aug 3 2:00 1:00 S Rule Palestine 2048 only - Jun 6 2:00 0 - -Rule Palestine 2048 only - Jul 18 2:00 1:00 S +Rule Palestine 2048 only - Jul 25 2:00 1:00 S Rule Palestine 2049 only - May 29 2:00 0 - -Rule Palestine 2049 only - Jul 3 2:00 1:00 S +Rule Palestine 2049 only - Jul 10 2:00 1:00 S Rule Palestine 2050 only - May 21 2:00 0 - -Rule Palestine 2050 only - Jun 25 2:00 1:00 S +Rule Palestine 2050 only - Jul 2 2:00 1:00 S Rule Palestine 2051 only - May 6 2:00 0 - -Rule Palestine 2051 only - Jun 17 2:00 1:00 S +Rule Palestine 2051 only - Jun 24 2:00 1:00 S Rule Palestine 2052 only - Apr 27 2:00 0 - -Rule Palestine 2052 only - Jun 1 2:00 1:00 S +Rule Palestine 2052 only - Jun 8 2:00 1:00 S Rule Palestine 2053 only - Apr 12 2:00 0 - -Rule Palestine 2053 only - May 24 2:00 1:00 S +Rule Palestine 2053 only - May 31 2:00 1:00 S Rule Palestine 2054 only - Apr 4 2:00 0 - -Rule Palestine 2054 only - May 16 2:00 1:00 S -Rule Palestine 2055 only - May 1 2:00 1:00 S -Rule Palestine 2056 only - Apr 22 2:00 1:00 S -Rule Palestine 2057 only - Apr 7 2:00 1:00 S -Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S +Rule Palestine 2054 only - May 23 2:00 1:00 S +Rule Palestine 2055 only - May 8 2:00 1:00 S +Rule Palestine 2056 only - Apr 29 2:00 1:00 S +Rule Palestine 2057 only - Apr 14 2:00 1:00 S +Rule Palestine 2058 only - Apr 6 2:00 1:00 S +Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S Rule Palestine 2068 only - Oct 20 2:00 0 - Rule Palestine 2069 only - Oct 12 2:00 0 - Rule Palestine 2070 only - Oct 4 2:00 0 - Rule Palestine 2071 only - Sep 19 2:00 0 - Rule Palestine 2072 only - Sep 10 2:00 0 - -Rule Palestine 2072 only - Oct 15 2:00 1:00 S +Rule Palestine 2072 only - Oct 22 2:00 1:00 S Rule Palestine 2072 max - Oct Sat<=30 2:00 0 - Rule Palestine 2073 only - Sep 2 2:00 0 - -Rule Palestine 2073 only - Oct 7 2:00 1:00 S +Rule Palestine 2073 only - Oct 14 2:00 1:00 S Rule Palestine 2074 only - Aug 18 2:00 0 - -Rule Palestine 2074 only - Sep 29 2:00 1:00 S +Rule Palestine 2074 only - Oct 6 2:00 1:00 S Rule Palestine 2075 only - Aug 10 2:00 0 - -Rule Palestine 2075 only - Sep 14 2:00 1:00 S +Rule Palestine 2075 only - Sep 21 2:00 1:00 S Rule Palestine 2076 only - Jul 25 2:00 0 - -Rule Palestine 2076 only - Sep 5 2:00 1:00 S +Rule Palestine 2076 only - Sep 12 2:00 1:00 S Rule Palestine 2077 only - Jul 17 2:00 0 - -Rule Palestine 2077 only - Aug 28 2:00 1:00 S +Rule Palestine 2077 only - Sep 4 2:00 1:00 S Rule Palestine 2078 only - Jul 9 2:00 0 - -Rule Palestine 2078 only - Aug 13 2:00 1:00 S +Rule Palestine 2078 only - Aug 20 2:00 1:00 S Rule Palestine 2079 only - Jun 24 2:00 0 - -Rule Palestine 2079 only - Aug 5 2:00 1:00 S +Rule Palestine 2079 only - Aug 12 2:00 1:00 S Rule Palestine 2080 only - Jun 15 2:00 0 - -Rule Palestine 2080 only - Jul 20 2:00 1:00 S +Rule Palestine 2080 only - Jul 27 2:00 1:00 S Rule Palestine 2081 only - Jun 7 2:00 0 - -Rule Palestine 2081 only - Jul 12 2:00 1:00 S +Rule Palestine 2081 only - Jul 19 2:00 1:00 S Rule Palestine 2082 only - May 23 2:00 0 - -Rule Palestine 2082 only - Jul 4 2:00 1:00 S +Rule Palestine 2082 only - Jul 11 2:00 1:00 S Rule Palestine 2083 only - May 15 2:00 0 - -Rule Palestine 2083 only - Jun 19 2:00 1:00 S +Rule Palestine 2083 only - Jun 26 2:00 1:00 S Rule Palestine 2084 only - Apr 29 2:00 0 - -Rule Palestine 2084 only - Jun 10 2:00 1:00 S +Rule Palestine 2084 only - Jun 17 2:00 1:00 S Rule Palestine 2085 only - Apr 21 2:00 0 - -Rule Palestine 2085 only - Jun 2 2:00 1:00 S +Rule Palestine 2085 only - Jun 9 2:00 1:00 S Rule Palestine 2086 only - Apr 13 2:00 0 - -Rule Palestine 2086 only - May 18 2:00 1:00 S +Rule Palestine 2086 only - May 25 2:00 1:00 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct @@ -3606,7 +3628,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct # Philippines -# From Paul Eggert (2018-11-18): +# From Paul Eggert (2024-01-21): # The Spanish initially used American (west-of-Greenwich) time. # It is unknown what time Manila kept when the British occupied it from # 1762-10-06 through 1764-04; for now assume it kept American time. @@ -3614,7 +3636,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct # Philippines, issued a proclamation announcing that 1844-12-30 was to # be immediately followed by 1845-01-01; see R.H. van Gent's # History of the International Date Line -# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm # The rest of the data entries are from Shanks & Pottenger. # From Jesper Nørgaard Welen (2006-04-26): @@ -4041,7 +4063,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 # The English-language name of Vietnam's most populous city is "Ho Chi Minh # City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters. -# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân: +# From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngọc Quân +# and a 2024-01-14 heads-up from Đoàn Trần Công Danh: # Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)" # (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50, # is quoted verbatim in: @@ -4071,14 +4094,35 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 # # Trần cites the following sources; it's unclear which supplied the info above. # -# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, -# No. 9, Paris, February 1982. +# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội, +# No. 9, Paris, February 1982. +# +# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", +# NXB Thống kê, Hanoi, 2000. # -# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)", -# NXB Thống kê, Hanoi, 2000. +# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", +# NXB Thuận Hoá, Huế, 1995. # -# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu", -# NXB Thuận Hoá, Huế, 1995. +# Here is the decision for the September 1945 transition: +# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13 +# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none +# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07. +# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General) +# to set the time zone to +09, but does not say whether that decree +# merely legalized an earlier change to +09. +# +# July 1955 transition: +# Ngô Đình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781 +# Ordinance (Dụ) No. 46 (1955-06-25) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216 +# It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07). +# +# December 1959 transition: +# Ngô Đình Diệm, Công Báo Việt Nam Cộng Hòa, 1960 part 1 (1960-01-02), page 62 +# Decree (Sắc lệnh) No. 362-TTP (1959-12-30) +# http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202 +# It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08). + # Zone NAME STDOFF RULES FORMAT [UNTIL] #STDOFF 7:06:30.13 @@ -4086,9 +4130,9 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT 7:00 - +07 1942 Dec 31 23:00 8:00 - +08 1945 Mar 14 23:00 - 9:00 - +09 1945 Sep 2 + 9:00 - +09 1945 Sep 1 24:00 7:00 - +07 1947 Apr 1 - 8:00 - +08 1955 Jul 1 + 8:00 - +08 1955 Jul 1 01:00 7:00 - +07 1959 Dec 31 23:00 8:00 - +08 1975 Jun 13 7:00 - +07 diff --git a/contrib/tzdata/australasia b/contrib/tzdata/australasia index dc98c1e2de17..0e9c2592e4be 100644 --- a/contrib/tzdata/australasia +++ b/contrib/tzdata/australasia @@ -420,11 +420,11 @@ Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva # French Polynesia # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea +Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea -9:00 - -09 -Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct +Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1 -9:30 - -0930 -Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete +Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete -10:00 - -10 # Clipperton (near North America) is administered from French Polynesia; # it is uninhabited. @@ -802,7 +802,7 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 # Solomon Is # excludes Bougainville, for which see Papua New Guinea # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara +Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara 11:00 - +11 # Tokelau @@ -963,6 +963,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. # https://www.jstor.org/stable/1774359 # +# For the 1911/1912 establishment of standard time in French possessions, see: +# Société Française de Physique, Recueil de constantes physiques (1913), +# page 752, 18b. +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -2039,7 +2043,7 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila # ordaining - by a masterpiece of diplomatic flattery - that # the Fourth of July should be celebrated twice in that year." # This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. -# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm +# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm # Although Shanks & Pottenger says they both switched to UT -11:30 # in 1911, and to -11 in 1950. many earlier sources give -11 diff --git a/contrib/tzdata/checknow.awk b/contrib/tzdata/checknow.awk index d722c03fd689..57ff3c02e789 100644 --- a/contrib/tzdata/checknow.awk +++ b/contrib/tzdata/checknow.awk @@ -45,7 +45,7 @@ END { for (zone in zone_data) { data = zone_data[zone] if (!zonenow[data]) { - printf "checknow.tab should have one of:%s\n", zones[data] + printf "zonenow.tab should have one of:%s\n", zones[data] zonenow[data] = zone # This suppresses duplicate diagnostics. status = 1 } diff --git a/contrib/tzdata/etcetera b/contrib/tzdata/etcetera index 865a220c1f4b..29fbed9b9290 100644 --- a/contrib/tzdata/etcetera +++ b/contrib/tzdata/etcetera @@ -5,7 +5,7 @@ # These entries are for uses not otherwise covered by the tz database. # Their main practical use is for platforms like Android that lack -# support for POSIX-style TZ strings. On such platforms these entries +# support for POSIX.1-2017-style TZ strings. On such platforms these entries # can be useful if the timezone database is wrong or if a ship or # aircraft at sea is not in a timezone. diff --git a/contrib/tzdata/europe b/contrib/tzdata/europe index 27f821e77600..c6b5270316b9 100644 --- a/contrib/tzdata/europe +++ b/contrib/tzdata/europe @@ -990,9 +990,34 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 # Czech Republic (Czechia) # Slovakia # -# From Paul Eggert (2018-04-15): -# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15. +# From Ivan Benovic (2024-01-30): +# https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/ +# (This is an official link to the Czechoslovak Summer Time Act of +# March 8, 1946 that authorizes the Czechoslovak government to set the +# exact dates of change to summer time and back to Central European Time. +# The act also implicitly confirms Central European Time as the +# official time zone of Czechoslovakia and currently remains in force +# in both the Czech Republic and Slovakia.) +# https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm +# (This is a link to the original legislative proposal dating back to +# February 22, 1946. The accompanying memorandum to the proposal says +# that an advisory committee on European railroad transportation that +# met in Brussels in October 1945 decided that the change of time +# should be carried out in all participating countries in a strictly +# coordinated manner....) +# +# From Paul Eggert (2024-01-30): +# The source for Czech data is: Kdy začíná a končí letní čas. # https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas +# Its main text disagrees with its quoted sources only in 1918, +# where the main text says spring and autumn transitions +# occurred at 02:00 and 03:00 respectively (as usual), +# whereas the 1918 source "Oznámení o zavedení letního času v roce 1918" +# says transitions were at 01:00 and 02:00 respectively. +# As the 1918 source appears to be a humorous piece, and it is +# unlikely that Prague would have disagreed with its neighbors by an hour, +# go with the main text for now. +# # We know of no English-language name for historical Czech winter time; # abbreviate it as "GMT", as it happened to be GMT. # diff --git a/contrib/tzdata/leap-seconds.list b/contrib/tzdata/leap-seconds.list index 3fe9a1210e3c..e52effc257b2 100644 --- a/contrib/tzdata/leap-seconds.list +++ b/contrib/tzdata/leap-seconds.list @@ -1,255 +1,120 @@ +# ATOMIC TIME. +# The Coordinated Universal Time (UTC) is the reference time scale derived +# from The "Temps Atomique International" (TAI) calculated by the Bureau +# International des Poids et Mesures (BIPM) using a worldwide network of atomic +# clocks. UTC differs from TAI by an integer number of seconds; it is the basis +# of all activities in the world. # -# In the following text, the symbol '#' introduces -# a comment, which continues from that symbol until -# the end of the line. A plain comment line has a -# whitespace character following the comment indicator. -# There are also special comment lines defined below. -# A special comment will always have a non-whitespace -# character in column 2. -# -# A blank line should be ignored. -# -# The following table shows the corrections that must -# be applied to compute International Atomic Time (TAI) -# from the Coordinated Universal Time (UTC) values that -# are transmitted by almost all time services. -# -# The first column shows an epoch as a number of seconds -# since 1 January 1900, 00:00:00 (1900.0 is also used to -# indicate the same epoch.) Both of these time stamp formats -# ignore the complexities of the time scales that were -# used before the current definition of UTC at the start -# of 1972. (See note 3 below.) -# The second column shows the number of seconds that -# must be added to UTC to compute TAI for any timestamp -# at or after that epoch. The value on each line is -# valid from the indicated initial instant until the -# epoch given on the next one or indefinitely into the -# future if there is no next line. -# (The comment on each line shows the representation of -# the corresponding initial epoch in the usual -# day-month-year format. The epoch always begins at -# 00:00:00 UTC on the indicated day. See Note 5 below.) -# -# Important notes: -# -# 1. Coordinated Universal Time (UTC) is often referred to -# as Greenwich Mean Time (GMT). The GMT time scale is no -# longer used, and the use of GMT to designate UTC is -# discouraged. -# -# 2. The UTC time scale is realized by many national -# laboratories and timing centers. Each laboratory -# identifies its realization with its name: Thus -# UTC(NIST), UTC(USNO), etc. The differences among -# these different realizations are typically on the -# order of a few nanoseconds (i.e., 0.000 000 00x s) -# and can be ignored for many purposes. These differences -# are tabulated in Circular T, which is published monthly -# by the International Bureau of Weights and Measures -# (BIPM). See www.bipm.org for more information. -# -# 3. The current definition of the relationship between UTC -# and TAI dates from 1 January 1972. A number of different -# time scales were in use before that epoch, and it can be -# quite difficult to compute precise timestamps and time -# intervals in those "prehistoric" days. For more information, -# consult: -# -# The Explanatory Supplement to the Astronomical -# Ephemeris. -# or -# Terry Quinn, "The BIPM and the Accurate Measurement -# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905, -# July, 1991. -# reprinted in: -# Christine Hackman and Donald B Sullivan (eds.) -# Time and Frequency Measurement -# American Association of Physics Teachers (1996) -# , pp. 75-86 -# -# 4. The decision to insert a leap second into UTC is currently -# the responsibility of the International Earth Rotation and -# Reference Systems Service. (The name was changed from the -# International Earth Rotation Service, but the acronym IERS -# is still used.) -# -# Leap seconds are announced by the IERS in its Bulletin C. -# -# See www.iers.org for more details. -# -# Every national laboratory and timing center uses the -# data from the BIPM and the IERS to construct UTC(lab), -# their local realization of UTC. -# -# Although the definition also includes the possibility -# of dropping seconds ("negative" leap seconds), this has -# never been done and is unlikely to be necessary in the -# foreseeable future. -# -# 5. If your system keeps time as the number of seconds since -# some epoch (e.g., NTP timestamps), then the algorithm for -# assigning a UTC time stamp to an event that happens during a positive -# leap second is not well defined. The official name of that leap -# second is 23:59:60, but there is no way of representing that time -# in these systems. -# Many systems of this type effectively stop the system clock for -# one second during the leap second and use a time that is equivalent -# to 23:59:59 UTC twice. For these systems, the corresponding TAI -# timestamp would be obtained by advancing to the next entry in the -# following table when the time equivalent to 23:59:59 UTC -# is used for the second time. Thus the leap second which -# occurred on 30 June 1972 at 23:59:59 UTC would have TAI -# timestamps computed as follows: -# -# ... -# 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds -# 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds -# 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds -# ... -# -# If your system realizes the leap second by repeating 00:00:00 UTC twice -# (this is possible but not usual), then the advance to the next entry -# in the table must occur the second time that a time equivalent to -# 00:00:00 UTC is used. Thus, using the same example as above: -# -# ... -# 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds -# 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds -# 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds -# ... -# -# in both cases the use of timestamps based on TAI produces a smooth -# time scale with no discontinuity in the time interval. However, -# although the long-term behavior of the time scale is correct in both -# methods, the second method is technically not correct because it adds -# the extra second to the wrong day. -# -# This complexity would not be needed for negative leap seconds (if they -# are ever used). The UTC time would skip 23:59:59 and advance from -# 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by -# 1 second at the same instant. This is a much easier situation to deal -# with, since the difficulty of unambiguously representing the epoch -# during the leap second does not arise. -# -# Some systems implement leap seconds by amortizing the leap second -# over the last few minutes of the day. The frequency of the local -# clock is decreased (or increased) to realize the positive (or -# negative) leap second. This method removes the time step described -# above. Although the long-term behavior of the time scale is correct -# in this case, this method introduces an error during the adjustment -# period both in time and in frequency with respect to the official -# definition of UTC. -# -# Questions or comments to: -# Judah Levine -# Time and Frequency Division -# NIST -# Boulder, Colorado -# Judah.Levine@nist.gov -# -# Last Update of leap second values: 8 July 2016 -# -# The following line shows this last update date in NTP timestamp -# format. This is the date on which the most recent change to -# the leap second data was added to the file. This line can -# be identified by the unique pair of characters in the first two -# columns as shown below. -# -#$ 3676924800 -# -# The NTP timestamps are in units of seconds since the NTP epoch, -# which is 1 January 1900, 00:00:00. The Modified Julian Day number -# corresponding to the NTP time stamp, X, can be computed as -# -# X/86400 + 15020 -# -# where the first term converts seconds to days and the second -# term adds the MJD corresponding to the time origin defined above. -# The integer portion of the result is the integer MJD for that -# day, and any remainder is the time of day, expressed as the -# fraction of the day since 0 hours UTC. The conversion from day -# fraction to seconds or to hours, minutes, and seconds may involve -# rounding or truncation, depending on the method used in the -# computation. -# -# The data in this file will be updated periodically as new leap -# seconds are announced. In addition to being entered on the line -# above, the update time (in NTP format) will be added to the basic -# file name leap-seconds to form the name leap-seconds.. -# In addition, the generic name leap-seconds.list will always point to -# the most recent version of the file. -# -# This update procedure will be performed only when a new leap second -# is announced. -# -# The following entry specifies the expiration date of the data -# in this file in units of seconds since the origin at the instant -# 1 January 1900, 00:00:00. This expiration date will be changed -# at least twice per year whether or not a new leap second is -# announced. These semi-annual changes will be made no later -# than 1 June and 1 December of each year to indicate what -# action (if any) is to be taken on 30 June and 31 December, -# respectively. (These are the customary effective dates for new -# leap seconds.) This expiration date will be identified by a -# unique pair of characters in columns 1 and 2 as shown below. -# In the unlikely event that a leap second is announced with an -# effective date other than 30 June or 31 December, then this -# file will be edited to include that leap second as soon as it is -# announced or at least one month before the effective date -# (whichever is later). -# If an announcement by the IERS specifies that no leap second is -# scheduled, then only the expiration date of the file will -# be advanced to show that the information in the file is still -# current -- the update time stamp, the data and the name of the file -# will not change. -# -# Updated through IERS Bulletin C66 -# File expires on: 28 June 2024 -# -#@ 3928521600 -# -2272060800 10 # 1 Jan 1972 -2287785600 11 # 1 Jul 1972 -2303683200 12 # 1 Jan 1973 -2335219200 13 # 1 Jan 1974 -2366755200 14 # 1 Jan 1975 -2398291200 15 # 1 Jan 1976 -2429913600 16 # 1 Jan 1977 -2461449600 17 # 1 Jan 1978 -2492985600 18 # 1 Jan 1979 -2524521600 19 # 1 Jan 1980 -2571782400 20 # 1 Jul 1981 -2603318400 21 # 1 Jul 1982 -2634854400 22 # 1 Jul 1983 -2698012800 23 # 1 Jul 1985 -2776982400 24 # 1 Jan 1988 -2840140800 25 # 1 Jan 1990 -2871676800 26 # 1 Jan 1991 -2918937600 27 # 1 Jul 1992 -2950473600 28 # 1 Jul 1993 -2982009600 29 # 1 Jul 1994 -3029443200 30 # 1 Jan 1996 -3076704000 31 # 1 Jul 1997 -3124137600 32 # 1 Jan 1999 -3345062400 33 # 1 Jan 2006 -3439756800 34 # 1 Jan 2009 -3550089600 35 # 1 Jul 2012 -3644697600 36 # 1 Jul 2015 -3692217600 37 # 1 Jan 2017 -# -# the following special comment contains the -# hash value of the data in this file computed -# use the secure hash algorithm as specified -# by FIPS 180-1. See the files in ~/pub/sha for -# the details of how this hash value is -# computed. Note that the hash computation -# ignores comments and whitespace characters -# in data lines. It includes the NTP values *** 599 LINES SKIPPED *** From nobody Mon Feb 5 11:41:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TT4Gh3x94z59mft; Mon, 5 Feb 2024 11:41:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TT4Gh3SSgz4k06; Mon, 5 Feb 2024 11:41:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707133308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mys6PbqdKGPByRTTtwTFSkHNpGDRgZ85bVAQGRp9ZPY=; b=u+XCJWDojj0XuzE/HTkWrvzQGJin2hV4N+GMMngLbXaGnmAVhle0NJIS0JEwPrMfiF6dBv MKfK6HGrXlrNPi9AtciwxlJOKqUdKhNW3mWfESGfmHUigVkuPqQgNKxjCpM6br60Xoh7QC ZMkNxuLzXvSKCJId1T1m1dXlOWJrk2SA1JNY1N2vZmU0OErVgWXV9ge1vc3mCL6E6uYNba HjSztmkVRgunIowAKLHWQT+NQAyhHqVVxcHGC3c2hE2CRMK4xyVtoFnlny2kPxyk0dp2YD +jOSYOBanXDBd09ubwYHirDfYZvHF8Xgn5fo+WphBHL1lACAjCBf2E0T6uvgaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707133308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mys6PbqdKGPByRTTtwTFSkHNpGDRgZ85bVAQGRp9ZPY=; b=ZF3xdJ+uNmJiKGARA/RqlS/FpqS2mKmBPM/6nCywR+75Dcxnv1Q0TDpEuKex6bIxZ6n7Fp G7ylheyX6XYygze2MX8GNBspi8bz5H3LZ1hLeXl0LASlz8st7QVsz72eeS95Mq6d/SgmQi HHH91/IcVkEqFE8ebTh91rIBIlYzAGir3ltIGmG/LZEDnSGeqouyP5IfrGT629HD+KJBRv FSmg17zTU95ugZ23cpw3gHuNy3QrVbuvUE6j9heHSXwWJB62EhrPsvxV7ksn5TnBACHYT/ Ei2gzxxbtSFNBt0WV65TuiGB0rUNcz1Z/PapMsn9Xwf/arT44iebXwcDAB6MIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707133308; a=rsa-sha256; cv=none; b=mEw+9ecthxMP8qjVHnlTc+ug1IXIuXlgbRaNFYGFsvIxFVAVWcqrjPrevIIqO+BYW9KbJA QLiCK7A1yMyWqqu56Hfp/7ck4QSlryF8k58TKk8+s6iY9eZOElm1uEeEJ0cxJGUCYXcpZl Vqmv4/+3Rcqf5HP+TTB2dwOUt5dwRQYDpfyqAQ0CpYuVLp6ZUuqD1+uUaGiikEjR4oowYk Xx+8L+B7yM+naIyWSJU4VzpdhZZK1FqenUtYbVDO0QWZTzFV2n3Folcz3OV5jPU3+bOrnj 1TUJrfxy1YCdTBTRr9eJ5t+TWhHYELLB1C7K7y20msd/2wuhje4YSOPhrA284Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TT4Gh2WX8zfCc; Mon, 5 Feb 2024 11:41:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 415BfmI9075447; Mon, 5 Feb 2024 11:41:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 415Bfmuw075444; Mon, 5 Feb 2024 11:41:48 GMT (envelope-from git) Date: Mon, 5 Feb 2024 11:41:48 GMT Message-Id: <202402051141.415Bfmuw075444@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Richard Scheffenegger Subject: git: 9bc48382a5e8 - stable/14 - tcp: move cc_post_recovery past snd_una update List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9bc48382a5e8260b3240b4cd99d984ada55f0990 Auto-Submitted: auto-generated The branch stable/14 has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=9bc48382a5e8260b3240b4cd99d984ada55f0990 commit 9bc48382a5e8260b3240b4cd99d984ada55f0990 Author: Richard Scheffenegger AuthorDate: 2024-01-27 23:16:59 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-01 18:13:53 +0000 tcp: move cc_post_recovery past snd_una update The RFC6675 pipe calculation (sack.revised, enabled by default since D28702), uses outdated information, while the previous default calculated it correctly with up-to-date information from the incoming ACK. This difference can become as large as the receive window (not the congestion window previously), potentially triggering a massive burst of new packets. MFC after: 1 week Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43520 (cherry picked from commit 0b3f9e435f2bde9e5be27030d9f574a977a1ad47) --- sys/netinet/tcp_input.c | 57 ++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 38498370ceb2..2a4f3875d1b9 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -478,13 +478,12 @@ cc_post_recovery(struct tcpcb *tp, struct tcphdr *th) { INP_WLOCK_ASSERT(tptoinpcb(tp)); - /* XXXLAS: KASSERT that we're in recovery? */ - if (CC_ALGO(tp)->post_recovery != NULL) { tp->t_ccv.curack = th->th_ack; CC_ALGO(tp)->post_recovery(&tp->t_ccv); } - /* XXXLAS: EXIT_RECOVERY ? */ + EXIT_RECOVERY(tp->t_flags); + tp->t_bytes_acked = 0; tp->sackhint.delivered_data = 0; tp->sackhint.prr_delivered = 0; @@ -2803,35 +2802,36 @@ resume_partialack: * If the congestion window was inflated to account * for the other side's cached packets, retract it. */ - if (IN_FASTRECOVERY(tp->t_flags)) { - if (SEQ_LT(th->th_ack, tp->snd_recover)) { - if (tp->t_flags & TF_SACK_PERMIT) - if (V_tcp_do_prr && to.to_flags & TOF_SACK) { - tcp_timer_activate(tp, TT_REXMT, 0); + if (SEQ_LT(th->th_ack, tp->snd_recover)) { + if (IN_FASTRECOVERY(tp->t_flags)) { + if (tp->t_flags & TF_SACK_PERMIT) { + if (V_tcp_do_prr && + (to.to_flags & TOF_SACK)) { + tcp_timer_activate(tp, + TT_REXMT, 0); tp->t_rtttime = 0; - tcp_do_prr_ack(tp, th, &to, sack_changed); + tcp_do_prr_ack(tp, th, &to, + sack_changed); tp->t_flags |= TF_ACKNOW; (void) tcp_output(tp); - } else + } else { tcp_sack_partialack(tp, th); - else + } + } else { tcp_newreno_partial_ack(tp, th); - } else - cc_post_recovery(tp, th); - } else if (IN_CONGRECOVERY(tp->t_flags)) { - if (SEQ_LT(th->th_ack, tp->snd_recover)) { - if (V_tcp_do_prr) { - tp->sackhint.delivered_data = BYTES_THIS_ACK(tp, th); - tp->snd_fack = th->th_ack; - /* - * During ECN cwnd reduction - * always use PRR-SSRB - */ - tcp_do_prr_ack(tp, th, &to, SACK_CHANGE); - (void) tcp_output(tp); } - } else - cc_post_recovery(tp, th); + } else if (IN_CONGRECOVERY(tp->t_flags) && + (V_tcp_do_prr)) { + tp->sackhint.delivered_data = + BYTES_THIS_ACK(tp, th); + tp->snd_fack = th->th_ack; + /* + * During ECN cwnd reduction + * always use PRR-SSRB + */ + tcp_do_prr_ack(tp, th, &to, SACK_CHANGE); + (void) tcp_output(tp); + } } /* * If we reach this point, ACK is not a duplicate, @@ -2982,12 +2982,11 @@ process_ACK: SEQ_GT(tp->snd_una, tp->snd_recover) && SEQ_LEQ(th->th_ack, tp->snd_recover)) tp->snd_recover = th->th_ack - 1; - /* XXXLAS: Can this be moved up into cc_post_recovery? */ + tp->snd_una = th->th_ack; if (IN_RECOVERY(tp->t_flags) && SEQ_GEQ(th->th_ack, tp->snd_recover)) { - EXIT_RECOVERY(tp->t_flags); + cc_post_recovery(tp, th); } - tp->snd_una = th->th_ack; if (tp->t_flags & TF_SACK_PERMIT) { if (SEQ_GT(tp->snd_una, tp->snd_recover)) tp->snd_recover = tp->snd_una; From nobody Mon Feb 5 16:08:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTBB80j0hz58ThN; Mon, 5 Feb 2024 16:08:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTBB80NZ3z4LYy; Mon, 5 Feb 2024 16:08:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707149296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zjUhfsNEqFMHuLqn/Ndt2M/+L0w/n/spOtVWyoNTILM=; b=uTMqARHveJOzFY34SdLJtG3iEz6P86tVdJfU2CytndhBWHEbh7n0HL3qDGM5bkRU9kHnim fW/DLO+vxuQE3SG9Aj392uckOtEdaQKB5vwVWokhRwrx+ra/vDuszpIlqsY+hxJMX3ulJv rrJrVrTvqurr90WOGH+5cSEQwrKsrM9h/ABruGSDCAm1XT94WVUpNwnlUyLMsAPWoYdYso VjOfSv4l7OCrioAp1OliB44T2DJx/otxH5ZeiUf1SwYLkWoy8hYiqMqLZskybCbXrdE7Vy 8t7vS2R2LmaAFHJ9BjWcEcy3UCb5GfFF9ElgIJTTGobRgtyPGN9b+NM9IwHGPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707149296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zjUhfsNEqFMHuLqn/Ndt2M/+L0w/n/spOtVWyoNTILM=; b=ZtvnNlY9ggF8C+3s+5NTwV9qtlLGPNtnx7OdxePZzty0wEIO341gzYgzml0nW2xZ2goEN/ dW6DCCNVDGl0vde5RnenGMwuKNvK9se9TFmQrCB0xLDjdoKtrNFjaEBZym4xPjBHgc9ZXg blfrhg1sTJ9ZSKfmRyBN+wo4szGq6N23udK0mn/uf7465l5SLgXECD7QLTwZ0ieV32gv8U zZU0s4mZWFjJYpCUjXQcMd69lxHMrzfW/CR87fjYsUaOYTcHkqhY1QhZasfkNF5lPDilyx Iidtmx9QoAmOrxzcNrcU5rzeWr8cx0gfpJnYa4MPR3xFxKYvqtLf/E7ORY+8/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707149296; a=rsa-sha256; cv=none; b=mV2nYIaVAse+cDYIq53muh3kPKvD8Z3g0wzH7jkWPy4eW78tVNBQc9IjCElF1XuTfs1kDT CO9yRmXCPPbutBu1bVHEoBOQhhrVxYVTIqeZd0OYpjdv5tNtMqj5mvyjNcDy/1I+YnEzdL 69cLuCiidbANsu6fccQhn8LjrAAkLfmyilUwQd+xWQ4Tji/g2Ow0EK3ixBs22KMnVkdZmG xkvxqcH43ZxL4vVR1ZKUtAj0yFoslsQyJ6n32FjgCehWAtoUDuy4Is65DPtJlop52g3dJC 3/Wf/ZNj0KmyKOyeQZ1SWKRSzMyvaZOuSH9mExGT1sxJ9gjolkTz5dEil9WhVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTBB76Xw7znGr; Mon, 5 Feb 2024 16:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 415G8Fl8014825; Mon, 5 Feb 2024 16:08:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 415G89KK014814; Mon, 5 Feb 2024 16:08:09 GMT (envelope-from git) Date: Mon, 5 Feb 2024 16:08:09 GMT Message-Id: <202402051608.415G89KK014814@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: c94886749e1b - stable/14 - OpenSSL: Vendor import of OpenSSL 3.0.13 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c94886749e1b52e6d410728db9e470fbac37d4c1 Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=c94886749e1b52e6d410728db9e470fbac37d4c1 commit c94886749e1b52e6d410728db9e470fbac37d4c1 Author: Cy Schubert AuthorDate: 2024-02-02 21:10:22 +0000 Commit: Cy Schubert CommitDate: 2024-02-05 16:06:08 +0000 OpenSSL: Vendor import of OpenSSL 3.0.13 * Fixed PKCS12 Decoding crashes ([CVE-2024-0727]) * Fixed Excessive time spent checking invalid RSA public keys ([CVE-2023-6237]) * Fixed POLY1305 MAC implementation corrupting vector registers on PowerPC CPUs which support PowerISA 2.07 ([CVE-2023-6129]) * Fix excessive time spent in DH check / generation with large Q parameter value ([CVE-2023-5678]) Release notes can be found at https://www.openssl.org/news/openssl-3.0-notes.html. Approved by: emaste Merge commit '9dd13e84fa8eca8f3462bd55485aa3da8c37f54a' (cherry picked from commit e0c4386e7e71d93b0edc0c8fa156263fc4a8b0b6) --- crypto/openssl/CHANGES.md | 88 + crypto/openssl/CONTRIBUTING.md | 56 +- .../openssl/Configurations/00-base-templates.conf | 141 + crypto/openssl/Configurations/10-main.conf | 1955 + crypto/openssl/Configurations/15-android.conf | 291 + crypto/openssl/Configurations/15-ios.conf | 64 + crypto/openssl/Configurations/50-cppbuilder.conf | 62 + crypto/openssl/Configurations/50-djgpp.conf | 18 + crypto/openssl/Configurations/50-haiku.conf | 35 + crypto/openssl/Configurations/50-masm.conf | 22 + crypto/openssl/Configurations/50-nonstop.conf | 315 + crypto/openssl/Configurations/50-os390.conf | 11 + crypto/openssl/Configurations/50-vms-x86_64.conf | 14 + crypto/openssl/Configurations/50-win-onecore.conf | 138 + crypto/openssl/Configurations/INTERNALS.Configure | 136 + crypto/openssl/Configurations/README-design.md | 604 + crypto/openssl/Configurations/README.md | 667 + crypto/openssl/Configurations/common0.tmpl | 31 + crypto/openssl/Configurations/descrip.mms.tmpl | 1402 + crypto/openssl/Configurations/gentemplate.pm | 556 + crypto/openssl/Configurations/platform.pm | 18 + crypto/openssl/Configurations/platform/AIX.pm | 29 + crypto/openssl/Configurations/platform/BASE.pm | 99 + crypto/openssl/Configurations/platform/Cygwin.pm | 22 + crypto/openssl/Configurations/platform/Unix.pm | 87 + crypto/openssl/Configurations/platform/VMS.pm | 65 + crypto/openssl/Configurations/platform/Windows.pm | 64 + .../Configurations/platform/Windows/MSVC.pm | 44 + .../Configurations/platform/Windows/cppbuilder.pm | 16 + crypto/openssl/Configurations/platform/mingw.pm | 51 + crypto/openssl/Configurations/shared-info.pl | 94 + crypto/openssl/Configurations/unix-Makefile.tmpl | 1996 + crypto/openssl/Configurations/unix-checker.pm | 22 + crypto/openssl/Configurations/windows-checker.pm | 22 + .../openssl/Configurations/windows-makefile.tmpl | 1050 + crypto/openssl/Configure | 37 +- crypto/openssl/NEWS.md | 16 + crypto/openssl/README.md | 2 +- crypto/openssl/VERSION.dat | 4 +- crypto/openssl/VMS/VMSify-conf.pl | 41 + crypto/openssl/VMS/engine.opt | 3 + crypto/openssl/VMS/msg_install.com | 19 + crypto/openssl/VMS/msg_staging.com | 37 + crypto/openssl/VMS/openssl_ivp.com.in | 56 + crypto/openssl/VMS/openssl_shutdown.com.in | 57 + crypto/openssl/VMS/openssl_startup.com.in | 125 + crypto/openssl/VMS/openssl_utils.com.in | 14 + crypto/openssl/VMS/test-includes.com | 28 + crypto/openssl/VMS/translatesyms.pl | 62 + crypto/openssl/apps/cms.c | 15 +- crypto/openssl/apps/demoSRP/srp_verifier.txt | 6 + crypto/openssl/apps/demoSRP/srp_verifier.txt.attr | 1 + crypto/openssl/apps/errstr.c | 2 +- crypto/openssl/apps/lib/opt.c | 7 +- crypto/openssl/apps/list.c | 52 +- crypto/openssl/apps/openssl-vms.cnf | 390 + crypto/openssl/apps/rehash.c | 40 +- crypto/openssl/apps/req.c | 4 +- crypto/openssl/apps/s_server.c | 7 +- crypto/openssl/apps/smime.c | 3 +- crypto/openssl/apps/vms_decc_init.c | 176 + crypto/openssl/appveyor.yml | 82 - crypto/openssl/config.com | 93 + crypto/openssl/crypto/LPdir_nyi.c | 56 + crypto/openssl/crypto/LPdir_vms.c | 207 + crypto/openssl/crypto/LPdir_win.c | 214 + crypto/openssl/crypto/LPdir_win32.c | 41 + crypto/openssl/crypto/LPdir_wince.c | 44 + crypto/openssl/crypto/alphacpuid.pl | 256 + crypto/openssl/crypto/asn1/asn_moid.c | 4 + crypto/openssl/crypto/asn1/asn_mstbl.c | 8 +- crypto/openssl/crypto/asn1/x_algor.c | 6 +- crypto/openssl/crypto/async/arch/async_win.c | 59 + crypto/openssl/crypto/bn/asm/alpha-mont.pl | 327 + crypto/openssl/crypto/bn/bn_exp.c | 21 + crypto/openssl/crypto/bn/bn_gf2m.c | 8 +- crypto/openssl/crypto/bn/bn_mod.c | 10 + crypto/openssl/crypto/bn/bn_nist.c | 126 +- crypto/openssl/crypto/build.info | 4 +- crypto/openssl/crypto/cms/cms_att.c | 24 +- crypto/openssl/crypto/cms/cms_dh.c | 8 +- crypto/openssl/crypto/cms/cms_rsa.c | 35 +- crypto/openssl/crypto/cms/cms_sd.c | 31 +- crypto/openssl/crypto/cms/cms_smime.c | 3 +- crypto/openssl/crypto/conf/conf_err.c | 2 + crypto/openssl/crypto/dh/dh_check.c | 12 + crypto/openssl/crypto/dh/dh_err.c | 3 +- crypto/openssl/crypto/dh/dh_key.c | 12 + crypto/openssl/crypto/dso/dso_vms.c | 489 + crypto/openssl/crypto/dso/dso_win32.c | 671 + crypto/openssl/crypto/ec/ecx_backend.c | 9 +- crypto/openssl/crypto/err/openssl.ec | 81 + crypto/openssl/crypto/err/openssl.txt | 2 + crypto/openssl/crypto/evp/e_aes.c | 16 +- crypto/openssl/crypto/evp/evp_fetch.c | 23 +- crypto/openssl/crypto/http/http_client.c | 8 +- crypto/openssl/crypto/http/http_lib.c | 2 +- crypto/openssl/crypto/mem_sec.c | 12 +- crypto/openssl/crypto/modes/asm/ghash-alpha.pl | 467 + crypto/openssl/crypto/objects/obj_dat.c | 4 +- crypto/openssl/crypto/param_build.c | 8 +- crypto/openssl/crypto/params_from_text.c | 10 +- crypto/openssl/crypto/perlasm/x86_64-xlate.pl | 7 +- crypto/openssl/crypto/pkcs12/p12_add.c | 20 +- crypto/openssl/crypto/pkcs12/p12_mutl.c | 7 +- crypto/openssl/crypto/pkcs12/p12_npas.c | 7 +- crypto/openssl/crypto/pkcs7/pk7_attr.c | 20 +- crypto/openssl/crypto/pkcs7/pk7_mime.c | 9 +- crypto/openssl/crypto/poly1305/asm/poly1305-ppc.pl | 44 +- crypto/openssl/crypto/property/property_parse.c | 50 +- crypto/openssl/crypto/provider_conf.c | 104 +- crypto/openssl/crypto/provider_core.c | 70 +- crypto/openssl/crypto/rsa/rsa_lib.c | 8 + crypto/openssl/crypto/rsa/rsa_sp800_56b_check.c | 10 +- crypto/openssl/crypto/sha/asm/sha1-alpha.pl | 329 + crypto/openssl/crypto/threads_win.c | 263 + crypto/openssl/crypto/x509/t_req.c | 8 +- crypto/openssl/crypto/x509/t_x509.c | 4 +- crypto/openssl/crypto/x509/v3_addr.c | 6 +- crypto/openssl/crypto/x509/v3_asid.c | 24 +- crypto/openssl/crypto/x509/v3_crld.c | 7 +- crypto/openssl/crypto/x509/v3_ist.c | 18 +- crypto/openssl/crypto/x509/v3_san.c | 13 +- crypto/openssl/crypto/x509/v3_sxnet.c | 20 +- crypto/openssl/crypto/x509/x509_att.c | 92 +- crypto/openssl/crypto/x509/x509_req.c | 4 +- crypto/openssl/demos/README.txt | 50 + crypto/openssl/demos/bio/Makefile | 33 + crypto/openssl/demos/bio/README.txt | 6 + crypto/openssl/demos/bio/accept.cnf | 23 + crypto/openssl/demos/bio/client-arg.c | 108 + crypto/openssl/demos/bio/client-conf.c | 117 + crypto/openssl/demos/bio/cmod.cnf | 27 + crypto/openssl/demos/bio/connect.cnf | 15 + crypto/openssl/demos/bio/descrip.mms | 47 + crypto/openssl/demos/bio/intca.pem | 25 + crypto/openssl/demos/bio/root.pem | 28 + crypto/openssl/demos/bio/saccept.c | 121 + crypto/openssl/demos/bio/sconnect.c | 128 + crypto/openssl/demos/bio/server-arg.c | 144 + crypto/openssl/demos/bio/server-cmod.c | 94 + crypto/openssl/demos/bio/server-conf.c | 139 + crypto/openssl/demos/bio/server-ec.pem | 17 + crypto/openssl/demos/bio/server.pem | 79 + crypto/openssl/demos/bio/shared.opt | 2 + crypto/openssl/demos/bio/static.opt | 2 + crypto/openssl/demos/certs/README.txt | 18 + crypto/openssl/demos/certs/apps/apps.cnf | 66 + crypto/openssl/demos/certs/apps/ckey.pem | 27 + crypto/openssl/demos/certs/apps/intkey.pem | 27 + crypto/openssl/demos/certs/apps/mkacerts.sh | 45 + crypto/openssl/demos/certs/apps/mkxcerts.sh | 29 + crypto/openssl/demos/certs/apps/rootkey.pem | 27 + crypto/openssl/demos/certs/apps/skey.pem | 27 + crypto/openssl/demos/certs/apps/skey2.pem | 27 + crypto/openssl/demos/certs/ca.cnf | 82 + crypto/openssl/demos/certs/mkcerts.sh | 96 + crypto/openssl/demos/certs/ocspquery.sh | 21 + crypto/openssl/demos/certs/ocsprun.sh | 14 + crypto/openssl/demos/cipher/Makefile | 27 + crypto/openssl/demos/cipher/aesccm.c | 238 + crypto/openssl/demos/cipher/aesgcm.c | 228 + crypto/openssl/demos/cipher/aeskeywrap.c | 181 + crypto/openssl/demos/cipher/ariacbc.c | 178 + crypto/openssl/demos/cms/cacert.pem | 29 + crypto/openssl/demos/cms/cakey.pem | 39 + crypto/openssl/demos/cms/cms_comp.c | 64 + crypto/openssl/demos/cms/cms_ddec.c | 88 + crypto/openssl/demos/cms/cms_dec.c | 78 + crypto/openssl/demos/cms/cms_denc.c | 97 + crypto/openssl/demos/cms/cms_enc.c | 92 + crypto/openssl/demos/cms/cms_sign.c | 88 + crypto/openssl/demos/cms/cms_sign2.c | 98 + crypto/openssl/demos/cms/cms_uncomp.c | 58 + crypto/openssl/demos/cms/cms_ver.c | 88 + crypto/openssl/demos/cms/comp.txt | 22 + crypto/openssl/demos/cms/encr.txt | 3 + crypto/openssl/demos/cms/sign.txt | 3 + crypto/openssl/demos/cms/signer.pem | 52 + crypto/openssl/demos/cms/signer2.pem | 52 + crypto/openssl/demos/digest/BIO_f_md.c | 122 + crypto/openssl/demos/digest/EVP_MD_demo.c | 183 + crypto/openssl/demos/digest/EVP_MD_stdin.c | 134 + crypto/openssl/demos/digest/EVP_MD_xof.c | 132 + crypto/openssl/demos/digest/Makefile | 23 + crypto/openssl/demos/encode/Makefile | 20 + crypto/openssl/demos/encode/ec_encode.c | 205 + crypto/openssl/demos/encode/rsa_encode.c | 202 + crypto/openssl/demos/kdf/Makefile | 22 + crypto/openssl/demos/kdf/hkdf.c | 104 + crypto/openssl/demos/kdf/pbkdf2.c | 117 + crypto/openssl/demos/kdf/scrypt.c | 120 + crypto/openssl/demos/keyexch/x25519.c | 278 + crypto/openssl/demos/mac/Makefile | 25 + crypto/openssl/demos/mac/cmac-aes256.c | 154 + crypto/openssl/demos/mac/gmac.c | 145 + crypto/openssl/demos/mac/hmac-sha512.c | 166 + crypto/openssl/demos/mac/poly1305.c | 209 + crypto/openssl/demos/mac/siphash.c | 129 + crypto/openssl/demos/pkcs12/pkread.c | 111 + crypto/openssl/demos/pkcs12/pkwrite.c | 53 + crypto/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c | 83 + .../demos/pkey/EVP_PKEY_DSA_paramfromdata.c | 75 + crypto/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c | 66 + .../demos/pkey/EVP_PKEY_DSA_paramvalidate.c | 202 + crypto/openssl/demos/pkey/EVP_PKEY_EC_keygen.c | 155 + crypto/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c | 289 + crypto/openssl/demos/pkey/Makefile | 37 + crypto/openssl/demos/pkey/dsa.inc | 172 + .../openssl/demos/signature/EVP_Signature_demo.c | 235 + .../openssl/demos/signature/EVP_Signature_demo.h | 76 + crypto/openssl/demos/signature/Makefile | 22 + crypto/openssl/demos/signature/rsa_pss.h | 256 + crypto/openssl/demos/signature/rsa_pss_direct.c | 204 + crypto/openssl/demos/signature/rsa_pss_hash.c | 189 + crypto/openssl/demos/smime/cacert.pem | 29 + crypto/openssl/demos/smime/cakey.pem | 39 + crypto/openssl/demos/smime/encr.txt | 3 + crypto/openssl/demos/smime/sign.txt | 3 + crypto/openssl/demos/smime/signer.pem | 52 + crypto/openssl/demos/smime/signer2.pem | 52 + crypto/openssl/demos/smime/smdec.c | 78 + crypto/openssl/demos/smime/smenc.c | 91 + crypto/openssl/demos/smime/smsign.c | 88 + crypto/openssl/demos/smime/smsign2.c | 96 + crypto/openssl/demos/smime/smver.c | 87 + crypto/openssl/doc/build.info | 30 + .../doc/images/openssl-square-nontransparent.png | Bin 0 -> 78086 bytes crypto/openssl/doc/images/openssl-square.svg | 49 + crypto/openssl/doc/images/openssl.svg | 88 +- crypto/openssl/doc/man1/openssl-pkeyutl.pod.in | 4 +- crypto/openssl/doc/man1/openssl-req.pod.in | 2 +- crypto/openssl/doc/man3/BIO_f_md.pod | 6 +- crypto/openssl/doc/man3/BN_add.pod | 5 + crypto/openssl/doc/man3/BN_mod_inverse.pod | 6 +- crypto/openssl/doc/man3/CMS_signed_get_attr.pod | 214 + crypto/openssl/doc/man3/EVP_EncryptInit.pod | 14 +- crypto/openssl/doc/man3/EVP_MAC.pod | 12 +- crypto/openssl/doc/man3/EVP_PKEY_get_attr.pod | 113 + crypto/openssl/doc/man3/OPENSSL_LH_COMPFUNC.pod | 65 +- crypto/openssl/doc/man3/OSSL_PARAM_int.pod | 2 +- crypto/openssl/doc/man3/PKCS12_create.pod | 14 +- .../doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod | 4 +- .../doc/man3/SSL_CTX_set_tmp_dh_callback.pod | 2 +- crypto/openssl/doc/man3/SSL_get_error.pod | 6 +- .../openssl/doc/man3/SSL_get_peer_certificate.pod | 9 +- crypto/openssl/doc/man3/X509_ATTRIBUTE.pod | 263 + crypto/openssl/doc/man3/X509_REQ_get_attr.pod | 111 + .../openssl/doc/man3/X509_REQ_get_extensions.pod | 50 + crypto/openssl/doc/man3/X509_dup.pod | 15 +- crypto/openssl/doc/man7/EVP_CIPHER-AES.pod | 13 + crypto/openssl/doc/man7/EVP_KDF-SS.pod | 6 +- crypto/openssl/doc/man7/EVP_MAC-BLAKE2.pod | 9 +- crypto/openssl/doc/man7/EVP_MAC-CMAC.pod | 2 +- crypto/openssl/doc/man7/EVP_MAC-HMAC.pod | 2 +- crypto/openssl/doc/man7/EVP_MAC-KMAC.pod | 14 +- crypto/openssl/doc/man7/EVP_MD-SHAKE.pod | 21 +- crypto/openssl/doc/man7/EVP_PKEY-RSA.pod | 2 +- crypto/openssl/doc/man7/EVP_RAND-SEED-SRC.pod | 3 +- crypto/openssl/doc/man7/provider-cipher.pod | 10 +- crypto/openssl/doc/man7/provider-keymgmt.pod | 4 +- crypto/openssl/doc/man7/provider-storemgmt.pod | 4 +- crypto/openssl/engines/e_afalg.ec | 3 + crypto/openssl/engines/e_capi.ec | 3 + crypto/openssl/engines/e_dasync.ec | 3 + crypto/openssl/engines/e_loader_attic.ec | 3 + crypto/openssl/engines/e_ossltest.ec | 3 + crypto/openssl/external/perl/Downloaded.txt | 14 + crypto/openssl/external/perl/MODULES.txt | 1 + .../external/perl/Text-Template-1.56/Changes | 301 + .../external/perl/Text-Template-1.56/INSTALL | 31 + .../external/perl/Text-Template-1.56/LICENSE | 379 + .../external/perl/Text-Template-1.56/MANIFEST | 34 + .../external/perl/Text-Template-1.56/META.json | 83 + .../external/perl/Text-Template-1.56/META.yml | 46 + .../external/perl/Text-Template-1.56/Makefile.PL | 71 + .../external/perl/Text-Template-1.56/README | 62 + .../external/perl/Text-Template-1.56/SIGNATURE | 65 + .../perl/Text-Template-1.56/lib/Text/Template.pm | 2363 + .../lib/Text/Template/Preprocess.pm | 157 + .../perl/Text-Template-1.56/t/author-pod-syntax.t | 15 + .../perl/Text-Template-1.56/t/author-signature.t | 21 + .../external/perl/Text-Template-1.56/t/basic.t | 179 + .../external/perl/Text-Template-1.56/t/broken.t | 66 + .../perl/Text-Template-1.56/t/delimiters.t | 83 + .../external/perl/Text-Template-1.56/t/error.t | 34 + .../external/perl/Text-Template-1.56/t/exported.t | 68 + .../external/perl/Text-Template-1.56/t/hash.t | 91 + .../perl/Text-Template-1.56/t/inline-comment.t | 17 + .../perl/Text-Template-1.56/t/nested-tags.t | 26 + .../external/perl/Text-Template-1.56/t/ofh.t | 33 + .../external/perl/Text-Template-1.56/t/out.t | 46 + .../external/perl/Text-Template-1.56/t/prepend.t | 78 + .../perl/Text-Template-1.56/t/preprocess.t | 43 + .../external/perl/Text-Template-1.56/t/rt29928.t | 26 + .../external/perl/Text-Template-1.56/t/safe.t | 135 + .../external/perl/Text-Template-1.56/t/safe2.t | 94 + .../external/perl/Text-Template-1.56/t/safe3.t | 80 + .../external/perl/Text-Template-1.56/t/strict.t | 46 + .../external/perl/Text-Template-1.56/t/taint.t | 112 + .../perl/Text-Template-1.56/t/template-encoding.t | 47 + .../external/perl/Text-Template-1.56/t/warnings.t | 46 + crypto/openssl/fuzz/README.md | 175 + crypto/openssl/fuzz/asn1.c | 375 + crypto/openssl/fuzz/asn1parse.c | 45 + crypto/openssl/fuzz/bignum.c | 109 + crypto/openssl/fuzz/bndiv.c | 131 + crypto/openssl/fuzz/build.info | 146 + crypto/openssl/fuzz/client.c | 108 + crypto/openssl/fuzz/cmp.c | 203 + crypto/openssl/fuzz/cms.c | 55 + crypto/openssl/fuzz/conf.c | 48 + crypto/openssl/fuzz/crl.c | 47 + crypto/openssl/fuzz/ct.c | 51 + crypto/openssl/fuzz/driver.c | 55 + crypto/openssl/fuzz/fuzz_rand.c | 168 + crypto/openssl/fuzz/fuzzer.h | 16 + crypto/openssl/fuzz/helper.py | 52 + crypto/openssl/fuzz/mkfuzzoids.pl | 42 + crypto/openssl/fuzz/oids.txt | 1113 + crypto/openssl/fuzz/server.c | 659 + crypto/openssl/fuzz/test-corpus.c | 104 + crypto/openssl/fuzz/x509.c | 153 + crypto/openssl/include/crypto/dherr.h | 2 +- crypto/openssl/include/crypto/x509.h | 19 +- crypto/openssl/include/internal/ffc.h | 9 +- crypto/openssl/include/internal/refcount.h | 4 +- crypto/openssl/include/openssl/bio.h.in | 2 +- crypto/openssl/include/openssl/conferr.h | 1 + crypto/openssl/include/openssl/dh.h | 6 +- crypto/openssl/include/openssl/dherr.h | 3 +- crypto/openssl/ms/applink.c | 144 + crypto/openssl/ms/cmp.pl | 53 + crypto/openssl/ms/uplink-common.pl | 28 + crypto/openssl/ms/uplink-ia64.pl | 60 + crypto/openssl/ms/uplink-x86.pl | 43 + crypto/openssl/ms/uplink-x86_64.pl | 74 + crypto/openssl/ms/uplink.c | 150 + crypto/openssl/ms/uplink.h | 38 + crypto/openssl/os-dep/haiku.h | 11 + crypto/openssl/providers/fips-sources.checksums | 66 +- crypto/openssl/providers/fips.checksum | 2 +- .../implementations/asymciphers/rsa_enc.c | 1 + .../providers/implementations/ciphers/cipher_aes.h | 3 +- .../ciphers/cipher_aes_cbc_hmac_sha.c | 20 +- .../implementations/ciphers/cipher_aes_ccm.c | 22 +- .../implementations/ciphers/cipher_aes_gcm.c | 17 +- .../ciphers/cipher_aes_hw_s390x.inc | 12 +- .../implementations/ciphers/cipher_aes_ocb.c | 5 +- .../implementations/ciphers/cipher_aes_wrp.c | 23 +- .../implementations/ciphers/cipher_aria_ccm.c | 17 +- .../implementations/ciphers/cipher_aria_gcm.c | 17 +- .../ciphers/cipher_chacha20_poly1305.c | 23 +- .../providers/implementations/ciphers/cipher_des.c | 1 + .../implementations/ciphers/cipher_rc4_hmac_md5.c | 13 +- .../implementations/ciphers/cipher_tdes_common.c | 1 + .../implementations/ciphers/ciphercommon.c | 33 +- .../implementations/ciphers/ciphercommon_ccm.c | 5 +- .../implementations/ciphers/ciphercommon_gcm.c | 7 +- .../implementations/digests/blake2b_prov.c | 6 +- .../implementations/digests/blake2s_prov.c | 6 +- .../implementations/encode_decode/encode_key2any.c | 12 +- .../implementations/include/prov/ciphercommon.h | 1 + .../include/prov/ciphercommon_aead.h | 7 +- .../providers/implementations/kdfs/pbkdf1.c | 8 +- .../providers/implementations/macs/cmac_prov.c | 6 +- .../providers/implementations/signature/rsa_sig.c | 1 + .../providers/implementations/signature/sm2_sig.c | 9 + crypto/openssl/ssl/d1_lib.c | 17 + crypto/openssl/ssl/record/rec_layer_s3.c | 6 +- crypto/openssl/ssl/s3_enc.c | 6 +- crypto/openssl/ssl/s3_lib.c | 4 + crypto/openssl/ssl/ssl_ciph.c | 3 +- crypto/openssl/ssl/ssl_conf.c | 24 +- crypto/openssl/ssl/ssl_lib.c | 30 +- crypto/openssl/ssl/ssl_mcnf.c | 18 +- crypto/openssl/ssl/statem/extensions_cust.c | 7 + crypto/openssl/ssl/statem/statem_dtls.c | 8 +- crypto/openssl/ssl/t1_enc.c | 7 +- crypto/openssl/test/CAtsa.cnf | 164 + crypto/openssl/test/README-dev.md | 160 + crypto/openssl/test/README-external.md | 116 + crypto/openssl/test/README.md | 170 + crypto/openssl/test/README.ssltest.md | 285 + crypto/openssl/test/aborttest.c | 16 + crypto/openssl/test/acvp_test.c | 1502 + crypto/openssl/test/acvp_test.inc | 2035 + crypto/openssl/test/aesgcmtest.c | 136 + crypto/openssl/test/afalgtest.c | 160 + crypto/openssl/test/algorithmid_test.c | 328 + crypto/openssl/test/asn1_decode_test.c | 235 + crypto/openssl/test/asn1_dsa_internal_test.c | 184 + crypto/openssl/test/asn1_encode_test.c | 908 + crypto/openssl/test/asn1_internal_test.c | 200 + crypto/openssl/test/asn1_stable_parse_test.c | 81 + crypto/openssl/test/asn1_string_table_test.c | 77 + crypto/openssl/test/asn1_time_test.c | 418 + crypto/openssl/test/asynciotest.c | 417 + crypto/openssl/test/asynctest.c | 435 + crypto/openssl/test/bad_dtls_test.c | 607 + crypto/openssl/test/bftest.c | 487 + crypto/openssl/test/bio_callback_test.c | 360 + crypto/openssl/test/bio_core_test.c | 119 + crypto/openssl/test/bio_enc_test.c | 266 + crypto/openssl/test/bio_memleak_test.c | 291 + crypto/openssl/test/bio_prefix_text.c | 267 + crypto/openssl/test/bio_readbuffer_test.c | 131 + crypto/openssl/test/bioprinttest.c | 362 + crypto/openssl/test/bn_internal_test.c | 105 + crypto/openssl/test/bn_rand_range.h | 58 + crypto/openssl/test/bntest.c | 3195 + crypto/openssl/test/bntests.pl | 156 + crypto/openssl/test/build.info | 976 + crypto/openssl/test/ca-and-certs.cnf | 89 + crypto/openssl/test/casttest.c | 118 + crypto/openssl/test/certs/alt1-cert.pem | 21 + crypto/openssl/test/certs/alt1-key.pem | 28 + crypto/openssl/test/certs/alt2-cert.pem | 20 + crypto/openssl/test/certs/alt2-key.pem | 28 + crypto/openssl/test/certs/alt3-cert.pem | 21 + crypto/openssl/test/certs/alt3-key.pem | 28 + crypto/openssl/test/certs/bad-othername-cert.pem | 20 + .../test/certs/bad-othername-namec-inter.pem | 17 + .../openssl/test/certs/bad-othername-namec-key.pem | 27 + crypto/openssl/test/certs/bad-othername-namec.pem | 18 + crypto/openssl/test/certs/bad-pc3-cert.pem | 21 + crypto/openssl/test/certs/bad-pc3-key.pem | 28 + crypto/openssl/test/certs/bad-pc4-cert.pem | 21 + crypto/openssl/test/certs/bad-pc4-key.pem | 28 + crypto/openssl/test/certs/bad-pc6-cert.pem | 21 + crypto/openssl/test/certs/bad-pc6-key.pem | 28 + crypto/openssl/test/certs/bad.key | 27 + crypto/openssl/test/certs/bad.pem | 21 + crypto/openssl/test/certs/badalt1-cert.pem | 20 + crypto/openssl/test/certs/badalt1-key.pem | 28 + crypto/openssl/test/certs/badalt10-cert.pem | 21 + crypto/openssl/test/certs/badalt10-key.pem | 28 + crypto/openssl/test/certs/badalt2-cert.pem | 20 + crypto/openssl/test/certs/badalt2-key.pem | 28 + crypto/openssl/test/certs/badalt3-cert.pem | 21 + crypto/openssl/test/certs/badalt3-key.pem | 28 + crypto/openssl/test/certs/badalt4-cert.pem | 21 + crypto/openssl/test/certs/badalt4-key.pem | 28 + crypto/openssl/test/certs/badalt5-cert.pem | 20 + crypto/openssl/test/certs/badalt5-key.pem | 28 + crypto/openssl/test/certs/badalt6-cert.pem | 21 + crypto/openssl/test/certs/badalt6-key.pem | 28 + crypto/openssl/test/certs/badalt7-cert.pem | 22 + crypto/openssl/test/certs/badalt7-key.pem | 28 + crypto/openssl/test/certs/badalt8-cert.pem | 21 + crypto/openssl/test/certs/badalt8-key.pem | 28 + crypto/openssl/test/certs/badalt9-cert.pem | 21 + crypto/openssl/test/certs/badalt9-key.pem | 28 + crypto/openssl/test/certs/badcn1-cert.pem | 20 + crypto/openssl/test/certs/badcn1-key.pem | 28 + crypto/openssl/test/certs/ca+anyEKU.pem | 18 + crypto/openssl/test/certs/ca+clientAuth.pem | 18 + crypto/openssl/test/certs/ca+serverAuth.pem | 18 + crypto/openssl/test/certs/ca-anyEKU.pem | 18 + crypto/openssl/test/certs/ca-cert-768.pem | 15 + crypto/openssl/test/certs/ca-cert-768i.pem | 15 + crypto/openssl/test/certs/ca-cert-ec-explicit.pem | 19 + crypto/openssl/test/certs/ca-cert-ec-named.pem | 14 + crypto/openssl/test/certs/ca-cert-md5-any.pem | 19 + crypto/openssl/test/certs/ca-cert-md5.pem | 18 + crypto/openssl/test/certs/ca-cert.pem | 18 + crypto/openssl/test/certs/ca-cert2.pem | 18 + crypto/openssl/test/certs/ca-clientAuth.pem | 18 + crypto/openssl/test/certs/ca-expired.pem | 18 + crypto/openssl/test/certs/ca-key-768.pem | 13 + crypto/openssl/test/certs/ca-key-ec-explicit.pem | 10 + crypto/openssl/test/certs/ca-key-ec-named.pem | 5 + crypto/openssl/test/certs/ca-key.pem | 28 + crypto/openssl/test/certs/ca-key2.pem | 28 + crypto/openssl/test/certs/ca-name2.pem | 19 + crypto/openssl/test/certs/ca-nonbc.pem | 18 + crypto/openssl/test/certs/ca-nonca.pem | 19 + crypto/openssl/test/certs/ca-pol-cert.pem | 19 + crypto/openssl/test/certs/ca-pss-cert.pem | 21 + crypto/openssl/test/certs/ca-pss-key.pem | 28 + crypto/openssl/test/certs/ca-root2.pem | 18 + crypto/openssl/test/certs/ca-serverAuth.pem | 18 + crypto/openssl/test/certs/cca+anyEKU.pem | 19 + crypto/openssl/test/certs/cca+clientAuth.pem | 19 + crypto/openssl/test/certs/cca+serverAuth.pem | 19 + crypto/openssl/test/certs/cca-anyEKU.pem | 19 + crypto/openssl/test/certs/cca-cert.pem | 19 + crypto/openssl/test/certs/cca-clientAuth.pem | 19 + crypto/openssl/test/certs/cca-serverAuth.pem | 19 + crypto/openssl/test/certs/cert-key-cert.pem | 90 + crypto/openssl/test/certs/client-ed25519-cert.pem | 32 + crypto/openssl/test/certs/client-ed25519-key.pem | 3 + crypto/openssl/test/certs/client-ed448-cert.pem | 15 + crypto/openssl/test/certs/client-ed448-key.pem | 4 + crypto/openssl/test/certs/croot+anyEKU.pem | 19 + crypto/openssl/test/certs/croot+clientAuth.pem | 19 + crypto/openssl/test/certs/croot+serverAuth.pem | 19 + crypto/openssl/test/certs/croot-anyEKU.pem | 19 + crypto/openssl/test/certs/croot-cert.pem | 19 + crypto/openssl/test/certs/croot-clientAuth.pem | 19 + crypto/openssl/test/certs/croot-serverAuth.pem | 19 + crypto/openssl/test/certs/cross-key.pem | 28 + crypto/openssl/test/certs/cross-root.pem | 18 + crypto/openssl/test/certs/ct-server-key-public.pem | 4 + crypto/openssl/test/certs/ct-server-key.pem | 5 + crypto/openssl/test/certs/cyrillic.msb | 79 + crypto/openssl/test/certs/cyrillic.pem | 22 + crypto/openssl/test/certs/cyrillic.utf8 | 79 + crypto/openssl/test/certs/cyrillic_crl.pem | 13 + crypto/openssl/test/certs/cyrillic_crl.utf8 | 40 + crypto/openssl/test/certs/dhk2048.pem | 14 + crypto/openssl/test/certs/dhp2048.pem | 8 + .../openssl/test/certs/ec_privkey_with_chain.pem | 74 + crypto/openssl/test/certs/ee+clientAuth.pem | 20 + crypto/openssl/test/certs/ee+serverAuth.pem | 20 + crypto/openssl/test/certs/ee-cert-1024.pem | 16 + crypto/openssl/test/certs/ee-cert-3072.pem | 22 + crypto/openssl/test/certs/ee-cert-4096.pem | 25 + crypto/openssl/test/certs/ee-cert-768.pem | 16 + crypto/openssl/test/certs/ee-cert-768i.pem | 16 + crypto/openssl/test/certs/ee-cert-8192.pem | 35 + .../test/certs/ee-cert-crit-unknown-ext.pem | 20 + crypto/openssl/test/certs/ee-cert-ec-explicit.pem | 16 + .../test/certs/ee-cert-ec-named-explicit.pem | 11 + .../openssl/test/certs/ee-cert-ec-named-named.pem | 11 + crypto/openssl/test/certs/ee-cert-md5.pem | 19 + .../test/certs/ee-cert-noncrit-unknown-ext.pem | 20 + crypto/openssl/test/certs/ee-cert-ocsp-nocheck.pem | 20 + crypto/openssl/test/certs/ee-cert-policies-bad.pem | 20 + crypto/openssl/test/certs/ee-cert-policies.pem | 20 + crypto/openssl/test/certs/ee-cert.pem | 19 + crypto/openssl/test/certs/ee-cert2.pem | 19 + crypto/openssl/test/certs/ee-client-chain.pem | 37 + crypto/openssl/test/certs/ee-client.pem | 19 + crypto/openssl/test/certs/ee-clientAuth.pem | 20 + .../openssl/test/certs/ee-ecdsa-client-chain.pem | 33 + crypto/openssl/test/certs/ee-ecdsa-key.pem | 5 + crypto/openssl/test/certs/ee-ed25519.pem | 38 + crypto/openssl/test/certs/ee-expired.pem | 19 + crypto/openssl/test/certs/ee-key-1024.pem | 16 + crypto/openssl/test/certs/ee-key-3072.pem | 40 + crypto/openssl/test/certs/ee-key-4096.pem | 52 + crypto/openssl/test/certs/ee-key-768.pem | 13 + crypto/openssl/test/certs/ee-key-8192.pem | 100 + crypto/openssl/test/certs/ee-key-ec-explicit.pem | 10 + .../test/certs/ee-key-ec-named-explicit.pem | 5 + .../openssl/test/certs/ee-key-ec-named-named.pem | 5 + crypto/openssl/test/certs/ee-key.pem | 28 + crypto/openssl/test/certs/ee-name2.pem | 19 + crypto/openssl/test/certs/ee-pathlen.pem | 18 + crypto/openssl/test/certs/ee-pss-cert.pem | 21 + crypto/openssl/test/certs/ee-pss-sha1-cert.pem | 19 + crypto/openssl/test/certs/ee-pss-sha256-cert.pem | 21 + crypto/openssl/test/certs/ee-pss-wrong1.5-cert.pem | 19 + crypto/openssl/test/certs/ee-self-signed.pem | 18 + crypto/openssl/test/certs/ee-serverAuth.pem | 20 + .../openssl/test/certs/ee-ss-with-keyCertSign.pem | 19 + crypto/openssl/test/certs/embeddedSCTs1-key.pem | 27 + crypto/openssl/test/certs/embeddedSCTs1.pem | 24 + crypto/openssl/test/certs/embeddedSCTs1.sct | 12 + crypto/openssl/test/certs/embeddedSCTs1.tlssct | Bin 0 -> 118 bytes .../test/certs/embeddedSCTs1_issuer-key.pem | 27 + crypto/openssl/test/certs/embeddedSCTs1_issuer.pem | 23 + crypto/openssl/test/certs/embeddedSCTs3.pem | 44 + crypto/openssl/test/certs/embeddedSCTs3.sct | 36 + crypto/openssl/test/certs/embeddedSCTs3_issuer.pem | 35 + crypto/openssl/test/certs/ext-check.csr | 18 + crypto/openssl/test/certs/fake-gp.pem | 36 + crypto/openssl/test/certs/goodcn1-cert.pem | 22 + crypto/openssl/test/certs/goodcn1-key.pem | 28 + crypto/openssl/test/certs/goodcn2-cert.pem | 19 + crypto/openssl/test/certs/goodcn2-chain.pem | 40 + crypto/openssl/test/certs/goodcn2-key.pem | 28 + crypto/openssl/test/certs/grfc.pem | 30 + crypto/openssl/test/certs/interCA.key | 27 + crypto/openssl/test/certs/interCA.pem | 21 + crypto/openssl/test/certs/invalid-cert.pem | 19 + crypto/openssl/test/certs/key-pass-12345.pem | 30 + crypto/openssl/test/certs/leaf-chain.pem | 84 + crypto/openssl/test/certs/leaf-encrypted.key | 30 + crypto/openssl/test/certs/leaf.key | 27 + crypto/openssl/test/certs/leaf.pem | 21 + crypto/openssl/test/certs/many-constraints.pem | 292 + crypto/openssl/test/certs/many-names1.pem | 409 + crypto/openssl/test/certs/many-names2.pem | 251 + crypto/openssl/test/certs/many-names3.pem | 571 + crypto/openssl/test/certs/mkcert.sh | 411 + crypto/openssl/test/certs/nca+anyEKU.pem | 19 + crypto/openssl/test/certs/nca+serverAuth.pem | 19 + crypto/openssl/test/certs/ncca-cert.pem | 21 + crypto/openssl/test/certs/ncca-key.pem | 28 + crypto/openssl/test/certs/ncca1-cert.pem | 21 + crypto/openssl/test/certs/ncca1-key.pem | 28 + crypto/openssl/test/certs/ncca2-cert.pem | 20 + crypto/openssl/test/certs/ncca2-key.pem | 28 + crypto/openssl/test/certs/ncca3-cert.pem | 20 + crypto/openssl/test/certs/ncca3-key.pem | 28 + crypto/openssl/test/certs/nccaothername-cert.pem | 20 + crypto/openssl/test/certs/nccaothername-key.pem | 28 + crypto/openssl/test/certs/nroot+anyEKU.pem | 19 + crypto/openssl/test/certs/nroot+serverAuth.pem | 19 + crypto/openssl/test/certs/p256-server-cert.pem | 12 + crypto/openssl/test/certs/p256-server-key.pem | 5 + crypto/openssl/test/certs/p384-root-key.pem | 6 + crypto/openssl/test/certs/p384-root.pem | 12 + crypto/openssl/test/certs/p384-server-cert.pem | 13 + crypto/openssl/test/certs/p384-server-key.pem | 6 + crypto/openssl/test/certs/pathlen.pem | 22 + crypto/openssl/test/certs/pc1-cert.pem | 20 + crypto/openssl/test/certs/pc1-key.pem | 28 + crypto/openssl/test/certs/pc2-cert.pem | 21 + crypto/openssl/test/certs/pc2-key.pem | 28 + crypto/openssl/test/certs/pc5-cert.pem | 21 + crypto/openssl/test/certs/pc5-key.pem | 28 + crypto/openssl/test/certs/pkitsta.pem | 20 + crypto/openssl/test/certs/root+anyEKU.pem | 18 + crypto/openssl/test/certs/root+clientAuth.pem | 19 + crypto/openssl/test/certs/root+serverAuth.pem | 19 + crypto/openssl/test/certs/root-anyEKU.pem | 18 + crypto/openssl/test/certs/root-cert-768.pem | 12 + crypto/openssl/test/certs/root-cert-md5.pem | 19 + crypto/openssl/test/certs/root-cert-rsa2.pem | 18 + crypto/openssl/test/certs/root-cert.pem | 19 + crypto/openssl/test/certs/root-cert2.pem | 19 + crypto/openssl/test/certs/root-clientAuth.pem | 19 + crypto/openssl/test/certs/root-cross-cert.pem | 18 + crypto/openssl/test/certs/root-ed25519.pem | 40 + crypto/openssl/test/certs/root-ed25519.privkey.pem | 3 + crypto/openssl/test/certs/root-ed25519.pubkey.pem | 3 + crypto/openssl/test/certs/root-ed448-cert.pem | 11 + crypto/openssl/test/certs/root-ed448-key.pem | 4 + crypto/openssl/test/certs/root-expired.pem | 19 + crypto/openssl/test/certs/root-key-768.pem | 13 + crypto/openssl/test/certs/root-key.pem | 28 + crypto/openssl/test/certs/root-key2.pem | 28 + crypto/openssl/test/certs/root-name2.pem | 19 + crypto/openssl/test/certs/root-nonca.pem | 19 + crypto/openssl/test/certs/root-noserver.pem | 19 + crypto/openssl/test/certs/root-serverAuth.pem | 19 + crypto/openssl/test/certs/root2+clientAuth.pem | 19 + crypto/openssl/test/certs/root2+serverAuth.pem | 19 + crypto/openssl/test/certs/root2-serverAuth.pem | 19 + crypto/openssl/test/certs/rootCA.key | 27 + crypto/openssl/test/certs/rootCA.pem | 79 + crypto/openssl/test/certs/rootcert.pem | 18 + crypto/openssl/test/certs/rootkey.pem | 28 + crypto/openssl/test/certs/roots.pem | 42 + crypto/openssl/test/certs/sca+anyEKU.pem | 19 + crypto/openssl/test/certs/sca+clientAuth.pem | 19 + crypto/openssl/test/certs/sca+serverAuth.pem | 19 + crypto/openssl/test/certs/sca-anyEKU.pem | 19 + crypto/openssl/test/certs/sca-cert.pem | 19 + crypto/openssl/test/certs/sca-clientAuth.pem | 19 + crypto/openssl/test/certs/sca-serverAuth.pem | 19 + crypto/openssl/test/certs/server-cecdsa-cert.pem | 15 + crypto/openssl/test/certs/server-cecdsa-key.pem | 4 + crypto/openssl/test/certs/server-dsa-cert.pem | 31 + crypto/openssl/test/certs/server-dsa-key.pem | 15 + crypto/openssl/test/certs/server-dsa-pubkey.pem | 20 + .../certs/server-ecdsa-brainpoolP256r1-cert.pem | 16 + .../certs/server-ecdsa-brainpoolP256r1-key.pem | 5 + crypto/openssl/test/certs/server-ecdsa-cert.pem | 15 + crypto/openssl/test/certs/server-ecdsa-key.pem | 5 + crypto/openssl/test/certs/server-ed25519-cert.pem | 14 + crypto/openssl/test/certs/server-ed25519-key.pem | 3 + crypto/openssl/test/certs/server-ed448-cert.pem | 11 + crypto/openssl/test/certs/server-ed448-key.pem | 4 + crypto/openssl/test/certs/server-pss-cert.pem | 19 + crypto/openssl/test/certs/server-pss-key.pem | 28 + .../test/certs/server-pss-restrict-cert.pem | 21 + .../openssl/test/certs/server-pss-restrict-key.pem | 29 + crypto/openssl/test/certs/server-trusted.pem | 20 + crypto/openssl/test/certs/servercert.pem | 19 + crypto/openssl/test/certs/serverkey.pem | 28 + crypto/openssl/test/certs/setup.sh | 448 + crypto/openssl/test/certs/sm2-ca-cert.pem | 14 + crypto/openssl/test/certs/sm2-csr.pem | 9 + crypto/openssl/test/certs/sm2-pub.key | 4 + crypto/openssl/test/certs/sm2-root.crt | 14 + crypto/openssl/test/certs/sm2-root.key | 5 + crypto/openssl/test/certs/sm2.key | 5 + crypto/openssl/test/certs/sm2.pem | 14 + crypto/openssl/test/certs/some-names1.pem | 211 + crypto/openssl/test/certs/some-names2.pem | 133 + crypto/openssl/test/certs/some-names3.pem | 293 + crypto/openssl/test/certs/sroot+anyEKU.pem | 19 + crypto/openssl/test/certs/sroot+clientAuth.pem | 19 + crypto/openssl/test/certs/sroot+serverAuth.pem | 19 + crypto/openssl/test/certs/sroot-anyEKU.pem | 19 + crypto/openssl/test/certs/sroot-cert.pem | 19 + crypto/openssl/test/certs/sroot-clientAuth.pem | 19 + crypto/openssl/test/certs/sroot-serverAuth.pem | 19 + crypto/openssl/test/certs/subinterCA-ss.pem | 21 + crypto/openssl/test/certs/subinterCA.key | 27 + crypto/openssl/test/certs/subinterCA.pem | 21 + crypto/openssl/test/certs/untrusted.pem | 42 + crypto/openssl/test/certs/v3-certs-RC2.p12 | Bin 0 -> 1568 bytes crypto/openssl/test/certs/v3-certs-TDES.p12 | Bin 0 -> 1568 bytes crypto/openssl/test/certs/wrongcert.pem | 19 + crypto/openssl/test/certs/wrongkey.pem | 28 + crypto/openssl/test/certs/x509-check-key.pem | 28 + crypto/openssl/test/certs/x509-check.csr | 15 + crypto/openssl/test/chacha_internal_test.c | 190 + crypto/openssl/test/cipher_overhead_test.c | 62 + crypto/openssl/test/cipherbytes_test.c | 149 + crypto/openssl/test/cipherlist_test.c | 253 + crypto/openssl/test/ciphername_test.c | 470 + crypto/openssl/test/clienthellotest.c | 269 + crypto/openssl/test/cmactest.c | 216 + crypto/openssl/test/cmp_asn_test.c | 136 + crypto/openssl/test/cmp_client_test.c | 555 + crypto/openssl/test/cmp_ctx_test.c | 896 + crypto/openssl/test/cmp_hdr_test.c | 494 + crypto/openssl/test/cmp_msg_test.c | 598 + crypto/openssl/test/cmp_protect_test.c | 621 + crypto/openssl/test/cmp_server_test.c | 172 + crypto/openssl/test/cmp_status_test.c | 112 + crypto/openssl/test/cmp_vfy_test.c | 706 + crypto/openssl/test/cms-examples.pl | 365 + crypto/openssl/test/cmsapitest.c | 412 + crypto/openssl/test/conf_include_test.c | 238 + crypto/openssl/test/confdump.c | 51 + crypto/openssl/test/constant_time_test.c | 414 + crypto/openssl/test/context_internal_test.c | 137 + crypto/openssl/test/crltest.c | 413 + crypto/openssl/test/ct/log_list.cnf | 41 + crypto/openssl/test/ct/tls1.sct | 12 + crypto/openssl/test/ct_test.c | 527 + crypto/openssl/test/ctype_internal_test.c | 90 + crypto/openssl/test/curve448_internal_test.c | 737 + crypto/openssl/test/d2i-tests/bad-cms.der | 1 + crypto/openssl/test/d2i-tests/bad-int-pad0.der | Bin 0 -> 4 bytes .../openssl/test/d2i-tests/bad-int-padminus1.der | 1 + crypto/openssl/test/d2i-tests/bad_bio.der | Bin 0 -> 7 bytes crypto/openssl/test/d2i-tests/bad_cert.der | Bin 0 -> 1007 bytes crypto/openssl/test/d2i-tests/bad_generalname.der | 1 + crypto/openssl/test/d2i-tests/high_tag.der | Bin 0 -> 6 bytes crypto/openssl/test/d2i-tests/int0.der | Bin 0 -> 3 bytes crypto/openssl/test/d2i-tests/int1.der | 1 + crypto/openssl/test/d2i-tests/intminus1.der | 1 + crypto/openssl/test/d2i_test.c | 169 + crypto/openssl/test/dane-cross.in | 113 + crypto/openssl/test/danetest.c | 430 + crypto/openssl/test/danetest.in | 2007 + crypto/openssl/test/danetest.pem | 14 + crypto/openssl/test/data.bin | 4 + crypto/openssl/test/data2.bin | 61 + crypto/openssl/test/default-and-fips.cnf | 16 + crypto/openssl/test/default-and-legacy.cnf | 17 + crypto/openssl/test/default.cnf | 13 + crypto/openssl/test/defltfips_test.c | 108 + crypto/openssl/test/destest.c | 895 + crypto/openssl/test/dhtest.c | 954 + crypto/openssl/test/drbgtest.c | 906 + crypto/openssl/test/dsa_no_digest_size_test.c | 251 + crypto/openssl/test/dsatest.c | 501 + crypto/openssl/test/dtls_mtu_test.c | 242 + crypto/openssl/test/dtlstest.c | 612 + crypto/openssl/test/dtlsv1listentest.c | 357 + crypto/openssl/test/ec_internal_test.c | 462 + crypto/openssl/test/ecdsatest.c | 399 + crypto/openssl/test/ecdsatest.h | 10214 +++ crypto/openssl/test/ecstresstest.c | 156 + crypto/openssl/test/ectest.c | 3044 + crypto/openssl/test/endecode_test.c | 1502 + crypto/openssl/test/endecoder_legacy_test.c | 731 + crypto/openssl/test/enginetest.c | 465 + crypto/openssl/test/errtest.c | 348 + crypto/openssl/test/evp_extra_test.c | 5480 ++ crypto/openssl/test/evp_extra_test2.c | 1295 + crypto/openssl/test/evp_fetch_prov_test.c | 392 + crypto/openssl/test/evp_kdf_test.c | 1738 + crypto/openssl/test/evp_libctx_test.c | 766 + crypto/openssl/test/evp_pkey_ctx_new_from_name.c | 14 + crypto/openssl/test/evp_pkey_dparams_test.c | 324 + crypto/openssl/test/evp_pkey_provided_test.c | 1786 + crypto/openssl/test/evp_test.c | 4174 + crypto/openssl/test/exdatatest.c | 319 + crypto/openssl/test/exptest.c | 337 + crypto/openssl/test/ext_internal_test.c | 105 + crypto/openssl/test/fake_rsaprov.c | 531 + crypto/openssl/test/fake_rsaprov.h | 15 + crypto/openssl/test/fatalerrtest.c | 101 + crypto/openssl/test/ffc_internal_test.c | 711 + crypto/openssl/test/filterprov.c | 238 + crypto/openssl/test/filterprov.h | 14 + crypto/openssl/test/fips-alt.cnf | 16 + crypto/openssl/test/fips-and-base.cnf | 16 + crypto/openssl/test/fips.cnf | 19 + crypto/openssl/test/fips_version_test.c | 78 + crypto/openssl/test/generate_buildtest.pl | 34 + crypto/openssl/test/generate_ssl_tests.pl | 155 + crypto/openssl/test/gmdifftest.c | 67 + crypto/openssl/test/helpers/cmp_testlib.c | 81 + crypto/openssl/test/helpers/cmp_testlib.h | 32 + crypto/openssl/test/helpers/handshake.c | 1750 + crypto/openssl/test/helpers/handshake.h | 98 + crypto/openssl/test/helpers/handshake_srp.c | 87 + crypto/openssl/test/helpers/pkcs12.c | 789 + crypto/openssl/test/helpers/pkcs12.h | 103 + crypto/openssl/test/helpers/predefined_dhparams.c | 194 + crypto/openssl/test/helpers/predefined_dhparams.h | 18 + crypto/openssl/test/helpers/ssl_test_ctx.c | 903 + crypto/openssl/test/helpers/ssl_test_ctx.h | 259 + crypto/openssl/test/helpers/ssltestlib.c | 1184 + crypto/openssl/test/helpers/ssltestlib.h | 62 + crypto/openssl/test/hexstr_test.c | 134 + crypto/openssl/test/hmactest.c | 302 + crypto/openssl/test/http_test.c | 395 + crypto/openssl/test/ideatest.c | 126 + crypto/openssl/test/igetest.c | 462 + crypto/openssl/test/insta.priv.pem | 27 + crypto/openssl/test/insta_ca.cert.pem | 22 + crypto/openssl/test/invalid-x509.cnf | 6 + crypto/openssl/test/keymgmt_internal_test.c | 358 + crypto/openssl/test/legacy.cnf | 13 + crypto/openssl/test/lhash_test.c | 249 + crypto/openssl/test/localetest.c | 136 + crypto/openssl/test/mdc2_internal_test.c | 77 + crypto/openssl/test/mdc2test.c | 95 + crypto/openssl/test/memleaktest.c | 62 + crypto/openssl/test/modes_internal_test.c | 899 + crypto/openssl/test/moduleloadtest.c | 53 + crypto/openssl/test/namemap_internal_test.c | 183 + crypto/openssl/test/nodefltctxtest.c | 60 + crypto/openssl/test/null.cnf | 13 + crypto/openssl/test/ocsp-tests/D1.ors | 32 + crypto/openssl/test/ocsp-tests/D1_Cert_EE.pem | 38 + crypto/openssl/test/ocsp-tests/D1_Issuer_ICA.pem | 27 + crypto/openssl/test/ocsp-tests/D2.ors | 32 + crypto/openssl/test/ocsp-tests/D2_Cert_ICA.pem | 26 + crypto/openssl/test/ocsp-tests/D2_Issuer_Root.pem | 21 + crypto/openssl/test/ocsp-tests/D3.ors | 38 + crypto/openssl/test/ocsp-tests/D3_Cert_EE.pem | 31 + crypto/openssl/test/ocsp-tests/D3_Issuer_Root.pem | 83 + crypto/openssl/test/ocsp-tests/ISDOSC_D1.ors | 32 + crypto/openssl/test/ocsp-tests/ISDOSC_D2.ors | 32 + crypto/openssl/test/ocsp-tests/ISDOSC_D3.ors | 38 + .../openssl/test/ocsp-tests/ISIC_D1_Issuer_ICA.pem | 27 + .../test/ocsp-tests/ISIC_D2_Issuer_Root.pem | 21 + .../test/ocsp-tests/ISIC_D3_Issuer_Root.pem | 41 + .../test/ocsp-tests/ISIC_ND1_Issuer_ICA.pem | 29 + .../test/ocsp-tests/ISIC_ND2_Issuer_Root.pem | 23 + .../test/ocsp-tests/ISIC_ND3_Issuer_Root.pem | 25 + crypto/openssl/test/ocsp-tests/ISOP_D1.ors | 32 + crypto/openssl/test/ocsp-tests/ISOP_D2.ors | 32 + crypto/openssl/test/ocsp-tests/ISOP_D3.ors | 38 + crypto/openssl/test/ocsp-tests/ISOP_ND1.ors | 10 + crypto/openssl/test/ocsp-tests/ISOP_ND2.ors | 10 + crypto/openssl/test/ocsp-tests/ISOP_ND3.ors | 10 + crypto/openssl/test/ocsp-tests/ND1.ors | 10 + crypto/openssl/test/ocsp-tests/ND1_Cert_EE.pem | 36 + crypto/openssl/test/ocsp-tests/ND1_Cross_Root.pem | 25 + .../test/ocsp-tests/ND1_Issuer_ICA-Cross.pem | 58 + crypto/openssl/test/ocsp-tests/ND1_Issuer_ICA.pem | 29 + crypto/openssl/test/ocsp-tests/ND2.ors | 10 + crypto/openssl/test/ocsp-tests/ND2_Cert_ICA.pem | 29 + crypto/openssl/test/ocsp-tests/ND2_Issuer_Root.pem | 23 + crypto/openssl/test/ocsp-tests/ND3.ors | 10 + crypto/openssl/test/ocsp-tests/ND3_Cert_EE.pem | 34 + crypto/openssl/test/ocsp-tests/ND3_Issuer_Root.pem | 25 + crypto/openssl/test/ocsp-tests/WIKH_D1.ors | 32 + crypto/openssl/test/ocsp-tests/WIKH_D2.ors | 32 + crypto/openssl/test/ocsp-tests/WIKH_D3.ors | 38 + crypto/openssl/test/ocsp-tests/WIKH_ND1.ors | 10 + crypto/openssl/test/ocsp-tests/WIKH_ND2.ors | 10 + crypto/openssl/test/ocsp-tests/WIKH_ND3.ors | 10 + crypto/openssl/test/ocsp-tests/WINH_D1.ors | 32 + crypto/openssl/test/ocsp-tests/WINH_D2.ors | 32 + crypto/openssl/test/ocsp-tests/WINH_D3.ors | 38 + crypto/openssl/test/ocsp-tests/WINH_ND1.ors | 10 + crypto/openssl/test/ocsp-tests/WINH_ND2.ors | 10 + crypto/openssl/test/ocsp-tests/WINH_ND3.ors | 10 + crypto/openssl/test/ocsp-tests/WKDOSC_D1.ors | 32 + crypto/openssl/test/ocsp-tests/WKDOSC_D2.ors | 32 + crypto/openssl/test/ocsp-tests/WKDOSC_D3.ors | 38 + .../openssl/test/ocsp-tests/WKIC_D1_Issuer_ICA.pem | 27 + .../test/ocsp-tests/WKIC_D2_Issuer_Root.pem | 21 + .../test/ocsp-tests/WKIC_D3_Issuer_Root.pem | 41 + .../test/ocsp-tests/WKIC_ND1_Issuer_ICA.pem | 29 + .../test/ocsp-tests/WKIC_ND2_Issuer_Root.pem | 23 + .../test/ocsp-tests/WKIC_ND3_Issuer_Root.pem | 25 + crypto/openssl/test/ocsp-tests/WRID_D1.ors | 32 + crypto/openssl/test/ocsp-tests/WRID_D2.ors | 32 + crypto/openssl/test/ocsp-tests/WRID_D3.ors | 38 + crypto/openssl/test/ocsp-tests/WRID_ND1.ors | 10 + crypto/openssl/test/ocsp-tests/WRID_ND2.ors | 10 + crypto/openssl/test/ocsp-tests/WRID_ND3.ors | 10 + .../test/ocsp-tests/WSNIC_D1_Issuer_ICA.pem | 27 + .../test/ocsp-tests/WSNIC_D2_Issuer_Root.pem | 21 + .../test/ocsp-tests/WSNIC_D3_Issuer_Root.pem | 41 + .../test/ocsp-tests/WSNIC_ND1_Issuer_ICA.pem | 29 + .../test/ocsp-tests/WSNIC_ND2_Issuer_Root.pem | 23 + .../test/ocsp-tests/WSNIC_ND3_Issuer_Root.pem | 25 + crypto/openssl/test/ocspapitest.c | 236 + crypto/openssl/test/ossl_store_test.c | 238 + crypto/openssl/test/p_minimal.c | 24 + crypto/openssl/test/p_test.c | 320 + crypto/openssl/test/packettest.c | 499 + crypto/openssl/test/param_build_test.c | 535 + crypto/openssl/test/params_api_test.c | 714 + crypto/openssl/test/params_conversion_test.c | 368 + crypto/openssl/test/params_test.c | 712 + crypto/openssl/test/pbelutest.c | 50 + crypto/openssl/test/pbetest.c | 167 + crypto/openssl/test/pem_read_depr_test.c | 216 + crypto/openssl/test/pemtest.c | 167 + crypto/openssl/test/pkcs12_format_test.c | 961 + crypto/openssl/test/pkcs7-1.pem | 15 + crypto/openssl/test/pkcs7.pem | 54 + crypto/openssl/test/pkcs7_test.c | 103 + crypto/openssl/test/pkey_meth_kdf_test.c | 204 + crypto/openssl/test/pkey_meth_test.c | 90 + crypto/openssl/test/pkits-test.pl | 905 + crypto/openssl/test/poly1305_internal_test.c | 1575 + crypto/openssl/test/property_test.c | 676 + crypto/openssl/test/prov_config_test.c | 91 + crypto/openssl/test/provfetchtest.c | 297 + crypto/openssl/test/provider_fallback_test.c | 57 + crypto/openssl/test/provider_internal_test.c | 151 + crypto/openssl/test/provider_internal_test.cnf.in | 16 + crypto/openssl/test/provider_pkey_test.c | 308 + crypto/openssl/test/provider_status_test.c | 245 + crypto/openssl/test/provider_test.c | 270 + crypto/openssl/test/proxy.cnf | 60 + crypto/openssl/test/punycode_test.c | 220 + crypto/openssl/test/rand_status_test.c | 27 + crypto/openssl/test/rand_test.c | 53 + crypto/openssl/test/rc2test.c | 74 + crypto/openssl/test/rc4test.c | 134 + crypto/openssl/test/rc5test.c | 243 + crypto/openssl/test/rdrand_sanitytest.c | 122 + .../openssl/test/recipes/00-prep_fipsmodule_cnf.t | 36 + crypto/openssl/test/recipes/01-test_abort.t | 16 + .../openssl/test/recipes/01-test_fipsmodule_cnf.t | 37 + crypto/openssl/test/recipes/01-test_sanity.t | 12 + .../openssl/test/recipes/01-test_symbol_presence.t | 157 + crypto/openssl/test/recipes/01-test_test.t | 12 + crypto/openssl/test/recipes/02-test_errstr.t | 163 + .../test/recipes/02-test_internal_context.t | 16 + .../openssl/test/recipes/02-test_internal_ctype.t | 17 + .../openssl/test/recipes/02-test_internal_exts.t | 15 + .../test/recipes/02-test_internal_keymgmt.t | 21 + .../test/recipes/02-test_internal_provider.t | 19 + crypto/openssl/test/recipes/02-test_lhash.t | 12 + crypto/openssl/test/recipes/02-test_localetest.t | 26 + crypto/openssl/test/recipes/02-test_ordinals.t | 61 + crypto/openssl/test/recipes/02-test_sparse_array.t | 12 + crypto/openssl/test/recipes/02-test_stack.t | 12 + crypto/openssl/test/recipes/03-test_exdata.t | 12 + crypto/openssl/test/recipes/03-test_fipsinstall.t | 310 + .../openssl/test/recipes/03-test_internal_asn1.t | 16 + .../test/recipes/03-test_internal_asn1_dsa.t | 16 + crypto/openssl/test/recipes/03-test_internal_bn.t | 19 + .../openssl/test/recipes/03-test_internal_chacha.t | 16 + .../test/recipes/03-test_internal_curve448.t | 19 + crypto/openssl/test/recipes/03-test_internal_ec.t | 19 + *** 467625 LINES SKIPPED *** From nobody Mon Feb 5 16:08:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTBB92FVgz58Tpn; Mon, 5 Feb 2024 16:08:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTBB91JkSz4LRK; Mon, 5 Feb 2024 16:08:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707149297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kd6LfLrkWzxUSy0bdAr2mXXYaSbJWoI/ywzqswi+gtY=; b=gX+g9eyTdzb6/rHZ/fNY7TaVPwqgxrN1Z3mLellScsf838c7Z3unSwIo/ntsAKMTc4kfhK SMGAdtkBXaQklzKcV9IarKr1ayQS/zPmggdcuY+hRwHe/pbpXZE7PUte6ERyG7Q5e93kPU wVrQU9UrcPyosWxXC8JsZ+UUTtllFn7fFsndJhBtoge5xNJAkseE45xIQGGhu4U6o+nUCK AsUEa/MikkiL6sg14jpft1NDENOcvr1KNWctV1BQTvItOI27MFQBNN4QtC9AmLO9a3ZLT8 q0873/sUor6UbQGhHaD9RlM79oowMB4HqAvUZplHRNptvmtVGUweSXF+4pR9VQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707149297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kd6LfLrkWzxUSy0bdAr2mXXYaSbJWoI/ywzqswi+gtY=; b=AByLZ4jItxOsWWWxrl+mzuYNfQikkEZHNZdk9XDpggdR9bi4L27/5DXgUGjXPBRywHfcEc LSfFP5CERUDV+lJzqWIIX96PP4kVd7UuqPF/t8Qok+kplotyefkQCZBSAYNoH23npyMZKy LbnCmwoHk0w6j6NzPg7flgfDD+6+O0Y64dpTcYXf5jZQaoEjCPr08lka2KY01lcp2vTr4w 6742vcN1YhrSgqiVQrgD9NIBUpF3cAsk7HM0LaNvFSbd8NRqGPjCiEgMd5FxTZgopKuP0T nvYjiUnRkzKQsJc8y4Gaz7qwjaKm77FEpAmcRQzt+7cRuHs/JHR40Fdcaq4jzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707149297; a=rsa-sha256; cv=none; b=DMN6VTsXi5ie+W1vXrRbBbk+yBUvn6p3P/y1ZSvnvwE4RaGj20//4jPcrcSwz+OvgbRNg+ muyH0FMMPmQSzZdlVi5F0jS7qhdCqEd2QefP7ZMO2p0peEqxjKvU8UBolELzlTMtwKcAvl HoaLqL7bwHmfBgcktnx6cHfiA7hJEV4ZUpTJSoZZCh3xnmDQQmlDEzvNMBOJTUHeUwyTze kO/rjUfCVsyQZ9uI93iqnMEffy3CCKlfkcrBhAlkFa6JKDjf6PZ3XDxM0Ynnr3DvqpD97a nxYlIXhVEYoPZsBMdt2XNVgG7V/EnS+ALecl9fe3lc7MsO+a7la9WZ5UdymNPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTBB90N85znBJ; Mon, 5 Feb 2024 16:08:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 415G8GGj014864; Mon, 5 Feb 2024 16:08:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 415G8GQT014861; Mon, 5 Feb 2024 16:08:16 GMT (envelope-from git) Date: Mon, 5 Feb 2024 16:08:16 GMT Message-Id: <202402051608.415G8GQT014861@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: e72329a4e8a5 - stable/14 - OpenSSL: Update version strings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e72329a4e8a57c49334377670151ce77776abf74 Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=e72329a4e8a57c49334377670151ce77776abf74 commit e72329a4e8a57c49334377670151ce77776abf74 Author: Cy Schubert AuthorDate: 2024-02-03 00:34:36 +0000 Commit: Cy Schubert CommitDate: 2024-02-05 16:06:08 +0000 OpenSSL: Update version strings Reported by: "Herbert J. Skuhra" Fixes: 9eb4e0b42d7c (cherry picked from commit 74fe298c8299fdb8c8f761728ddd245b0c3fe04a) --- crypto/openssl/include/openssl/opensslv.h | 8 ++++---- secure/lib/libcrypto/Makefile.inc | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crypto/openssl/include/openssl/opensslv.h b/crypto/openssl/include/openssl/opensslv.h index 73590b76ca70..b35da9255c44 100644 --- a/crypto/openssl/include/openssl/opensslv.h +++ b/crypto/openssl/include/openssl/opensslv.h @@ -29,7 +29,7 @@ extern "C" { */ # define OPENSSL_VERSION_MAJOR 3 # define OPENSSL_VERSION_MINOR 0 -# define OPENSSL_VERSION_PATCH 12 +# define OPENSSL_VERSION_PATCH 13 /* * Additional version information @@ -74,8 +74,8 @@ extern "C" { * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ -# define OPENSSL_VERSION_STR "3.0.12" -# define OPENSSL_FULL_VERSION_STR "3.0.12" +# define OPENSSL_VERSION_STR "3.0.13" +# define OPENSSL_FULL_VERSION_STR "3.0.13" /* * SECTION 3: ADDITIONAL METADATA @@ -88,7 +88,7 @@ extern "C" { * SECTION 4: BACKWARD COMPATIBILITY */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.12 24 Oct 2023" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.13 24 Oct 2023" /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */ # ifdef OPENSSL_VERSION_PRE_RELEASE diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc index 65925f972ba7..de24bfb1038a 100644 --- a/secure/lib/libcrypto/Makefile.inc +++ b/secure/lib/libcrypto/Makefile.inc @@ -2,8 +2,8 @@ .include # OpenSSL version used for manual page generation -OPENSSL_VER= 3.0.12 -OPENSSL_DATE= 2023-10-24 +OPENSSL_VER= 3.0.13 +OPENSSL_DATE= 2024-02-02 LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc From nobody Mon Feb 5 16:08:18 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTBBC2gqxz58Trb; Mon, 5 Feb 2024 16:08:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTBBB5MXcz4LNy; Mon, 5 Feb 2024 16:08:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707149298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5RlUGP/iVv1r7NG+lw+aml2976YMoEZF7+DzDxknXJw=; b=jXp18MXMcMKAgcexUip2jtK431lbjlHUEQamzyUeiim8m4rrLpzjK1N3LbOaQoAvxAscPw MyIBaoavR41STEWW1Zku1/kzPT/YrobaX/HWLSyWfGalis1fDX3d0K9JOnEtKJOrNjKTPY NYRAXVXae5lFW4Ghc5ZcoSRbxMqfFFYXWuBi21hqrGpmzTq0yvWkcVPYlGar3NSRlt7yay 7rzG39KoIl+C6cDf/+J6dbmKzNTqSd1rpmbbebIa/d/ixqpZ+T2hpCtW206IqXkmagss9N OdPa37gQXi0kyRsEVxa5oPXiteal8qs1Cm5k8t4M0O19Atnqu6sZIabUyUFKpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707149298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5RlUGP/iVv1r7NG+lw+aml2976YMoEZF7+DzDxknXJw=; b=kFcU8GZB2zY9oTkaEbDa/woYN8nBM5ryibGRAcJCmydL2HwzyQDsc3zjBR3bvd03frLCk1 o859j1ZkdsJHYrdSwOUGsz/aw5amwcqOavlN2PJHCRPMOe3Uw0qPNwIFCoSaDiKqAEhakS SCdjvH6Zb9IFDdqo1NCPEO4DqXvCMi5HLlPVtJnEIlOo8X7JVYMfyo1b/7kQtxhCvnBk2O L5HNfSJoBSrVXdF8BlLOGeWlJYC1KLqblrE1BbQdASVwC5SZ6R/Fa1rd6L8lIiYf3+vFPk GE7Ri9gpX7V+4Qk+SI063h8diH0p75HpamUwt60TDa6TI49BpM+w5mw9uH2vEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707149298; a=rsa-sha256; cv=none; b=QLnyVupz8Tu0e9R34epX10y/dcqIilRvu1FIwyxecmJBC3Vl3xvgjerpmLk9wrfDo89Ydp OiN9xQ0xHediin0EkxdDuF3WYhWKoV4+JMnrsyCnX4yELK902zLAQCR4NiZBpzGGpizXmy XWRwkAOKobYtCFWc5PSDqwpwGp7m5SCm5zzCZSkQE1nG6vfAv5M7nZjKem4MEyN6zW/SgA EbhyUg0AAEFNyVZvLIFyp8H5j5PQUpnsfGJWguJlYkqsAmzQ2TCgAQ5MBavIm4pe72Z+UI TDx2nY9btV9f1joMDpGIWyBnkNT5VYM3P341X8Vi+zUX4oZKlQefo+/yWWX6IA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTBBB46vmznBK; Mon, 5 Feb 2024 16:08:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 415G8IBI014913; Mon, 5 Feb 2024 16:08:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 415G8ISf014908; Mon, 5 Feb 2024 16:08:18 GMT (envelope-from git) Date: Mon, 5 Feb 2024 16:08:18 GMT Message-Id: <202402051608.415G8ISf014908@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 4fedf2bec63f - stable/14 - sqlite3: Vendor import of sqlite3 3.45.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4fedf2bec63ffc7ed92335c42826b24de99a9029 Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=4fedf2bec63ffc7ed92335c42826b24de99a9029 commit 4fedf2bec63ffc7ed92335c42826b24de99a9029 Author: Cy Schubert AuthorDate: 2024-01-22 15:35:06 +0000 Commit: Cy Schubert CommitDate: 2024-02-05 16:06:09 +0000 sqlite3: Vendor import of sqlite3 3.45.0 Release notes at https://www.sqlite.org/releaselog/3_45_0.html Obtained from: https://www.sqlite.org/2024/sqlite-autoconf-3450000.tar.gz Merge commit 'cdad538768db9e2c8258d19e9282fb5aaae80e46' (cherry picked from commit c19fb1f963e3dc88a82b20d1b17f94a4cd321e74) --- contrib/sqlite3/Makefile.msc | 1 + contrib/sqlite3/configure | 20 +- contrib/sqlite3/configure.ac | 2 +- contrib/sqlite3/shell.c | 3183 +++++++++------ contrib/sqlite3/sqlite3.c | 8087 ++++++++++++++++++++++++++------------ contrib/sqlite3/sqlite3.h | 152 +- contrib/sqlite3/sqlite3rc.h | 2 +- contrib/sqlite3/tea/configure | 18 +- contrib/sqlite3/tea/configure.ac | 2 +- 9 files changed, 7698 insertions(+), 3769 deletions(-) diff --git a/contrib/sqlite3/Makefile.msc b/contrib/sqlite3/Makefile.msc index 280bb95deb3e..45a07a9f317c 100644 --- a/contrib/sqlite3/Makefile.msc +++ b/contrib/sqlite3/Makefile.msc @@ -990,6 +990,7 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_STMT_SCANSTATUS=1 +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_STRICT_SUBTYPE=1 !ENDIF diff --git a/contrib/sqlite3/configure b/contrib/sqlite3/configure index 251e5da23650..037050503b74 100755 --- a/contrib/sqlite3/configure +++ b/contrib/sqlite3/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for sqlite 3.44.0. +# Generated by GNU Autoconf 2.71 for sqlite 3.45.0. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.44.0' -PACKAGE_STRING='sqlite 3.44.0' +PACKAGE_VERSION='3.45.0' +PACKAGE_STRING='sqlite 3.45.0' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.44.0 to adapt to many kinds of systems. +\`configure' configures sqlite 3.45.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1438,7 +1438,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.44.0:";; + short | recursive ) echo "Configuration of sqlite 3.45.0:";; esac cat <<\_ACEOF @@ -1563,7 +1563,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.44.0 +sqlite configure 3.45.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1833,7 +1833,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.44.0, which was +It was created by sqlite $as_me 3.45.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3106,7 +3106,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.44.0' + VERSION='3.45.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -15314,7 +15314,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.44.0, which was +This file was extended by sqlite $as_me 3.45.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15373,7 +15373,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -sqlite config.status 3.44.0 +sqlite config.status 3.45.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/contrib/sqlite3/configure.ac b/contrib/sqlite3/configure.ac index cf5fae5d060b..984c283a2e1d 100644 --- a/contrib/sqlite3/configure.ac +++ b/contrib/sqlite3/configure.ac @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.44.0, http://www.sqlite.org) +AC_INIT(sqlite, 3.45.0, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) AC_CONFIG_AUX_DIR([.]) diff --git a/contrib/sqlite3/shell.c b/contrib/sqlite3/shell.c index e357f9e9a5f7..1e02a12fbc2f 100644 --- a/contrib/sqlite3/shell.c +++ b/contrib/sqlite3/shell.c @@ -252,29 +252,1022 @@ typedef unsigned char u8; /* string conversion routines only needed on Win32 */ extern char *sqlite3_win32_unicode_to_utf8(LPCWSTR); -extern char *sqlite3_win32_mbcs_to_utf8_v2(const char *, int); -extern char *sqlite3_win32_utf8_to_mbcs_v2(const char *, int); extern LPWSTR sqlite3_win32_utf8_to_unicode(const char *zText); #endif -/* On Windows, we normally run with output mode of TEXT so that \n characters -** are automatically translated into \r\n. However, this behavior needs -** to be disabled in some cases (ex: when generating CSV output and when -** rendering quoted strings that contain \n characters). The following -** routines take care of that. +/* Use console I/O package as a direct INCLUDE. */ +#define SQLITE_INTERNAL_LINKAGE static + +#ifdef SQLITE_SHELL_FIDDLE +/* Deselect most features from the console I/O package for Fiddle. */ +# define SQLITE_CIO_NO_REDIRECT +# define SQLITE_CIO_NO_CLASSIFY +# define SQLITE_CIO_NO_TRANSLATE +# define SQLITE_CIO_NO_SETMODE +#endif +/************************* Begin ../ext/consio/console_io.h ******************/ +/* +** 2023 November 1 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +******************************************************************************** +** This file exposes various interfaces used for console and other I/O +** by the SQLite project command-line tools. These interfaces are used +** at either source conglomeration time, compilation time, or run time. +** This source provides for either inclusion into conglomerated, +** "single-source" forms or separate compilation then linking. +** +** Platform dependencies are "hidden" here by various stratagems so +** that, provided certain conditions are met, the programs using this +** source or object code compiled from it need no explicit conditional +** compilation in their source for their console and stream I/O. +** +** The symbols and functionality exposed here are not a public API. +** This code may change in tandem with other project code as needed. +** +** When this .h file and its companion .c are directly incorporated into +** a source conglomeration (such as shell.c), the preprocessor symbol +** CIO_WIN_WC_XLATE is defined as 0 or 1, reflecting whether console I/O +** translation for Windows is effected for the build. +*/ +#define HAVE_CONSOLE_IO_H 1 +#ifndef SQLITE_INTERNAL_LINKAGE +# define SQLITE_INTERNAL_LINKAGE extern /* external to translation unit */ +# include +#else +# define SHELL_NO_SYSINC /* Better yet, modify mkshellc.tcl for this. */ +#endif + +#ifndef SQLITE3_H +/* # include "sqlite3.h" */ +#endif + +#ifndef SQLITE_CIO_NO_CLASSIFY + +/* Define enum for use with following function. */ +typedef enum StreamsAreConsole { + SAC_NoConsole = 0, + SAC_InConsole = 1, SAC_OutConsole = 2, SAC_ErrConsole = 4, + SAC_AnyConsole = 0x7 +} StreamsAreConsole; + +/* +** Classify the three standard I/O streams according to whether +** they are connected to a console attached to the process. +** +** Returns the bit-wise OR of SAC_{In,Out,Err}Console values, +** or SAC_NoConsole if none of the streams reaches a console. +** +** This function should be called before any I/O is done with +** the given streams. As a side-effect, the given inputs are +** recorded so that later I/O operations on them may be done +** differently than the C library FILE* I/O would be done, +** iff the stream is used for the I/O functions that follow, +** and to support the ones that use an implicit stream. +** +** On some platforms, stream or console mode alteration (aka +** "Setup") may be made which is undone by consoleRestore(). +*/ +SQLITE_INTERNAL_LINKAGE StreamsAreConsole +consoleClassifySetup( FILE *pfIn, FILE *pfOut, FILE *pfErr ); +/* A usual call for convenience: */ +#define SQLITE_STD_CONSOLE_INIT() consoleClassifySetup(stdin,stdout,stderr) + +/* +** After an initial call to consoleClassifySetup(...), renew +** the same setup it effected. (A call not after is an error.) +** This will restore state altered by consoleRestore(); +** +** Applications which run an inferior (child) process which +** inherits the same I/O streams may call this function after +** such a process exits to guard against console mode changes. +*/ +SQLITE_INTERNAL_LINKAGE void consoleRenewSetup(void); + +/* +** Undo any side-effects left by consoleClassifySetup(...). +** +** This should be called after consoleClassifySetup() and +** before the process terminates normally. It is suitable +** for use with the atexit() C library procedure. After +** this call, no console I/O should be done until one of +** console{Classify or Renew}Setup(...) is called again. +** +** Applications which run an inferior (child) process that +** inherits the same I/O streams might call this procedure +** before so that said process will have a console setup +** however users have configured it or come to expect. +*/ +SQLITE_INTERNAL_LINKAGE void SQLITE_CDECL consoleRestore( void ); + +#else /* defined(SQLITE_CIO_NO_CLASSIFY) */ +# define consoleClassifySetup(i,o,e) +# define consoleRenewSetup() +# define consoleRestore() +#endif /* defined(SQLITE_CIO_NO_CLASSIFY) */ + +#ifndef SQLITE_CIO_NO_REDIRECT +/* +** Set stream to be used for the functions below which write +** to "the designated X stream", where X is Output or Error. +** Returns the previous value. +** +** Alternatively, pass the special value, invalidFileStream, +** to get the designated stream value without setting it. +** +** Before the designated streams are set, they default to +** those passed to consoleClassifySetup(...), and before +** that is called they default to stdout and stderr. +** +** It is error to close a stream so designated, then, without +** designating another, use the corresponding {o,e}Emit(...). +*/ +SQLITE_INTERNAL_LINKAGE FILE *invalidFileStream; +SQLITE_INTERNAL_LINKAGE FILE *setOutputStream(FILE *pf); +# ifdef CONSIO_SET_ERROR_STREAM +SQLITE_INTERNAL_LINKAGE FILE *setErrorStream(FILE *pf); +# endif +#else +# define setOutputStream(pf) +# define setErrorStream(pf) +#endif /* !defined(SQLITE_CIO_NO_REDIRECT) */ + +#ifndef SQLITE_CIO_NO_TRANSLATE +/* +** Emit output like fprintf(). If the output is going to the +** console and translation from UTF-8 is necessary, perform +** the needed translation. Otherwise, write formatted output +** to the provided stream almost as-is, possibly with newline +** translation as specified by set{Binary,Text}Mode(). +*/ +SQLITE_INTERNAL_LINKAGE int fPrintfUtf8(FILE *pfO, const char *zFormat, ...); +/* Like fPrintfUtf8 except stream is always the designated output. */ +SQLITE_INTERNAL_LINKAGE int oPrintfUtf8(const char *zFormat, ...); +/* Like fPrintfUtf8 except stream is always the designated error. */ +SQLITE_INTERNAL_LINKAGE int ePrintfUtf8(const char *zFormat, ...); + +/* +** Emit output like fputs(). If the output is going to the +** console and translation from UTF-8 is necessary, perform +** the needed translation. Otherwise, write given text to the +** provided stream almost as-is, possibly with newline +** translation as specified by set{Binary,Text}Mode(). +*/ +SQLITE_INTERNAL_LINKAGE int fPutsUtf8(const char *z, FILE *pfO); +/* Like fPutsUtf8 except stream is always the designated output. */ +SQLITE_INTERNAL_LINKAGE int oPutsUtf8(const char *z); +/* Like fPutsUtf8 except stream is always the designated error. */ +SQLITE_INTERNAL_LINKAGE int ePutsUtf8(const char *z); + +/* +** Emit output like fPutsUtf8(), except that the length of the +** accepted char or character sequence is limited by nAccept. +** +** Returns the number of accepted char values. +*/ +#ifdef CONSIO_SPUTB +SQLITE_INTERNAL_LINKAGE int +fPutbUtf8(FILE *pfOut, const char *cBuf, int nAccept); +/* Like fPutbUtf8 except stream is always the designated output. */ +#endif +SQLITE_INTERNAL_LINKAGE int +oPutbUtf8(const char *cBuf, int nAccept); +/* Like fPutbUtf8 except stream is always the designated error. */ +#ifdef CONSIO_EPUTB +SQLITE_INTERNAL_LINKAGE int +ePutbUtf8(const char *cBuf, int nAccept); +#endif + +/* +** Collect input like fgets(...) with special provisions for input +** from the console on platforms that require same. Defers to the +** C library fgets() when input is not from the console. Newline +** translation may be done as set by set{Binary,Text}Mode(). As a +** convenience, pfIn==NULL is treated as stdin. +*/ +SQLITE_INTERNAL_LINKAGE char* fGetsUtf8(char *cBuf, int ncMax, FILE *pfIn); +/* Like fGetsUtf8 except stream is always the designated input. */ +/* SQLITE_INTERNAL_LINKAGE char* iGetsUtf8(char *cBuf, int ncMax); */ + +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#ifndef SQLITE_CIO_NO_SETMODE +/* +** Set given stream for binary mode, where newline translation is +** not done, or for text mode where, for some platforms, newlines +** are translated to the platform's conventional char sequence. +** If bFlush true, flush the stream. +** +** An additional side-effect is that if the stream is one passed +** to consoleClassifySetup() as an output, it is flushed first. +** +** Note that binary/text mode has no effect on console I/O +** translation. On all platforms, newline to the console starts +** a new line and CR,LF chars from the console become a newline. +*/ +SQLITE_INTERNAL_LINKAGE void setBinaryMode(FILE *, short bFlush); +SQLITE_INTERNAL_LINKAGE void setTextMode(FILE *, short bFlush); +#endif + +#ifdef SQLITE_CIO_PROMPTED_IN +typedef struct Prompts { + int numPrompts; + const char **azPrompts; +} Prompts; + +/* +** Macros for use of a line editor. +** +** The following macros define operations involving use of a +** line-editing library or simple console interaction. +** A "T" argument is a text (char *) buffer or filename. +** A "N" argument is an integer. +** +** SHELL_ADD_HISTORY(T) // Record text as line(s) of history. +** SHELL_READ_HISTORY(T) // Read history from file named by T. +** SHELL_WRITE_HISTORY(T) // Write history to file named by T. +** SHELL_STIFLE_HISTORY(N) // Limit history to N entries. +** +** A console program which does interactive console input is +** expected to call: +** SHELL_READ_HISTORY(T) before collecting such input; +** SHELL_ADD_HISTORY(T) as record-worthy input is taken; +** SHELL_STIFLE_HISTORY(N) after console input ceases; then +** SHELL_WRITE_HISTORY(T) before the program exits. +*/ + +/* +** Retrieve a single line of input text from an input stream. +** +** If pfIn is the input stream passed to consoleClassifySetup(), +** and azPrompt is not NULL, then a prompt is issued before the +** line is collected, as selected by the isContinuation flag. +** Array azPrompt[{0,1}] holds the {main,continuation} prompt. +** +** If zBufPrior is not NULL then it is a buffer from a prior +** call to this routine that can be reused, or will be freed. +** +** The result is stored in space obtained from malloc() and +** must either be freed by the caller or else passed back to +** this function as zBufPrior for reuse. +** +** This function may call upon services of a line-editing +** library to interactively collect line edited input. +*/ +SQLITE_INTERNAL_LINKAGE char * +shellGetLine(FILE *pfIn, char *zBufPrior, int nLen, + short isContinuation, Prompts azPrompt); +#endif /* defined(SQLITE_CIO_PROMPTED_IN) */ +/* +** TBD: Define an interface for application(s) to generate +** completion candidates for use by the line-editor. +** +** This may be premature; the CLI is the only application +** that does this. Yet, getting line-editing melded into +** console I/O is desirable because a line-editing library +** may have to establish console operating mode, possibly +** in a way that interferes with the above functionality. +*/ + +#if !(defined(SQLITE_CIO_NO_UTF8SCAN)&&defined(SQLITE_CIO_NO_TRANSLATE)) +/* Skip over as much z[] input char sequence as is valid UTF-8, +** limited per nAccept char's or whole characters and containing +** no char cn such that ((1<=0 => char count, nAccept<0 => character + */ +SQLITE_INTERNAL_LINKAGE const char* +zSkipValidUtf8(const char *z, int nAccept, long ccm); + +#endif + +/************************* End ../ext/consio/console_io.h ********************/ +/************************* Begin ../ext/consio/console_io.c ******************/ +/* +** 2023 November 4 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +******************************************************************************** +** This file implements various interfaces used for console and stream I/O +** by the SQLite project command-line tools, as explained in console_io.h . +** Functions prefixed by "SQLITE_INTERNAL_LINKAGE" behave as described there. +*/ + +#ifndef SQLITE_CDECL +# define SQLITE_CDECL +#endif + +#ifndef SHELL_NO_SYSINC +# include +# include +# include +# include +# include +/* # include "sqlite3.h" */ +#endif +#ifndef HAVE_CONSOLE_IO_H +# include "console_io.h" +#endif + +#ifndef SQLITE_CIO_NO_TRANSLATE +# if (defined(_WIN32) || defined(WIN32)) && !SQLITE_OS_WINRT +# ifndef SHELL_NO_SYSINC +# include +# include +# undef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# include +# endif +# define CIO_WIN_WC_XLATE 1 /* Use WCHAR Windows APIs for console I/O */ +# else +# ifndef SHELL_NO_SYSINC +# include +# endif +# define CIO_WIN_WC_XLATE 0 /* Use plain C library stream I/O at console */ +# endif +#else +# define CIO_WIN_WC_XLATE 0 /* Not exposing translation routines at all */ +#endif + +#if CIO_WIN_WC_XLATE +/* Character used to represent a known-incomplete UTF-8 char group (�) */ +static WCHAR cBadGroup = 0xfffd; +#endif + +#if CIO_WIN_WC_XLATE +static HANDLE handleOfFile(FILE *pf){ + int fileDesc = _fileno(pf); + union { intptr_t osfh; HANDLE fh; } fid = { + (fileDesc>=0)? _get_osfhandle(fileDesc) : (intptr_t)INVALID_HANDLE_VALUE + }; + return fid.fh; +} +#endif + +#ifndef SQLITE_CIO_NO_TRANSLATE +typedef struct PerStreamTags { +# if CIO_WIN_WC_XLATE + HANDLE hx; + DWORD consMode; + char acIncomplete[4]; +# else + short reachesConsole; +# endif + FILE *pf; +} PerStreamTags; + +/* Define NULL-like value for things which can validly be 0. */ +# define SHELL_INVALID_FILE_PTR ((FILE *)~0) +# if CIO_WIN_WC_XLATE +# define SHELL_INVALID_CONS_MODE 0xFFFF0000 +# endif + +# if CIO_WIN_WC_XLATE +# define PST_INITIALIZER { INVALID_HANDLE_VALUE, SHELL_INVALID_CONS_MODE, \ + {0,0,0,0}, SHELL_INVALID_FILE_PTR } +# else +# define PST_INITIALIZER { 0, SHELL_INVALID_FILE_PTR } +# endif + +/* Quickly say whether a known output is going to the console. */ +# if CIO_WIN_WC_XLATE +static short pstReachesConsole(PerStreamTags *ppst){ + return (ppst->hx != INVALID_HANDLE_VALUE); +} +# else +# define pstReachesConsole(ppst) 0 +# endif + +# if CIO_WIN_WC_XLATE +static void restoreConsoleArb(PerStreamTags *ppst){ + if( pstReachesConsole(ppst) ) SetConsoleMode(ppst->hx, ppst->consMode); +} +# else +# define restoreConsoleArb(ppst) +# endif + +/* Say whether FILE* appears to be a console, collect associated info. */ +static short streamOfConsole(FILE *pf, /* out */ PerStreamTags *ppst){ +# if CIO_WIN_WC_XLATE + short rv = 0; + DWORD dwCM = SHELL_INVALID_CONS_MODE; + HANDLE fh = handleOfFile(pf); + ppst->pf = pf; + if( INVALID_HANDLE_VALUE != fh ){ + rv = (GetFileType(fh) == FILE_TYPE_CHAR && GetConsoleMode(fh,&dwCM)); + } + ppst->hx = (rv)? fh : INVALID_HANDLE_VALUE; + ppst->consMode = dwCM; + return rv; +# else + ppst->pf = pf; + ppst->reachesConsole = ( (short)isatty(fileno(pf)) ); + return ppst->reachesConsole; +# endif +} + +# if CIO_WIN_WC_XLATE +/* Define console modes for use with the Windows Console API. */ +# define SHELL_CONI_MODE \ + (ENABLE_ECHO_INPUT | ENABLE_INSERT_MODE | ENABLE_LINE_INPUT | 0x80 \ + | ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS | ENABLE_PROCESSED_INPUT) +# define SHELL_CONO_MODE (ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT \ + | ENABLE_VIRTUAL_TERMINAL_PROCESSING) +# endif + +typedef struct ConsoleInfo { + PerStreamTags pstSetup[3]; + PerStreamTags pstDesignated[3]; + StreamsAreConsole sacSetup; +} ConsoleInfo; + +static short isValidStreamInfo(PerStreamTags *ppst){ + return (ppst->pf != SHELL_INVALID_FILE_PTR); +} + +static ConsoleInfo consoleInfo = { + { /* pstSetup */ PST_INITIALIZER, PST_INITIALIZER, PST_INITIALIZER }, + { /* pstDesignated[] */ PST_INITIALIZER, PST_INITIALIZER, PST_INITIALIZER }, + SAC_NoConsole /* sacSetup */ +}; + +SQLITE_INTERNAL_LINKAGE FILE* invalidFileStream = (FILE *)~0; + +# if CIO_WIN_WC_XLATE +static void maybeSetupAsConsole(PerStreamTags *ppst, short odir){ + if( pstReachesConsole(ppst) ){ + DWORD cm = odir? SHELL_CONO_MODE : SHELL_CONI_MODE; + SetConsoleMode(ppst->hx, cm); + } +} +# else +# define maybeSetupAsConsole(ppst,odir) +# endif + +SQLITE_INTERNAL_LINKAGE void consoleRenewSetup(void){ +# if CIO_WIN_WC_XLATE + int ix = 0; + while( ix < 6 ){ + PerStreamTags *ppst = (ix<3)? + &consoleInfo.pstSetup[ix] : &consoleInfo.pstDesignated[ix-3]; + maybeSetupAsConsole(ppst, (ix % 3)>0); + ++ix; + } +# endif +} + +SQLITE_INTERNAL_LINKAGE StreamsAreConsole +consoleClassifySetup( FILE *pfIn, FILE *pfOut, FILE *pfErr ){ + StreamsAreConsole rv = SAC_NoConsole; + FILE* apf[3] = { pfIn, pfOut, pfErr }; + int ix; + for( ix = 2; ix >= 0; --ix ){ + PerStreamTags *ppst = &consoleInfo.pstSetup[ix]; + if( streamOfConsole(apf[ix], ppst) ){ + rv |= (SAC_InConsole< 0 ) fflush(apf[ix]); + } + consoleInfo.sacSetup = rv; + consoleRenewSetup(); + return rv; +} + +SQLITE_INTERNAL_LINKAGE void SQLITE_CDECL consoleRestore( void ){ +# if CIO_WIN_WC_XLATE + static ConsoleInfo *pci = &consoleInfo; + if( pci->sacSetup ){ + int ix; + for( ix=0; ix<3; ++ix ){ + if( pci->sacSetup & (SAC_InConsole<pstSetup[ix]; + SetConsoleMode(ppst->hx, ppst->consMode); + } + } + } +# endif +} +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#ifdef SQLITE_CIO_INPUT_REDIR +/* Say whether given FILE* is among those known, via either +** consoleClassifySetup() or set{Output,Error}Stream, as +** readable, and return an associated PerStreamTags pointer +** if so. Otherwise, return 0. +*/ +static PerStreamTags * isKnownReadable(FILE *pf){ + static PerStreamTags *apst[] = { + &consoleInfo.pstDesignated[0], &consoleInfo.pstSetup[0], 0 + }; + int ix = 0; + do { + if( apst[ix]->pf == pf ) break; + } while( apst[++ix] != 0 ); + return apst[ix]; +} +#endif + +#ifndef SQLITE_CIO_NO_TRANSLATE +/* Say whether given FILE* is among those known, via either +** consoleClassifySetup() or set{Output,Error}Stream, as +** writable, and return an associated PerStreamTags pointer +** if so. Otherwise, return 0. */ -#if (defined(_WIN32) || defined(WIN32)) && !SQLITE_OS_WINRT -static void setBinaryMode(FILE *file, int isOutput){ - if( isOutput ) fflush(file); - _setmode(_fileno(file), _O_BINARY); +static PerStreamTags * isKnownWritable(FILE *pf){ + static PerStreamTags *apst[] = { + &consoleInfo.pstDesignated[1], &consoleInfo.pstDesignated[2], + &consoleInfo.pstSetup[1], &consoleInfo.pstSetup[2], 0 + }; + int ix = 0; + do { + if( apst[ix]->pf == pf ) break; + } while( apst[++ix] != 0 ); + return apst[ix]; +} + +static FILE *designateEmitStream(FILE *pf, unsigned chix){ + FILE *rv = consoleInfo.pstDesignated[chix].pf; + if( pf == invalidFileStream ) return rv; + else{ + /* Setting a possibly new output stream. */ + PerStreamTags *ppst = isKnownWritable(pf); + if( ppst != 0 ){ + PerStreamTags pst = *ppst; + consoleInfo.pstDesignated[chix] = pst; + }else streamOfConsole(pf, &consoleInfo.pstDesignated[chix]); + } + return rv; +} + +SQLITE_INTERNAL_LINKAGE FILE *setOutputStream(FILE *pf){ + return designateEmitStream(pf, 1); +} +# ifdef CONSIO_SET_ERROR_STREAM +SQLITE_INTERNAL_LINKAGE FILE *setErrorStream(FILE *pf){ + return designateEmitStream(pf, 2); +} +# endif +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#ifndef SQLITE_CIO_NO_SETMODE +# if CIO_WIN_WC_XLATE +static void setModeFlushQ(FILE *pf, short bFlush, int mode){ + if( bFlush ) fflush(pf); + _setmode(_fileno(pf), mode); +} +# else +# define setModeFlushQ(f, b, m) if(b) fflush(f) +# endif + +SQLITE_INTERNAL_LINKAGE void setBinaryMode(FILE *pf, short bFlush){ + setModeFlushQ(pf, bFlush, _O_BINARY); +} +SQLITE_INTERNAL_LINKAGE void setTextMode(FILE *pf, short bFlush){ + setModeFlushQ(pf, bFlush, _O_TEXT); +} +# undef setModeFlushQ + +#else /* defined(SQLITE_CIO_NO_SETMODE) */ +# define setBinaryMode(f, bFlush) do{ if((bFlush)) fflush(f); }while(0) +# define setTextMode(f, bFlush) do{ if((bFlush)) fflush(f); }while(0) +#endif /* defined(SQLITE_CIO_NO_SETMODE) */ + +#ifndef SQLITE_CIO_NO_TRANSLATE +# if CIO_WIN_WC_XLATE +/* Write buffer cBuf as output to stream known to reach console, +** limited to ncTake char's. Return ncTake on success, else 0. */ +static int conZstrEmit(PerStreamTags *ppst, const char *z, int ncTake){ + int rv = 0; + if( z!=NULL ){ + int nwc = MultiByteToWideChar(CP_UTF8,0, z,ncTake, 0,0); + if( nwc > 0 ){ + WCHAR *zw = sqlite3_malloc64(nwc*sizeof(WCHAR)); + if( zw!=NULL ){ + nwc = MultiByteToWideChar(CP_UTF8,0, z,ncTake, zw,nwc); + if( nwc > 0 ){ + /* Translation from UTF-8 to UTF-16, then WCHARs out. */ + if( WriteConsoleW(ppst->hx, zw,nwc, 0, NULL) ){ + rv = ncTake; + } + } + sqlite3_free(zw); + } + } + } + return rv; +} + +/* For {f,o,e}PrintfUtf8() when stream is known to reach console. */ +static int conioVmPrintf(PerStreamTags *ppst, const char *zFormat, va_list ap){ + char *z = sqlite3_vmprintf(zFormat, ap); + if( z ){ + int rv = conZstrEmit(ppst, z, (int)strlen(z)); + sqlite3_free(z); + return rv; + }else return 0; +} +# endif /* CIO_WIN_WC_XLATE */ + +# ifdef CONSIO_GET_EMIT_STREAM +static PerStreamTags * getDesignatedEmitStream(FILE *pf, unsigned chix, + PerStreamTags *ppst){ + PerStreamTags *rv = isKnownWritable(pf); + short isValid = (rv!=0)? isValidStreamInfo(rv) : 0; + if( rv != 0 && isValid ) return rv; + streamOfConsole(pf, ppst); + return ppst; +} +# endif + +/* Get stream info, either for designated output or error stream when +** chix equals 1 or 2, or for an arbitrary stream when chix == 0. +** In either case, ppst references a caller-owned PerStreamTags +** struct which may be filled in if none of the known writable +** streams is being held by consoleInfo. The ppf parameter is a +** byref output when chix!=0 and a byref input when chix==0. + */ +static PerStreamTags * +getEmitStreamInfo(unsigned chix, PerStreamTags *ppst, + /* in/out */ FILE **ppf){ + PerStreamTags *ppstTry; + FILE *pfEmit; + if( chix > 0 ){ + ppstTry = &consoleInfo.pstDesignated[chix]; + if( !isValidStreamInfo(ppstTry) ){ + ppstTry = &consoleInfo.pstSetup[chix]; + pfEmit = ppst->pf; + }else pfEmit = ppstTry->pf; + if( !isValidStreamInfo(ppstTry) ){ + pfEmit = (chix > 1)? stderr : stdout; + ppstTry = ppst; + streamOfConsole(pfEmit, ppstTry); + } + *ppf = pfEmit; + }else{ + ppstTry = isKnownWritable(*ppf); + if( ppstTry != 0 ) return ppstTry; + streamOfConsole(*ppf, ppst); + return ppst; + } + return ppstTry; +} + +SQLITE_INTERNAL_LINKAGE int oPrintfUtf8(const char *zFormat, ...){ + va_list ap; + int rv; + FILE *pfOut; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(1, &pst, &pfOut); +# else + getEmitStreamInfo(1, &pst, &pfOut); +# endif + assert(zFormat!=0); + va_start(ap, zFormat); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + rv = conioVmPrintf(ppst, zFormat, ap); + }else{ +# endif + rv = vfprintf(pfOut, zFormat, ap); +# if CIO_WIN_WC_XLATE + } +# endif + va_end(ap); + return rv; +} + +SQLITE_INTERNAL_LINKAGE int ePrintfUtf8(const char *zFormat, ...){ + va_list ap; + int rv; + FILE *pfErr; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(2, &pst, &pfErr); +# else + getEmitStreamInfo(2, &pst, &pfErr); +# endif + assert(zFormat!=0); + va_start(ap, zFormat); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + rv = conioVmPrintf(ppst, zFormat, ap); + }else{ +# endif + rv = vfprintf(pfErr, zFormat, ap); +# if CIO_WIN_WC_XLATE + } +# endif + va_end(ap); + return rv; +} + +SQLITE_INTERNAL_LINKAGE int fPrintfUtf8(FILE *pfO, const char *zFormat, ...){ + va_list ap; + int rv; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(0, &pst, &pfO); +# else + getEmitStreamInfo(0, &pst, &pfO); +# endif + assert(zFormat!=0); + va_start(ap, zFormat); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + maybeSetupAsConsole(ppst, 1); + rv = conioVmPrintf(ppst, zFormat, ap); + if( 0 == isKnownWritable(ppst->pf) ) restoreConsoleArb(ppst); + }else{ +# endif + rv = vfprintf(pfO, zFormat, ap); +# if CIO_WIN_WC_XLATE + } +# endif + va_end(ap); + return rv; +} + +SQLITE_INTERNAL_LINKAGE int fPutsUtf8(const char *z, FILE *pfO){ + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(0, &pst, &pfO); +# else + getEmitStreamInfo(0, &pst, &pfO); +# endif + assert(z!=0); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + int rv; + maybeSetupAsConsole(ppst, 1); + rv = conZstrEmit(ppst, z, (int)strlen(z)); + if( 0 == isKnownWritable(ppst->pf) ) restoreConsoleArb(ppst); + return rv; + }else { +# endif + return (fputs(z, pfO)<0)? 0 : (int)strlen(z); +# if CIO_WIN_WC_XLATE + } +# endif +} + +SQLITE_INTERNAL_LINKAGE int ePutsUtf8(const char *z){ + FILE *pfErr; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(2, &pst, &pfErr); +# else + getEmitStreamInfo(2, &pst, &pfErr); +# endif + assert(z!=0); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ) return conZstrEmit(ppst, z, (int)strlen(z)); + else { +# endif + return (fputs(z, pfErr)<0)? 0 : (int)strlen(z); +# if CIO_WIN_WC_XLATE + } +# endif +} + +SQLITE_INTERNAL_LINKAGE int oPutsUtf8(const char *z){ + FILE *pfOut; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(1, &pst, &pfOut); +# else + getEmitStreamInfo(1, &pst, &pfOut); +# endif + assert(z!=0); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ) return conZstrEmit(ppst, z, (int)strlen(z)); + else { +# endif + return (fputs(z, pfOut)<0)? 0 : (int)strlen(z); +# if CIO_WIN_WC_XLATE + } +# endif +} + +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#if !(defined(SQLITE_CIO_NO_UTF8SCAN) && defined(SQLITE_CIO_NO_TRANSLATE)) +/* Skip over as much z[] input char sequence as is valid UTF-8, +** limited per nAccept char's or whole characters and containing +** no char cn such that ((1<=0 => char count, nAccept<0 => character + */ +SQLITE_INTERNAL_LINKAGE const char* +zSkipValidUtf8(const char *z, int nAccept, long ccm){ + int ng = (nAccept<0)? -nAccept : 0; + const char *pcLimit = (nAccept>=0)? z+nAccept : 0; + assert(z!=0); + while( (pcLimit)? (z To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 84d443825255 - stable/13 - sqlite3: Vendor import of sqlite3 3.45.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 84d443825255575d1b036958049ffafe8a96c80d Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=84d443825255575d1b036958049ffafe8a96c80d commit 84d443825255575d1b036958049ffafe8a96c80d Author: Cy Schubert AuthorDate: 2024-01-22 15:35:06 +0000 Commit: Cy Schubert CommitDate: 2024-02-05 00:37:14 +0000 sqlite3: Vendor import of sqlite3 3.45.0 Release notes at https://www.sqlite.org/releaselog/3_45_0.html Obtained from: https://www.sqlite.org/2024/sqlite-autoconf-3450000.tar.gz Merge commit 'cdad538768db9e2c8258d19e9282fb5aaae80e46' (cherry picked from commit c19fb1f963e3dc88a82b20d1b17f94a4cd321e74) --- contrib/sqlite3/Makefile.msc | 1 + contrib/sqlite3/configure | 20 +- contrib/sqlite3/configure.ac | 2 +- contrib/sqlite3/shell.c | 3183 +++++++++------ contrib/sqlite3/sqlite3.c | 8087 ++++++++++++++++++++++++++------------ contrib/sqlite3/sqlite3.h | 152 +- contrib/sqlite3/sqlite3rc.h | 2 +- contrib/sqlite3/tea/configure | 18 +- contrib/sqlite3/tea/configure.ac | 2 +- 9 files changed, 7698 insertions(+), 3769 deletions(-) diff --git a/contrib/sqlite3/Makefile.msc b/contrib/sqlite3/Makefile.msc index 280bb95deb3e..45a07a9f317c 100644 --- a/contrib/sqlite3/Makefile.msc +++ b/contrib/sqlite3/Makefile.msc @@ -990,6 +990,7 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_STMT_SCANSTATUS=1 +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_STRICT_SUBTYPE=1 !ENDIF diff --git a/contrib/sqlite3/configure b/contrib/sqlite3/configure index 251e5da23650..037050503b74 100755 --- a/contrib/sqlite3/configure +++ b/contrib/sqlite3/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for sqlite 3.44.0. +# Generated by GNU Autoconf 2.71 for sqlite 3.45.0. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.44.0' -PACKAGE_STRING='sqlite 3.44.0' +PACKAGE_VERSION='3.45.0' +PACKAGE_STRING='sqlite 3.45.0' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.44.0 to adapt to many kinds of systems. +\`configure' configures sqlite 3.45.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1438,7 +1438,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.44.0:";; + short | recursive ) echo "Configuration of sqlite 3.45.0:";; esac cat <<\_ACEOF @@ -1563,7 +1563,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.44.0 +sqlite configure 3.45.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1833,7 +1833,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.44.0, which was +It was created by sqlite $as_me 3.45.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3106,7 +3106,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.44.0' + VERSION='3.45.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -15314,7 +15314,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.44.0, which was +This file was extended by sqlite $as_me 3.45.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15373,7 +15373,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -sqlite config.status 3.44.0 +sqlite config.status 3.45.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/contrib/sqlite3/configure.ac b/contrib/sqlite3/configure.ac index cf5fae5d060b..984c283a2e1d 100644 --- a/contrib/sqlite3/configure.ac +++ b/contrib/sqlite3/configure.ac @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.44.0, http://www.sqlite.org) +AC_INIT(sqlite, 3.45.0, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) AC_CONFIG_AUX_DIR([.]) diff --git a/contrib/sqlite3/shell.c b/contrib/sqlite3/shell.c index e357f9e9a5f7..1e02a12fbc2f 100644 --- a/contrib/sqlite3/shell.c +++ b/contrib/sqlite3/shell.c @@ -252,29 +252,1022 @@ typedef unsigned char u8; /* string conversion routines only needed on Win32 */ extern char *sqlite3_win32_unicode_to_utf8(LPCWSTR); -extern char *sqlite3_win32_mbcs_to_utf8_v2(const char *, int); -extern char *sqlite3_win32_utf8_to_mbcs_v2(const char *, int); extern LPWSTR sqlite3_win32_utf8_to_unicode(const char *zText); #endif -/* On Windows, we normally run with output mode of TEXT so that \n characters -** are automatically translated into \r\n. However, this behavior needs -** to be disabled in some cases (ex: when generating CSV output and when -** rendering quoted strings that contain \n characters). The following -** routines take care of that. +/* Use console I/O package as a direct INCLUDE. */ +#define SQLITE_INTERNAL_LINKAGE static + +#ifdef SQLITE_SHELL_FIDDLE +/* Deselect most features from the console I/O package for Fiddle. */ +# define SQLITE_CIO_NO_REDIRECT +# define SQLITE_CIO_NO_CLASSIFY +# define SQLITE_CIO_NO_TRANSLATE +# define SQLITE_CIO_NO_SETMODE +#endif +/************************* Begin ../ext/consio/console_io.h ******************/ +/* +** 2023 November 1 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +******************************************************************************** +** This file exposes various interfaces used for console and other I/O +** by the SQLite project command-line tools. These interfaces are used +** at either source conglomeration time, compilation time, or run time. +** This source provides for either inclusion into conglomerated, +** "single-source" forms or separate compilation then linking. +** +** Platform dependencies are "hidden" here by various stratagems so +** that, provided certain conditions are met, the programs using this +** source or object code compiled from it need no explicit conditional +** compilation in their source for their console and stream I/O. +** +** The symbols and functionality exposed here are not a public API. +** This code may change in tandem with other project code as needed. +** +** When this .h file and its companion .c are directly incorporated into +** a source conglomeration (such as shell.c), the preprocessor symbol +** CIO_WIN_WC_XLATE is defined as 0 or 1, reflecting whether console I/O +** translation for Windows is effected for the build. +*/ +#define HAVE_CONSOLE_IO_H 1 +#ifndef SQLITE_INTERNAL_LINKAGE +# define SQLITE_INTERNAL_LINKAGE extern /* external to translation unit */ +# include +#else +# define SHELL_NO_SYSINC /* Better yet, modify mkshellc.tcl for this. */ +#endif + +#ifndef SQLITE3_H +/* # include "sqlite3.h" */ +#endif + +#ifndef SQLITE_CIO_NO_CLASSIFY + +/* Define enum for use with following function. */ +typedef enum StreamsAreConsole { + SAC_NoConsole = 0, + SAC_InConsole = 1, SAC_OutConsole = 2, SAC_ErrConsole = 4, + SAC_AnyConsole = 0x7 +} StreamsAreConsole; + +/* +** Classify the three standard I/O streams according to whether +** they are connected to a console attached to the process. +** +** Returns the bit-wise OR of SAC_{In,Out,Err}Console values, +** or SAC_NoConsole if none of the streams reaches a console. +** +** This function should be called before any I/O is done with +** the given streams. As a side-effect, the given inputs are +** recorded so that later I/O operations on them may be done +** differently than the C library FILE* I/O would be done, +** iff the stream is used for the I/O functions that follow, +** and to support the ones that use an implicit stream. +** +** On some platforms, stream or console mode alteration (aka +** "Setup") may be made which is undone by consoleRestore(). +*/ +SQLITE_INTERNAL_LINKAGE StreamsAreConsole +consoleClassifySetup( FILE *pfIn, FILE *pfOut, FILE *pfErr ); +/* A usual call for convenience: */ +#define SQLITE_STD_CONSOLE_INIT() consoleClassifySetup(stdin,stdout,stderr) + +/* +** After an initial call to consoleClassifySetup(...), renew +** the same setup it effected. (A call not after is an error.) +** This will restore state altered by consoleRestore(); +** +** Applications which run an inferior (child) process which +** inherits the same I/O streams may call this function after +** such a process exits to guard against console mode changes. +*/ +SQLITE_INTERNAL_LINKAGE void consoleRenewSetup(void); + +/* +** Undo any side-effects left by consoleClassifySetup(...). +** +** This should be called after consoleClassifySetup() and +** before the process terminates normally. It is suitable +** for use with the atexit() C library procedure. After +** this call, no console I/O should be done until one of +** console{Classify or Renew}Setup(...) is called again. +** +** Applications which run an inferior (child) process that +** inherits the same I/O streams might call this procedure +** before so that said process will have a console setup +** however users have configured it or come to expect. +*/ +SQLITE_INTERNAL_LINKAGE void SQLITE_CDECL consoleRestore( void ); + +#else /* defined(SQLITE_CIO_NO_CLASSIFY) */ +# define consoleClassifySetup(i,o,e) +# define consoleRenewSetup() +# define consoleRestore() +#endif /* defined(SQLITE_CIO_NO_CLASSIFY) */ + +#ifndef SQLITE_CIO_NO_REDIRECT +/* +** Set stream to be used for the functions below which write +** to "the designated X stream", where X is Output or Error. +** Returns the previous value. +** +** Alternatively, pass the special value, invalidFileStream, +** to get the designated stream value without setting it. +** +** Before the designated streams are set, they default to +** those passed to consoleClassifySetup(...), and before +** that is called they default to stdout and stderr. +** +** It is error to close a stream so designated, then, without +** designating another, use the corresponding {o,e}Emit(...). +*/ +SQLITE_INTERNAL_LINKAGE FILE *invalidFileStream; +SQLITE_INTERNAL_LINKAGE FILE *setOutputStream(FILE *pf); +# ifdef CONSIO_SET_ERROR_STREAM +SQLITE_INTERNAL_LINKAGE FILE *setErrorStream(FILE *pf); +# endif +#else +# define setOutputStream(pf) +# define setErrorStream(pf) +#endif /* !defined(SQLITE_CIO_NO_REDIRECT) */ + +#ifndef SQLITE_CIO_NO_TRANSLATE +/* +** Emit output like fprintf(). If the output is going to the +** console and translation from UTF-8 is necessary, perform +** the needed translation. Otherwise, write formatted output +** to the provided stream almost as-is, possibly with newline +** translation as specified by set{Binary,Text}Mode(). +*/ +SQLITE_INTERNAL_LINKAGE int fPrintfUtf8(FILE *pfO, const char *zFormat, ...); +/* Like fPrintfUtf8 except stream is always the designated output. */ +SQLITE_INTERNAL_LINKAGE int oPrintfUtf8(const char *zFormat, ...); +/* Like fPrintfUtf8 except stream is always the designated error. */ +SQLITE_INTERNAL_LINKAGE int ePrintfUtf8(const char *zFormat, ...); + +/* +** Emit output like fputs(). If the output is going to the +** console and translation from UTF-8 is necessary, perform +** the needed translation. Otherwise, write given text to the +** provided stream almost as-is, possibly with newline +** translation as specified by set{Binary,Text}Mode(). +*/ +SQLITE_INTERNAL_LINKAGE int fPutsUtf8(const char *z, FILE *pfO); +/* Like fPutsUtf8 except stream is always the designated output. */ +SQLITE_INTERNAL_LINKAGE int oPutsUtf8(const char *z); +/* Like fPutsUtf8 except stream is always the designated error. */ +SQLITE_INTERNAL_LINKAGE int ePutsUtf8(const char *z); + +/* +** Emit output like fPutsUtf8(), except that the length of the +** accepted char or character sequence is limited by nAccept. +** +** Returns the number of accepted char values. +*/ +#ifdef CONSIO_SPUTB +SQLITE_INTERNAL_LINKAGE int +fPutbUtf8(FILE *pfOut, const char *cBuf, int nAccept); +/* Like fPutbUtf8 except stream is always the designated output. */ +#endif +SQLITE_INTERNAL_LINKAGE int +oPutbUtf8(const char *cBuf, int nAccept); +/* Like fPutbUtf8 except stream is always the designated error. */ +#ifdef CONSIO_EPUTB +SQLITE_INTERNAL_LINKAGE int +ePutbUtf8(const char *cBuf, int nAccept); +#endif + +/* +** Collect input like fgets(...) with special provisions for input +** from the console on platforms that require same. Defers to the +** C library fgets() when input is not from the console. Newline +** translation may be done as set by set{Binary,Text}Mode(). As a +** convenience, pfIn==NULL is treated as stdin. +*/ +SQLITE_INTERNAL_LINKAGE char* fGetsUtf8(char *cBuf, int ncMax, FILE *pfIn); +/* Like fGetsUtf8 except stream is always the designated input. */ +/* SQLITE_INTERNAL_LINKAGE char* iGetsUtf8(char *cBuf, int ncMax); */ + +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#ifndef SQLITE_CIO_NO_SETMODE +/* +** Set given stream for binary mode, where newline translation is +** not done, or for text mode where, for some platforms, newlines +** are translated to the platform's conventional char sequence. +** If bFlush true, flush the stream. +** +** An additional side-effect is that if the stream is one passed +** to consoleClassifySetup() as an output, it is flushed first. +** +** Note that binary/text mode has no effect on console I/O +** translation. On all platforms, newline to the console starts +** a new line and CR,LF chars from the console become a newline. +*/ +SQLITE_INTERNAL_LINKAGE void setBinaryMode(FILE *, short bFlush); +SQLITE_INTERNAL_LINKAGE void setTextMode(FILE *, short bFlush); +#endif + +#ifdef SQLITE_CIO_PROMPTED_IN +typedef struct Prompts { + int numPrompts; + const char **azPrompts; +} Prompts; + +/* +** Macros for use of a line editor. +** +** The following macros define operations involving use of a +** line-editing library or simple console interaction. +** A "T" argument is a text (char *) buffer or filename. +** A "N" argument is an integer. +** +** SHELL_ADD_HISTORY(T) // Record text as line(s) of history. +** SHELL_READ_HISTORY(T) // Read history from file named by T. +** SHELL_WRITE_HISTORY(T) // Write history to file named by T. +** SHELL_STIFLE_HISTORY(N) // Limit history to N entries. +** +** A console program which does interactive console input is +** expected to call: +** SHELL_READ_HISTORY(T) before collecting such input; +** SHELL_ADD_HISTORY(T) as record-worthy input is taken; +** SHELL_STIFLE_HISTORY(N) after console input ceases; then +** SHELL_WRITE_HISTORY(T) before the program exits. +*/ + +/* +** Retrieve a single line of input text from an input stream. +** +** If pfIn is the input stream passed to consoleClassifySetup(), +** and azPrompt is not NULL, then a prompt is issued before the +** line is collected, as selected by the isContinuation flag. +** Array azPrompt[{0,1}] holds the {main,continuation} prompt. +** +** If zBufPrior is not NULL then it is a buffer from a prior +** call to this routine that can be reused, or will be freed. +** +** The result is stored in space obtained from malloc() and +** must either be freed by the caller or else passed back to +** this function as zBufPrior for reuse. +** +** This function may call upon services of a line-editing +** library to interactively collect line edited input. +*/ +SQLITE_INTERNAL_LINKAGE char * +shellGetLine(FILE *pfIn, char *zBufPrior, int nLen, + short isContinuation, Prompts azPrompt); +#endif /* defined(SQLITE_CIO_PROMPTED_IN) */ +/* +** TBD: Define an interface for application(s) to generate +** completion candidates for use by the line-editor. +** +** This may be premature; the CLI is the only application +** that does this. Yet, getting line-editing melded into +** console I/O is desirable because a line-editing library +** may have to establish console operating mode, possibly +** in a way that interferes with the above functionality. +*/ + +#if !(defined(SQLITE_CIO_NO_UTF8SCAN)&&defined(SQLITE_CIO_NO_TRANSLATE)) +/* Skip over as much z[] input char sequence as is valid UTF-8, +** limited per nAccept char's or whole characters and containing +** no char cn such that ((1<=0 => char count, nAccept<0 => character + */ +SQLITE_INTERNAL_LINKAGE const char* +zSkipValidUtf8(const char *z, int nAccept, long ccm); + +#endif + +/************************* End ../ext/consio/console_io.h ********************/ +/************************* Begin ../ext/consio/console_io.c ******************/ +/* +** 2023 November 4 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +******************************************************************************** +** This file implements various interfaces used for console and stream I/O +** by the SQLite project command-line tools, as explained in console_io.h . +** Functions prefixed by "SQLITE_INTERNAL_LINKAGE" behave as described there. +*/ + +#ifndef SQLITE_CDECL +# define SQLITE_CDECL +#endif + +#ifndef SHELL_NO_SYSINC +# include +# include +# include +# include +# include +/* # include "sqlite3.h" */ +#endif +#ifndef HAVE_CONSOLE_IO_H +# include "console_io.h" +#endif + +#ifndef SQLITE_CIO_NO_TRANSLATE +# if (defined(_WIN32) || defined(WIN32)) && !SQLITE_OS_WINRT +# ifndef SHELL_NO_SYSINC +# include +# include +# undef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# include +# endif +# define CIO_WIN_WC_XLATE 1 /* Use WCHAR Windows APIs for console I/O */ +# else +# ifndef SHELL_NO_SYSINC +# include +# endif +# define CIO_WIN_WC_XLATE 0 /* Use plain C library stream I/O at console */ +# endif +#else +# define CIO_WIN_WC_XLATE 0 /* Not exposing translation routines at all */ +#endif + +#if CIO_WIN_WC_XLATE +/* Character used to represent a known-incomplete UTF-8 char group (�) */ +static WCHAR cBadGroup = 0xfffd; +#endif + +#if CIO_WIN_WC_XLATE +static HANDLE handleOfFile(FILE *pf){ + int fileDesc = _fileno(pf); + union { intptr_t osfh; HANDLE fh; } fid = { + (fileDesc>=0)? _get_osfhandle(fileDesc) : (intptr_t)INVALID_HANDLE_VALUE + }; + return fid.fh; +} +#endif + +#ifndef SQLITE_CIO_NO_TRANSLATE +typedef struct PerStreamTags { +# if CIO_WIN_WC_XLATE + HANDLE hx; + DWORD consMode; + char acIncomplete[4]; +# else + short reachesConsole; +# endif + FILE *pf; +} PerStreamTags; + +/* Define NULL-like value for things which can validly be 0. */ +# define SHELL_INVALID_FILE_PTR ((FILE *)~0) +# if CIO_WIN_WC_XLATE +# define SHELL_INVALID_CONS_MODE 0xFFFF0000 +# endif + +# if CIO_WIN_WC_XLATE +# define PST_INITIALIZER { INVALID_HANDLE_VALUE, SHELL_INVALID_CONS_MODE, \ + {0,0,0,0}, SHELL_INVALID_FILE_PTR } +# else +# define PST_INITIALIZER { 0, SHELL_INVALID_FILE_PTR } +# endif + +/* Quickly say whether a known output is going to the console. */ +# if CIO_WIN_WC_XLATE +static short pstReachesConsole(PerStreamTags *ppst){ + return (ppst->hx != INVALID_HANDLE_VALUE); +} +# else +# define pstReachesConsole(ppst) 0 +# endif + +# if CIO_WIN_WC_XLATE +static void restoreConsoleArb(PerStreamTags *ppst){ + if( pstReachesConsole(ppst) ) SetConsoleMode(ppst->hx, ppst->consMode); +} +# else +# define restoreConsoleArb(ppst) +# endif + +/* Say whether FILE* appears to be a console, collect associated info. */ +static short streamOfConsole(FILE *pf, /* out */ PerStreamTags *ppst){ +# if CIO_WIN_WC_XLATE + short rv = 0; + DWORD dwCM = SHELL_INVALID_CONS_MODE; + HANDLE fh = handleOfFile(pf); + ppst->pf = pf; + if( INVALID_HANDLE_VALUE != fh ){ + rv = (GetFileType(fh) == FILE_TYPE_CHAR && GetConsoleMode(fh,&dwCM)); + } + ppst->hx = (rv)? fh : INVALID_HANDLE_VALUE; + ppst->consMode = dwCM; + return rv; +# else + ppst->pf = pf; + ppst->reachesConsole = ( (short)isatty(fileno(pf)) ); + return ppst->reachesConsole; +# endif +} + +# if CIO_WIN_WC_XLATE +/* Define console modes for use with the Windows Console API. */ +# define SHELL_CONI_MODE \ + (ENABLE_ECHO_INPUT | ENABLE_INSERT_MODE | ENABLE_LINE_INPUT | 0x80 \ + | ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS | ENABLE_PROCESSED_INPUT) +# define SHELL_CONO_MODE (ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT \ + | ENABLE_VIRTUAL_TERMINAL_PROCESSING) +# endif + +typedef struct ConsoleInfo { + PerStreamTags pstSetup[3]; + PerStreamTags pstDesignated[3]; + StreamsAreConsole sacSetup; +} ConsoleInfo; + +static short isValidStreamInfo(PerStreamTags *ppst){ + return (ppst->pf != SHELL_INVALID_FILE_PTR); +} + +static ConsoleInfo consoleInfo = { + { /* pstSetup */ PST_INITIALIZER, PST_INITIALIZER, PST_INITIALIZER }, + { /* pstDesignated[] */ PST_INITIALIZER, PST_INITIALIZER, PST_INITIALIZER }, + SAC_NoConsole /* sacSetup */ +}; + +SQLITE_INTERNAL_LINKAGE FILE* invalidFileStream = (FILE *)~0; + +# if CIO_WIN_WC_XLATE +static void maybeSetupAsConsole(PerStreamTags *ppst, short odir){ + if( pstReachesConsole(ppst) ){ + DWORD cm = odir? SHELL_CONO_MODE : SHELL_CONI_MODE; + SetConsoleMode(ppst->hx, cm); + } +} +# else +# define maybeSetupAsConsole(ppst,odir) +# endif + +SQLITE_INTERNAL_LINKAGE void consoleRenewSetup(void){ +# if CIO_WIN_WC_XLATE + int ix = 0; + while( ix < 6 ){ + PerStreamTags *ppst = (ix<3)? + &consoleInfo.pstSetup[ix] : &consoleInfo.pstDesignated[ix-3]; + maybeSetupAsConsole(ppst, (ix % 3)>0); + ++ix; + } +# endif +} + +SQLITE_INTERNAL_LINKAGE StreamsAreConsole +consoleClassifySetup( FILE *pfIn, FILE *pfOut, FILE *pfErr ){ + StreamsAreConsole rv = SAC_NoConsole; + FILE* apf[3] = { pfIn, pfOut, pfErr }; + int ix; + for( ix = 2; ix >= 0; --ix ){ + PerStreamTags *ppst = &consoleInfo.pstSetup[ix]; + if( streamOfConsole(apf[ix], ppst) ){ + rv |= (SAC_InConsole< 0 ) fflush(apf[ix]); + } + consoleInfo.sacSetup = rv; + consoleRenewSetup(); + return rv; +} + +SQLITE_INTERNAL_LINKAGE void SQLITE_CDECL consoleRestore( void ){ +# if CIO_WIN_WC_XLATE + static ConsoleInfo *pci = &consoleInfo; + if( pci->sacSetup ){ + int ix; + for( ix=0; ix<3; ++ix ){ + if( pci->sacSetup & (SAC_InConsole<pstSetup[ix]; + SetConsoleMode(ppst->hx, ppst->consMode); + } + } + } +# endif +} +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#ifdef SQLITE_CIO_INPUT_REDIR +/* Say whether given FILE* is among those known, via either +** consoleClassifySetup() or set{Output,Error}Stream, as +** readable, and return an associated PerStreamTags pointer +** if so. Otherwise, return 0. +*/ +static PerStreamTags * isKnownReadable(FILE *pf){ + static PerStreamTags *apst[] = { + &consoleInfo.pstDesignated[0], &consoleInfo.pstSetup[0], 0 + }; + int ix = 0; + do { + if( apst[ix]->pf == pf ) break; + } while( apst[++ix] != 0 ); + return apst[ix]; +} +#endif + +#ifndef SQLITE_CIO_NO_TRANSLATE +/* Say whether given FILE* is among those known, via either +** consoleClassifySetup() or set{Output,Error}Stream, as +** writable, and return an associated PerStreamTags pointer +** if so. Otherwise, return 0. */ -#if (defined(_WIN32) || defined(WIN32)) && !SQLITE_OS_WINRT -static void setBinaryMode(FILE *file, int isOutput){ - if( isOutput ) fflush(file); - _setmode(_fileno(file), _O_BINARY); +static PerStreamTags * isKnownWritable(FILE *pf){ + static PerStreamTags *apst[] = { + &consoleInfo.pstDesignated[1], &consoleInfo.pstDesignated[2], + &consoleInfo.pstSetup[1], &consoleInfo.pstSetup[2], 0 + }; + int ix = 0; + do { + if( apst[ix]->pf == pf ) break; + } while( apst[++ix] != 0 ); + return apst[ix]; +} + +static FILE *designateEmitStream(FILE *pf, unsigned chix){ + FILE *rv = consoleInfo.pstDesignated[chix].pf; + if( pf == invalidFileStream ) return rv; + else{ + /* Setting a possibly new output stream. */ + PerStreamTags *ppst = isKnownWritable(pf); + if( ppst != 0 ){ + PerStreamTags pst = *ppst; + consoleInfo.pstDesignated[chix] = pst; + }else streamOfConsole(pf, &consoleInfo.pstDesignated[chix]); + } + return rv; +} + +SQLITE_INTERNAL_LINKAGE FILE *setOutputStream(FILE *pf){ + return designateEmitStream(pf, 1); +} +# ifdef CONSIO_SET_ERROR_STREAM +SQLITE_INTERNAL_LINKAGE FILE *setErrorStream(FILE *pf){ + return designateEmitStream(pf, 2); +} +# endif +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#ifndef SQLITE_CIO_NO_SETMODE +# if CIO_WIN_WC_XLATE +static void setModeFlushQ(FILE *pf, short bFlush, int mode){ + if( bFlush ) fflush(pf); + _setmode(_fileno(pf), mode); +} +# else +# define setModeFlushQ(f, b, m) if(b) fflush(f) +# endif + +SQLITE_INTERNAL_LINKAGE void setBinaryMode(FILE *pf, short bFlush){ + setModeFlushQ(pf, bFlush, _O_BINARY); +} +SQLITE_INTERNAL_LINKAGE void setTextMode(FILE *pf, short bFlush){ + setModeFlushQ(pf, bFlush, _O_TEXT); +} +# undef setModeFlushQ + +#else /* defined(SQLITE_CIO_NO_SETMODE) */ +# define setBinaryMode(f, bFlush) do{ if((bFlush)) fflush(f); }while(0) +# define setTextMode(f, bFlush) do{ if((bFlush)) fflush(f); }while(0) +#endif /* defined(SQLITE_CIO_NO_SETMODE) */ + +#ifndef SQLITE_CIO_NO_TRANSLATE +# if CIO_WIN_WC_XLATE +/* Write buffer cBuf as output to stream known to reach console, +** limited to ncTake char's. Return ncTake on success, else 0. */ +static int conZstrEmit(PerStreamTags *ppst, const char *z, int ncTake){ + int rv = 0; + if( z!=NULL ){ + int nwc = MultiByteToWideChar(CP_UTF8,0, z,ncTake, 0,0); + if( nwc > 0 ){ + WCHAR *zw = sqlite3_malloc64(nwc*sizeof(WCHAR)); + if( zw!=NULL ){ + nwc = MultiByteToWideChar(CP_UTF8,0, z,ncTake, zw,nwc); + if( nwc > 0 ){ + /* Translation from UTF-8 to UTF-16, then WCHARs out. */ + if( WriteConsoleW(ppst->hx, zw,nwc, 0, NULL) ){ + rv = ncTake; + } + } + sqlite3_free(zw); + } + } + } + return rv; +} + +/* For {f,o,e}PrintfUtf8() when stream is known to reach console. */ +static int conioVmPrintf(PerStreamTags *ppst, const char *zFormat, va_list ap){ + char *z = sqlite3_vmprintf(zFormat, ap); + if( z ){ + int rv = conZstrEmit(ppst, z, (int)strlen(z)); + sqlite3_free(z); + return rv; + }else return 0; +} +# endif /* CIO_WIN_WC_XLATE */ + +# ifdef CONSIO_GET_EMIT_STREAM +static PerStreamTags * getDesignatedEmitStream(FILE *pf, unsigned chix, + PerStreamTags *ppst){ + PerStreamTags *rv = isKnownWritable(pf); + short isValid = (rv!=0)? isValidStreamInfo(rv) : 0; + if( rv != 0 && isValid ) return rv; + streamOfConsole(pf, ppst); + return ppst; +} +# endif + +/* Get stream info, either for designated output or error stream when +** chix equals 1 or 2, or for an arbitrary stream when chix == 0. +** In either case, ppst references a caller-owned PerStreamTags +** struct which may be filled in if none of the known writable +** streams is being held by consoleInfo. The ppf parameter is a +** byref output when chix!=0 and a byref input when chix==0. + */ +static PerStreamTags * +getEmitStreamInfo(unsigned chix, PerStreamTags *ppst, + /* in/out */ FILE **ppf){ + PerStreamTags *ppstTry; + FILE *pfEmit; + if( chix > 0 ){ + ppstTry = &consoleInfo.pstDesignated[chix]; + if( !isValidStreamInfo(ppstTry) ){ + ppstTry = &consoleInfo.pstSetup[chix]; + pfEmit = ppst->pf; + }else pfEmit = ppstTry->pf; + if( !isValidStreamInfo(ppstTry) ){ + pfEmit = (chix > 1)? stderr : stdout; + ppstTry = ppst; + streamOfConsole(pfEmit, ppstTry); + } + *ppf = pfEmit; + }else{ + ppstTry = isKnownWritable(*ppf); + if( ppstTry != 0 ) return ppstTry; + streamOfConsole(*ppf, ppst); + return ppst; + } + return ppstTry; +} + +SQLITE_INTERNAL_LINKAGE int oPrintfUtf8(const char *zFormat, ...){ + va_list ap; + int rv; + FILE *pfOut; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(1, &pst, &pfOut); +# else + getEmitStreamInfo(1, &pst, &pfOut); +# endif + assert(zFormat!=0); + va_start(ap, zFormat); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + rv = conioVmPrintf(ppst, zFormat, ap); + }else{ +# endif + rv = vfprintf(pfOut, zFormat, ap); +# if CIO_WIN_WC_XLATE + } +# endif + va_end(ap); + return rv; +} + +SQLITE_INTERNAL_LINKAGE int ePrintfUtf8(const char *zFormat, ...){ + va_list ap; + int rv; + FILE *pfErr; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(2, &pst, &pfErr); +# else + getEmitStreamInfo(2, &pst, &pfErr); +# endif + assert(zFormat!=0); + va_start(ap, zFormat); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + rv = conioVmPrintf(ppst, zFormat, ap); + }else{ +# endif + rv = vfprintf(pfErr, zFormat, ap); +# if CIO_WIN_WC_XLATE + } +# endif + va_end(ap); + return rv; +} + +SQLITE_INTERNAL_LINKAGE int fPrintfUtf8(FILE *pfO, const char *zFormat, ...){ + va_list ap; + int rv; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(0, &pst, &pfO); +# else + getEmitStreamInfo(0, &pst, &pfO); +# endif + assert(zFormat!=0); + va_start(ap, zFormat); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + maybeSetupAsConsole(ppst, 1); + rv = conioVmPrintf(ppst, zFormat, ap); + if( 0 == isKnownWritable(ppst->pf) ) restoreConsoleArb(ppst); + }else{ +# endif + rv = vfprintf(pfO, zFormat, ap); +# if CIO_WIN_WC_XLATE + } +# endif + va_end(ap); + return rv; +} + +SQLITE_INTERNAL_LINKAGE int fPutsUtf8(const char *z, FILE *pfO){ + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(0, &pst, &pfO); +# else + getEmitStreamInfo(0, &pst, &pfO); +# endif + assert(z!=0); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ){ + int rv; + maybeSetupAsConsole(ppst, 1); + rv = conZstrEmit(ppst, z, (int)strlen(z)); + if( 0 == isKnownWritable(ppst->pf) ) restoreConsoleArb(ppst); + return rv; + }else { +# endif + return (fputs(z, pfO)<0)? 0 : (int)strlen(z); +# if CIO_WIN_WC_XLATE + } +# endif +} + +SQLITE_INTERNAL_LINKAGE int ePutsUtf8(const char *z){ + FILE *pfErr; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(2, &pst, &pfErr); +# else + getEmitStreamInfo(2, &pst, &pfErr); +# endif + assert(z!=0); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ) return conZstrEmit(ppst, z, (int)strlen(z)); + else { +# endif + return (fputs(z, pfErr)<0)? 0 : (int)strlen(z); +# if CIO_WIN_WC_XLATE + } +# endif +} + +SQLITE_INTERNAL_LINKAGE int oPutsUtf8(const char *z){ + FILE *pfOut; + PerStreamTags pst = PST_INITIALIZER; /* for unknown streams */ +# if CIO_WIN_WC_XLATE + PerStreamTags *ppst = getEmitStreamInfo(1, &pst, &pfOut); +# else + getEmitStreamInfo(1, &pst, &pfOut); +# endif + assert(z!=0); +# if CIO_WIN_WC_XLATE + if( pstReachesConsole(ppst) ) return conZstrEmit(ppst, z, (int)strlen(z)); + else { +# endif + return (fputs(z, pfOut)<0)? 0 : (int)strlen(z); +# if CIO_WIN_WC_XLATE + } +# endif +} + +#endif /* !defined(SQLITE_CIO_NO_TRANSLATE) */ + +#if !(defined(SQLITE_CIO_NO_UTF8SCAN) && defined(SQLITE_CIO_NO_TRANSLATE)) +/* Skip over as much z[] input char sequence as is valid UTF-8, +** limited per nAccept char's or whole characters and containing +** no char cn such that ((1<=0 => char count, nAccept<0 => character + */ +SQLITE_INTERNAL_LINKAGE const char* +zSkipValidUtf8(const char *z, int nAccept, long ccm){ + int ng = (nAccept<0)? -nAccept : 0; + const char *pcLimit = (nAccept>=0)? z+nAccept : 0; + assert(z!=0); + while( (pcLimit)? (z To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 825b7c222a6b - stable/14 - ntb_hw_plx: Workaround read-only scratchpad registers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 825b7c222a6b47ebf5d8974d02e3a7d9b59f5a0d Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=825b7c222a6b47ebf5d8974d02e3a7d9b59f5a0d commit 825b7c222a6b47ebf5d8974d02e3a7d9b59f5a0d Author: Alexander Motin AuthorDate: 2024-01-27 21:51:46 +0000 Commit: Alexander Motin CommitDate: 2024-02-05 20:37:15 +0000 ntb_hw_plx: Workaround read-only scratchpad registers On several systems we've noticed that when NTB link goes down, the Physical Layer User Test Pattern registers we use as additional scratchpad registers (that is explicitly allowed by the chip specs) become read-only for about 100us. I see no explanation for this in the chip specs, neither why it was not seen before, may be a race. Since we do need these registers, workaround it by repeating writes until we succeed or 1ms timeout expire. MFC after: 1 week (cherry picked from commit 3883c6fbf232452098ba6ea802ef1426d83d2d68) --- sys/dev/ntb/ntb.h | 2 +- sys/dev/ntb/ntb_hw/ntb_hw_plx.c | 26 +++++++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/sys/dev/ntb/ntb.h b/sys/dev/ntb/ntb.h index f9119fa0aedc..e2af625fff94 100644 --- a/sys/dev/ntb/ntb.h +++ b/sys/dev/ntb/ntb.h @@ -279,7 +279,7 @@ int ntb_mw_set_wc(device_t ntb, unsigned mw_idx, vm_memattr_t mode); uint8_t ntb_spad_count(device_t ntb); /* - * ntb_get_max_spads() - zero local scratch registers + * ntb_spad_clear() - zero local scratch registers * @ntb: pointer to ntb_softc instance * * This functions overwrites all local scratchpad registers with zeroes. diff --git a/sys/dev/ntb/ntb_hw/ntb_hw_plx.c b/sys/dev/ntb/ntb_hw/ntb_hw_plx.c index c0de13d7357d..5d89297203b2 100644 --- a/sys/dev/ntb/ntb_hw/ntb_hw_plx.c +++ b/sys/dev/ntb/ntb_hw/ntb_hw_plx.c @@ -880,17 +880,33 @@ static int ntb_plx_spad_write(device_t dev, unsigned int idx, uint32_t val) { struct ntb_plx_softc *sc = device_get_softc(dev); - u_int off; + u_int off, t; if (idx >= sc->spad_count1 + sc->spad_count2) return (EINVAL); - if (idx < sc->spad_count1) + if (idx < sc->spad_count1) { off = sc->spad_off1 + idx * 4; - else + bus_write_4(sc->conf_res, off, val); + return (0); + } else { off = sc->spad_off2 + (idx - sc->spad_count1) * 4; - bus_write_4(sc->conf_res, off, val); - return (0); + /* + * For some reason when link goes down Test Pattern registers + * we use as additional scratchpad become read-only for about + * 100us. I see no explanation in specs, so just wait a bit. + */ + for (t = 0; t <= 1000; t++) { + bus_write_4(sc->conf_res, off, val); + if (bus_read_4(sc->conf_res, off) == val) + return (0); + DELAY(1); + } + device_printf(dev, + "Can't write Physical Layer User Test Pattern (0x%x)\n", + off); + return (EIO); + } } static void From nobody Mon Feb 5 20:41:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTJFF31gVz58yCX; Mon, 5 Feb 2024 20:41:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTJFD5bPcz4xDS; Mon, 5 Feb 2024 20:41:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707165680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G7koAjXKNm1ztyMbFCnolD1ajYMPoMTY56QnHxtQXO8=; b=dcj6178rgbmXbRTkqcfSC6T6z3/j1TFwVv7wNxZHRlR9AG+TewGT0l2SEios11R2KBS45c gMXHfZmaHsDiVGBjOFa8a2MWLllZTdPHtQZK4KBOUbpKe1RFhlG7CoBk/kTBvyM6IPWqAp VVF8J3qJ+sn0wzkCjady+gBNZmtsD1P0rFDTvBtFCKv5t9mZBZDF9RyJpAftFmhRVk+N3/ GJavUt5i/s3ay7Bpv+6oKFra7VeBmWVVmvcZ7R7zJfQzS3HL06U0r8dwjibdJVupXGZNHw RoY/nC/W6jVX7tCnE3RyxxAPJRbF+iFLSZbBmkWp0DR3sjaHQF4avd0PXf8lcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707165680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G7koAjXKNm1ztyMbFCnolD1ajYMPoMTY56QnHxtQXO8=; b=LYyIPqgyRE8KruShCxCbYKvBR+jHbi5kGZPYoUVHKbGMHCWkOOUIFx5SpwT74LyNfySr6v bLzke8sRgZnUnX55BhnSzUsHoD1Ks4PMLLxSOB33jLWIZI7lLl24IdAbS0kfOatJO+bekm F73tI8W5FajLgBzJyTo1uQH0q9c/ADnXgzSq9H7PEXRrsefrP2Nkx2v8W7kRyxjDQfApGS VFzT1ngiGnH9bZJ/qaqgFcIIIRHIYV+da1dGRZlcuCfU0fRrLQBTepuAUh6C7XnfdIszE4 14qJBQN3DXmNYufkHZ6Ez61A55IaTMK1+GzC+3G8yVPZCNjjWCiUi+El9MOPvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707165680; a=rsa-sha256; cv=none; b=af+Jbuniv6F19caEouBp8PCyqolyNagImwjVBmWZqOWwscThZsxS7aATMjSudOzr98Knsf zNeIrqAkas0l1JIyUqeOiS9+pn8gxjF8k/tbDKwQdMhPC2NfwtECWwaJLsUo1S7QqryT2/ HQJtrfKB64XTDNY4MXVRxIwRZoR+Snp24Ur0q143GvDPwBEJNw0QLr5g9mv4/AcAU4SUNw Pk1slDPHF4IHZMIqU5cTeYTpCX6/hwfKGeZ46F11KfkBP/r6JLpdUBfBZoVj2cvvDvg6HA v8BB9YsrL6A1kRbjMRLf3w7+IW6kXWxrc628ImqgyjfaWDdN0W4V+FITMbqzjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTJFD4Mp4zvPM; Mon, 5 Feb 2024 20:41:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 415KfKVL082435; Mon, 5 Feb 2024 20:41:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 415KfKwp082432; Mon, 5 Feb 2024 20:41:20 GMT (envelope-from git) Date: Mon, 5 Feb 2024 20:41:20 GMT Message-Id: <202402052041.415KfKwp082432@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 7393d37b1224 - stable/13 - ntb_hw_plx: Workaround read-only scratchpad registers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7393d37b12249aa26b0336136790cbcb33b690c2 Auto-Submitted: auto-generated The branch stable/13 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=7393d37b12249aa26b0336136790cbcb33b690c2 commit 7393d37b12249aa26b0336136790cbcb33b690c2 Author: Alexander Motin AuthorDate: 2024-01-27 21:51:46 +0000 Commit: Alexander Motin CommitDate: 2024-02-05 20:39:58 +0000 ntb_hw_plx: Workaround read-only scratchpad registers On several systems we've noticed that when NTB link goes down, the Physical Layer User Test Pattern registers we use as additional scratchpad registers (that is explicitly allowed by the chip specs) become read-only for about 100us. I see no explanation for this in the chip specs, neither why it was not seen before, may be a race. Since we do need these registers, workaround it by repeating writes until we succeed or 1ms timeout expire. MFC after: 1 week (cherry picked from commit 3883c6fbf232452098ba6ea802ef1426d83d2d68) --- sys/dev/ntb/ntb.h | 2 +- sys/dev/ntb/ntb_hw/ntb_hw_plx.c | 26 +++++++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/sys/dev/ntb/ntb.h b/sys/dev/ntb/ntb.h index 61dc2cac5faf..f5f85815103e 100644 --- a/sys/dev/ntb/ntb.h +++ b/sys/dev/ntb/ntb.h @@ -281,7 +281,7 @@ int ntb_mw_set_wc(device_t ntb, unsigned mw_idx, vm_memattr_t mode); uint8_t ntb_spad_count(device_t ntb); /* - * ntb_get_max_spads() - zero local scratch registers + * ntb_spad_clear() - zero local scratch registers * @ntb: pointer to ntb_softc instance * * This functions overwrites all local scratchpad registers with zeroes. diff --git a/sys/dev/ntb/ntb_hw/ntb_hw_plx.c b/sys/dev/ntb/ntb_hw/ntb_hw_plx.c index 535a6f489e40..0e48903ad7b9 100644 --- a/sys/dev/ntb/ntb_hw/ntb_hw_plx.c +++ b/sys/dev/ntb/ntb_hw/ntb_hw_plx.c @@ -880,17 +880,33 @@ static int ntb_plx_spad_write(device_t dev, unsigned int idx, uint32_t val) { struct ntb_plx_softc *sc = device_get_softc(dev); - u_int off; + u_int off, t; if (idx >= sc->spad_count1 + sc->spad_count2) return (EINVAL); - if (idx < sc->spad_count1) + if (idx < sc->spad_count1) { off = sc->spad_off1 + idx * 4; - else + bus_write_4(sc->conf_res, off, val); + return (0); + } else { off = sc->spad_off2 + (idx - sc->spad_count1) * 4; - bus_write_4(sc->conf_res, off, val); - return (0); + /* + * For some reason when link goes down Test Pattern registers + * we use as additional scratchpad become read-only for about + * 100us. I see no explanation in specs, so just wait a bit. + */ + for (t = 0; t <= 1000; t++) { + bus_write_4(sc->conf_res, off, val); + if (bus_read_4(sc->conf_res, off) == val) + return (0); + DELAY(1); + } + device_printf(dev, + "Can't write Physical Layer User Test Pattern (0x%x)\n", + off); + return (EIO); + } } static void From nobody Tue Feb 6 00:38:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTPVm08XDz59NQV; Tue, 6 Feb 2024 00:38:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTPVl6h1Gz4Dr0; Tue, 6 Feb 2024 00:38:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oE3W3kp9z+avEvL9qGoZ5aQ4956/uvp/mI+K18piJ9o=; b=TKMXiKyTFEMNAzNbOaiKsBscgRUGc/miatwFX45a6YOhSPo1WgRtJ6lMsxDFDMhy7xUAwr pvuBLMQq8DPgQdioHaz7ewlilumN9IZu+jpBr7pvdjeEVMDVQ/FOPTnbP/kL/Qjl/5aXyE VWoZBkK1NgxWwUISqiRypuN8MoS/R5tthkuTrxxa3w3gsw6g3+gYTXRkFrox8slQ93zFSS xH4XSSOa6ypEwH1B+3VDKIpSCpqSe3k1I4JUM1tgVugkVfp6TedOFBAyxZzJv88DgmZiph nmbs9tz9niZtflmDHwlPOhQ6P7qbOOY8q6cwYUafmFh0/4ApzKzV/B2DC/E1ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oE3W3kp9z+avEvL9qGoZ5aQ4956/uvp/mI+K18piJ9o=; b=Vy7/exeojIA80D2xkAD0RVitv8SPeVaoJU/rnzY2eK9MpLyxgqGPtFlW5UNqoc8dKVNZU5 sN2mfx10yQTofI35HZRB36/uIQ6osI/rRcBxWBVO2sFp4y+ff5G6UB72jmvAfpqH7vD+yA 2xe2FEzDPlASGGWUvYPxKe2oKXlCETZGQb/wlZgRo1wWxtu5m//2mHsCzay71URjYo1BEo Xb7k8OouWPUoiG4MJ9twmMGbklK5Egd7TFw2vQwikg0ya5yJthZuWljAAxXJiKrSiOAox+ dNiu2riZEnQD/5cemj3lCwkRn9GxGKKiJdMZcE0dzi7Yawvf5ed27rCK5IwvNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707179903; a=rsa-sha256; cv=none; b=E88bDARgrGt4Ma/F6NqiAxLhZGM1A9FHd9HqsN4rncS37g0yVuaXIwRx1kdxpPfXPWvH1W pRRVhpiukHqtSKGA8XKfr+IiOkmfmMAGOaNRJXOe2QeHGXgUOzXz54wM9viq45BjgGGBoM stUwFuoDbqoiviDGa9sOW7t0ZxZOT/3fIBpChS4iKz7N7imOaoPcVnFG3aNdqyuTGkoGmb w49WHdbO0ZMSOSkIrT4ScTAlqA2+nAQ9lsYIK3RWw5PdnvztlM171Ds5qly7NSAUHwqbSs JOHMUawvqtIbHsl4DFsTvXZa5iW2xK6mZzZqosBLwwP+dUqxbrpDbnxrFaT/GQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTPVl5jMLz129T; Tue, 6 Feb 2024 00:38:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4160cNhY071226; Tue, 6 Feb 2024 00:38:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4160cNE0071223; Tue, 6 Feb 2024 00:38:23 GMT (envelope-from git) Date: Tue, 6 Feb 2024 00:38:23 GMT Message-Id: <202402060038.4160cNE0071223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 151495ac8dde - stable/14 - chflags(1): Fix -f option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 151495ac8ddeec3fed3c55963776699fde8c8c6b Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=151495ac8ddeec3fed3c55963776699fde8c8c6b commit 151495ac8ddeec3fed3c55963776699fde8c8c6b Author: Ricardo Branco AuthorDate: 2024-01-29 22:17:47 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-06 00:37:37 +0000 chflags(1): Fix -f option PR: 276723 (cherry picked from commit fae467c2212ced8e82f5fa385d316445c8874941) --- bin/chflags/chflags.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/chflags/chflags.c b/bin/chflags/chflags.c index a08ac88ab3cd..5c9a2f7e7f42 100644 --- a/bin/chflags/chflags.c +++ b/bin/chflags/chflags.c @@ -195,9 +195,11 @@ main(int argc, char *argv[]) if (newflags == p->fts_statp->st_flags) continue; if (chflagsat(AT_FDCWD, p->fts_accpath, newflags, - atflag) == -1 && !fflag) { - warn("%s", p->fts_path); - rval = 1; + atflag) == -1) { + if (!fflag) { + warn("%s", p->fts_path); + rval = 1; + } } else if (vflag || siginfo) { (void)printf("%s", p->fts_path); if (vflag > 1 || siginfo) From nobody Tue Feb 6 00:38:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTPVn1ZJtz59NBn; Tue, 6 Feb 2024 00:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTPVn0W1fz4DnX; Tue, 6 Feb 2024 00:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4nh/jNgqQ4K+WvcQAq0SAKHfKB9t+9bPxJnrOYWf9M=; b=Ls3h5XMgHUjCBsTyx6YQ9+o1xempsvtLHyB7xsHJ0Fquj/t3GAJ33HPdZPPAUyZcjrMS4I 6UfaNgZ9XPS0PgUafkseguVSsVCbAvHmjdOHVTQ+X0ay1jI7VL28f8plqCuljEqInCgArd lAF9Lyz3zKEktWTSwh9vPXz9044d0EDecbZnyY1t09PBCj66BHtLHAzhasXGbNS2Z07cSy QEUaJITSgKnhCdNeZabmgHcYaFUNMwBxeXTDJlkFejJw0IO5vkIOMe53dcSEv97BeHcTcC HhYiHJJ1Hez+uFPvyWkSpXCw7qZwfSRDhEWXXSjHn3q5MNVjoqMWjUIzQa4JeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4nh/jNgqQ4K+WvcQAq0SAKHfKB9t+9bPxJnrOYWf9M=; b=LTtm/zmXTKBquTEKOtfvjjCnvYpDWdQ+RWS7UYUVjRbAvO76wOW9XZ6P8gBJpOlyi1K++O Yp2JPVdNO/rNOv9M91zVpL3d/H1A0YeGzT0hCwlHyt7VGS3Mga15Wpdr4HwPn4SMd2E+Kq xRDxprqjyORzNl+NzOQ4V9Q4By3pQynBnorn9oAWq0RyddMlGoswTTxwM9RyhC3fGziaVi aGwjhZZ13mdz7hoVpeOK2JnnUpxjbnxMrOX1TNColnl6bSHXXMtgveoKzzEdj+ElGoUuCe GwTcj6whzHiOVL4w71YfUy75eht6ZyUAPO5CWSuUon9HyfR62htcsilVx43ZtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707179905; a=rsa-sha256; cv=none; b=uSFOuf3n1r+uTH6sYDCb4WcuiIzAGwoTFh9zM5aA3y36rhv7RVfMVSXTVUyNXLTLGxGeEW 5orbetlq5LFBsV9XfokGRy4lcPxaUxj2oSPl0hifcPIQzN0+q8YbpTgoiQcBUofnGZraM6 cbR4JmV4fnKG70kdiJaILdqaLKjXUJDbrBfYd+EhDWw6LDOrXXjRqNNJZQl6bRCa/Q0WMe 4n0qPUGFc4IQPk84yu/mZkfF/M2uV95gIWioh4PsWm0aZD0w73dGyaQ6wJfEF5x1QNCy8Q 9z+FBsslCGxWiJqWaqxUdINR/9fc4Ymx9jBNphid8pEZj3ek25WI5/0SoasypA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTPVm6gsQz124B; Tue, 6 Feb 2024 00:38:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4160cOPF071274; Tue, 6 Feb 2024 00:38:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4160cOSV071271; Tue, 6 Feb 2024 00:38:24 GMT (envelope-from git) Date: Tue, 6 Feb 2024 00:38:24 GMT Message-Id: <202402060038.4160cOSV071271@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: afb21c3a5910 - stable/14 - chflags(1): obey siginfo request on chflagsat(2) failure List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: afb21c3a5910fee2e6792121302840c5c2a69369 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=afb21c3a5910fee2e6792121302840c5c2a69369 commit afb21c3a5910fee2e6792121302840c5c2a69369 Author: Konstantin Belousov AuthorDate: 2024-01-30 18:07:59 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-06 00:37:37 +0000 chflags(1): obey siginfo request on chflagsat(2) failure (cherry picked from commit 2954af09f143ed1e484f7ca520e0d2611101e248) --- bin/chflags/chflags.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/chflags/chflags.c b/bin/chflags/chflags.c index 5c9a2f7e7f42..39191c9a3ae2 100644 --- a/bin/chflags/chflags.c +++ b/bin/chflags/chflags.c @@ -74,7 +74,7 @@ main(int argc, char *argv[]) u_long clear, newflags, set; long val; int Hflag, Lflag, Rflag, fflag, hflag, vflag, xflag; - int ch, fts_options, oct, rval; + int ch, e, fts_options, oct, rval; char *flags, *ep; Hflag = Lflag = Rflag = fflag = hflag = vflag = xflag = 0; @@ -196,10 +196,16 @@ main(int argc, char *argv[]) continue; if (chflagsat(AT_FDCWD, p->fts_accpath, newflags, atflag) == -1) { + e = errno; if (!fflag) { - warn("%s", p->fts_path); + warnc(e, "%s", p->fts_path); rval = 1; } + if (siginfo) { + (void)printf("%s: %s\n", p->fts_path, + strerror(e)); + siginfo = 0; + } } else if (vflag || siginfo) { (void)printf("%s", p->fts_path); if (vflag > 1 || siginfo) From nobody Tue Feb 6 00:39:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTPWs22YWz59NQh; Tue, 6 Feb 2024 00:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTPWs0ndhz4FtY; Tue, 6 Feb 2024 00:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78kQeFxgTYbxC2qjOr4Tseq7HLnxvoS+24p/v5uaiMc=; b=K3zm0x/Yk1h+TGSE+dzHOsAqiWYr0ZbOfcT6kkb5iTSenEhvDnZ+pTa3o53CzK9ptbzVLU YzGVfVJiUuJAMZZ1X48+0JcYZ61xE97MWzyX3tlg9o1n/ILwQdLIoVcHAhZL/09V5+SISm kXzjasiL/OZ/PSc8eRAtJwWIQKHLxKc6c4HwuJJWx7VFs/mhxS+gUtZr5+my5HgO5vm/Jo rmzA5wFYLSHe/Yq5O+Li62h1OdfRyCmTXx4PLrVC7YPzyoJlnoewNr37p/K7nrOHo/I9Kh fNSUPmExqGTH+NX4Xe61ey2oejKN/sMQ1jp37xMrKYglm8bf0jAGDWJN70Kyxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78kQeFxgTYbxC2qjOr4Tseq7HLnxvoS+24p/v5uaiMc=; b=ZW59MJ+rkBmqFQPU1deSxLVCOSiUVNAJrRQTod0rUXTydmtoWAX22TivYn1g/A/F1u2rIM 1mS3U5/Q3TDD1P1CG7czFIFcCvrK6NUP5ZHg409/7wqooPu+shk5pxpp1oYart81ENE/VP wOw3A0l41+SPSa/OJATraQIkkI7ULxHlmwmk8vgCwJ9FIzma1VhOusAC8z45L9NgW3OmPx 62ZTqaPVcgm1phQKY8mpEATHIz3fgTQXDC5BiOPrjHNonwHEqcURaXdK2p594IW29piLFk ri1v62c5tTEoe0aMyRFE8DhqjgC/KI34FgrOJ+OBsKbEBg15a33v9tH4+wRjMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707179961; a=rsa-sha256; cv=none; b=inWlw4E508gKUi0iqRdqDowQ5ZQRs/48JncwhFVRT4vK4Gb8m5JChQRL8nh06KaSt22ng4 nhYVPqQD9w3zv/0ZXgpSTatyFdzN91AZGfB8Z9mHGv/pExotnQGW+6TDqZx4TsVrOc4XZS mA5hUhpONLEI4OyAIE+d/qKTh17P2MeVgUJ4RIJr0NBPYj2He8wrJL3DfLOIHYRi13hoJq OUTZFpbVc/X+g8Qw3VLnG0UxX+Cz7yBFDIq2W+VaePBIwLGdsz5Z9U/lHKMNpAopN9ucy3 nO32yRDZjT2soUrQ58VZSEgV4C2LFIJS3eSNpLaXJ1fVMdRXl+5z0/nQuaDWoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTPWr707kz129Y; Tue, 6 Feb 2024 00:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4160dKFR071535; Tue, 6 Feb 2024 00:39:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4160dKLW071532; Tue, 6 Feb 2024 00:39:20 GMT (envelope-from git) Date: Tue, 6 Feb 2024 00:39:20 GMT Message-Id: <202402060039.4160dKLW071532@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 19d960cedddd - stable/13 - chflags(1): Fix -f option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 19d960cedddd08b59fe193190744a36602e7e8d5 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=19d960cedddd08b59fe193190744a36602e7e8d5 commit 19d960cedddd08b59fe193190744a36602e7e8d5 Author: Ricardo Branco AuthorDate: 2024-01-29 22:17:47 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-06 00:38:34 +0000 chflags(1): Fix -f option PR: 276723 (cherry picked from commit fae467c2212ced8e82f5fa385d316445c8874941) --- bin/chflags/chflags.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/chflags/chflags.c b/bin/chflags/chflags.c index 2532b4e230ef..81fb6708ae34 100644 --- a/bin/chflags/chflags.c +++ b/bin/chflags/chflags.c @@ -195,9 +195,11 @@ main(int argc, char *argv[]) if (newflags == p->fts_statp->st_flags) continue; if (chflagsat(AT_FDCWD, p->fts_accpath, newflags, - atflag) == -1 && !fflag) { - warn("%s", p->fts_path); - rval = 1; + atflag) == -1) { + if (!fflag) { + warn("%s", p->fts_path); + rval = 1; + } } else if (vflag || siginfo) { (void)printf("%s", p->fts_path); if (vflag > 1 || siginfo) From nobody Tue Feb 6 00:39:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTPWt377Hz59NQj; Tue, 6 Feb 2024 00:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTPWt1yXLz4Fd5; Tue, 6 Feb 2024 00:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+5staT/B+OsDX3y43WVS92KfXMnaozPEaG5Z0cLFhrY=; b=A6Cv9iVoLrtI6iVzntqn1rIz2AFsVcs7AADW2FzR1x3A5C1o7LKfhlIrcCipQzq/VpbC1N 1wllW+pxAd2H70B7q3/dn200LD1zdAs6PCvgmLWF0STWPr+d049AEqxNLZJeU2hnQV+hfO HDZoKMKre7hR13kptypFt3Q6qcOKVYN7zrEHDHGZ/R4edFj2m/M58n1FC6JuAFhLh/9MOM 9wxz3/wFM9JaLpkJec6ZBT7zQlnwVAjFZY6gLfXYP1sFoF8rsqd8b07f9qL3gdsFzAe+Io uVeIPJNPeOZJJO43kFgs0rNQrl+FXDvTGCu8HD37TnEZ/YhTRWxKWaedjn+zvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707179962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+5staT/B+OsDX3y43WVS92KfXMnaozPEaG5Z0cLFhrY=; b=rg057LpKiXdqaycBwG186ow448BXADIZ8H/beVOpZrf7cMr//vGkWnInID5C0hSgl/4ZIO Afu5h7HKGRBQ6NmxahLKmmz26yEkysNrM6Ejkp+AH83fa6FvUxl9rU8eH4x3qtICvMrCU5 NEUEtXAT5j0lSeoE5V/dkzldOAEde0tTiRpnKnP8qtJl4ocJYIcls7kPHoGDG/JJi/LFhq QhueLeCnGzZimHG2jK7PQKm+LtU3O247doYVpI6S7iALFi0HiyvV/AjKe/wARMK+GfRiqN zZ+g6h6+EFbAeoCwqfTskEcIuvf86T/7irQZCsQE+QoOvt2wo72wfKqo0zwW4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707179962; a=rsa-sha256; cv=none; b=qtoP+YBbmyBaZDMr9mjMmrq+Fh/0H+AGIfc+egIrSBQv/mRe7aeLT+Gott32wOIAlnI0/7 6Jcn0pGSEJpQGGe+igBq5fXTCgafEK5uwS/x2rYfm8Tk5o8bnHSBZVpBRa5rfJRfX8/jYQ t2CJUsW9uIm19TOo9wcyeDctXKzDOGNurLyXskOkRH4G19s3+MMvWsEbx/u1lwKaw7MAXd nJYrWvmaNieK+dlbG+sS2cGzWmZUV78nwznVBizikS6j1+eN0XW2Mz5SmByh+LqJKFTL6Y MzUxAcVIBLjQ2OjQGyTex1/LGzzeoHfE+BI3wvaTlcZ0PSVx78LUcxmr6UQK9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTPWt0vhRz129Z; Tue, 6 Feb 2024 00:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4160dM0b071583; Tue, 6 Feb 2024 00:39:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4160dMnX071580; Tue, 6 Feb 2024 00:39:22 GMT (envelope-from git) Date: Tue, 6 Feb 2024 00:39:22 GMT Message-Id: <202402060039.4160dMnX071580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: dc30b2841b7d - stable/13 - chflags(1): obey siginfo request on chflagsat(2) failure List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dc30b2841b7d9903f543f69ac10c8ebe6c6ecc69 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=dc30b2841b7d9903f543f69ac10c8ebe6c6ecc69 commit dc30b2841b7d9903f543f69ac10c8ebe6c6ecc69 Author: Konstantin Belousov AuthorDate: 2024-01-30 18:07:59 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-06 00:38:35 +0000 chflags(1): obey siginfo request on chflagsat(2) failure (cherry picked from commit 2954af09f143ed1e484f7ca520e0d2611101e248) --- bin/chflags/chflags.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/chflags/chflags.c b/bin/chflags/chflags.c index 81fb6708ae34..06cbd984128a 100644 --- a/bin/chflags/chflags.c +++ b/bin/chflags/chflags.c @@ -74,7 +74,7 @@ main(int argc, char *argv[]) u_long clear, newflags, set; long val; int Hflag, Lflag, Rflag, fflag, hflag, vflag, xflag; - int ch, fts_options, oct, rval; + int ch, e, fts_options, oct, rval; char *flags, *ep; Hflag = Lflag = Rflag = fflag = hflag = vflag = xflag = 0; @@ -196,10 +196,16 @@ main(int argc, char *argv[]) continue; if (chflagsat(AT_FDCWD, p->fts_accpath, newflags, atflag) == -1) { + e = errno; if (!fflag) { - warn("%s", p->fts_path); + warnc(e, "%s", p->fts_path); rval = 1; } + if (siginfo) { + (void)printf("%s: %s\n", p->fts_path, + strerror(e)); + siginfo = 0; + } } else if (vflag || siginfo) { (void)printf("%s", p->fts_path); if (vflag > 1 || siginfo) From nobody Tue Feb 6 18:11:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTrsK3dx1z59jJG; Tue, 6 Feb 2024 18:11:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTrsK390nz46BW; Tue, 6 Feb 2024 18:11:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707243061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aihf/wwWtOpk81PmkCbzXwuInJmZjlChxd9glfxzdFQ=; b=gY5pxKunk7wSFBCn+0LtTD92OZ/deiF2u3zFt6EydOn+3nuU9P0etDo2BA9H6whNtnmXgK SrumVtVuAeLx7r56aUdKrqdG0UY6ksWIMnSVbZrMUvO1fUeTIVH/kzWpU007GXzuHFSUzZ 4Xx69Tk8jqu8HhkXp5Sxv3QTvHurLd0atH94MomfCdqZObIu78ZvGL/wq/oWrWp8/qYhZF EKQN/3++hY6yHSfeCk9M5i61bxewETgoEBP5cYIAmgMO6JzSva/UhxAsn2e8Z1/6DE7kCS cgsvyk1ivnNvu/tOraEjwcwqqdXBU5kA1IPT1xOOb7jE7jYDrZyfGYt1T1BsFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707243061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aihf/wwWtOpk81PmkCbzXwuInJmZjlChxd9glfxzdFQ=; b=l+iLuzj7Zz/KZPrG17cgj/QYzgEPj6EWFJ/RmX4j5aD1XUoClu2Fwp0o1wNdqswXaL9CiL MDimEDzHuPAYH77TWZ7h6vKyMYmMGlHGIQKbW1pp2xreF2a+/JEpVmYhcB5gGVhT12S09K 9RBP8bdKKL3qfyY7WhpQYSfUTjOSGfK8bryAQqJWQHC9JzVHbLNLU9cnLRu0ePDH/cu+hH U3yFBScwllIkCCyhcWMzZOKQCxXknMtYynlcr8k6TjfBFBYpWv8x0dbjcvJ07KqDedAG1+ bHK4UhDBC1Hj5jgrj/gR/wv0ergxw13LD1pjM17hneW0q+cgdFzEbWseg4+KXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707243061; a=rsa-sha256; cv=none; b=Shf/kuwlpJrxc26P02JdTJ/Z6olW6DJQ5EY4IoIGK7P6DFPnCkcGGUNDg9ZGG5mz+zxIS4 2IS0UaKTN7+6/jfljc/+PxbdQjkEmq+mqCiCHWglEMDKMshJd5kIr/Ujz4mEvNI06g0/Yl HzRTmrcH9dne7mXOaC9UEYEacVXTNuiootiy/PQq60QXP2XDxOFq7VZz8NoINI9TEwltDy 5IZ9hiazxLiOAQLEPU2aSegMglVAkLpGORRQn4Pcuj3jwktC2ifR/JbBS+mDBo+MMp0Rc1 7oJ+weXgaulnzK28JB7zaOJjPXgx0lSvZKgMLYNUmG9axIvR6rtWZnM/6aDj8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTrsK2CctzZ4b; Tue, 6 Feb 2024 18:11:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 416IB1Wv044441; Tue, 6 Feb 2024 18:11:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 416IB1jB044439; Tue, 6 Feb 2024 18:11:01 GMT (envelope-from git) Date: Tue, 6 Feb 2024 18:11:01 GMT Message-Id: <202402061811.416IB1jB044439@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: a8aa5ba3db69 - stable/14 - kern: tty: fix ttyinq_read_uio assertion List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a8aa5ba3db694f97d21e946d6392c527af31f05b Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=a8aa5ba3db694f97d21e946d6392c527af31f05b commit a8aa5ba3db694f97d21e946d6392c527af31f05b Author: Kyle Evans AuthorDate: 2024-01-16 02:55:58 +0000 Commit: Kyle Evans CommitDate: 2024-02-06 15:31:17 +0000 kern: tty: fix ttyinq_read_uio assertion It's clear from later context that `rlen` was always expected to include `flen`, as we'll trim `flen` bytes from the end of the read. Relax our initial assertion to only require the total size less trimmed bytes to lie within the out buffer size. While we're here, I note that if we have to read more than one block and we're trimming from the end then we'll do the wrong thing and omit `flen` bytes from every block, rather than just the end. Add an assertion to make sure we're not doing that, but the only caller that specifies a non-zero `flen` today will only really be doing so if rlen is entirely within a single buffer. Reviewed by: cy, imp (cherry picked from commit 09a43b8790bdeb97fbecd3ea767c2f599eb4a4d3) --- sys/kern/tty_inq.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/kern/tty_inq.c b/sys/kern/tty_inq.c index daf3bde77712..0bf7c2fa5b5e 100644 --- a/sys/kern/tty_inq.c +++ b/sys/kern/tty_inq.c @@ -165,7 +165,8 @@ ttyinq_read_uio(struct ttyinq *ti, struct tty *tp, struct uio *uio, size_t rlen, size_t flen) { - MPASS(rlen <= uio->uio_resid); + /* rlen includes flen, flen bytes will be trimmed from the end. */ + MPASS(rlen - flen <= uio->uio_resid); while (rlen > 0) { int error; @@ -192,6 +193,14 @@ ttyinq_read_uio(struct ttyinq *ti, struct tty *tp, struct uio *uio, MPASS(clen >= flen); rlen -= clen; + /* + * Caller shouldn't request that we trim anything if we might be + * reading across blocks. We could handle it, but today we do + * not. + */ + if (flen > 0) + MPASS(rlen == 0); + /* * We can prevent buffering in some cases: * - We need to read the block until the end. From nobody Tue Feb 6 18:11:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TTrsN4MWfz59jJJ; Tue, 6 Feb 2024 18:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TTrsN3k9wz46FP; Tue, 6 Feb 2024 18:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707243064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y0W28LFwhW5ELOG6tU5CmE8U3B4zxsW2b+p5TmBEiaU=; b=KWOrL+iQjQ9Dwh9DUjBDDpkqUR9GlWBOcDIC3nsBFAjDyOlZKV0AIN6MJ+aL6NVTNjntU9 oJVl0NDhOcfnRW1aQdKvBqtJtImpgmFy5jHFF4XoGOzzoKr7GhTUTVBDLNGjRgYXejTuqO 6dyrKTWWbOLR8u9xMCt+gIcgYLxP15xoSpttd5m+8XhlJg9b21feq/1NKduhn+43den54l 0p+N7dFSZQ5j+bpijIr3XZQBqN5xiUYP6ZMqmL5Ao7WesS06XSaWp8OvQ4cPyHFgbBfgQg Cb63otLmBsQwKx/LuR+YUv1MVIm9jnOXZJNA5iNQlUtI3h6di/kD9IaL/A8p3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707243064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y0W28LFwhW5ELOG6tU5CmE8U3B4zxsW2b+p5TmBEiaU=; b=tY2/isUCYizcSOjQ3AhTDGCBoqgQvC3rO5Z2zv4/jzrS8/0nOC4gnYbEGjkcN7zLeqzhGI zYDLxTiM/Qco8bswJbllW44w2/2aDJl1DK/Aee2a2DL/UXFwVog7xYjtYx4f9/Uj8ENf3n X+JyRRVao+Lqmht5+qIMeml17ZQGnNE/LXj7rdBc5l48gCuNR8zNHShBDwDne7a5SZ3xFU Uvxoie0eB++c32BEOH787IBBnWpTyMzFT/tjCQZYSEyVJFDghSWhu08zQcxfIT48OnYjeu yJkQv8HZcQLFzRKbXAJnNxPwnf/5CAsZYxsHr0+lrl4sdt68oSUNeAxnf1J8Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707243064; a=rsa-sha256; cv=none; b=T8Qy9RJKsGaLnJFbUQUlMKzD2cPqUYNeZVAcDZYIAgqtPjEkH5/ueLA9O9pJBgSXH6qI4O gXKb2/JfZKkdbYbgQGx9vM0jUevbso0okCONg/Fh5haRYS3a9ZRkkLhOvwkoEUoxsGrl/f GCrPEaTO9IXNm+aYEtDWn3E44/lyB1/5bgqytu+Ae3AAB0IzfHQbsfxMYvy7Qkuk/Ww6Ez UPZwjB6VSCe9wJtX37a2229KqaadSvSz/hc2LvdLAnXb0957285H2ktED6mKnbzqE7M1RM Kicf9vctscXD/csqgI6K8D167EnGOjgUN8s78U5r4JwCozJtyvQJzVU2S/jCYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TTrsN2qTpzZMN; Tue, 6 Feb 2024 18:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 416IB4pY044584; Tue, 6 Feb 2024 18:11:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 416IB40l044581; Tue, 6 Feb 2024 18:11:04 GMT (envelope-from git) Date: Tue, 6 Feb 2024 18:11:04 GMT Message-Id: <202402061811.416IB40l044581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 81ef0de636ff - stable/13 - kern: tty: fix ttyinq_read_uio assertion List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 81ef0de636ff8ba0b8057ced593f2ab92597b1a6 Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=81ef0de636ff8ba0b8057ced593f2ab92597b1a6 commit 81ef0de636ff8ba0b8057ced593f2ab92597b1a6 Author: Kyle Evans AuthorDate: 2024-01-16 02:55:58 +0000 Commit: Kyle Evans CommitDate: 2024-02-06 15:31:24 +0000 kern: tty: fix ttyinq_read_uio assertion It's clear from later context that `rlen` was always expected to include `flen`, as we'll trim `flen` bytes from the end of the read. Relax our initial assertion to only require the total size less trimmed bytes to lie within the out buffer size. While we're here, I note that if we have to read more than one block and we're trimming from the end then we'll do the wrong thing and omit `flen` bytes from every block, rather than just the end. Add an assertion to make sure we're not doing that, but the only caller that specifies a non-zero `flen` today will only really be doing so if rlen is entirely within a single buffer. Reviewed by: cy, imp (cherry picked from commit 09a43b8790bdeb97fbecd3ea767c2f599eb4a4d3) --- sys/kern/tty_inq.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/kern/tty_inq.c b/sys/kern/tty_inq.c index daf3bde77712..0bf7c2fa5b5e 100644 --- a/sys/kern/tty_inq.c +++ b/sys/kern/tty_inq.c @@ -165,7 +165,8 @@ ttyinq_read_uio(struct ttyinq *ti, struct tty *tp, struct uio *uio, size_t rlen, size_t flen) { - MPASS(rlen <= uio->uio_resid); + /* rlen includes flen, flen bytes will be trimmed from the end. */ + MPASS(rlen - flen <= uio->uio_resid); while (rlen > 0) { int error; @@ -192,6 +193,14 @@ ttyinq_read_uio(struct ttyinq *ti, struct tty *tp, struct uio *uio, MPASS(clen >= flen); rlen -= clen; + /* + * Caller shouldn't request that we trim anything if we might be + * reading across blocks. We could handle it, but today we do + * not. + */ + if (flen > 0) + MPASS(rlen == 0); + /* * We can prevent buffering in some cases: * - We need to read the block until the end. From nobody Wed Feb 7 00:13:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TV0v85JXCz5BF1H; Wed, 7 Feb 2024 00:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TV0v84lnNz41Hj; Wed, 7 Feb 2024 00:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707264788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5d3a9hdrB7vIPw90BUI9+6pJj7bzGj88MSo90So3jzc=; b=CTsDYfFML6NbSgFkCcg1HzA5BOlUOew5SbimkteHc5239I94FBjoz8zDtuksX6cBLOXLV2 P5zBtAWT1A4PfdBr4JdcxvWf3IRyhBr/6KJZ8C215ubLgqVUC2kwKdIXbVKojc8yNXydJS CnsS638vUGqQDqwG0fN4ApYEeKOF26duP+5L0RoxNTDtPt0qJ+ry4649X+L9B99AAnRfRB 9Yn2RgC82lvewprVcOAPuglvxzDUGMw4MdUTvyFZ/UqpiVP1nhVHWnKnb+bsUWHxA7Nwc0 +PdzR0+CpGhujOvtWOy2wqoXCiY91LBRlb6HhbfhHtzW7k1p/djoKdsXIBczHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707264788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5d3a9hdrB7vIPw90BUI9+6pJj7bzGj88MSo90So3jzc=; b=BOjQk6W2cbkT+tlhRJmkHl1OcQW9sXU4F5rQh0fe1NdlsyRHUJF3CcplEJLlnxRLKN+BE4 8jCQf2axvm8Yx2D3/icIWa5IGVGXw+UkQzrQNXGkwHHfQU+79rU2RIEzSjO8jV0fxFD1ZN Gv0f9e8AwQuzR9MqWPTglmeL5hMQ7KRaIeBDnuu6ncUn37KRqUNQlkycBbQ62KuFS99zIB NsWnWjF+VyK8W1LlD+l5vrlyJuLHkCny1qrJKB62v1p9RPaThXb+3svcFwaKoRJbRclZjG fo+g83y4l6XYCnbNpJJWA5P5zFdbTmDbmJ/nICw72eegmG1ZpjMfuGZcG3RNXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707264788; a=rsa-sha256; cv=none; b=jyyBNqPcW8MpA5Tj5O2VCBr6fZv4DmqnKK2hr5KTs2m07XHFICdNh5AiTgXL8vfJx/PJRc WMOYrj/s/e7sicfGELED3r6Oot2fRbjAKi5gU9sHo5jGnO7SYQhwtCTRtIkBCxOhu6fdUU 3kdXfo/NgxoXDI8trTy97I4sDRRROjJIeZfndhkqG/URE0e8TzdIsqRipI9wGxLQEEYMj6 PGAX5XP1yJ5/2oSZt88Q+XGVIt/scWLfyGvGEY5sIWciAaY9BGoyXOZwv8W0dJKvbg1XEP Y4bnhMA3F2kmxCZ56wGeRvIG4EnRJMS0PoAMeG1nEexzK+fT+59QEqut0aHxDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TV0v83qGGzlSK; Wed, 7 Feb 2024 00:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4170D8pL055737; Wed, 7 Feb 2024 00:13:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4170D8fc055735; Wed, 7 Feb 2024 00:13:08 GMT (envelope-from git) Date: Wed, 7 Feb 2024 00:13:08 GMT Message-Id: <202402070013.4170D8fc055735@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 20a6f4779ac6 - stable/14 - loader: For EFI, if we don't have ConOut, try ConIn List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 20a6f4779ac6108716a81d383a79a161ae41d48c Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=20a6f4779ac6108716a81d383a79a161ae41d48c commit 20a6f4779ac6108716a81d383a79a161ae41d48c Author: Warner Losh AuthorDate: 2024-02-04 21:09:48 +0000 Commit: Warner Losh CommitDate: 2024-02-07 00:09:46 +0000 loader: For EFI, if we don't have ConOut, try ConIn Try ConIn if we don't have a ConOut variable. ConIn will contain HID devices and/or serial devices. We currently just search for serial devices and will use them instead of video with the current code. While ConIn w/o ConOut is fairly common on laptops, is kinda rare on servers. Some refinement may be needed in the future if servers come to light. This is also minimal to allow possible integration into 13.3 release. MFC After: 1 week Sponsored by: Netflix Reviewed by: dab, tsoome Differential Revision: https://reviews.freebsd.org/D43714 (cherry picked from commit 064fa628ce375028f2510182f4edbafa7f469ecb) --- stand/efi/loader/main.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 39e32a56adc0..123410f83aa0 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -716,7 +716,10 @@ setenv_int(const char *key, int val) * Parse ConOut (the list of consoles active) and see if we can find a * serial port and/or a video port. It would be nice to also walk the * ACPI name space to map the UID for the serial port to a port. The - * latter is especially hard. + * latter is especially hard. Also check for ConIn as well. This will + * be enough to determine if we have serial, and if we don't, we default + * to video. If there's a dual-console situation with ConIn, this will + * currently fail. */ int parse_uefi_con_out(void) @@ -735,6 +738,8 @@ parse_uefi_con_out(void) rv = efi_global_getenv("ConOut", buf, &sz); if (rv != EFI_SUCCESS) rv = efi_global_getenv("ConOutDev", buf, &sz); + if (rv != EFI_SUCCESS) + rv = efi_global_getenv("ConIn", buf, &sz); if (rv != EFI_SUCCESS) { /* * If we don't have any ConOut default to both. If we have GOP From nobody Wed Feb 7 00:14:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TV0wz4N4Dz5BFZ0; Wed, 7 Feb 2024 00:14:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TV0wz3qD0z41QS; Wed, 7 Feb 2024 00:14:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707264883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=enmlJ3ZFwct9AGLL5CbQ7tkrtQ5z7yH3o9sb5TdncRo=; b=JgooPWHve6f5wI7HgA512cFUxPHPYlH37J9dmZjyCD9JKl3Vlz8dv6Ymda1wl1xI8Fe4aE mlFp6sjJn/h0IYaI/6mY8D2P07cqVkfY9Uzk8Ficz+SnXxBsOJ/aQWkfLPSM+0PrroiKHs iOeWMiCP9OaqT+sHugUsrWV5PFBf6M2Hv2IQPhoLKY0PuOxywGrUCZpRw2sKgkPwol9Fal lDSh2ap6PSmrwPLJyDEDRjjWVe4uzJdkH4R7DRziGwcjqA8c1q6XIk7QUH7TsZai37gqXF 7bAfJr7MUxDeqVcG2OJxu/4GpVONDefkb1rir9y1uR6+tRmRNCjVTU1bn5wlvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707264883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=enmlJ3ZFwct9AGLL5CbQ7tkrtQ5z7yH3o9sb5TdncRo=; b=sDxBSLvDrgEjEnZBwB0oxZ1Rxzj0ZOv0MdWhDF1Nk11KyQxgqb38pUrGVjTp9UxMR3zd1u QbsSnpMj7/s7D3Jvu4V3d0uqeJztwlNVzi8bc8l4J9rpVB3FOZf8ezJrG7G6XsbkMSbERR kR7E9AOe6YLW5PfUkNCsmsdSOL6GsUELCMOEmOzY9pESdyWcygFN5CLMmMdT1Lx1uErUsd XCsJGoQvvKdz84OXQ70+6FCd5z4QmeH6hUcVggWpfUbvTTHP7OYjYKBTvbY20o4T+Wavfm zpTznBv/iyST0BmJU9vJXIq0HXPIfbm5gTxc9r7e+TSEXEbUSaFu0TcIhjECXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707264883; a=rsa-sha256; cv=none; b=Mj4qBOYM6fLq9SeAWGNP56LIVvktfPE2MR7o0Lt7Wvvi43nu5X6FtQFhR0X6ydZVlJ8M4n +7Peus/rqYnwwSZ30fvfOqYkE/tFs4OJf9kmyTmG2ShMyXVJidsVgYHLqoFux1Bh1H/+yx IC161pKRrlOLhb5YTmt09S6SNP8CTTjeh77A5/qvSDkJ00heqegRZ4FQbPV16lcRywkjw+ XZz3VtOqtEFkp0a9Tt2OMZklMtBgz27JZRMULI7VJWgw1kCYut4jWna+lA5K5Xqgsce1bs l7hD+JLv4WLV41MPk2NRxMydcJeBXvogwgFMnTIzf2dre3894Y8M8p1IBEdXMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TV0wz2tVqzlMf; Wed, 7 Feb 2024 00:14:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4170EhG5056085; Wed, 7 Feb 2024 00:14:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4170Ehw8056082; Wed, 7 Feb 2024 00:14:43 GMT (envelope-from git) Date: Wed, 7 Feb 2024 00:14:43 GMT Message-Id: <202402070014.4170Ehw8056082@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 9d2f548bbebd - stable/13 - loader: For EFI, if we don't have ConOut, try ConIn List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9d2f548bbebdd4ecac1d9d75cdff82f84119984d Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9d2f548bbebdd4ecac1d9d75cdff82f84119984d commit 9d2f548bbebdd4ecac1d9d75cdff82f84119984d Author: Warner Losh AuthorDate: 2024-02-04 21:09:48 +0000 Commit: Warner Losh CommitDate: 2024-02-07 00:12:40 +0000 loader: For EFI, if we don't have ConOut, try ConIn Try ConIn if we don't have a ConOut variable. ConIn will contain HID devices and/or serial devices. We currently just search for serial devices and will use them instead of video with the current code. While ConIn w/o ConOut is fairly common on laptops, is kinda rare on servers. Some refinement may be needed in the future if servers come to light. This is also minimal to allow possible integration into 13.3 release. MFC After: 1 week Sponsored by: Netflix Reviewed by: dab, tsoome Differential Revision: https://reviews.freebsd.org/D43714 (cherry picked from commit 064fa628ce375028f2510182f4edbafa7f469ecb) --- stand/efi/loader/main.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 3aee6cd3eb8e..e8a5b738aef9 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -724,7 +724,10 @@ setenv_int(const char *key, int val) * Parse ConOut (the list of consoles active) and see if we can find a * serial port and/or a video port. It would be nice to also walk the * ACPI name space to map the UID for the serial port to a port. The - * latter is especially hard. + * latter is especially hard. Also check for ConIn as well. This will + * be enough to determine if we have serial, and if we don't, we default + * to video. If there's a dual-console situation with ConIn, this will + * currently fail. */ int parse_uefi_con_out(void) @@ -743,6 +746,8 @@ parse_uefi_con_out(void) rv = efi_global_getenv("ConOut", buf, &sz); if (rv != EFI_SUCCESS) rv = efi_global_getenv("ConOutDev", buf, &sz); + if (rv != EFI_SUCCESS) + rv = efi_global_getenv("ConIn", buf, &sz); if (rv != EFI_SUCCESS) { /* * If we don't have any ConOut default to both. If we have GOP From nobody Wed Feb 7 02:32:00 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TV3zP22Pmz58Vs2; Wed, 7 Feb 2024 02:32:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TV3zP1mxHz4GSN; Wed, 7 Feb 2024 02:32:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707273121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ChsDPszX7faWyJaywvZA/3kI1FkDmVpWWqK/s9NEl/0=; b=D8CxX5AbBqNgNjLWNaWnelGmuD9P3eTGKKIJMEB/ycCzGbr/Q+uLcRe27g7gFFex8Br8/s ju3ukq1VwqgjxMzhoHglQzLu+dXorJG6f1bb9ENhRUw/wcZStpBJeD/EZ3Fct9HMsBR5jw ALlFAYjYGcAxUbDvZ8NIhSEZ6htxkLYaB07DXgJAvIHmUKDHR44LHy9bXDy+aoyCakAGWz DqfZQfJYJz4wQqcmTRZvxbZE3+H/3CYFOprfvYNyoqne95OOWxrsmxxIusX6rUeBkO06GU /Ma+mVMrlIPoJ9ScJ/RSIm7hv2F/f0RGlmQ7UjhnV9bkVUSkKJwFY5csuZ9UDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707273121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ChsDPszX7faWyJaywvZA/3kI1FkDmVpWWqK/s9NEl/0=; b=YTZFUFkSQUFTjV9NwxnQnBZsiSx3eTMaoxbMfk2nASdVrRZBs7saQgnLACuFMad1qHxLnp joI/DO+977ujiZLZaJeudmPH/ctv23dCCulInIBNXwAIkueAoAUSq/fO12v6xnDLOPeMF8 Gq0tmuhaAGNaQHdFuizmIW07uMxo9rYQ69RHpKfz01mud5+PPc3WefqzDYmbO8XxNrS8h7 G0ZlKR86QXmLgmNH6PWXIw5xuuLeooERbtUaXAodGs+8f0RX0mB+sPLoC79M5j/w7Ugdkg j/o6Aao51BUH55rRnKULuTh9t/TbeT4SWGQeV8fv2qfBXIHQVVCbprw6orgjZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707273121; a=rsa-sha256; cv=none; b=k1B3fI+5xwQgvQ/Tee3NsINm+a8Fv2Npj/2OepAmLO6Rk+pldEBkVjvWBKGg7Vmt8K1qA8 G8GFe97G2X6UA/5MFYsy0srZBPNe5QjflCP9X5bWez8vVQMQCkHZQyXK/72nf6Nd0JqO6o ScG2UHy3/9+2jMfNpl8vH5wuIW8/hdSsS2CCBYt1O9PhRd6gH7rBTdse4j0RMH+B1NdYhR kQy61lDEAq7tBnfE6dxt5S0zkyqOyqAhrCjEXgU8xfsgFrPgkkeEu7c9dFp3bC6Y9/aCYi LxCxmXLiJog7VhV1ItzfWTWwAYeud3T+z4YaXHwOKf7RmbuqbgkNbKZCN1hBVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TV3zP0qp6zpcW; Wed, 7 Feb 2024 02:32:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4172W1Ow086838; Wed, 7 Feb 2024 02:32:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4172W0ca086835; Wed, 7 Feb 2024 02:32:00 GMT (envelope-from git) Date: Wed, 7 Feb 2024 02:32:00 GMT Message-Id: <202402070232.4172W0ca086835@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gregory Neil Shapiro Subject: git: 58ae50f31e95 - stable/14 - Merge commit '850ef5ae11d69ea3381bd310f564f025fc8caea3' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gshapiro X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 58ae50f31e9546207cecc77b3ee9825bef48a2b5 Auto-Submitted: auto-generated The branch stable/14 has been updated by gshapiro: URL: https://cgit.FreeBSD.org/src/commit/?id=58ae50f31e9546207cecc77b3ee9825bef48a2b5 commit 58ae50f31e9546207cecc77b3ee9825bef48a2b5 Author: Gregory Neil Shapiro AuthorDate: 2024-01-31 23:53:48 +0000 Commit: Gregory Neil Shapiro CommitDate: 2024-02-07 02:29:43 +0000 Merge commit '850ef5ae11d69ea3381bd310f564f025fc8caea3' Merge vendor sendmail 8.18.1 into HEAD (cherry picked from commit d39bd2c1388b520fcba9abed1932acacead60fba) Add new source file for sendmail 8.18.1 (cherry picked from commit 19d4fb85bf17579780e8f0c3cbae8a5e92a6922e) New sendmail 8.18.1 cf file (cherry picked from commit 1b6a5580c1f999fb1ba5f9860cf63a8aefc55b3c) Minor change to update these files so new freebsd*.cf files are generated (cherry picked from commit 2c191ba6b0b5d1b3729a5ac428d51cfc5d5f3d2e) Belatedly update version and date for sendmail 8.18.1 upgrade (cherry picked from commit 31fbc98c949bfca30ab55afef04b4396a61b7e92) Add a note about sendmail 8.18.1's stricter SMTP protocol enforcement (akin to commit 21c1f1deb6a3ac6a60e4516261e5264a28e0b7a6 in main) Update import date for stable/14 Relnotes: Yes Security: CVE-2023-51765 --- UPDATING | 7 + contrib/sendmail/FREEBSD-upgrade | 4 +- contrib/sendmail/KNOWNBUGS | 17 +- contrib/sendmail/PGPKEYS | 625 +++++++- contrib/sendmail/README | 26 +- contrib/sendmail/RELEASE_NOTES | 215 ++- contrib/sendmail/cf/README | 29 +- contrib/sendmail/cf/cf/submit.cf | 15 +- contrib/sendmail/cf/feature/check_cert_altnames.m4 | 2 +- contrib/sendmail/cf/feature/enhdnsbl.m4 | 14 +- contrib/sendmail/cf/feature/fips3.m4 | 16 + contrib/sendmail/cf/feature/ldap_routing.m4 | 2 +- contrib/sendmail/cf/hack/xconnect.m4 | 4 +- contrib/sendmail/cf/m4/proto.m4 | 84 +- contrib/sendmail/cf/m4/version.m4 | 2 +- contrib/sendmail/cf/sh/makeinfo.sh | 2 +- contrib/sendmail/contrib/buildvirtuser | 2 +- contrib/sendmail/doc/op/Makefile | 6 +- contrib/sendmail/doc/op/op.me | 271 ++-- contrib/sendmail/include/libsmdb/smdb.h | 2 +- contrib/sendmail/include/sendmail/sendmail.h | 1 + contrib/sendmail/include/sm/conf.h | 8 +- contrib/sendmail/include/sm/fdset.h | 1 + contrib/sendmail/include/sm/gen.h | 4 + contrib/sendmail/include/sm/ixlen.h | 1 + contrib/sendmail/include/sm/notify.h | 7 +- contrib/sendmail/include/sm/os/sm_os_openbsd.h | 14 - contrib/sendmail/include/sm/rpool.h | 2 + contrib/sendmail/libmilter/README | 3 + contrib/sendmail/libmilter/docs/overview.html | 2 +- .../sendmail/libmilter/docs/smfi_getsymval.html | 17 +- .../sendmail/libmilter/docs/smfi_replacebody.html | 2 +- contrib/sendmail/libmilter/docs/xxfi_body.html | 2 +- contrib/sendmail/libmilter/docs/xxfi_header.html | 4 +- contrib/sendmail/libmilter/engine.c | 24 +- contrib/sendmail/libsm/Makefile.m4 | 1 - contrib/sendmail/libsm/README | 4 +- contrib/sendmail/libsm/b-strl.c | 2 +- contrib/sendmail/libsm/exc.html | 2 +- contrib/sendmail/libsm/heap.c | 2 +- contrib/sendmail/libsm/io.html | 14 +- contrib/sendmail/libsm/ldap.c | 110 +- contrib/sendmail/libsm/lowercase.c | 35 +- contrib/sendmail/libsm/mpeix.c | 2 +- contrib/sendmail/libsm/notify.c | 68 +- contrib/sendmail/libsm/notify.h | 111 ++ contrib/sendmail/libsm/rewind.c | 2 +- contrib/sendmail/libsm/setvbuf.c | 3 +- contrib/sendmail/libsm/stdio.c | 2 +- contrib/sendmail/libsm/strcaseeq.c | 12 +- contrib/sendmail/libsm/t-ixlen.c | 56 +- contrib/sendmail/libsm/t-notify.c | 141 +- contrib/sendmail/libsm/t-qic.c | 16 +- contrib/sendmail/libsm/t-streq.c | 42 +- contrib/sendmail/libsm/t-streq.sh | 19 + contrib/sendmail/libsm/test.c | 2 +- contrib/sendmail/libsm/util.c | 10 +- contrib/sendmail/libsm/vfprintf.c | 16 +- contrib/sendmail/libsm/vfscanf.c | 2 +- contrib/sendmail/libsmdb/smcdb.c | 2 +- contrib/sendmail/libsmdb/smdb.c | 7 +- contrib/sendmail/libsmdb/smdb1.c | 2 +- contrib/sendmail/libsmdb/smdb2.c | 2 +- contrib/sendmail/libsmdb/smndbm.c | 4 +- contrib/sendmail/libsmutil/t-lockfile.c | 104 +- contrib/sendmail/mail.local/mail.local.c | 2 +- contrib/sendmail/makemap/makemap.8 | 8 + contrib/sendmail/makemap/makemap.c | 187 ++- contrib/sendmail/smrsh/README | 2 +- contrib/sendmail/src/Makefile.m4 | 2 +- contrib/sendmail/src/README | 25 +- contrib/sendmail/src/SECURITY | 14 +- contrib/sendmail/src/TRACEFLAGS | 16 +- contrib/sendmail/src/alias.c | 209 ++- contrib/sendmail/src/bf.c | 2 +- contrib/sendmail/src/collect.c | 258 +++- contrib/sendmail/src/conf.c | 158 +- contrib/sendmail/src/conf.h | 8 +- contrib/sendmail/src/control.c | 2 - contrib/sendmail/src/daemon.c | 137 +- contrib/sendmail/src/daemon.h | 2 +- contrib/sendmail/src/deliver.c | 1603 +++++++++++++++----- contrib/sendmail/src/domain.c | 482 +++++- contrib/sendmail/src/err.c | 4 - contrib/sendmail/src/headers.c | 32 +- contrib/sendmail/src/helpfile | 6 +- contrib/sendmail/src/macro.c | 59 +- contrib/sendmail/src/main.c | 126 +- contrib/sendmail/src/map.c | 438 ++++-- contrib/sendmail/src/map.h | 8 + contrib/sendmail/src/mci.c | 13 +- contrib/sendmail/src/milter.c | 27 +- contrib/sendmail/src/mime.c | 8 +- contrib/sendmail/src/parseaddr.c | 44 +- contrib/sendmail/src/queue.c | 214 +-- contrib/sendmail/src/ratectrl.c | 3 +- contrib/sendmail/src/readcf.c | 238 ++- contrib/sendmail/src/recipient.c | 11 +- contrib/sendmail/src/savemail.c | 4 +- contrib/sendmail/src/sched.c | 172 +++ contrib/sendmail/src/sendmail.8 | 4 +- contrib/sendmail/src/sendmail.h | 179 ++- contrib/sendmail/src/sfsasl.c | 8 +- contrib/sendmail/src/sm_resolve.c | 206 +-- contrib/sendmail/src/sm_resolve.h | 28 +- contrib/sendmail/src/srvrsmtp.c | 465 ++++-- contrib/sendmail/src/stab.c | 6 + contrib/sendmail/src/tls.c | 599 ++++++-- contrib/sendmail/src/tls.h | 91 +- contrib/sendmail/src/tlsh.c | 37 +- contrib/sendmail/src/udb.c | 16 +- contrib/sendmail/src/usersmtp.c | 75 +- contrib/sendmail/src/util.c | 142 +- contrib/sendmail/src/version.c | 2 +- contrib/sendmail/test/README | 9 +- contrib/sendmail/vacation/vacation.1 | 25 +- contrib/sendmail/vacation/vacation.c | 232 ++- etc/sendmail/freebsd.mc | 1 + etc/sendmail/freebsd.submit.mc | 1 + tools/build/mk/OptionalObsoleteFiles.inc | 1 + usr.sbin/sendmail/Makefile | 2 +- 121 files changed, 6716 insertions(+), 2169 deletions(-) diff --git a/UPDATING b/UPDATING index 0da6458888b4..6998d288ba16 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,13 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240207: + sendmail 8.18.1 has been imported and merged. This version enforces + stricter RFC compliance by default, especially with respect to line + endings. This may cause issues with receiving messages from + non-compliant MTAs; please see the first 8.18.1 release note in + contrib/sendmail/RELEASE_NOTES for mitigations. + 20240119: Commit d34f4baaf138 changed the internal interface between the nfscommon and nfscl modules. As such, both need to be diff --git a/contrib/sendmail/FREEBSD-upgrade b/contrib/sendmail/FREEBSD-upgrade index fdc3b429b551..d2a1052e4a6c 100644 --- a/contrib/sendmail/FREEBSD-upgrade +++ b/contrib/sendmail/FREEBSD-upgrade @@ -1,6 +1,6 @@ $FreeBSD$ -sendmail 8.17.1 +sendmail 8.18.1 originals can be found at: ftp://ftp.sendmail.org/pub/sendmail/ For the import of sendmail, the following directories were renamed: @@ -81,4 +81,4 @@ infrastructure in FreeBSD: usr.sbin/mailwrapper/Makefile gshapiro@FreeBSD.org -31-January-2022 +07-February-2024 diff --git a/contrib/sendmail/KNOWNBUGS b/contrib/sendmail/KNOWNBUGS index b44f931af585..7a75b4975c35 100644 --- a/contrib/sendmail/KNOWNBUGS +++ b/contrib/sendmail/KNOWNBUGS @@ -25,7 +25,7 @@ This list is not guaranteed to be complete. For Linux the default is to use fcntl() for file locking. However, this does not work with Berkeley DB 5.x and probably later. Switching to flock(), i.e., compile with -DHASFLOCK fixes this - (however, the have been problems with flock() on some Linux + (however, there have been problems with flock() on some Linux versions). Alternatively, use CDB or an earlier BDB version. * Delivery to programs that generate too much output may cause problems @@ -105,11 +105,6 @@ Kresolve sequence dnsmx canon DSN does not contain the illegal address, but only the valid address(es). -* \231 considered harmful. - - Header addresses that have the \231 character (and possibly others - in the range \201 - \237) behave in odd and usually unexpected ways. - * AuthRealm for Cyrus SASL may not work as expected. The man page and the actual usage for sasl_server_new() seem to differ. Feedback for the "correct" usage is welcome, a patch to match @@ -178,11 +173,11 @@ Kresolve sequence dnsmx canon * Client ignores SIZE parameter. - When sendmail acts as client and the server specifies a limit - for the mail size, sendmail will ignore this and try to send the - mail anyway. The server will usually reject the MAIL command - which specifies the size of the message and hence this problem - is not significant. + When sendmail acts as client and the server specifies a limit for + the mail size, sendmail will ignore this and try to send the mail + anyway (unless _FFR_CLIENT_SIZE is used). The server will usually + reject the MAIL command which specifies the size of the message + and hence this problem is not significant. * Paths to programs being executed and the mode of program files are not checked. Essentially, the RunProgramInUnsafeDirPath and diff --git a/contrib/sendmail/PGPKEYS b/contrib/sendmail/PGPKEYS index 0d0b0d5a766c..13ec5a6ee56a 100644 --- a/contrib/sendmail/PGPKEYS +++ b/contrib/sendmail/PGPKEYS @@ -187,6 +187,625 @@ mk6wxhyuojEHuR7it6IU5BP8vaAGrL1jb1c2EeAe+pdJwpAb1Aq6MU6uWqOGup8t =xY3m -----END PGP PUBLIC KEY BLOCK----- +pub rsa4096/0xC4065A87C71F6844 2024-01-02 [SC] + Key fingerprint = 8AB0 63D7 A4C5 939D A9C0 1E38 C406 5A87 C71F 6844 +uid [ultimate] Sendmail Signing Key/2024 +sub rsa4096/0x8DBCFBC42AF9E161 2024-01-02 [E] + Key fingerprint = 2B52 755B 17D4 44EB EC39 5497 8DBC FBC4 2AF9 E161 + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBGWUXHABEADBppmmbLqp0im5U2X6qAhePk4nOkW52VTJV4LC67Po0R2jPMdv +yCqQfGeqO0RYPCDOF9budPKj5wWZQztBWUlAUOhtt0c20F1wjzvRC+cnlZLFIZp6 +rXlexZxW/2mXXX/8FED+KjLZXCkSV+W7TMIZQtvFGwP8bpqlf31vLOKjMri/QF1Z +UQwHkWirmabwWx12x2DsYtkoSsyJnMd8ZAjnOxOVpnwY0ZzmXMcRFkmnuBLaIFqz +h6fnLj65owkxnBKY/mEsuQJp+DZvjXNpPrTgyJ/77e5XKGuKr5fx7h+9BLpOODHb +Qts+c91eVOybLEyGM+F5mfYMvD54euG06XVy+5Yi2m9+Oxwvkz6cJCPf8/S7PFLa +WyTorU+qB22T1z43qfBrGivuOyAm8slurpRH1QikkTAI+hk21zwCGnM9Nvvh9zN+ +Kg+uUoiZkEtJ6+J+O5qK6vXV6QuP9D6KBjF0zv9pIgbrLRrT+xE07v9lrYuU7U8e +znl819atkpNlE9NBb/4sxRdpmrAjQDVHpy0e0GbIKYKfla3rdsvM/2rIdbVGTqST +gPddPExgPqyq1ssyy/7CdsNmk6qfJ9UJDKtKnTjuAMisfh8P4Uoiwvhqxbx5CW2H +FqH3Ka0J/fXJlYlt3JgJReV+SJViADUyQYqacIMo7JOQVfVrinaGbxD0kQARAQAB +tDFTZW5kbWFpbCBTaWduaW5nIEtleS8yMDI0IDxzZW5kbWFpbEBTZW5kbWFpbC5P +Ukc+iQJVBBMBCgA/FiEEirBj16TFk52pwB44xAZah8cfaEQFAmWUXHACGwMLCwkN +CAoMBwsEAwIGFQoJCAsDBRYCAwEAAh4FAheAAAoJEMQGWofHH2hEPNcQALOzEpQG +3RQ6UcvFeHzK1NCV/oyZKQgj3val/QU9VoHi4RhBgosTqVAciHcKuF2b/v47b6AA +3F3cuNn28LFFr2xC2e0+NaCT8oZGRcnWPi4NfslIQgUhTsVvnisVO2obcRYVjKBS +9EEoiLStMyhGXWFN34yUQZu5DVuQ3JhyR8dqu4f5wd/1TD9vY8x4b7jdtIUDQQEE +PvhzcWn60Rpqd59CJZJ1dk54ZzjzNqTPt4fu0EU2L5oKmMS18//9hh/oADfaLgax +0V1MC3sMzFuMCIoLvd/G2XzyIRNu06brf9XZVMOMA/N6bueY8gyf82eVxNmfvnhN +RcTINWeOmjG29UYstb3S72BSrBB5/oJDrOJnyeh4xvSjeShVFLyKRo6Bcvy5+w5i +MIFlkWOl5v6JKSMUMCIzZUp7kAeU5D2CzQbFhgnOY+YFrYGgHQa4I4QmX9LE2svg +SwFwFpDHC1T7fuO5kFRO8Xa2+YLhKWjEQsljQwyyOC8n/DhhatPC1/TzNNhx2meS +OIKLy32yeIcHODlKTWwZPGRMiZZ12Z62K/i8bu8NkifXwtLjfbqmxZbP7XSFKNBt +yDvYhHMQW1YiXbTREy1b2l2Z7m56H4VN67RFlnhb27EzeQ5fbBO2pXvQ5e+sD4Jp +FcfE0QZVOyVN59FlCdaGvk8MlvHrZhwVnlnoiQEzBBABCgAdFiEEsXWWRFMDXc7d +e+kZYE378oVBCr4FAmWUXbMACgkQYE378oVBCr781wgAj8iqPRzD6kvgmqOPRh+6 +YBuSZ3+QOZKhIf8HVsutfeB90YBRJbtCKucliRIVLj8qkqIKroWpKPAv1YlqKP2t +spxfZoz9DzxSnwbXV4hmb/JfT7VLD9TBih7kBMbBxkY3ECIuvZi1roETpK9cSP17 +tPD9eFpvcG1N5DzCZTsMNEap946xVrCrFXA+etDW0BAMXtqzMlFOZt85hw2B7Z3l +mB0ErTAjeb18QD07TbjMLl+wI5SPYddMBvYYUXic0CBliuF7m+MSWPbNewHcvYG+ +JGotuLZVp29ChKG2Id4qK5IkdYTC1rfwzuPDm5QpPc0ghD6vnNvmX3oiw9V7rQJB +h4kBMwQQAQoAHRYhBFhyYhipE0AN5mA2ATmkx32peISwBQJllF3JAAoJEDmkx32p +eISwcY0H/ivF8zsxMSMWxe45atG+4V1QsNW/gasu4MaTSTf8lw1WXEoZ7SA6HduH +p7gLmRsCspDW5F4ELgpQ5wHux7LlrCRBxGHuFBn+zAptF/Z6zxRhHjcEBRQW2tGR +BRYkfr8WxY3KvYbiKJBnn3GgmQoexg//oaiAu/BqBkEhKkgDsgp8B12rMUr7zpqe +9WEGbauvzwvOnbDbJ3AC9LRsQeq+/MbXZYzK096VH799IRe5JFaQndavEPpZnuE8 +naPxesr77rwnOcPeyTxgAfZPEZXl92vznKeEdKZzaWtfKkFgVvInreCOwebyeOsF +kEaAh71TgGGXgLRUz8LB88Wh4MaMdBiJATMEEAEKAB0WIQTKeo85okGf/7CpqyeO +Wun7zu70OwUCZZRd3AAKCRCOWun7zu70O8nXB/459fW10n9esxtuWadhwnRlxF2O +mdFnTLDj8RY1IC8zvi7cONQpPv9vPEMqWjgZf1D2hKYNnjy0Nylww4XV8XNJ3kWa +riDt3aQkIuXt5iuYdbPp+JQV9rW0Uu5Sw3x0Gy2dVXDYcmSdu/NRkY8R3Uf7DJPj +4F3zIvm6cLClC9SNXiz8yATnXN8wb4qVOih9JpXas9+OPkehcah1ZhfgYx8lj497 +/CWGx5+tdl2IBIUy19aQ4aCIcIgVX5xSss0x+7WhL6THKf3IPzDKMTfy6Wa1NhvX ++eq/HbU7yWftXiZgsGc1ls4P0NmEEZwPCvmq2mtIoa22DewB9tk0O5dUy8UziQEz +BBABCgAdFiEEuH1FaYbxlIQH5cy0PWiyXVIHytMFAmWUXeMACgkQPWiyXVIHytOO ++Qf/ZzXfRqub+/gFS3Fi9v1xIPKl9fab3mRQU3HzXmys5AlLQOdi19hzqmmjW9gY +edvy85I2Buf7K9/hVumvLp+7ZK4rY5PXz97GWC5Mn9mVEaTK2OgPN9KzfvtjxIPs +KjvyfB0U6YBshuj49arYkefm2QVKRSGfTWDMVDKMOSwXFalYUape2+Ckjyfg8wsB +V2hRjhMG0PRN5dAXZiPEbYztQanQWAq3DK1ohJLgFwattMpZrh8wUF9LlEtaSSIz +/A1jv/IqfAVOudLiPa272xQOcGcZrONGcPd3BhpJ4zQM/cd9gNQzXdUPgwuV/Toa +KFX8lNqY1JIjIIgqARw0c2qqT4kBMwQQAQoAHRYhBEn2qL6EczlJUZFvO2HeEezi +djpzBQJllF3qAAoJEGHeEezidjpz0p8H/iGf0G9+IBcRK8J6Mz1wA+hemdVdSsTF +6GYCKFFfq1b40T6Mc3Ao5Ea0P/AyTIFfVBoTvsXqNB1bj1MmOZETHcEbCrjyOKLz +yC8SSH8PRUDWpPFnbKYyOnEfViASqmxHIB8G6nZ5tfucgasCrOUbkd7/QsaAeiv1 +/VkyGDx8eUDu6+NUCd+K25so8LlEotDhysTI7H1VKLQukduyBs6ziyjfFcGg8r6l +8BcpMhRZ01eR6ZFQtYRcX0ZEOBHtp7nlx2gLEFrQ11D0+PJHMf5p0oQi+hHGkFJI +V3i8Uhg9KKH/Zz3VIYoIt5v/73HRExOXMib0YgazoPnF6Q1sCEUrF6mJATMEEAEK +AB0WIQQPXJauyOaenI5ULlxtTNGUKfsD3gUCZZRd8AAKCRBtTNGUKfsD3jjHB/4+ +up91LA7tS+1nUckjWyEyRNbUFaeZtd2mp7A1D4yIKk46JYS8LI4ION8R5HRgFNN9 +ut5lwsMN6KZJIiVcrM/D/W1NS8zWScw/K1dtzDerdNOU+bwU0aBHZB93SL7MwvTN +/D+31oxy6LoQnFjEGBbWCoFpdCQceHK3AclqCmHvlfZi3/31sM26daC6Ntgn4JZU +6BHP27cFdoHy0jUiQt/LXDDtsfXb0cS3us0+7wwSQ9h/H7E777MKsa8CMeVmSBbQ +lY17TwBMVkMKrKc65aJXKkoezepew+vSO3tk86EzbuMt7iK6LLXKGtLK0IRVY5dU +jLp8B1ir4qiXiAYWgVqJiQEzBBABCgAdFiEEMLynRwX6QVRVcx17qvW13gW9zFMF +AmWUXfYACgkQqvW13gW9zFPe5ggAwdDEpOiEtSiNqXmcBfFgarSxrL6yIDzmSqTK +Q6pkQa1xO2zb7yi0gVZkJQzSeMBi6IJtnPoKEviUdLbdy6mC1ya7u+OY8Ubic2F6 +4V6yaNuLL3T4cCK/7smiB3Fak36IidtOG6P4S45LuSlPu6ndXVSDU19me0hQEAmY +7BA7qSj1lbuhXPskl2iJOMaS5y239UDYtqLRnBF1OXe+p8O8IrWp7L7anZI6eYCC +ToVvfkPCvfFDsca0nwZLRdUk69b93JgE8gManrf/qNnv0vIhJX9q4K7sAA305Y6J +XJo/f/kH7dwZwV5HV33sLc/snvjiq9TKSrlTJ4xjL4/GPxhuK4kCMwQQAQoAHRYh +BDyKHo5/RMreEU/tRkvJvaZr9yatBQJllF39AAoJEEvJvaZr9yatPwAQALBWFBNG +QY+qUc2PIcV7KZ/OAdEx8QLFkOVXPiIn6hlp8FD9OzPV9/F0F+VumG2lLCIGFMLO +T1j1MsRA95tVFj4DgEH62QwhVV4JfxhBdKcK57g7IKEro1Ssc8xGP0FhDGIo96ag +kmnH6UFhIrXJiZj9rJs/9wIJYvO/VBCB/5Zwc1zqWjdn8PiQMYZm9m1+DZcDEx3e +8G6xPKjZVRzJMQ6c0tBRE9dZRSzwUaewl/nYwELMMOayZQndBPYlGb3PuYKQTksB +3g1J4vBKwUqFKxzBXgMjlSpnSa/RMCqfvl2s3PqGARh7DrkULHtPYAl+zHeyTXNh +Fq/RZ3/0GnuxXL9LHGxZug6LtiL3un8F71YYo9S0963PlxJ2i7b6U1Ul00d+ofmH +9StrtvqQW+semspBJ+1w+WBr8v0C+vZBcO314dUAFsibEpmwMoy7CQ3PPj6FphZi +Dmw4JXeqYyv1waS39FAE8kYC3z4yxo20aVlSmZIp79a8l2Ty/lpm40RBjAp9ulQg +7ANlLRLhdKUFsH8UoaZqlLmJh56oVhJp4aHH2SSijYH5rTSOkTj3b4vIFlDMw8sF +P88C7q80KaCrV0GIITL18JaI61/BL+96lsz+f91s7KxSR5keABAHmU6u+DNodi6A +SWuxyZc8G4zli9liAHleKaTxClzkcznp/EC5iQIzBBABCgAdFiEEpoc9JKTW1ihK +5Cp18GBZ/V3HzD8FAmWUXhYACgkQ8GBZ/V3HzD/c2A//ZQ3ZPUNBHuRHNBTFhEqT +TW2kZLYlRpElpNqT0CsfKwxb8q/abLfh6Nn6oEBuT4RYDszL9UiBR9UC8v+dzsYa +2Z+13XiO7n5eonH+oBHOBFDcqvp3jpm1mexhT4I7azyhFd/u7QQsN2R2b2AZQQxT +/PIlF2sYvaKq7tYd+j2Qgq9ISa/Jy7dZQnAhxPcWTSB2ilgcPu9LXfMobWe6kVLn +CCTTgpWDQ510u/BLQPShroVDCYi++pkHkcJw+9AAvblCtiYjjK5NDF4dhMu+nqZ2 +Qe57/Dt9VSEnNe7WXMvo25s9ON13ATXI8JijXaN0rJhk/uwuBdC6a/sl/ry4uum8 +PBG9aDvq44v3BOy78kEUAAySvUJ18naaydpSeSLRMDSCI+uzhZZbwRTTNbqN58uH +4DcSIQCjyJgIrga7x1nTb3MppER8gtlWiaMs5cEWKYPGizCv9bmQR6HD3QbRww/8 +o2XlHeZJg1T8Yv1SwOmz5hro/8RHHYKNwgWZukEJSNFlQgg4FaHICM4c6ODXrD5U +n4FYZqMgPPtu65i70lFBRL1XEABi8BQn8ZdX6xpRLG7Oi/97fXcSAcb1aQSVQKG1 +NYpFaY+eTkSsVoIIzOeDWxze4krxT/vd9J3HjXxLiqQhKh7iH6BJlNcCduMwTfvL +fQRFeBX0FAKAt8GgaD7o0kOJAjMEEAEKAB0WIQRQowMJjqLde8vuKtoJ4B+gPAxQ +TgUCZZReHQAKCRAJ4B+gPAxQThkFD/9nqrAxd121HLtLo81Y7RDgj2EOfRKTOE99 +8CRUGe9YJ1pu22g6leREISjO/641uB3qdosHYIQrX2sgfXX0p5mJCI0BZgTVMHHB +AMLvrPAua1/BQan/ZVFVaSkL8n552Q9gk7VkGzubfcYs1qT/NoDzFJ18bZ8k6X6t +EDYMYaQ15oluGb96D7H2BuzSrGugqsNXdVqNFI1uGpaDMbdtFV5ZSFU1vchlmBOx +uZQFZRA1n7H06FJ5E33bk6evqrYIbmq87OJRdyUr3nbmSTPWaHxH/Xpt9J+kViDv +78AbzV1y1j0ZTSoJ6pQOw/2oR9kqQrBvMEHr/tYMY0fZCnsGhD/Xcs3LscQdM5Ky +c3Agh8/VvKU45kIT814CyR1BiYKLwWSthE3Lf/VSoOAdwWyydVBRmzXyOd0bPrp/ +KEaB7AlBXmtgBTnd+44jHOyo0X+CZdscNbCevcwaYXY4aDW8I+NcmLm2+3lG9U4G +CITW+y7q7vMzisVLzd6JcvSOx1ixdlZDAfv5of4MqCS/pjaqdOuT2F6C8n187KID +zB07m+ix3D60IN0YlBh8EP9Ptm07y93/bpMf7HzgNPSUmsOnZcFeNiAEFUMfCM8q +t5ESZO43GMJ8a9Q3KhK/c2BeXiloYasyS5GdJ2meE205extfIyqkZrLQSBWgjzZz +luaoGI3QkokCMwQQAQoAHRYhBK39twn+HqaC5YVZcdWDIQ71FHGnBQJllF4jAAoJ +ENWDIQ71FHGndC0QAICBdrTlc3cPct+E3WfcOGSBrtfySXs048YM2gxYbkt6FtE0 +kY4dKK+dQApwpkxCWuAYMjO3hJJkhA8vmuD/RLhN786EgM0yCQoWJjrfZxhf4zLZ +xyOPX69bY3L5IKQDFhCiGuPK4O4+QOtD5KeNmKrMOtUWD9TWOOyrhgaIApFHxJ7w +qfWP9K/cYb4ifT3gmGM/RF+sCn9b5nUTf9bdpsnNE8c077V4+eciIfMyD2jEsxR5 +0T7RphhHE6EOfEcoS9hdXWXMD/xYKtZ4S6+iCD7hTfqHRpYfwkLZcY3XZ3BqUTFy +aIiLPXhlEnEbfYz2iUPXoJlJFFhgG+MjWi9PKq4nMzkMkezJlrhnk+vQjHaehXkM +ysCtisKFus+LBsf2gvxBXGYeIlDMc/qyPcT8uU7dEqeUZFJEx8QMCPpSvs3bz4Br +5LsKf4b+/cXOPTv+w/M/kuVRXDQBKi65axu3TZrFRwPoGo0Ye1N5FDVOauhW+KWB +itVekfqSQv8vXPMhWHyWUVXDyJ+L/gC24HV5BXbubZhjW38AOlc6spzYS8GTteHB +HYJ0ArVRkonvJ7eKMvhCXPytEpqiZl88gxdApwiEJM0LuFRkZPM1ukmznGOpe+h1 +igbKFI5IWBVW7cpVR8Ga5Got8NIgxW6la+TVRPByOGSDJm8V3Hrgqoq+9/zziQIz +BBABCgAdFiEEYyfdy15+gOSYfqO3/XncDIHZIQoFAmWUXikACgkQ/XncDIHZIQrc +wRAAo6y31xOW1Nr8ivnXNXyoUv/vjz0m3FnhoZ6L3Ee3jFgO/LRLAOXertUHd98J +hfeZs6UGxxMAt3PZsKi5t/DxEXsqtCY5Kh+97/zzoY3a4xOal/IF6yePfm1qs2QB +b3Cun94eBEceAR/hM8mLZ4hJQbViyNv9HZLMW99gJa9QHqWAHb1WKloJzgZa3ye0 +oSqCf2416V4s4jadMGswGBgz6d1z4muziw+lkq4Ggac38JPtRX0wuNwPCs57ZhPz +abo0yxFvbalznlRpMb1g1bRxCXkNQAUZ06N8lslO7i1Q6ef6lB6EsAHBD+DwH93c +Gwuj0/UQlpU5Jc617EgbFw3LAaMwBpapOOMlaAKtGxLL/TjGt/uQqwHl+phlr2K+ +8aJJkR2VxE+ZABQ/GYNsEMxcxGl4f7+z2Apey4xXQ0+6ftcyWuQ5Cz9dDaz2UERo +BBpzHYJZn0y7eOHt0sYDLSRjS86OIvqlZbSng+hEZRsPSJd0LVH13DfdnqVN8GmT +N4TYSx5yqwLGrv9f1j5ktb5XruN0bAbiMDswHax+CrOiIS3fLQgaXTSaVOVLAfz1 +TCK3iPD0cW3g9VS1pD+5V1QMtD/+z0a6sCE/2tGNOZTc3EX0BSfG6d1Ib+ns52ag +k88qQwwUPNVKP/K71VG1s/9pivIEqkybuN0wUQfDPd40/JOJAjMEEAEKAB0WIQT0 +ziJjIQJT1qn5ebBMZuqNS+4b7gUCZZReNQAKCRBMZuqNS+4b7iFnD/sH5tnd4N82 +AMShGyss5+dzuRuSOxow5rBiUxSCU8yM7hR7HS9OEdlUcWrB9JtNEClMfR1ecm3e +VxiBkwkTS8ufKSq9LCB+31Sl6alQt/cEXZhgIpzD1UtjHEG9W9geL0uDgnYtG4Kx +6UkbOy6rHjpM1U+bi0EtijbZ7MDCuqaB0G83JOgtJaqrSWn2Gdr95wJIOLe8X1n3 +MR/Th1csKLcDiA8sGmK3/DuuoRFtDSiT/z2RRvtx6pz8Swq6ftRoTdP/8oOncuWX +vQXuMe2i7YdN1xOv0hPK1tt5ZwOllqtgdG4yabsYif2I+9vnr7NSAthyJLS1sREf +IPDWRAa9roN1OFIJ4dl8e2SrGTOZUW04Lfi/bmakkzrXrNlv+I/ZJSHAHbhecPY7 ++hFhl7bf4WrHMmC3mL/t9/c0k5U/IlCYv+NaE9HJvvkLJO73Em/A58FZIu0WCI8g +MiJec8utHPSOYfXCuOx4lSfwNZT71Ct5EYwpPYwTEHyMz3gzwJ6Ews6/dcjbfllg +PFFOKlRQ+2NLPePJJTKao0+/aDde3A/MqemIksndt4l0O88gXATH2L2xQUW8nPRT +cVCpYYeGb7MMlRs1HrSfv+dqyN5Nru2EhK4+JYg6PDauxE7agBgmEfEFqgm/U0HZ +993ihlmoKXQ6uf8goQlcw/bNb51oJaGfO4kCMwQQAQoAHRYhBIGGSgN18ngQZP6O +Tc/5+WdA7ZVQBQJllF5FAAoJEM/5+WdA7ZVQRsQQAJtXGfu30oRqALvnZPOgr6LB +aJcDKxFreTnCILpKwic/Xtd2xtuUGDJFc9xILF01lo1LC+2HRuJl8/hMUF5l+9PH +C3sGfLFOHxzIuWxPvbf0rsMerGA2wwOsCyUzJpiMF0Hp4R18NymiIRKtcGrKc21p +Q+/qAb35DkqKT+C/vRL4b7EgBqjWiyoPIcQpYrl10FNMLBWbLFmAJ5YpK/CKIXnT +8vsh0V0uC2suDA3lMKqrKJ2SFQXutPoJ2LDa3xzRY8DS/qcGAhtBRSx33rUTgO9G +M6bAabVZ8u2mbqcYtsl65PmhdlacUdZJs/YcWzLFYz65oIEF+QJEKu27dSkozp9w +xjO83IVVzi8Z+gto0PpC1TTFqnGIR0GQ8Vxv65R8mmnOlBrylIztkEOSRszukeLD +gf6FkOoFibWZyKcfrHu7abTjyJQUi7m3kBj6msVXSan6Bkk5/uKCM5Gb5wqilpDl +B40RLFJ9w4/I15rqrX1b5FGuJuS27fp6EsDQ6Om1KyDOqGQyWqPa8fn++v32EFIH +DwdxrChDV9Rx4ao6h4hcOxDAkY8azlQQE6AK2PPAFJlBrGW6jP8gVcXWhb3OX1Vg +gfkOkXBPwNM3OaR8Bi5/OFDC7epKJf/VLDcie/sEWS1C/rYIIajOSOsUelYBw3xx ++H41dtDAUnD8abrpXRzjiQEzBBABCgAdFiEErSDhqotBNnCmQlLYvSdtLm/PqIUF +AmWUXpcACgkQvSdtLm/PqIV/pQf/RQHfchEDIM8K1T9UUMWB6/cPvTRtevmTS1Pp +4C3J8tJ5ZVpHws/FpbmEYjlh+qYjEf2+IDOxqQcuDBWYg5+uG3lR/in7tmlBUZL5 +r2o7kgJFlMnQ0xrNzDRtmIKss4b0ZchpFo1FVY9T9yFhf4Hda05mUvgQB9CO12U8 +s0/1Q8bb7ed+i8CBBkd4l31qi71bQRIorYiV/WDi7Rur4rmRifCAHU//LANRu4xs +zEESREZfdDlWRe/+nV+DfLEBOcEoFyyUKOTfgq3s4982oTc7FwoiF3Y/RnzSGnPT +81W9p3vYFtvBSKcXT8q9gdpuKVNuqckxSTQanjWoFC33VRxzM4kCMwQQAQoAHRYh +BClslNvQKAJFv9OR13tSlkjuhXJkBQJllF6oAAoJEHtSlkjuhXJk8r0P/RaCfspm ++dlk+X0CPwS5NB/5PXuUOKX+HkdyEnvw1BKOaLCtoDn6eKYOfxec9X63THmaDRxY +DS3NVvubJuNnj0jvc0wZC1S+JnljKH9//bBytOS5vaFG6sGlrXtsYmYDuePUV1+p +lPM56jELbhF43izUqUjiO0l32s7cZUONrXxBnZVVDU8bX6jADAYGDUTOG0/W9Pwu +rHmWLsjronVk73SQHy+fFnc3YWJLn3YhgQ03Wlhku/BWwIwKhbkd41LO6NKg5c6j +5PN9wsbnjwoj4//B1mUaGQrrs0A/aLlbnHXkwYnEGDkwtDDc/7aMQptf5ibw5Cuu +7+19orY6muxQcDoPrlNgOlZQpa4dYuaklqcroyyXtWpjsl7QjQq9Pjd0aQsamK0c +Rxc5BJAi708xTVdz5AFRqr3Kh5IVSA+vh/feWDPDiGaiZn+VBdpjQnNpQv9XfNOv +MGreRRWMnaEmSP4aoP+EQFAbJ6AMzMNanHwEqURL/sfyRInwQWU0Ib0slXYJ/1Pc +8B4Qx6zRfYD7sCN0ITrQosRkgHjAakWD6O4TKrWn4MvOgilpv8L0cvFTDtqoBadz +Wrg90EtnJNj9aVQldUEf25q3XFJQRBThgrj9nsfWAQrBnLVQYYRNEUYDXr/dUPz8 +jYEKAq/++V1QViOdRQVDVgvPLQkhOxlx4WogiQEzBBABCgAdFiEEsICXn00EPhnQ +WjacYp747gyLgzMFAmWUXvgACgkQYp747gyLgzOfCwgAw75THwrYnkaZgreXvJ0B +faaJqMwV9A6XTZqhQPfWOluS0uDf2qvb2xkifbYKYFS1+Zh9CoSS6PG6jeN2eiJ+ +pZGlwDnRPnWW6HmNCIVowHorN7/WikkW6VtgIkStyAWs6ZbDNDe6DCmdaUPl80nB +lz8odz2MrSWp8g8X4RwY9Gn9ZzjPMEg9vtsfmE3fqrxAFOFXUwnFelIh/gVSzLve +SFti8xUT1YVp1h6G+idxRtNAa3B4HJmt6J5maYxShGYazDNpECUKbWhhxLZs47dT +p5JSMK7+YEU4R8o3g5l2z67FiwhzyeeDIxiuLp6jHSLBZgLxCDa2BFnGH6Ih3EZU +dYkBHAQQAQoABgUCZaBFoQAKCRAQkK8gpapb5owRB/96vSa7bbmOqnw9qSI1APpS +oSBG55BWcVSYtKK3juAxpoMqECNUcOee6ZNug2UujY8a6e9wQN6XrLZcHC0GfgTW +EjTnOEYLa1DSOaHykeGsbsn7vSTP3yWnqRzVy82A7K48NSJ9WuEMg2L30bQlPzfD +YdxRom6lm9fNCGY+pnXNRbNPzaGXvffEpNO1hydOAXJcLcgjHQU4wARwivwJe3mo +yRroV8dxghzZPwv/Z/yQtv9qi/R8ePURy7TUmHQHFXdB6cGKiRzUqSqPIB4YBG0+ +doGUmM0rcaexLT3bxsATdjlp9BezBMjGfC0zya0qJzgECzQL6ZqP2ZuQcr9VnRHZ +iHUEEBYIAB0WIQRZXh5FmqkINaZCDETxSlpMnlsyegUCZaPsvAAKCRDxSlpMnlsy +eozSAQDvFfm/GTRBffAwz0vQz63G6OLvk8fEQRfRmCk7Oz7KVAEAy2xbAIR6be4s +K7269dx836xUGMhnlaHNEeJm5LWoeAOJARwEEAECAAYFAmWdqGoACgkQEJCvIKWq +W+bsIgf+MZMeWKF6trlGEMMA4AymDy1noGNh4RhCIMTIMNyNbwolafGgAqXm1SU5 +XWmy5DFX73shK8AUylHbsQgNWP1DvFrDuSJxvV65A7kAaxLZL6iUM86ROU0/JPj/ +sIAu1zXAS4dApZxfoalhtPO0khA3NwsLsRC5KoMhqnflAMqjCLJGU+hUeoRLaRl6 +Wbc+DJDK0Tku3bSe955jQwWSX4n4jvXEY8uWCz9O7Jpdbq3InopxipjaRAI2eZ1c +x8+giU+dqf+t4PYFWG2wEUj0nYhiJPelPlTZjeoj139wYa4LaQWQNsx/DuNaN/qh +eLAsSJjEBCLilcGeMjmwxTB1Ye12V4h1BBAWCAAdFiEEm8khXcnQ1jYW4dNowNJz +SkuCZC4FAmWyHOQACgkQwNJzSkuCZC4/NgEA1i1SxAKy0iuFJh+SEaRPamBm9wJR +6Fe8ag2puHcGjQgBAOse03HZ16J6dclkKiImzPOeh30OoO7f7XAlfsGCAoIPuQIN +BGWUXHABEAChE2XRFvR487S4XYimW6Srob3N+l1kNjRG7+mJa4z9bGSjP1krRDF7 +hAoNoMB3xvFePCiBQsoI0uh6I9N0SfCq8/bNbIJ4mKmbFfRQ/Ute+qVjqCsBjVIw +9BAzXriUzIenVcx/Vc3qGVxOIj0cFVVD2BRz4KCDk7bslcOFyXB0+4dwAP2DCLxY +Erv5+8woxgCc8bxT+lIumv8CyosLYSzEbJ0rsEowQzYwoFs20HrtKphz7Laxekav +e7cWySDRmnJ7Ka7QO6Cnno+Uq2MCEV+pyXCKUkhS+tdzTJtOK8wBh0dgJATkgLg8 +fv5prFr5hzZol/2/RNdupHjNbpYY0S+9TiVErbmPwcZ53P6GAVETL/RtEHSFl/D/ +ZSa6cjf3iMs1xKLc5PZOd+7F7VG5YULzJzWZjDNUV33cqdbAb6LtyHIMISkaq53p +AcUIG0z0OJ8rDxraxCfPB6i9PKLJd30Lor8MJrhZDig4NkY/8Ai260FWiEP5JFQF +P5gRXAVThSJh8sSmDz9rWP3Ojhr5twnUtQzoACAkMvW6+OW2gu1wZ/PiUkdOavG5 +mPmSqyiGcX2tUdawdXuWCfbdkcuW5lmeFF7SVd2QZBRh2DtvkLDf3v9BgsKhtLHD +iYxDwFiGTRiBC6m4foBm+r/LybbZTaD7VAvn7h+2g+NXrB4u7BDlOwARAQABiQI2 +BBgBCgAgFiEEirBj16TFk52pwB44xAZah8cfaEQFAmWUXHACGwwACgkQxAZah8cf +aESmrw/9HmEu0OVw5TSt+uG2nGixGa3RDUSvruJgRrXIkYh8u3ce0FqwCPcNrVMj +oMVlQbHR7B1TNxIc/HxN/QoObziDM7xCICRw90KgG9KBR5QkkplrVJhUWwIYmVOH +SI8GJ4cdKxcMqqBTsoXzgVIbY4DYRLgBTbTbw+udhfB6cRFnzwo708cgOgz6AFdW +X77KFUnkpKSnSIjuoKR6yHoxjoS84dY8Ob/tZ3XPtWGFJdsWjQTuCUh9yfzmgm1W +4YNsWe6B9JXtbGeV+L7TOmtEA6ZVPUXggWfcAtCpRvDDG7ZLEM8UE1WSqg/48XG6 +novP/rR3btWbg0esNpo+CN59gTjeBRVdar2zwUcefHDOejqvt71X6VPRHOmAlg1c +2SS38X0ws4+6icv1BIOQwfJue1XaQueREQP40kzyTHfTe37UEDfW2sGJlkq70wVv +qK/2Qf6f8FQ71agIT7NAGEA3v1fphAXNcjoNDZvDNYJjxYJePV96b3IjLZk/fxDR +esdocQEXxSQYXOFnKpFLfWInJ2FfbDeXHMCv4agPsr7/jeGP86rTDm4RnbONCueE +hdLxDtjGiyNBoGE0v8eYvxrvvxexnANI9Hjj8U25OY7xIw/J8b8+bFvZfnCNIZju +0kBpsSGZOYdsp/To02UB/B9IfnNxgwe7H4CAg49/YIDOFEmm2lI= +=2S83 +-----END PGP PUBLIC KEY BLOCK----- + +pub rsa4096/0xCFF9F96740ED9550 2023-01-12 [SC] + Key fingerprint = 8186 4A03 75F2 7810 64FE 8E4D CFF9 F967 40ED 9550 +uid [ full ] Sendmail Signing Key/2023 +sub rsa4096/0x592DCD45F765BAB2 2023-01-12 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +kYi0 +=c0eH +-----END PGP PUBLIC KEY BLOCK----- + +pub 4096R/81D9210A 2022-01-22 + Key fingerprint = 6327 DDCB 5E7E 80E4 987E A3B7 FD79 DC0C 81D9 210A +uid Sendmail Signing Key/2022 +sub 4096R/03142938 2022-01-22 + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +0Kb4rGd12E5b+czXoxg= +=LSBA +-----END PGP PUBLIC KEY BLOCK----- pub 4096R/4BEE1BEE 2021-01-24 Key fingerprint = F4CE 2263 2102 53D6 A9F9 79B0 4C66 EA8D 4BEE 1BEE @@ -363,7 +982,6 @@ ra/bqVWSpZTlHZ0xT9seCUSs1urxGw9Z =3HCo -----END PGP PUBLIC KEY BLOCK----- - pub rsa4096/0xD583210EF51471A7 2020-04-08 [SC] Key fingerprint = ADFD B709 FE1E A682 E585 5971 D583 210E F514 71A7 uid [ full ] Sendmail Signing Key/2020 @@ -557,7 +1175,6 @@ gmOJ78JKVfONBpmdVsw/emTMU5I/C/8m9l0nO0P4Q6diao23krgWk73x7dBoBqDn =jgHV -----END PGP PUBLIC KEY BLOCK----- - pub rsa4096/0x09E01FA03C0C504E 2019-01-09 [SC] Key fingerprint = 50A3 0309 8EA2 DD7B CBEE 2ADA 09E0 1FA0 3C0C 504E uid Sendmail Signing Key/2019 @@ -739,7 +1356,6 @@ HcRQfq7rqZkS3NE+iD9D/lUyXVYfH9A= =jN/3 -----END PGP PUBLIC KEY BLOCK----- - pub 4096R/0xF06059FD5DC7CC3F 2018-04-24 [SC] Key fingerprint = A687 3D24 A4D6 D628 4AE4 2A75 F060 59FD 5DC7 CC3F uid Sendmail Signing Key/2018 @@ -883,7 +1499,6 @@ fvZ+LS/6hJ9C77uOaBqoDPmtpn0WDqc3oDeT81Ans73BZhwhFAjzpHp+XnJQ =K0Kz -----END PGP PUBLIC KEY BLOCK----- - pub 4096R/6BF726AD 2016-12-31 Key fingerprint = 3C8A 1E8E 7F44 CADE 114F ED46 4BC9 BDA6 6BF7 26AD uid Sendmail Signing Key/2017 @@ -1069,7 +1684,6 @@ FtJxkIHVIx/VvvBqS3HEm8QCRvr+o10/Ue7NljolDV13B7fljxgvLFyJ8T91jWsz =Lt+h -----END PGP PUBLIC KEY BLOCK----- - pub 2048R/29FB03DE 2016-01-04 fingerprint: 0F5C 96AE C8E6 9E9C 8E54 2E5C 6D4C D194 29FB 03DE uid Sendmail Signing Key/2016 @@ -1269,7 +1883,6 @@ j68I =MdUt -----END PGP PUBLIC KEY BLOCK----- - pub 2048R/0xAAF5B5DE05BDCC53 2015-01-02 fingerprint: 30BC A747 05FA 4154 5573 1D7B AAF5 B5DE 05BD CC53 uid Sendmail Signing Key/2015 diff --git a/contrib/sendmail/README b/contrib/sendmail/README index 50cbce25e169..468d29fcaffb 100644 --- a/contrib/sendmail/README +++ b/contrib/sendmail/README @@ -4,11 +4,12 @@ This directory has the latest sendmail(TM) software from Proofpoint, Inc. Report any bugs to sendmail-bugs-YYYY@support.sendmail.org -where YYYY is the current year, e.g., 2005. +where YYYY is the current year, e.g., 2023. -There is a web site at http://www.sendmail.org/ -- see that site for +There is a web site at https://www.sendmail.org/ -- see that site for the latest updates. + +--------------+ | INTRODUCTION | +--------------+ @@ -40,6 +41,7 @@ the latest updates. Sendmail is a trademark of Proofpoint, Inc. US Patent Numbers 6865671, 6986037. + +-----------------------+ | DIRECTORY PERMISSIONS | +-----------------------+ @@ -197,14 +199,6 @@ There are other files you should read. Rooted in this directory are: This sets a word in a smaller pointsize. - - with new groff versions (1.18 seems affected) - - GROFF_NO_SGR=1 - - needs to be set, e.g., in doc/op/Makefile: - - ROFF_CMD= GROFF_NO_SGR=1 groff - +--------------+ | RELATED RFCS | @@ -248,6 +242,13 @@ Important RFCs for electronic mail are: RFC2822 Internet Message Format RFC2852 Deliver By SMTP Service Extension RFC2920 SMTP Service Extension for Command Pipelining + RFC5321 Simple Mail Transfer Protocol + RFC5322 Internet Message Format + RFC6530 Overview and Framework for Internationalized Email + RFC6531 SMTP Extension for Internationalized Email + RFC6532 Internationalized Email Headers + RFC6533 Internationalized Delivery Status and Disposition Notifications + RFC8461 SMTP MTA Strict Transport Security (MTA-STS) Other standards that may be of interest (but which are less directly relevant to sendmail) are: @@ -325,6 +326,10 @@ DB 2.X and 3.X. If you are upgrading from one of those versions, you must recreate your database file(s). Do this by rebuilding all maps with makemap and rebuilding the alias file with newaliases. +File locking using fcntl() does not interoperate with Berkeley DB +5.x (and probably later). Use CDB, flock() (-DHASFLOCK), or an +earlier Berkeley DB version. + +--------------------+ *** 16313 LINES SKIPPED *** From nobody Wed Feb 7 02:48:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TV4LW53nRz58XCF; Wed, 7 Feb 2024 02:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TV4LW4ljjz4Hdp; Wed, 7 Feb 2024 02:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707274115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6g1piHWiInMxqWh7BSyI6lPWMUsqqQeHdYld7KJKeo0=; b=FeAsHbPnRMfGwhDizAqMSmUiOSODgDKYy8aAHP8oMnSWVOidXjmF5EeT0QxGNwVNarib8B Ay17GyTonkuObQRCt2uzvPQTA1csuTKMlYJLDnUdxLHHoSeAZTdzx6S6VWz2ACWG+JfxxM 6djnmNvxA1LLlYcUtQM3noN8oNz0bz/zpffBRrbFAaxlCbBwv0EBca5oYRRZfV+ZZL0BNO cTuu53wORkwCjrZUoO/9Ip0W9dojkOAOXrwnICESwZ623x91ikJAvzEFNd5LC64jRRo6GP /DgAfEKJHhWnGD4dnV6F//ZABNZb8YQPY3oPYwKFXFP+td45rKAmQnPqXNV/ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707274115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6g1piHWiInMxqWh7BSyI6lPWMUsqqQeHdYld7KJKeo0=; b=caFb9WSp2Oc8cbhrx/XLuljzy9UU7bIVS0L5ptKf9baOdoVSlx02nMdrlrbexXDyzAuKjy IzdKslTIV+SiTMyY+V+0g63s5aYnyF3cbBFjl6MHf1J3g9+vImwkzW/dJq0xcKi1BviwOA X8n3QbFkJXGjzTLRoffgwFhHbKgB+zzHPdpTrjxV55YKJzWB6i22zS1UrBRbDwe9beySdH ffVpX1jYbpz9A84JdRg6gzlI54QgW02NL/xQ/3gzbLjT2v2SaUNQEIGaV4drOnMo5lLgJP 9gjFtZ4hoXDU9VFwqBNu5tbg3jw6el9L4EZ4geE2te4D+/0ZUqtCPWM3weqNJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707274115; a=rsa-sha256; cv=none; b=TpF4kK4X7Hj3nrjtJcI52oqjqqVBYLf0bjTFAILRCIJg7MbmugX8k/GqeT/WBlmHgowocq KOCVZ7O6G5WLMp9CNCcQ89wY2sfv/DItX2PpTufWhQOAJI/QOiphqNa+qJofEO+v5/ZCqk 7mEj8qv+xLRUQ93NO4VeTkgmJlosGJ6sn1gLEiAib2BroKm74hACKIbx3iiqpyQ+LbL1UP hPh8SMchmDttu35l85nUazI92SGP0Y9FsOHMMGKV0z108dlNVtRfTvsLl4dI14+RIyFCcM q4oTCVKiFOsrNP/z4VvaTjXV1J6a7fWvNZToxsZVmZRfFzhORAcNN5Gbs6Zgrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TV4LW3qM6zpkt; Wed, 7 Feb 2024 02:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4172mZ9N007769; Wed, 7 Feb 2024 02:48:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4172mZR3007766; Wed, 7 Feb 2024 02:48:35 GMT (envelope-from git) Date: Wed, 7 Feb 2024 02:48:35 GMT Message-Id: <202402070248.4172mZR3007766@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gregory Neil Shapiro Subject: git: a64caf2cb2dc - stable/13 - Merge commit '850ef5ae11d69ea3381bd310f564f025fc8caea3' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gshapiro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a64caf2cb2dc3ddd6f325e323c281d1463a80ccf Auto-Submitted: auto-generated The branch stable/13 has been updated by gshapiro: URL: https://cgit.FreeBSD.org/src/commit/?id=a64caf2cb2dc3ddd6f325e323c281d1463a80ccf commit a64caf2cb2dc3ddd6f325e323c281d1463a80ccf Author: Gregory Neil Shapiro AuthorDate: 2024-01-31 23:53:48 +0000 Commit: Gregory Neil Shapiro CommitDate: 2024-02-07 02:47:40 +0000 Merge commit '850ef5ae11d69ea3381bd310f564f025fc8caea3' Merge vendor sendmail 8.18.1 into HEAD (cherry picked from commit d39bd2c1388b520fcba9abed1932acacead60fba) Add new source file for sendmail 8.18.1 (cherry picked from commit 19d4fb85bf17579780e8f0c3cbae8a5e92a6922e) New sendmail 8.18.1 cf file (cherry picked from commit 1b6a5580c1f999fb1ba5f9860cf63a8aefc55b3c) Minor change to update these files so new freebsd*.cf files are generated (cherry picked from commit 2c191ba6b0b5d1b3729a5ac428d51cfc5d5f3d2e) Belatedly update version and date for sendmail 8.18.1 upgrade (cherry picked from commit 31fbc98c949bfca30ab55afef04b4396a61b7e92) Add a note about sendmail 8.18.1's stricter SMTP protocol enforcement (akin to commit 21c1f1deb6a3ac6a60e4516261e5264a28e0b7a6 in main) Update import date for stable/14 Relnotes: Yes Security: CVE-2023-51765 --- UPDATING | 7 + contrib/sendmail/FREEBSD-upgrade | 4 +- contrib/sendmail/KNOWNBUGS | 17 +- contrib/sendmail/PGPKEYS | 625 +++++++- contrib/sendmail/README | 26 +- contrib/sendmail/RELEASE_NOTES | 215 ++- contrib/sendmail/cf/README | 29 +- contrib/sendmail/cf/cf/submit.cf | 15 +- contrib/sendmail/cf/feature/check_cert_altnames.m4 | 2 +- contrib/sendmail/cf/feature/enhdnsbl.m4 | 14 +- contrib/sendmail/cf/feature/fips3.m4 | 16 + contrib/sendmail/cf/feature/ldap_routing.m4 | 2 +- contrib/sendmail/cf/hack/xconnect.m4 | 4 +- contrib/sendmail/cf/m4/proto.m4 | 84 +- contrib/sendmail/cf/m4/version.m4 | 2 +- contrib/sendmail/cf/sh/makeinfo.sh | 2 +- contrib/sendmail/contrib/buildvirtuser | 2 +- contrib/sendmail/doc/op/Makefile | 6 +- contrib/sendmail/doc/op/op.me | 271 ++-- contrib/sendmail/include/libsmdb/smdb.h | 2 +- contrib/sendmail/include/sendmail/sendmail.h | 1 + contrib/sendmail/include/sm/conf.h | 8 +- contrib/sendmail/include/sm/fdset.h | 1 + contrib/sendmail/include/sm/gen.h | 4 + contrib/sendmail/include/sm/ixlen.h | 1 + contrib/sendmail/include/sm/notify.h | 7 +- contrib/sendmail/include/sm/os/sm_os_openbsd.h | 14 - contrib/sendmail/include/sm/rpool.h | 2 + contrib/sendmail/libmilter/README | 3 + contrib/sendmail/libmilter/docs/overview.html | 2 +- .../sendmail/libmilter/docs/smfi_getsymval.html | 17 +- .../sendmail/libmilter/docs/smfi_replacebody.html | 2 +- contrib/sendmail/libmilter/docs/xxfi_body.html | 2 +- contrib/sendmail/libmilter/docs/xxfi_header.html | 4 +- contrib/sendmail/libmilter/engine.c | 24 +- contrib/sendmail/libsm/Makefile.m4 | 1 - contrib/sendmail/libsm/README | 4 +- contrib/sendmail/libsm/b-strl.c | 2 +- contrib/sendmail/libsm/exc.html | 2 +- contrib/sendmail/libsm/heap.c | 2 +- contrib/sendmail/libsm/io.html | 14 +- contrib/sendmail/libsm/ldap.c | 110 +- contrib/sendmail/libsm/lowercase.c | 35 +- contrib/sendmail/libsm/mpeix.c | 2 +- contrib/sendmail/libsm/notify.c | 68 +- contrib/sendmail/libsm/notify.h | 111 ++ contrib/sendmail/libsm/rewind.c | 2 +- contrib/sendmail/libsm/setvbuf.c | 3 +- contrib/sendmail/libsm/stdio.c | 2 +- contrib/sendmail/libsm/strcaseeq.c | 12 +- contrib/sendmail/libsm/t-ixlen.c | 56 +- contrib/sendmail/libsm/t-notify.c | 141 +- contrib/sendmail/libsm/t-qic.c | 16 +- contrib/sendmail/libsm/t-streq.c | 42 +- contrib/sendmail/libsm/t-streq.sh | 19 + contrib/sendmail/libsm/test.c | 2 +- contrib/sendmail/libsm/util.c | 10 +- contrib/sendmail/libsm/vfprintf.c | 16 +- contrib/sendmail/libsm/vfscanf.c | 2 +- contrib/sendmail/libsmdb/smcdb.c | 2 +- contrib/sendmail/libsmdb/smdb.c | 7 +- contrib/sendmail/libsmdb/smdb1.c | 2 +- contrib/sendmail/libsmdb/smdb2.c | 2 +- contrib/sendmail/libsmdb/smndbm.c | 4 +- contrib/sendmail/libsmutil/t-lockfile.c | 104 +- contrib/sendmail/mail.local/mail.local.c | 2 +- contrib/sendmail/makemap/makemap.8 | 8 + contrib/sendmail/makemap/makemap.c | 187 ++- contrib/sendmail/smrsh/README | 2 +- contrib/sendmail/src/Makefile.m4 | 2 +- contrib/sendmail/src/README | 25 +- contrib/sendmail/src/SECURITY | 14 +- contrib/sendmail/src/TRACEFLAGS | 16 +- contrib/sendmail/src/alias.c | 209 ++- contrib/sendmail/src/bf.c | 2 +- contrib/sendmail/src/collect.c | 258 +++- contrib/sendmail/src/conf.c | 158 +- contrib/sendmail/src/conf.h | 8 +- contrib/sendmail/src/control.c | 2 - contrib/sendmail/src/daemon.c | 137 +- contrib/sendmail/src/daemon.h | 2 +- contrib/sendmail/src/deliver.c | 1603 +++++++++++++++----- contrib/sendmail/src/domain.c | 482 +++++- contrib/sendmail/src/err.c | 4 - contrib/sendmail/src/headers.c | 32 +- contrib/sendmail/src/helpfile | 6 +- contrib/sendmail/src/macro.c | 59 +- contrib/sendmail/src/main.c | 126 +- contrib/sendmail/src/map.c | 438 ++++-- contrib/sendmail/src/map.h | 8 + contrib/sendmail/src/mci.c | 13 +- contrib/sendmail/src/milter.c | 27 +- contrib/sendmail/src/mime.c | 8 +- contrib/sendmail/src/parseaddr.c | 44 +- contrib/sendmail/src/queue.c | 214 +-- contrib/sendmail/src/ratectrl.c | 3 +- contrib/sendmail/src/readcf.c | 238 ++- contrib/sendmail/src/recipient.c | 11 +- contrib/sendmail/src/savemail.c | 4 +- contrib/sendmail/src/sched.c | 172 +++ contrib/sendmail/src/sendmail.8 | 4 +- contrib/sendmail/src/sendmail.h | 179 ++- contrib/sendmail/src/sfsasl.c | 8 +- contrib/sendmail/src/sm_resolve.c | 206 +-- contrib/sendmail/src/sm_resolve.h | 28 +- contrib/sendmail/src/srvrsmtp.c | 465 ++++-- contrib/sendmail/src/stab.c | 6 + contrib/sendmail/src/tls.c | 599 ++++++-- contrib/sendmail/src/tls.h | 91 +- contrib/sendmail/src/tlsh.c | 37 +- contrib/sendmail/src/udb.c | 16 +- contrib/sendmail/src/usersmtp.c | 75 +- contrib/sendmail/src/util.c | 142 +- contrib/sendmail/src/version.c | 2 +- contrib/sendmail/test/README | 9 +- contrib/sendmail/vacation/vacation.1 | 25 +- contrib/sendmail/vacation/vacation.c | 232 ++- etc/sendmail/freebsd.mc | 1 + etc/sendmail/freebsd.submit.mc | 1 + tools/build/mk/OptionalObsoleteFiles.inc | 1 + usr.sbin/sendmail/Makefile | 2 +- 121 files changed, 6716 insertions(+), 2169 deletions(-) diff --git a/UPDATING b/UPDATING index 21873313b3be..8e7fa2999475 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,13 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240207: + sendmail 8.18.1 has been imported and merged. This version enforces + stricter RFC compliance by default, especially with respect to line + endings. This may cause issues with receiving messages from + non-compliant MTAs; please see the first 8.18.1 release note in + contrib/sendmail/RELEASE_NOTES for mitigations. + 20230913: Improvements to libtacplus(8) mean that tacplus.conf(5) now follows POSIX shell syntax rules. This may cause TACACS+ diff --git a/contrib/sendmail/FREEBSD-upgrade b/contrib/sendmail/FREEBSD-upgrade index c8206c4bc351..03969cef2119 100644 --- a/contrib/sendmail/FREEBSD-upgrade +++ b/contrib/sendmail/FREEBSD-upgrade @@ -1,6 +1,6 @@ $FreeBSD$ -sendmail 8.17.1 +sendmail 8.18.1 originals can be found at: ftp://ftp.sendmail.org/pub/sendmail/ For the import of sendmail, the following directories were renamed: @@ -102,4 +102,4 @@ infrastructure in FreeBSD: usr.sbin/mailwrapper/Makefile gshapiro@FreeBSD.org -31-January-2022 +07-February-2024 diff --git a/contrib/sendmail/KNOWNBUGS b/contrib/sendmail/KNOWNBUGS index b44f931af585..7a75b4975c35 100644 --- a/contrib/sendmail/KNOWNBUGS +++ b/contrib/sendmail/KNOWNBUGS @@ -25,7 +25,7 @@ This list is not guaranteed to be complete. For Linux the default is to use fcntl() for file locking. However, this does not work with Berkeley DB 5.x and probably later. Switching to flock(), i.e., compile with -DHASFLOCK fixes this - (however, the have been problems with flock() on some Linux + (however, there have been problems with flock() on some Linux versions). Alternatively, use CDB or an earlier BDB version. * Delivery to programs that generate too much output may cause problems @@ -105,11 +105,6 @@ Kresolve sequence dnsmx canon DSN does not contain the illegal address, but only the valid address(es). -* \231 considered harmful. - - Header addresses that have the \231 character (and possibly others - in the range \201 - \237) behave in odd and usually unexpected ways. - * AuthRealm for Cyrus SASL may not work as expected. The man page and the actual usage for sasl_server_new() seem to differ. Feedback for the "correct" usage is welcome, a patch to match @@ -178,11 +173,11 @@ Kresolve sequence dnsmx canon * Client ignores SIZE parameter. - When sendmail acts as client and the server specifies a limit - for the mail size, sendmail will ignore this and try to send the - mail anyway. The server will usually reject the MAIL command - which specifies the size of the message and hence this problem - is not significant. + When sendmail acts as client and the server specifies a limit for + the mail size, sendmail will ignore this and try to send the mail + anyway (unless _FFR_CLIENT_SIZE is used). The server will usually + reject the MAIL command which specifies the size of the message + and hence this problem is not significant. * Paths to programs being executed and the mode of program files are not checked. Essentially, the RunProgramInUnsafeDirPath and diff --git a/contrib/sendmail/PGPKEYS b/contrib/sendmail/PGPKEYS index 0d0b0d5a766c..13ec5a6ee56a 100644 --- a/contrib/sendmail/PGPKEYS +++ b/contrib/sendmail/PGPKEYS @@ -187,6 +187,625 @@ mk6wxhyuojEHuR7it6IU5BP8vaAGrL1jb1c2EeAe+pdJwpAb1Aq6MU6uWqOGup8t =xY3m -----END PGP PUBLIC KEY BLOCK----- +pub rsa4096/0xC4065A87C71F6844 2024-01-02 [SC] + Key fingerprint = 8AB0 63D7 A4C5 939D A9C0 1E38 C406 5A87 C71F 6844 +uid [ultimate] Sendmail Signing Key/2024 +sub rsa4096/0x8DBCFBC42AF9E161 2024-01-02 [E] + Key fingerprint = 2B52 755B 17D4 44EB EC39 5497 8DBC FBC4 2AF9 E161 + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=2S83 +-----END PGP PUBLIC KEY BLOCK----- + +pub rsa4096/0xCFF9F96740ED9550 2023-01-12 [SC] + Key fingerprint = 8186 4A03 75F2 7810 64FE 8E4D CFF9 F967 40ED 9550 +uid [ full ] Sendmail Signing Key/2023 +sub rsa4096/0x592DCD45F765BAB2 2023-01-12 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +kYi0 +=c0eH +-----END PGP PUBLIC KEY BLOCK----- + +pub 4096R/81D9210A 2022-01-22 + Key fingerprint = 6327 DDCB 5E7E 80E4 987E A3B7 FD79 DC0C 81D9 210A +uid Sendmail Signing Key/2022 +sub 4096R/03142938 2022-01-22 + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBGHsknQBEACuy5ofFGpq84xVTF77J5aYl7lmQ0dzvUfUmnnFBPU4A81LFxjt +zjFy3t8Gg6RQUoznK38iSsHpNYaipgzKdk02XRWNLK1vNhPhWePDYqDMewysBnqc +bJC0vX4z0XFP6T+apyjb58G149Qlc/y67T+b8Jy65rNJUr99rQ1EX5lwuz5Sj9C6 +ABmG4u4fZcLsbBZCP3QFC+Vnn+deTr5zzj7qqDv/w0bQad/jzEal7RE3tgJ9E0sa +I1SoOMUgt7bo/osJxZjAzWCrf9yT3Dps8ZhEAATP4rRKLRbZXiGJiSLXT8y88JP6 +LBtpwU+KU6uApVSKDw1OFUC0bE3/hKUKvKe1BUXOEieP0kBdjclGSvX2iDO9Bn89 +o2KxAZ2kCC7GCHBHiSn0vkWxuQd6Wi2N/sYPdqLd2JHpZ58ltBtUE/2jYWNXQZju +iRDHWHf3zZCbB93VS61xpcJm974f1caMtc636GROWTqeF+Nd2Hrx1hKEbJerjqZf ++QbE65waP0Rrcfxt1kECEIjG+v86SucfcyEPfTqBqK6+49dhIgmA/6b+2UgVkvpf +BqM4PZBqRXbwzyfp2fkM6jfTKWhbeJb5JQxHfnzsigJzZhcDfQllhUF4/ec8dEpC +3Y64Er4qL8IcRiMf+Dyaie3u7ZqtRqSQHMDZ0fYKDtjKmTkUrHfwqHWR/QARAQAB +tDFTZW5kbWFpbCBTaWduaW5nIEtleS8yMDIyIDxzZW5kbWFpbEBTZW5kbWFpbC5P +Ukc+iQJVBBMBCgA/FiEEYyfdy15+gOSYfqO3/XncDIHZIQoFAmHsknQCGwMLCwkN +CAoMBwsEAwIGFQoJCAsDBRYCAwEAAh4BAheAAAoJEP153AyB2SEKoHEQAKouC0qg +f0OBcyw5EWd0ja2bPakBlNkdE2FGvtOF81WvZ7f0M0kLNRzGRIsRRBxDVw7Vyin5 +wLxxRHxoSrRMTS+3LbKCrtXqUyMO7Ce/SY77yXKbXfnVCmo5pq0QhNVGE1GSuvxF +R/dGKb9wV2LNbuXHo8xj85yFztFfGRLhkZs5aAaFmq9mRYu8IObf42xCFYALTAnB +95T91EQbixJuT1AjohgMXHhQQ6nNo5EfND21c5a72Ntzfj5gPfUUITSshxSPmE2F +/H/WfaVhkALKdMD681bSoXtC5yByTGkM4UBqNOnppplKFW8YFGiJ3Xzm5vN+5Lyo ++a+8lSLIRkBMJrVK2L80r3qQk4xh0lZiG5sFHvkGYzeWqKb0z9ADIz7TEUCUgpag +vYuSLexegNlYzRG0aL2PbeqVb6Yhy9ghj+42HNmiRGCorixKFJHA70q1uKvcDZ9I +Q4j18hlxM9B6Aj27MSXqwISNEDCiNIYbSI8UfmJ8NnWnhqNbQ3a9lmOVC0JB5TdF +enjTuMb3VovjNWo4LTvQdhAgsQn0MzWgdMLgGzLWmR0fBiyTKS7kMOU3SQqaJd7s +eUTOv3SxdkVGcsqpFlbJGrXwFkpzcay84qeS0afxEpc9yhewzMU9Y7Xa1+vFpqfW +b7eIeBIB38PwGhp76kQ4P3/mDdlRWIHxK5eNiQEzBBABCgAdFiEEsICXn00EPhnQ +WjacYp747gyLgzMFAmHsk2oACgkQYp747gyLgzPEswgAwOi7pq+JoQtQiXYlE83w +QoTUsaBYA/38IuYo7Yf7LdNlpwIQamGNVJtNQAYT4AhMdZELyJUtV5Wa4S/D48Vu +EvoVLVZmdsbcaRWpWvfptjFsdcC9Tc2W8Ww0Vd+lmphMR049vMuqbR+kYlUxelIS +CNhKwyg4GFUL86C48TDvRedvLWRX8moahLntVN1QtDYQ3/bn+JsWzHiXOKQ66Wsu +gg97G7cectwEJnJd8HIRTo7a84LN/gTwt9Uo1cB56pULEA2Xde+oySg+T7pW1eTQ +Vjq8L6gaHl2tyy7il9tQAhs8Ibzlcahh2BfYENss3pPUpMcASrSXlGBuYKofGt3t +9okBMwQQAQoAHRYhBLF1lkRTA13O3XvpGWBN+/KFQQq+BQJh7JOEAAoJEGBN+/KF +QQq+hmQH/AubZHpKbUVstoAa/CJMGtLpox6Enwl3J/FPYsjJXx+xpRZrE9w514tw +SGD8B9DcAM/JC8ZLeo58OuIDGaxovP7Y96El+9a73bGw2HtVzqlIB6rtg3xMNHCR +RvYUziIKi1Axdwgn/LLu9aUOduOUtrG4zgNEp46ZjEci87asouUrw5yqyeSDGSRd +ryYbt9Hgm3WD2cksZUmqYvXfCun9teh5pBn8gn28HPMYzpw2/iTjs894xIW450D9 +BiVIxU/WNub3CA9GjGjB/GRdbVkAEseBmxGBeRx3qjAyYNs+9YUsG5x9bx9zpGd1 +ktNEJ0b9mIgLMhPVC/6z7ye8MWhVzuCJATMEEAEKAB0WIQRYcmIYqRNADeZgNgE5 +pMd9qXiEsAUCYeyTjQAKCRA5pMd9qXiEsL+rCACOFWzHtgEEtJheKj38MVWzgimL +Fsr7V4M+ewmDc0FSAboBzazZiDtjryJ9u8r9nIklfSL9DxjVPSV6s0mS+oUpG/x4 +FI8eb4VSMue98W5kMIC6k9MfGQAccn41iPd25nCp2VcnkOhXIv9s/XXoo74ZJIKb +uIRu7fkFwzhn4kxGiphqy7DFsTwLlsbFEGG7USJXT0QtIj42Wvz086622vjAFmVA +70icww1/0I7gBIVgGmv64AdctCXCJUEa63DGj7Ylqy/t+vG263BBIbz+rM11tCPi +ah0Qc5L5sX3t4ZkJ8eTSbUzqwpD9BYiXVWc6XTLMc5OVjJ3l/OZpDko4Vnl8iQEz +BBABCgAdFiEEynqPOaJBn/+wqasnjlrp+87u9DsFAmHsk5EACgkQjlrp+87u9DuM +VQf+JcdL8c/F3s6IZ+seglYPfLOkfUUaCWKcQ7hYaf31DJULMpTPx6QMB1x4DVns +b+GnSlY7OEmvClv4iDT5s5pRpAxOjJ3Tyud1XqwQ7en45ZvRNbMOsYV1Wzp+JnBW +WU5aI1Fg3K6PFMLDP2p5zgzD3m5MD9+5QJ8mx8l12TbtC/h5yWu9f+PV6DsB7m/Y +zqjiRGf8R3S9+gE9Ve9opnWx6gnEVhqQCNSz2fpmcdxEyTG3Nz8/hJaplVzhdC+E +neuvD7xOJpcVHG14l2A1uf1gv11Wh5HFnA1ESGxyuQuRHaiHN4tbOpH93eVL73Na +OS2rlm8YyDMm1sS43YuB2iNaoIkBMwQQAQoAHRYhBLh9RWmG8ZSEB+XMtD1osl1S +B8rTBQJh7JOVAAoJED1osl1SB8rTuP4H/A2Mqkefj4zFy2HwfrFJ4BOSJDXtZpI4 +SrTmf4+N2WsjsRys21NE+uchZ7+YpkPlj0t+OeXaEMvxe83xOJnJ5w2xpqTy8XMO +73pqvbQLssl5gjcd9e4V+VQKzXMaywGJnU7DJ1+yMrvZqgmdVUm2SVwixViMxDf1 +c4i8mnTU02J0rNUoSn0pZURu7wwimiRisPa0EfS7O8T74C4Qx+g8Z7uTBbTdtEJt +rtPectAGS85MxISqaqZshMzc70NhYzanliPvq3XaJ7UXxCSWjrI/8pvZVND8i2JH +QdqUruYOj8CdtAliz9+XOJFdYE949a7Zb/fXu3cHQqDeOpAxJaSzuLKJATMEEAEK +AB0WIQRJ9qi+hHM5SVGRbzth3hHs4nY6cwUCYeyTmAAKCRBh3hHs4nY6c9kOB/9l +OYFFG5vg9ODyQ9TgGH4onZRrTNBZjYtKtgGekSg9u9bIMk/S1MYDaVyV/07ZV+4+ +DKqrk+PQijg3ujpNxguap6eFhuGPkwj73MN/xSNSiplpNDxLP0EKrVbxG3gQhZey +gyr6gqlYtWCsIuXWV+MOEhd20SrIXzPsX7IDw3JdgGxNkjS01cVvsoiKL17Nr0BX +Aevyuj+8IdHjsreucBgyz5OG2tRfpK/VQSmzhpQlYJKRsEg2pCANOJiEEBeGBgm3 +Dj5MouGL8ajkl49s38zoMFpxr3KoFj2rF3kfNHTHV5aybjwqLhE9Kquw3Pp59Q6Q +Njewgf4+S/czLfPLxl22iQEzBBABCgAdFiEEMLynRwX6QVRVcx17qvW13gW9zFMF +AmHsk5sACgkQqvW13gW9zFMqbAf9H08Gdf/qAdYe4CigvOu147hr89RH0LWtqvXD +R13cJgwkUQLPQZ3/xt/to/3QNDyETjcQkJcfqobTGPZs83ebXlICTfAkC5uNvyoJ +Dtgw/e8zf13XhWTP+Dn4+YnhBdCLkH85XvI+QLen73PzlKmgUc+Rf3UoXcDgdSVu +A/ouNC1A1ZKO1f8zQDM9MTppuRUJis11EO0nkqxu7o9ZnjR/GIr0eAYb5t5YoNLz +lc0IGskX3IHfCFcrQjBnUkWbUn3CBZTTLLgBX/sGTLqkrzi9W0dSCBsX/gF4nGAS +hyrpV9yP7bw71LDDdKaI3Ze/gviwyml/9b1UyCLhS6Y0UGRPSYkBMwQQAQoAHRYh +BA9clq7I5p6cjlQuXG1M0ZQp+wPeBQJh7JOeAAoJEG1M0ZQp+wPeQ4YH/jLO4HtX +zb7N6+fvH1IoebtpzkIxvyIqunCLd9wmMOd5/E2GWcHwzsi5ImnlfrpX9jdzuPGa +lFLFMSnK5WQA+G8j7tm9Zs+pmN1E5IcKi08BIDj6UY9NRwVVAxDQFQwNfNupCV2v +4wEi115eD5inb3uPfETZwgTh1IbMMYQu96vWCjUCwavAiTP/PWiAEdmGTFCgFrsm +chLHuXiRTLgfnrVdtblvZ+2GIWsi1IbJcOpT2Nt+I9HPksJKGpZWX5bzyHt8t3hv +tfHWFdX9BZv2jMBJFc8C4mNXX06fnA/OK39GbTDr3qJ5efjP7FxvCTatpuVxpUeo +bQoiz6yqLtHk11KJAjMEEAEKAB0WIQQ8ih6Of0TK3hFP7UZLyb2ma/cmrQUCYeyT +oQAKCRBLyb2ma/cmrao/EAC0QcShgqI/EEhInt1ELOXXqWzwyW4GxKZaATBKznYN +KUgCImW10QxQRG8TK+/x4mtAriPk6ANHHdt3ehzstrmcFlo1TmFqd2SoXHwLWz+D +ffX0WE1Slmnd4mGvz25LhftrGuGAzOZQ1v9QnlBmE9egZrF7x4sIGrHrRfKDAzec +rcgNf8zv8nZW0YqbHNMmxh1xFQ7yVTzs48UipyWxfTsje6LxEvsGYAuvSp8AUWhV +ILJ99c8kJRGdyiVum2SOk4MtP+Nl0w5686kO4Aj4gbiDMdCDGhwxFHDt69HmbHVB +kDyErjcjlEy9Qsg56YFe70861c5nJXoMslnjRN9F2EyDOFKGorI4jdinNiR7E069 +KXEwnouW0ZuN/RIIUSgIWzalGCkOPCPFEShZKKPWJ3mblEuXyfe4ayL4DVQo+5ha +/1kqRP7kPgjBkDyRxR7M/UuZVyPuHo0HkETQUlTMDwLAQH/ADSlW0zhqJgKFzOzS +kJyAciEzW/s1v3pwQR9/7+6LNJEoXE6ANNOnlnEz0hPWgm55XnyTmrLBqpW9XP1V +jTOm66j4vbS1MNRxtIbvkCKyw/Fv9hWmPauzEi7TepwgY2w4m+EV/0mNV3LTg0OB +4XH9bJ06LUvp1urY1jVoYD5ID5cyNeblmhXLI9bXQpzEjuw/fkqVaOCLMyiyXYFA +BokCMwQQAQoAHRYhBKaHPSSk1tYoSuQqdfBgWf1dx8w/BQJh7JOkAAoJEPBgWf1d +x8w/lJoQAI+SrlWdn+KcotHe/DZiY+HrmYdIAmdvr9xupsqpK5FrcHAZt/lX4iNz +Cb0/W3bQpgAr1SntGPo69SvZMZiuXLaVZvAjAtFfPAaE6qBOQOfMQM8I9CQ75Olk +ZTuX9syqqLRx90W+0buI2EnB1m8xdw3Zp03/+JYqXP+8qI8yEEn0+tGPTYOCYDQ8 +C9NnUwc62GVln/b5Cvvr5khURn/OzUAmSv7ah8hHhc4cfxnFjSgErnZ7MPRMm1O/ +aVaqV4Lu9OzT91bhLaJ/aOSPqI5kuKZjgEcOpJhjh2gxLKualF544sTei4GNXgTZ +ddpZZmRpGCLcOS+nsqeGeKobV5Ixz1ddCJMAX8BKDV/mimiDK4yCckNirK0AnTiF +bHnqkpPcmmZdp/GFtOWPoSu8qGJpl7T35sFpEFn3Stbd/sfImWhIhue8x3I6Qimw +DW/23SQlf6r5u0ZbO6ZWMdC3RR+6TfztHv7UDkBWEGRLGkQ/cw36uW3OiqEUS8wS +2uk96vnJJQTcXP59BYQgH/Oqv5QXfl5l5/h9MnTJDAHiM4CBsZIETl192nBT81Mh +D0swDdaU95NwMFtSmW+aqd9k+FFaJT019BndzSYZXcpjkBwpXF/HmzrdTLHZfFN0 +28snq/TTG3K3KoTOeW+6HeXlDrsl7HHmpvUo+gF21f8+2X/OuyvtiQIzBBABCgAd +FiEEUKMDCY6i3XvL7iraCeAfoDwMUE4FAmHsk6cACgkQCeAfoDwMUE4VGg/+JHaT +yujXRVrsH1dOmhjXc5nyDINZakUBT6fdYxXGsu37AmgYoZrBnTyAmNQd4zSAZ8Mm +uXGxN8LE23nO6c4/436kt7gH1ySPxlhdsiti0m7pl550i9aL1YAFmdXNzIBQUF5K +4XFqhdqy2tfdVbF/h1o8dZqrX42vvVba4p4PybtHtRMaiTPFLb5UNYMkf/+u4VfM +CbCqW/aZyhdoS+tsb2l3lOF6uRx1fv19KVhqnqIt1/+bUiTYVcgPQFKUJK3P0ilj +tDexFF2niftdgUJLrqbR+bDCPZ5ykfXuZXeCLmpzIqFPvj7dMPpM7WylAInyaheb +9m1JXJXtIHwlJDdVOYLfOo8U9TfLO/rvDKeeDXm5WCGgQdqEYrTbYNv3wg2x+/io +BF4dalE9lVrMt9acznZRemFzhihVSc5lHhb+FX6fJRCQh/vFjrMY7mj7SV4yc1X1 +OtdGJMvL3+p+N6AlHpYB+4C+dOmNpUq1W7ZCpwi4LRi73/WdOD4nPlQigvpHPy3g +L6uYH3Of2CwTonPY6ToTtKFaXjKQfthAIkN3cu2cf2v2F1QpL3PMN92LreQNAazL +oPpYF4adfPdlK8tkBrzuxN8qJsC6asJ17ztR5h8i5xBS25hTdf6L2dNIene3jwYx +8lizZ0GwtAVb4pNpg1tmlAKcsjOVZbr5DP0b9MmJAjMEEAEKAB0WIQSt/bcJ/h6m +guWFWXHVgyEO9RRxpwUCYeyTqwAKCRDVgyEO9RRxp7MoD/9p3eQq941AzizApnOe +/Hqjp8fkESw6UN1kmZBes7oYUiJGCRMRIKWGATVQDcPzRwkQdqhgc3MHI3rbyy0Q +NxZHTsZDPZ0EyxiHAJxkVnEyV44DpUCb7b/Hswx1jIhQT4OsC8dxKYQ6MPXODX4l +NzYvpwcSv4a0hjKDk+MZbtX6g4zK0hIKg4V7WHm6wHsIzgaDIZrY8s53KV7K8jy/ +n1vrrzstiFPpBtZh/RvS+HGocbHpdSYtdL6Qqh4eY7ng6CHqd4lGAXx1isHEJsc+ +G8Lx9JDgpo/kyFJu0mVQmTHpYt8qYwE6/hwwWZ6XDnifZcd7uJiymv8UPYWwSM/G +vFIqDkMJSQzykK6uzhZsPttcc6DdZ3bx+97qFfIWvQLpFp6iG38T6F0IT+iQDlDM +Z4KaswIntaDuldE1VJ3D9F0ndDlCJvCXJn9I+jwUKXj2Uqy/1OecLgIz9KULoim6 +A4RmLLRDtoYwXbwsPA1BEVskq6kkfd95VtjqXU2V/sh8YnZP2O1f5udIP8g+KUhA +zUp4Cppl8jALBlEJ2mBI5GfkWJgnARFu36nY0bpeiOn+1+CumFAC5p0QHZFDCD7I +7XB9VThWCnAW1mNhxie/o43CByfAM5hXieQeml4dDEGxazW3JCuCV4jpTnogArCC +5xSoNkIFXsMbSRexC2SFm1pDv4kCMwQQAQoAHRYhBPTOImMhAlPWqfl5sExm6o1L +7hvuBQJh7JOuAAoJEExm6o1L7hvuYbEP/1Hizeq3tkm8FZey5VewtvDCJNXTfkvg +3/+Cu1GxjeT8bfWGQKNEalaHQ1xU/pHpqD7QBvdt4pK3TaYp+kqfM87i1+JkCoy2 +Qv6YsP2Sf+VL7rLHGFF5JWKOj4mmL4Sy2ON+NhrZUN5qGtYSKu3P4y6NP5u5YxzF +kpCL1rYugc801SSGI4dagLyTEan0vwToXPDGYrS3Px6HGgKw7JL60dl9DqNsvEiU +iU/VNYoSklU9SHYIbDA2siGGkaEwKX9fGaeWsgErFg57G+az8lzvvm97da0HIQP8 +jQBQt9Q8gqUaISsVlrAL0fV3Eh/pGo+LabpufMXqcO1CoHIv4hD3HS0CTouAvpUe +32igiJyrE5esk7yIOPMuTaNFWUQvjioXO3mLh5qBsKtRyY05g9zAuhOzEefOrBue +0mx/uROL4dJht4v1b/UGdf2CT8JKtj6NZgQpJqMu9410EEYYhaFqIjAC5tDBe+K1 +ngHqr89u85nrwbuZEs+KGWYnD5jlHsz2bbwPSsMZkP0Y4oeZ5uqUDjPHBB7npnCg +Kp3McmB5dw32rDqolEkKXxRCupYeRb8KlyoN6DNriU0yjSQgqeQTCtHTnWAjigLn +Z7zJHOmDfE1t8p+e9kXAm94N2jAI72gWGD2bI1HM7kUgUbOqIgj/tafIA6wpMI6u +U+m/D7JBScmjiQEzBBABCgAdFiEErSDhqotBNnCmQlLYvSdtLm/PqIUFAmHsk7MA +CgkQvSdtLm/PqIXJ9ggAs6cAy7yKyO7sneFbSUJXDAAxH6tfN+/qPKYasakSkiYw +xQc0fU9+mcbrSXl6uNrQFdVBQUEUb1OWSOZN64Cy26KAa07RrgcJijEGVrQ/qg1i +IpaJxu7wheE1fE8wqfU8VGBsjw9pEn7LmsY4L5IbptCHMfN4l3Q6nKj25hosy6R2 +wiTdNHs77HP3IaAekHfy3QwnrcOdQjSQykcHb+DkC38Qd14SDxRBTkwq09LNigF/ +MNqpvA47i/Jc9bqn/SBJ5mki5v9Li5Nj6eu0dr7BDgzr5ZqGiKAXDe0rJxJ/n93l +qjBA3vEDs6m2L0vuujQj4y2Cp4Qrp5/yy+a1eHmSpokCMwQQAQoAHRYhBClslNvQ +KAJFv9OR13tSlkjuhXJkBQJh7JPHAAoJEHtSlkjuhXJkFGoP/j1E0YIUZLAtnJl6 +yTIn2RRebYHXKyZpwFQlbckgvkliezJHDO6EmN7UZcK9CLUTMulr2kq2o3BLTnV3 +7Qm+ROSSIQuGwZEzWliRlJVouZ6gMkfuhoxyYaxOCceIBWBgzZ6cbXnneRvtap7E +aKr57W0sO8QiFd0uq4gk5a4LYv1YiDgJMtHSsSrA//TGmInptvFQ6WQtPJ59HH4y +BQwCeEc1o6MRUL/fqIDGbkZTwjncczNbC4ZUIBlfeC57jzPUYih4C1feTk2YuArd +QhPEQQAlQHggFzLAc2iHgxRkk8gtZfeZ6Kk4vcdyXufn9Br2Nu7QT5v7wM3lmRks +EAcQucWOH6Mh1H6WmTOOyDUevzZxtx0Cb5G/l1TF1Bj94FNggsRdni7NUCc00OpO +ptsPFdIOYqm4jxe9ykoi4IDVkx1OgV7C/ND9V8VXZOi7hbAR+8Rc1pWzIXC7qMtL +T6PAbtE3H76nKsdi802KltAitFGSZTc/WkVm2Y7dcJyShasSSN7p2Y0NoCCM81AL +Lq+BYBO18yu6kQyXaJgN69n45Miui102cDpZKDWBOU2tP0YXVJr2M9fg9gmH64w+ +BzLGl8HcrjZkhgcM9hxQqDSzxYVodny/NMfEezyAsiK9bf4YPlhZx6YEy3uq6pS6 +ZLvOOWMbDn0W0EjHZfv3xIrtu9uDuQINBGHsknQBEADC/9jm2xZwcF8NgNc74t/u +ZPD6k7qqwb3Sz0DL+Dla/x9wbp5tcZsSPQIP4Nk8UQfxZoid0g0nT6tImrWBTxtZ +u5MYoaioDQ2FjE2qIrqjOypOckmFHVsWzYM4j7EJNn1JUZ72Ye2sdy0cGKDFhr0r +JwBrBQENM7QiuCu6fHMbwCvC1NE8IBx2SpLzFKDqemtMQ2Beao+5R2ix2xSoNYso +GQJwO+RIv2fKYY3cl+JLeGlNQU0eeBbBDtXVcnqs00KUxrDh6LLfjuzYRtWK0bBF +iw7Upq4TehzNlzGp8yE1IL2N2o1+/Ism3/BexUWamduY3HAu6l3MnPssS7AKUKIe +2tQSCZ7LsuqyNaH8diZykRiSFF/H7NduwzUc6QBVbXE5pFvzuraJu3jL3q6+DMtD +EVzjyeK/trF79jGlQ9dioNRuZj2DYqvXZ5/7JvGYOKFd7XcLEkSm9n4Q3Zt6GpWH +wWIimNgsjFo4ZYdv6JawXAjsZN4X0+nnAuWG3Mbj86gYNjJMDxgy6wovYLwwf1tg +WHCy8jUcOejFH7XKyjuQR8vTm2o/jHKoXT0FG+qtyA1P7cEf5VaJ80n0Vg24xXnE +I6tRrDUqH79gogOp9z6WnbC4+jKFgUCkyiQJuB6Y1rtLBFV+x90aL9KsJYMiyycP +bE3WLqL9TGhRXuYhJ3lZ4wARAQABiQI2BBgBCgAgFiEEYyfdy15+gOSYfqO3/Xnc +DIHZIQoFAmHsknQCGwwACgkQ/XncDIHZIQp+9Q//bdbiu1QTFRHRHSi7d5bTxqt5 +jCXtkFWSvyTf40/ul0t6sjdq8MkI94ZNb8/omOuMen8BgGtNBgC0SJxeXfYhBk7e +gBCGz3Ryu1Zz65nmca+WXaGNleMJRwnuK56XZZuTg1/dWYoC7FiRbUwt0FvImIZT +nWr0kAfdIkCdIbPHwrH5l9BTdOIVi03kfSG8ci54DEJ73PmmZrvH6PtFleUJvo7g +U9iWNhOFGffi0v/UAMK8UZAoEsGIY/JD8JFHerfJZbmEJPPgbgdi+ZEaopVYibdb +w56sTb79J7WiTrjxL9ngIn55zza3eOSDPeIulurpCebjb6DM/r/e+srQbhe/3slF +IA6F/BB8dX/qdUG4NWQHP6Tcruu3rUwN9cC6iPW5aYt6w+dOqZYXN3qbDu745CYJ +gfCyXeSTcHp7xsKXmTYBGZthB+LcHNt7t4wG/k2X5D+5VCR63V4NUq3P6uvHvH9j +hl1R4YsB4Vi/fqPUSK/MAj7VxE7Tf/4W/rBzHQEP9i9hkmgunOkQ0wbjaP44EqO1 +JHPB24py0dIBY9JWq2DqVHRAmvEZ7unbihLzJ+uzepsM84ujvipoT6Rlb5224unm +yB3NrRwSOHn1BpPIqBwNbt/lZX6AByTaTNyPoC2pitK2mJoMLU3kIwktpFEfVOmh +0Kb4rGd12E5b+czXoxg= +=LSBA +-----END PGP PUBLIC KEY BLOCK----- pub 4096R/4BEE1BEE 2021-01-24 Key fingerprint = F4CE 2263 2102 53D6 A9F9 79B0 4C66 EA8D 4BEE 1BEE @@ -363,7 +982,6 @@ ra/bqVWSpZTlHZ0xT9seCUSs1urxGw9Z =3HCo -----END PGP PUBLIC KEY BLOCK----- - pub rsa4096/0xD583210EF51471A7 2020-04-08 [SC] Key fingerprint = ADFD B709 FE1E A682 E585 5971 D583 210E F514 71A7 uid [ full ] Sendmail Signing Key/2020 @@ -557,7 +1175,6 @@ gmOJ78JKVfONBpmdVsw/emTMU5I/C/8m9l0nO0P4Q6diao23krgWk73x7dBoBqDn =jgHV -----END PGP PUBLIC KEY BLOCK----- - pub rsa4096/0x09E01FA03C0C504E 2019-01-09 [SC] Key fingerprint = 50A3 0309 8EA2 DD7B CBEE 2ADA 09E0 1FA0 3C0C 504E uid Sendmail Signing Key/2019 @@ -739,7 +1356,6 @@ HcRQfq7rqZkS3NE+iD9D/lUyXVYfH9A= =jN/3 -----END PGP PUBLIC KEY BLOCK----- - pub 4096R/0xF06059FD5DC7CC3F 2018-04-24 [SC] Key fingerprint = A687 3D24 A4D6 D628 4AE4 2A75 F060 59FD 5DC7 CC3F uid Sendmail Signing Key/2018 @@ -883,7 +1499,6 @@ fvZ+LS/6hJ9C77uOaBqoDPmtpn0WDqc3oDeT81Ans73BZhwhFAjzpHp+XnJQ =K0Kz -----END PGP PUBLIC KEY BLOCK----- - pub 4096R/6BF726AD 2016-12-31 Key fingerprint = 3C8A 1E8E 7F44 CADE 114F ED46 4BC9 BDA6 6BF7 26AD uid Sendmail Signing Key/2017 @@ -1069,7 +1684,6 @@ FtJxkIHVIx/VvvBqS3HEm8QCRvr+o10/Ue7NljolDV13B7fljxgvLFyJ8T91jWsz =Lt+h -----END PGP PUBLIC KEY BLOCK----- - pub 2048R/29FB03DE 2016-01-04 fingerprint: 0F5C 96AE C8E6 9E9C 8E54 2E5C 6D4C D194 29FB 03DE uid Sendmail Signing Key/2016 @@ -1269,7 +1883,6 @@ j68I =MdUt -----END PGP PUBLIC KEY BLOCK----- - pub 2048R/0xAAF5B5DE05BDCC53 2015-01-02 fingerprint: 30BC A747 05FA 4154 5573 1D7B AAF5 B5DE 05BD CC53 uid Sendmail Signing Key/2015 diff --git a/contrib/sendmail/README b/contrib/sendmail/README index 50cbce25e169..468d29fcaffb 100644 --- a/contrib/sendmail/README +++ b/contrib/sendmail/README @@ -4,11 +4,12 @@ This directory has the latest sendmail(TM) software from Proofpoint, Inc. Report any bugs to sendmail-bugs-YYYY@support.sendmail.org -where YYYY is the current year, e.g., 2005. +where YYYY is the current year, e.g., 2023. -There is a web site at http://www.sendmail.org/ -- see that site for +There is a web site at https://www.sendmail.org/ -- see that site for the latest updates. + +--------------+ | INTRODUCTION | +--------------+ @@ -40,6 +41,7 @@ the latest updates. Sendmail is a trademark of Proofpoint, Inc. US Patent Numbers 6865671, 6986037. + +-----------------------+ | DIRECTORY PERMISSIONS | +-----------------------+ @@ -197,14 +199,6 @@ There are other files you should read. Rooted in this directory are: This sets a word in a smaller pointsize. - - with new groff versions (1.18 seems affected) - - GROFF_NO_SGR=1 - - needs to be set, e.g., in doc/op/Makefile: - - ROFF_CMD= GROFF_NO_SGR=1 groff - +--------------+ | RELATED RFCS | @@ -248,6 +242,13 @@ Important RFCs for electronic mail are: RFC2822 Internet Message Format RFC2852 Deliver By SMTP Service Extension RFC2920 SMTP Service Extension for Command Pipelining + RFC5321 Simple Mail Transfer Protocol + RFC5322 Internet Message Format + RFC6530 Overview and Framework for Internationalized Email + RFC6531 SMTP Extension for Internationalized Email + RFC6532 Internationalized Email Headers + RFC6533 Internationalized Delivery Status and Disposition Notifications + RFC8461 SMTP MTA Strict Transport Security (MTA-STS) Other standards that may be of interest (but which are less directly relevant to sendmail) are: @@ -325,6 +326,10 @@ DB 2.X and 3.X. If you are upgrading from one of those versions, you must recreate your database file(s). Do this by rebuilding all maps with makemap and rebuilding the alias file with newaliases. +File locking using fcntl() does not interoperate with Berkeley DB +5.x (and probably later). Use CDB, flock() (-DHASFLOCK), or an +earlier Berkeley DB version. + +--------------------+ *** 16313 LINES SKIPPED *** From nobody Wed Feb 7 05:21:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TV7lV4l3tz58nnj; Wed, 7 Feb 2024 05:21:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TV7lV4Fljz4XTT; Wed, 7 Feb 2024 05:21:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707283318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0blYLGSAPFOPoTc4vrRg03d+C2418OAc9p1zV/lAmJ0=; b=J/Hd0PmXcclJMk0U4aPpQS8S52cZXOpmmy2GCrvQ03MMkJAe6a+oKE14yfRviOWEExfWrc Kuu0eSWHSDEvHHdmMSw5ZGnN3ghHG6PprnzBX2glhnvWHnmHlaF4uybH+uAFLMLu73M87o KGq6m2Dzy9LExDm1JltzlitPe3n6/12muGNBomJhoPAIwqmnGOqHJT8sVuIsjq2QoVntWU Iysz5xGLj+NE9bxd1Rtn/raxAf8yspGdfWGLYMPnj4f0GhfMdH5445l3wAukQySUAqGy9u a5Svgrca+G9+Vc3t/ND/bvxF/TBok3pqxnpx4zcaXIHXNzHYrW/7Bv/a2bUWwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707283318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0blYLGSAPFOPoTc4vrRg03d+C2418OAc9p1zV/lAmJ0=; b=BlwzyU2Iyi8r/1JlF7+vqG/Q2veLvQMJ24t2HhNYBqJBaqwNjkQ3H4ZAnbjc9ayXSD2Y3l yaLTsLwxnqachVF/PcfTiUx8lPD71WrU+2/om1x7S0MSNCkwQbLn7pnQYDMRAlKQvCyUAD CrnAMiAiYkmVLclh81jX+OnQGTAwmXIrjkB58a3UkBQtRI++7hueqpN2V6i5CJFnTXsUSy lx/Yc3wajLFrb77sLc7x3erooDu+nXVRXwA5j+Cmc/0kX/jfEa8QErinv2bdIW8DevC4HJ dc0mNFzf/VHcXuSY1giKiaBj1m9YdQLaGoIsSxBDiL2P8jVt+0HGKZQeVryBBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707283318; a=rsa-sha256; cv=none; b=bNxmMC3Tto8GeyLSN1yLlaXiqAoOwI1s3/L+Pq1Bq1m45ICAUrM/2Vn830Bf1TCpPM9w/p FBYJy9p1rIk+BHlRb/f1Gy2J9E2Nqur0JXYModh/s8v50FjB2s3bTjMm8JS9ie3OjRNiT+ NAdHrM/awWR5gzhxIzQy+TYi7r5gqV+irqoY+QKVD6g5zkd1r2MfDY0WqDUpRl/MNnWKH4 8XPBPCqomE350vy01QOmR66WWKcZ+9BJBzP80LZjSzMICMPZX6gMneA3SoCt3uDwDGO9xM JJmQbz8eKlGLkpMjjFAUpmKDNjrMnw/1Cc1HS14gnXVe32l6eJj4ro/WbApIOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TV7lV3Jg1ztcT; Wed, 7 Feb 2024 05:21:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4175LwYn070847; Wed, 7 Feb 2024 05:21:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4175Lw71070844; Wed, 7 Feb 2024 05:21:58 GMT (envelope-from git) Date: Wed, 7 Feb 2024 05:21:58 GMT Message-Id: <202402070521.4175Lw71070844@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: ba90708fb116 - releng/13.3 - kern: tty: fix ttyinq_read_uio assertion List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: ba90708fb116a6587a992f0a14fd807f44b72309 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ba90708fb116a6587a992f0a14fd807f44b72309 commit ba90708fb116a6587a992f0a14fd807f44b72309 Author: Kyle Evans AuthorDate: 2024-01-16 02:55:58 +0000 Commit: Kyle Evans CommitDate: 2024-02-07 05:18:59 +0000 kern: tty: fix ttyinq_read_uio assertion It's clear from later context that `rlen` was always expected to include `flen`, as we'll trim `flen` bytes from the end of the read. Relax our initial assertion to only require the total size less trimmed bytes to lie within the out buffer size. While we're here, I note that if we have to read more than one block and we're trimming from the end then we'll do the wrong thing and omit `flen` bytes from every block, rather than just the end. Add an assertion to make sure we're not doing that, but the only caller that specifies a non-zero `flen` today will only really be doing so if rlen is entirely within a single buffer. Approved by: re (cperciva) Reviewed by: cy, imp (cherry picked from commit 09a43b8790bdeb97fbecd3ea767c2f599eb4a4d3) (cherry picked from commit 81ef0de636ff8ba0b8057ced593f2ab92597b1a6) --- sys/kern/tty_inq.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/kern/tty_inq.c b/sys/kern/tty_inq.c index daf3bde77712..0bf7c2fa5b5e 100644 --- a/sys/kern/tty_inq.c +++ b/sys/kern/tty_inq.c @@ -165,7 +165,8 @@ ttyinq_read_uio(struct ttyinq *ti, struct tty *tp, struct uio *uio, size_t rlen, size_t flen) { - MPASS(rlen <= uio->uio_resid); + /* rlen includes flen, flen bytes will be trimmed from the end. */ + MPASS(rlen - flen <= uio->uio_resid); while (rlen > 0) { int error; @@ -192,6 +193,14 @@ ttyinq_read_uio(struct ttyinq *ti, struct tty *tp, struct uio *uio, MPASS(clen >= flen); rlen -= clen; + /* + * Caller shouldn't request that we trim anything if we might be + * reading across blocks. We could handle it, but today we do + * not. + */ + if (flen > 0) + MPASS(rlen == 0); + /* * We can prevent buffering in some cases: * - We need to read the block until the end. From nobody Wed Feb 7 14:46:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TVNHC2cxDz59Vq1; Wed, 7 Feb 2024 14:46:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TVNHC25csz4Dwh; Wed, 7 Feb 2024 14:46:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707317207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2GlkcZb8AEj+vEviqGL+fOm7JEViAadE7SZjkSX0eJQ=; b=VAQ6y4ePwjlvmMe7b+OK5v/nQTGNBRVRbRZjwEHcWppeSYi8/en6YaX3KJoAeV0oyzstiX slvAB8KJAQ3bhyyPuBRBMvpd2wQg5QxlmbW8xwjCeulpRR5Hdo09VBMfzKGUoC4FC4MQDz DCSiyiLGDhSbj16gsGsbtqPXH8a9Q5/nwffet3/z7j8s8BfIUow1XzzZ5l32OOtD2eNekn A1NB5York2EDT724Xymqf0BUtr3WQMeH4qV3XOJQKIScOIXvt35aYbg0QgRrNfiGAvwoK1 Pfrqc69Luu2BysuIb3wAQ4DXlrSBXfes3WgoDLQ7UT5Lxqk688NGN3UIGmrUHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707317207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2GlkcZb8AEj+vEviqGL+fOm7JEViAadE7SZjkSX0eJQ=; b=D+2H6WAHVVltjstgejy4aXrFwTqtH4zcyLAarvqeKmSqbynazNFF502R4dDpwTcgP8rk+G rJ1pe00udKOKZHOJf+z1YyZUbbHXMwtz1UekAsG5TyHp49rV4Yvv6cmpPuoT88eRuZG+nV D7fe+ienPzlEqmvLImeRGulgLvUSz3IGu/cvzG9fncP61kvihYNl+VMCMPRdsAgAPe2bGC 6mtObayPdJR1t0lLhv7vKn57IbWYotOoffXoJo7uZlDV+J532X1Th0ECqMdOtA826+pzmr biHrHvkUspJnBIXN4vWfsOSiEFDcaMIIRa/EDw6Jv7VcedOrfgPtpK+MpgqeUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707317207; a=rsa-sha256; cv=none; b=fDrtKPykz4fYF0GXtvxMp0ywNdePfD/HmOHuDupFe3Dl5TfE3N2PbtBiN5tqrMJ7rI1ibh ZU3rBzDvx3UznzdjaUjd+LTUebq7MYNuZFbJkhN8cDrVlOFeiEtBHDt+vBuLB9jdbct1k2 wm6VcAsm2xepZ3NPTi6M379yDdjOLhiUI+jGfoE8I4oxTu85KzXw8QQ8yKWHBZcSVNnHs6 8Wy7mKb7QZZMqNOmI38fBtwkIFJyVqOVUGFH9T1nt9RUZpxtTrxWRWF3j0oSTxlwpYuXe+ p39K79+G0Z3yaZ4PA3E42j3FInyGS4VJAsCFbPdAuCnm/Nnfu6BzSA1/jQj1YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TVNHC12gLz19qZ; Wed, 7 Feb 2024 14:46:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 417Ekl68019698; Wed, 7 Feb 2024 14:46:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 417Eklrc019695; Wed, 7 Feb 2024 14:46:47 GMT (envelope-from git) Date: Wed, 7 Feb 2024 14:46:47 GMT Message-Id: <202402071446.417Eklrc019695@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: fe8df7ed1aae - stable/13 - inpcb: Restore some NULL checks of credential pointers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fe8df7ed1aae444a09361c080d52bfcb6aaae64f Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fe8df7ed1aae444a09361c080d52bfcb6aaae64f commit fe8df7ed1aae444a09361c080d52bfcb6aaae64f Author: Mark Johnston AuthorDate: 2024-02-07 14:43:25 +0000 Commit: Mark Johnston CommitDate: 2024-02-07 14:46:34 +0000 inpcb: Restore some NULL checks of credential pointers At least one out-of-tree port (net-mgmt/ng_ipacct) depends on being able to call in_pcblookup_local() with cred == NULL, so the MFC of commit ac1750dd143e ("inpcb: Remove NULL checks of credential references") broke compatibility. Restore a subset of the NULL checks to avoid breaking the module in the 13.3 release. This is a direct commit to stable/13. PR: 276868 --- sys/netinet/in_pcb.c | 6 ++++-- sys/netinet6/in6_pcb.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 001fd735cb4c..03315344a455 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -2003,7 +2003,8 @@ in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr, /* * Found? */ - if (prison_equal_ip4(cred->cr_prison, + if (cred == NULL || + prison_equal_ip4(cred->cr_prison, inp->inp_cred->cr_prison)) return (inp); } @@ -2035,7 +2036,8 @@ in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr, */ CK_LIST_FOREACH(inp, &phd->phd_pcblist, inp_portlist) { wildcard = 0; - if (!prison_equal_ip4(inp->inp_cred->cr_prison, + if (cred != NULL && + !prison_equal_ip4(inp->inp_cred->cr_prison, cred->cr_prison)) continue; #ifdef INET6 diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index ee32fbbf1688..2cfb2ec7b1c3 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -764,7 +764,8 @@ in6_pcblookup_local(struct inpcbinfo *pcbinfo, struct in6_addr *laddr, IN6_ARE_ADDR_EQUAL(&inp->in6p_laddr, laddr) && inp->inp_lport == lport) { /* Found. */ - if (prison_equal_ip6(cred->cr_prison, + if (cred == NULL || + prison_equal_ip6(cred->cr_prison, inp->inp_cred->cr_prison)) return (inp); } @@ -796,7 +797,8 @@ in6_pcblookup_local(struct inpcbinfo *pcbinfo, struct in6_addr *laddr, */ CK_LIST_FOREACH(inp, &phd->phd_pcblist, inp_portlist) { wildcard = 0; - if (!prison_equal_ip6(cred->cr_prison, + if (cred != NULL && + !prison_equal_ip6(cred->cr_prison, inp->inp_cred->cr_prison)) continue; /* XXX inp locking */ From nobody Thu Feb 8 00:49:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TVdf82Qwwz58Rv9; Thu, 8 Feb 2024 00:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TVdf81ncCz4Y0C; Thu, 8 Feb 2024 00:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707353344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oik/QIjS+1PkS31XjjYZar5sYuk77gKYb4Z8ymX0BPo=; b=RdIBw4uYH2/txHtyX7PgDlVQt/kXtiuvMe/byRnvtijRdNZTV/MNqBntyzMCZVKA1Opz/I f2wset2rT2dg/n72oOLlXJ9zqnd4dlmfjqEMm7ABJb1jCUEDK28sEN6mtk/dAdCJ8mV2Ca WYThdAICTEa1CiWYei3hHo79MfCsvhJZ3iN4+vcHPPATsPnea6g7APzGONLWv4yZvXLAho Z132FbT2V1zDIM6H/zl6Mt0kEBJDpyv/gNcwCHLYxKzljgWvLShh1YTi1ozGq+wepnbuP6 okI32YR44VyLyjGmX20jyY0Hy2md+hjayxErKBTTuFpachwIbClwkB4ZRgUe9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707353344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oik/QIjS+1PkS31XjjYZar5sYuk77gKYb4Z8ymX0BPo=; b=npSQXMMM3FL8pAihfjRCgzA91oqiqH0NHqN0rHLLdBOqdp8lUlyAjtDMv+gG5ToShcpOmL 5OEtHpONYUR12dK3jJDdW+OQPU6HHNzfU0VMJrqBMBn35I941X/hxXctTgIiXKbwfmdb6q 0q6f+N+ppSdhooq6SP0XQHRhcUZ4479yNyTz8/ksbKKhJ7wKOaxh5KfSy7qw0NGbbdpYkc 05z75LmrVVq47fqE7huXUd0cXcb9sIn6O7ywAQ+l7xMbOvJxPNFOz7QxWVSdP6HbUnsjBb XSK792IZX1av6Feirrhq2WlU+v2xirPA1Cla2Dud2p8P/3tCeEUfKkB9KRTOHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707353344; a=rsa-sha256; cv=none; b=DLp1ul+z5IpbiU0V0ZjQR6k5r+NTMxrh+gSy2ooEgUcbctM92dyDpWf8M4PfNaLlpUDMBT T2CYvM0B/V2Css7zBT3GX6awfzyeGcYVsD3Z5H9NrY59FS4NldEAFfhoq0GTLSgvRI0bev VeytXV3ZC2zGJH4WgEiHg8BgztHrzM5AKFMtoVTJeM076CZNGdF1UJwqD0Vdm1XJm1oouD LCkZS8xUqKox6pFa/2ysuL0Ff8PWD3cKJ1PsVh8EpkFW2LLgq6A5mTrYE+khf3gmjKuI0J 6iLNlPf3dSEJQn4WURtVC0b9WjdDktt967evmsraYI5aQg2+m2o7lywFkd4PfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TVdf80rP3zSmT; Thu, 8 Feb 2024 00:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4180n4FF024661; Thu, 8 Feb 2024 00:49:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4180n42Z024658; Thu, 8 Feb 2024 00:49:04 GMT (envelope-from git) Date: Thu, 8 Feb 2024 00:49:04 GMT Message-Id: <202402080049.4180n42Z024658@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: fad23b1a2659 - stable/14 - OpenSSL: Update date string List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fad23b1a26593482db8326fb7ecfbcce0db00eff Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=fad23b1a26593482db8326fb7ecfbcce0db00eff commit fad23b1a26593482db8326fb7ecfbcce0db00eff Author: Cy Schubert AuthorDate: 2024-02-05 20:09:08 +0000 Commit: Cy Schubert CommitDate: 2024-02-08 00:48:50 +0000 OpenSSL: Update date string Reported by: "Herbert J. Skuhra" Fixes: 74fe298c8299 (cherry picked from commit da63ac1b0757e10255613bdae1b7fa353eb4aea2) --- crypto/openssl/include/openssl/opensslv.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/openssl/include/openssl/opensslv.h b/crypto/openssl/include/openssl/opensslv.h index b35da9255c44..012d77ee8bd0 100644 --- a/crypto/openssl/include/openssl/opensslv.h +++ b/crypto/openssl/include/openssl/opensslv.h @@ -82,13 +82,13 @@ extern "C" { * * These strings are defined separately to allow them to be parsable. */ -# define OPENSSL_RELEASE_DATE "24 Oct 2023" +# define OPENSSL_RELEASE_DATE "30 Jan 2024" /* * SECTION 4: BACKWARD COMPATIBILITY */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.13 24 Oct 2023" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.13 30 Jan 2024" /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */ # ifdef OPENSSL_VERSION_PRE_RELEASE From nobody Thu Feb 8 05:16:34 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TVlZq1PM1z58wb4; Thu, 8 Feb 2024 05:16:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TVlZq0stcz451l; Thu, 8 Feb 2024 05:16:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707369395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ELX3Pm4Yv9mIwY0bjByTYpwp4NZNoTkulFHxYCcS6EU=; b=lVeH8470yr3IXq/Os+cUwV2S9Eus0cOxbX1OXsEmdrXivLTYudsSDDSEXcNfFRV8G1Ma/5 Mi67gEY6VpTVNC5cS6HKfi9D2qjndw57Ec4B4xFDV5d5/WO3W4WsxXIHRKxj9Kz6h2o57i LEZ7ScqrU5xdtiPn5iJ1vXnn03R2+fbxcVsVSPVMLDGDBZZuq0GI8WfIYBqhQxdOaJTsND v6SLm9HfOc2qN4imK3qih67JskwQ8q1HdXfh+Z4lrb6qLdrrOopxuGa+0Neems6hjXeJiS CLJ9pLPbDrrflRrkHhlEhsS0yVjwYXQ1tqAdjDtqedO6oOJmKJNWu1wkQ30C3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707369395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ELX3Pm4Yv9mIwY0bjByTYpwp4NZNoTkulFHxYCcS6EU=; b=AEnoXmXCpijlVJJi2sPwhLn7yn7uW1mn7ozvl4JiKEIRumY13JTm4iGkDlzM6wvaFH1510 wJNAzdRxq3jDdxpgsaBs2CvAWGN1wIWubLjieLoQ265UfUtwrMcy9rCCgldhqp6gxvtfrG d8xrOqgMSoGoPR3vX4BpCj1D6zhfGmwhHeWsPdOhtYzjD2gDZLkIcdl/3HbBB3Q2YlDQaZ fPuN/qPVILcwJGvqDtcIngX0LsQJgwV4bneKvicVUasAgEXwlpZi/gkupO4e6E+hyAHm9E RUzOGBtxLNTqO2vCxUT4ByhQKKtO2oMhpbHa+SyH0xqpblqlV7TghcaV9RunGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707369395; a=rsa-sha256; cv=none; b=nuh3gOsn6vf1/5kvABToqbvziCMSBQ5MIrlEG+eM6fUINQeqXjFR5yAJSHpGRvRY2OXPi1 geG75hPQSlJxUMlh3wTxnrGx3tSlhSrXkvDSuO9yHtEE7i0VNDrTc9tPRMxJxE22rmdp5v FcY5Me9LIYRj+SQXc952A3a0T5qGN8vhlVMl2rn2877xFbOK8CdLW7id9CpdLAYIYAi6+8 Lr/mJevRHNnlxFI3Dxu086ouiZ+IdFGuF0wJQzXCeXamJgVuGeUi+Gl5SEUHL3nyWSta1Z dOpIWufl3dkqeqyZxqc8XX9eHkW5xFHAlanLy1+n2rs+TDUd62aiFydBOss9Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TVlZp73pBzd3g; Thu, 8 Feb 2024 05:16:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4185GYuB079275; Thu, 8 Feb 2024 05:16:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4185GYYU079272; Thu, 8 Feb 2024 05:16:34 GMT (envelope-from git) Date: Thu, 8 Feb 2024 05:16:34 GMT Message-Id: <202402080516.4185GYYU079272@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: ded562d4af9c - stable/14 - leapseconds: Update to the canonical place. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ded562d4af9c1a7c6ea48271cbf07a81d7e031c4 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ded562d4af9c1a7c6ea48271cbf07a81d7e031c4 commit ded562d4af9c1a7c6ea48271cbf07a81d7e031c4 Author: Warner Losh AuthorDate: 2024-02-06 23:11:38 +0000 Commit: Warner Losh CommitDate: 2024-02-08 05:14:35 +0000 leapseconds: Update to the canonical place. IERS is the source of truth for leap seconds. Their leapsecond file is updated most quickly and is always right (unlike the IANA one which often lags). IERS operates this public service for the express purpose of random people downloading it. Their terms of service are compatible with open source (we could include this in our release). Rather than fighting with questions around this because the IANA one changed locations or the auto update script broken, just use this. This is in preference to the NIST ftp copy. NIST is in the process of retiring their FTP services. Sponsored by: Netflix Reviewed by: philip, delphij, cy Differential Revision: https://reviews.freebsd.org/D43752 (cherry picked from commit 11da791920ba285f0832f09cb504ac81e35ff8d1) --- libexec/rc/rc.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index c92bb0135f4d..f31efb4e2052 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -421,8 +421,8 @@ ntpd_flags="" # Additional flags to ntpd ntp_src_leapfile="/etc/ntp/leap-seconds" # Initial source for ntpd leapfile ntp_db_leapfile="/var/db/ntpd.leap-seconds.list" - # Working copy (updated weekly) leapfile -ntp_leapfile_sources="https://data.iana.org/time-zones/tzdb/leap-seconds.list" + # Canonical place to get the leap seconds from +ntp_leapfile_sources="https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list" # Source from which to fetch leapfile ntp_leapfile_fetch_opts="-mq" # Options to use for ntp leapfile fetch, # e.g. --no-verify-peer From nobody Thu Feb 8 05:17:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TVlbh5QzCz58wkw; Thu, 8 Feb 2024 05:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TVlbh4hL7z45Ll; Thu, 8 Feb 2024 05:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707369440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Xnu0jLX1ZNgwPnW1zTp3dnwu9UYOTQfEe2uP2+MQaM=; b=vYH4Dgaqu/2bTZPuS2aamU83sM8xq0Qc00KCdCcIdnJHpeJM7B3PP8LJCYDMJ8hAsIcvGW 5HZUZJ728XS47qHfldso7wgEpW44CJ206jQhhC534vR45MkwpdK/zr8kkSRuNwDLL/+jgT 4wx2BJqqr6eIZYbsvQDGatX+isePcsl2S1a0NQJ3xtc4g1SiWHO7lp3O1RFEgsNgFJ8iIc RG/fDAs7bci3SKeTXsSn2v8HDTeSzwzpm17ivtTHNb74+2ZPFp/sxY+CYCz7jpB6upwsS3 3egP43hGeQ+S7Yc73iaaTOx6knMTPgHvlnvG9gYtHpZsIwNDR/+9u6W8YoQDUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707369440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Xnu0jLX1ZNgwPnW1zTp3dnwu9UYOTQfEe2uP2+MQaM=; b=QwguI0vd7t8ZrPq7hDJNEPrhxTuvr/xAsYC6jX8AxdJegjfBgu61bFw1PZYgTU7AR/feQK pToVzCRphjnbGnE9mbn1WTTDumMwYLmZu0ZKZeETFDUmaWY7ei4QVdtXfyuP5UFBqfeydE weZP9HLYT6WliL6PKvxe6NYheQRotqydbAcW7fgsgNE6OjN0j6TfJfcr5EEHTCDY7J62YM NHmT9otumXkzSFDNtcFpS8pU0trYPmfVkD5rXAWOkpG7JU5f3tMUnWjIyJPiSEKewgiMxa G6cB2pRbDkiGYzVnk2Wd3/EeMZxlAWfJEeicdjlNGaigpJMuu33kkgQtK28mWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707369440; a=rsa-sha256; cv=none; b=Zxl6Yb08mS5MUBWBIIUrCCbnHg4Pq7dlbz76nfizg2FSdY83NuvjTPki4gSDChSWeFFTFD 77gC65W56fFiTztliTEPZFhD0wsXrb8nQwLMGsHmGF5rRUW2xP37dmIhT92IpPm8T1bzy0 iean+4EzRYTrBaIV+oprZyXTbfZA57JtwQjWXlkoRmRDaJHgZVOswfXtzBE/TvjYTAdvLW NkaQgjnALZbBsp5XeF4LycQIyj326KrnouhYu7Z4K18D73RvfmJUJi0w1KldqGK1qoBdb9 H4H56LANmmDRXZc4w1QylpUwXKyenI20BWvbK+rFy5IikQ0gO9KhODyRlNyXiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TVlbh3l4RzcM9; Thu, 8 Feb 2024 05:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4185HK8o079517; Thu, 8 Feb 2024 05:17:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4185HKwg079514; Thu, 8 Feb 2024 05:17:20 GMT (envelope-from git) Date: Thu, 8 Feb 2024 05:17:20 GMT Message-Id: <202402080517.4185HKwg079514@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 0eea8292ae8c - stable/13 - leapseconds: Update to the canonical place. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0eea8292ae8c8e9119520ce54aa82cae491d83b9 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0eea8292ae8c8e9119520ce54aa82cae491d83b9 commit 0eea8292ae8c8e9119520ce54aa82cae491d83b9 Author: Warner Losh AuthorDate: 2024-02-06 23:11:38 +0000 Commit: Warner Losh CommitDate: 2024-02-08 05:15:47 +0000 leapseconds: Update to the canonical place. IERS is the source of truth for leap seconds. Their leapsecond file is updated most quickly and is always right (unlike the IANA one which often lags). IERS operates this public service for the express purpose of random people downloading it. Their terms of service are compatible with open source (we could include this in our release). Rather than fighting with questions around this because the IANA one changed locations or the auto update script broken, just use this. This is in preference to the NIST ftp copy. NIST is in the process of retiring their FTP services. Sponsored by: Netflix Reviewed by: philip, delphij, cy Differential Revision: https://reviews.freebsd.org/D43752 (cherry picked from commit 11da791920ba285f0832f09cb504ac81e35ff8d1) --- libexec/rc/rc.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 165f0a3ab562..824751078833 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -418,8 +418,8 @@ ntpd_flags="" # Additional flags to ntpd ntp_src_leapfile="/etc/ntp/leap-seconds" # Initial source for ntpd leapfile ntp_db_leapfile="/var/db/ntpd.leap-seconds.list" - # Working copy (updated weekly) leapfile -ntp_leapfile_sources="https://data.iana.org/time-zones/tzdb/leap-seconds.list" + # Canonical place to get the leap seconds from +ntp_leapfile_sources="https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list" # Source from which to fetch leapfile ntp_leapfile_fetch_opts="-mq" # Options to use for ntp leapfile fetch, # e.g. --no-verify-peer From nobody Thu Feb 8 06:03:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TVmct72qlz591c6; Thu, 8 Feb 2024 06:03:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TVmct6Q9kz4Fc7; Thu, 8 Feb 2024 06:03:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707372206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BvmzY+tTGzkIpQgljAPrbaNp/dipro4Ih/6QRXn6r88=; b=imtOnYYS/Cp1KpT1s2A20oTj3dsU3UNSMLuJVM76g38oUoOA8k0l4wLsg9Kq9arZ3Mgxc0 iLIPLUtz90sdt/YjnZYfxCcVM265ua86C9j6wwh6v1E9kjMBZ51WaOBdMDR0hAJKkHYdYE H1Fyc4KN0vGrxcLG/uEwYV++DM+EUWFKH2V4q5N7OFs83H9aggjGQ62lXExE5pY+jYSJsv xMcCVrKU08Qttv1F/R0YUJrdAHLq7dZlN514cdnRsVMlvk2YC3Vc0Nidksi/4XrFbDMqYK hx6iN1TSD3UrUt1tmg7dOfX00zEYYUx4qL4ERljns0zmahYgplwVRFIr4Cyjeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707372206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BvmzY+tTGzkIpQgljAPrbaNp/dipro4Ih/6QRXn6r88=; b=T6lfRewqWNlbH7y5nzqgRjrOZS3YtH9AIbPT0Ohl/ZIz+AqBO3QSHO+NMM4YbSk9yR9WUS iIP4H+xPyN0tvHyv+OIMTDCjeqELOttQw337rpp3ApYRsL+NACu3fbzbh1UPoqg51hanfn JculH4guHufFZlY+R2oxAoTSBYqsGAhdlPfy8kcfqrS7BEZp1+pzy/lWKLziwPvKpJnr27 Eu9L66lPWgy8iOe274wtt/tDilXbDAxYPLpkA4DJsCRd2GxdRZkb1wuxdT9DPAi0UtqRIW DOE5toujRWxK0LiN4MG1ZpQkAIT3jqWuyZa35mg+uC2xk1fLdM70wFiwmqJTxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707372206; a=rsa-sha256; cv=none; b=rF9c7QlyUgITvpK0Fb1BEtg6bqtQgdW4gBHmlkzBfu47G69Jhdb29a4xQgmvAHWfGFvTG+ mDBuwY3TxP1LICAegqx4EOpNvBwwG0R4HsnmmKbCl+o4pFDuF8MD/BLR+PcbZhIcMCenqZ gysa/eoK5E5jVx5RMmrOCSkIe52O/dv+Z5IQjtUQuvCV/leJhl3yNr/JX03ZX1lH4RiV91 wSUoy/ixfsEwL47JAxrf0Zg5RDRnDTf0OhElRMwVJ9oaT0QUeZ9yRblsFSe6dJAgojxWX5 6D1la2C71Obr8bWzBHVt/4TADlsZicZmjhrrlxomw1JU/Rho3LCalVH1oBFMaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TVmct5TqjzdkZ; Thu, 8 Feb 2024 06:03:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41863QTt064597; Thu, 8 Feb 2024 06:03:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41863QXM064594; Thu, 8 Feb 2024 06:03:26 GMT (envelope-from git) Date: Thu, 8 Feb 2024 06:03:26 GMT Message-Id: <202402080603.41863QXM064594@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Li-Wen Hsu Subject: git: 6efcd634c6f9 - stable/14 - hostname(1): Add test cases List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6efcd634c6f9fdf3976f9fa2ce16c5584c3e3c2c Auto-Submitted: auto-generated The branch stable/14 has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=6efcd634c6f9fdf3976f9fa2ce16c5584c3e3c2c commit 6efcd634c6f9fdf3976f9fa2ce16c5584c3e3c2c Author: Lin Lee AuthorDate: 2024-01-17 04:30:29 +0000 Commit: Li-Wen Hsu CommitDate: 2024-02-08 06:02:33 +0000 hostname(1): Add test cases Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/1069 (cherry picked from commit 73974a78f7f60acdbb26cdd5325c21c0bb1d2d4d) --- bin/hostname/Makefile | 5 +++ bin/hostname/tests/Makefile | 6 +++ bin/hostname/tests/hostname_test.sh | 87 +++++++++++++++++++++++++++++++++++++ etc/mtree/BSD.tests.dist | 2 + 4 files changed, 100 insertions(+) diff --git a/bin/hostname/Makefile b/bin/hostname/Makefile index 6e1b79f0348f..e6abe3861ce3 100644 --- a/bin/hostname/Makefile +++ b/bin/hostname/Makefile @@ -1,6 +1,11 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 +.include + PACKAGE=runtime PROG= hostname +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests + .include diff --git a/bin/hostname/tests/Makefile b/bin/hostname/tests/Makefile new file mode 100644 index 000000000000..87295101392f --- /dev/null +++ b/bin/hostname/tests/Makefile @@ -0,0 +1,6 @@ +PACKAGE= tests + +ATF_TESTS_SH= hostname_test +BINDIR= ${TESTSDIR} + +.include diff --git a/bin/hostname/tests/hostname_test.sh b/bin/hostname/tests/hostname_test.sh new file mode 100644 index 000000000000..57517821f7f1 --- /dev/null +++ b/bin/hostname/tests/hostname_test.sh @@ -0,0 +1,87 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Lin Lee +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +# +# These tests need to run in a multibyte locale with non-localized +# error messages. +# +export LC_CTYPE=C.UTF-8 +export LC_MESSAGES=C + +test_jail_name="test-hostname-jail" + +test_jail_conf='%%test_jail_name%% { + host.hostname = "test-hostname.example.org"; + path = "/"; + persist; +}' + +init() +{ + echo "${test_jail_conf}" | \ + sed -e "s/%%test_jail_name%%/${test_jail_name}/" > "./jail.conf" + jail -f "./jail.conf" -c ${test_jail_name} +} + +recycle() +{ + jail -f "./jail.conf" -r ${test_jail_name} + rm "./jail.conf" +} + +atf_test_case basic cleanup +basic_head() +{ + atf_set require.user root + atf_set "descr" "basic test for getting hostname" +} +basic_body() +{ + init + + result=$(jexec ${test_jail_name} "hostname") + atf_check_equal "test-hostname.example.org" "${result}" + + result=$(jexec ${test_jail_name} "hostname" -s) + atf_check_equal "test-hostname" "${result}" + + result=$(jexec ${test_jail_name} "hostname" -d) + atf_check_equal "example.org" "${result}" + + jexec ${test_jail_name} "hostname" "test-bsd2" + result=$(jexec ${test_jail_name} "hostname") + atf_check_equal "test-bsd2" "${result}" +} +basic_cleanup() +{ + recycle +} + +atf_init_test_cases() +{ + atf_add_test_case basic +} diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 04f179a7632d..8b985f3b4682 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -21,6 +21,8 @@ .. expr .. + hostname + .. ln .. ls From nobody Thu Feb 8 06:04:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TVmf20dG9z591cC; Thu, 8 Feb 2024 06:04:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TVmf16cqRz4G3F; Thu, 8 Feb 2024 06:04:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707372265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E9CeAUiAbBgE/yrYwjSxT8KGmbCC3yAhS4S071ONdhM=; b=jAXuZX5Rj/Ae4AQ5DHxt7idhkgod2W+wwTTHyudIzA2uJ9NIKfPYUUflRJUG7v9b5gKeHG uc99fvuXp7W4+yg/mDhhkjk8wcxQqLN7lMPVQkuXqeRZ2mOcv3gwfKXIgFkYorr1TBWMDT UJjBxStfqTXB7wY8cL32U1gvndqeQvXNbVsjU0bvyvFBv5kJ6HQEFLJMdH50k44gbAcDpM FHotl3UH/Axd+o4xvqtymDqociBVh0sIipBzotGzkVc5DAnUmM+URmCRHL4cp7Fxp54p2N 9MPERULR9acL8+mPCTnVAGIwgBy82YewYQgVwkWZ7ntc3GAzrhm0wGmtmmrZXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707372265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E9CeAUiAbBgE/yrYwjSxT8KGmbCC3yAhS4S071ONdhM=; b=phuoWI2VIduJ2UYurewcZFop3Gi3J5lR1P9hiT2PbMZyrOW1T9jg1GAwAd1P6mTeYuyx69 dUCNEf2H7jLuLHiICM745Hbv8yha7qSmlDARu19s4TJ0FjS03Nj2jLZVQyPpefUYsJ6nU0 rkr5NlxDe3jFicuBaxYOQOmjm11NKVIhOOweezw+G+UgHeMXOBI9Pqh6vRluh8gxdSk7TK +Tipy2YUcNFbg7F6J9qGfPNsbIe35ZSRIFct7/GQ2IneCJ7nlcr1Vn80PPK+LqGLxCW8PP gqQLJDFHCr12nlS6d/O4FfvznnHnnlF7F90wzEmc6KBanq0rLOYNhlaFjOk6Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707372265; a=rsa-sha256; cv=none; b=ANy2LsPn9u+y5foVOjVCwLfUbEUrX0qBOUgjlknNoCzKBwnJPmhAQQ953MKH+h444nuK7+ ulNP1tJzuaneczPBIIXul4uV9bQJT8JYaiI1ODO2iC5ni2OrBkCxplfL8p6EbighQaxqCy VC4NCw5jhawOKP/o8r+dxR+L6pwUy+uFQqGczqhpi07tbi4QKq86w8PzCND5bJMKDPNRpV kLnkYsokEr5WELOax9Z7bRnkdJSN4ueTqyjFatMEe/OHoM2krCR/N3T8zjplOA9UQiC19J iX2WMnXgAQqVO9+xIaaonJJfyb2GYfRtHfGYI0SKHM68h6jbSujVx1j3gnXGZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TVmf15hnXzdBy; Thu, 8 Feb 2024 06:04:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41864PQE064880; Thu, 8 Feb 2024 06:04:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41864P8W064877; Thu, 8 Feb 2024 06:04:25 GMT (envelope-from git) Date: Thu, 8 Feb 2024 06:04:25 GMT Message-Id: <202402080604.41864P8W064877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Li-Wen Hsu Subject: git: 416b7acd5be2 - stable/13 - hostname(1): Add test cases List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 416b7acd5be2626cfbbfe1127571227d42b7462f Auto-Submitted: auto-generated The branch stable/13 has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=416b7acd5be2626cfbbfe1127571227d42b7462f commit 416b7acd5be2626cfbbfe1127571227d42b7462f Author: Lin Lee AuthorDate: 2024-01-17 04:30:29 +0000 Commit: Li-Wen Hsu CommitDate: 2024-02-08 06:03:49 +0000 hostname(1): Add test cases Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/1069 (cherry picked from commit 73974a78f7f60acdbb26cdd5325c21c0bb1d2d4d) --- bin/hostname/Makefile | 5 +++ bin/hostname/tests/Makefile | 6 +++ bin/hostname/tests/hostname_test.sh | 87 +++++++++++++++++++++++++++++++++++++ etc/mtree/BSD.tests.dist | 2 + 4 files changed, 100 insertions(+) diff --git a/bin/hostname/Makefile b/bin/hostname/Makefile index 6e1b79f0348f..e6abe3861ce3 100644 --- a/bin/hostname/Makefile +++ b/bin/hostname/Makefile @@ -1,6 +1,11 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 +.include + PACKAGE=runtime PROG= hostname +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests + .include diff --git a/bin/hostname/tests/Makefile b/bin/hostname/tests/Makefile new file mode 100644 index 000000000000..87295101392f --- /dev/null +++ b/bin/hostname/tests/Makefile @@ -0,0 +1,6 @@ +PACKAGE= tests + +ATF_TESTS_SH= hostname_test +BINDIR= ${TESTSDIR} + +.include diff --git a/bin/hostname/tests/hostname_test.sh b/bin/hostname/tests/hostname_test.sh new file mode 100644 index 000000000000..57517821f7f1 --- /dev/null +++ b/bin/hostname/tests/hostname_test.sh @@ -0,0 +1,87 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Lin Lee +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +# +# These tests need to run in a multibyte locale with non-localized +# error messages. +# +export LC_CTYPE=C.UTF-8 +export LC_MESSAGES=C + +test_jail_name="test-hostname-jail" + +test_jail_conf='%%test_jail_name%% { + host.hostname = "test-hostname.example.org"; + path = "/"; + persist; +}' + +init() +{ + echo "${test_jail_conf}" | \ + sed -e "s/%%test_jail_name%%/${test_jail_name}/" > "./jail.conf" + jail -f "./jail.conf" -c ${test_jail_name} +} + +recycle() +{ + jail -f "./jail.conf" -r ${test_jail_name} + rm "./jail.conf" +} + +atf_test_case basic cleanup +basic_head() +{ + atf_set require.user root + atf_set "descr" "basic test for getting hostname" +} +basic_body() +{ + init + + result=$(jexec ${test_jail_name} "hostname") + atf_check_equal "test-hostname.example.org" "${result}" + + result=$(jexec ${test_jail_name} "hostname" -s) + atf_check_equal "test-hostname" "${result}" + + result=$(jexec ${test_jail_name} "hostname" -d) + atf_check_equal "example.org" "${result}" + + jexec ${test_jail_name} "hostname" "test-bsd2" + result=$(jexec ${test_jail_name} "hostname") + atf_check_equal "test-bsd2" "${result}" +} +basic_cleanup() +{ + recycle +} + +atf_init_test_cases() +{ + atf_add_test_case basic +} diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 5714d873cb3b..16e19c967773 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -21,6 +21,8 @@ .. expr .. + hostname + .. ln .. ls From nobody Thu Feb 8 17:45:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TW4BY4jY4z5B5xY; Thu, 8 Feb 2024 17:45:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TW4BY4CBlz4d1f; Thu, 8 Feb 2024 17:45:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707414309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KuHeL96itrzWb85s1tNDn74x5MJ7Bx3nWcDimHD+u0A=; b=vqxND/OQRcehIJYKd5FrhKWHfWl/x3xRNprC5Kx9sGBAyY6i1L6UC8d3B7+QjKRWFlB/VV SUU47E4IrkE5c1U+B6V2PVTbEs+fW1HmFHAkzQjWqQWpV8Lotmo8vu6x9sEz2mSyAcohOe cyZxHhXwuhDhukX7hbnkbysf4z+d3ehwOo7s8nf830bGOozPBNrPvjwGqjgJx2OnXjLDA1 CR2A8uzwmXQpcVqIRY0S+wFDdtBFKLIBqY/uHQg//rWp+dbEvV60eoDZmltfbO5kOVcNeD B7XYUlCFttAyKfGq2gIb413EyDpqWV7gPXANnxIjbTUZpm1t7Vi/WGn9Y7mZZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707414309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KuHeL96itrzWb85s1tNDn74x5MJ7Bx3nWcDimHD+u0A=; b=bLvzLgEPZ+Dbq2O/qXR4WKSuSfSPnYkXs5XQGZONziWu8hdKRp4uWVmzo1+svt1QBR06m+ 4bZThRUEtClGcNQiDDIs5GfpUc3wta4wFu1Br+2u+pMjl/yAquMamP9GcWeGYOqU5u3Rd+ Mexq7eRqA1j4GKxvHPxecy2K7Ipsept9wiX+QJH5g6UJKXc2dNpq4wVZdlIkCEVZHJmshq 2JF0btrvzIaakseleNomxng24IGOYCUoRhPEt4fd3ygYBn/CuP5ri7uxdcCeZ+Rui/Cx/L NU0+EE+T0UGB737C6Ts3CDedzeDoJQaHIcC9fYFIQysybvMtDgVBlkUXia1uKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707414309; a=rsa-sha256; cv=none; b=A97+p29P72rVraW44WSVYmc5fMmAoSIVETt6oP5g/vKHbvzWQ52RN6WmuPeiC7msUPlxxV w0p6aHONec41P1BiupvWR3e2TEPt6Y4bXmnS7Wv4yEaoF18Hc+ABvXvLhIWarReWcMLSB/ 73+v7l2/dl5/XNbfiNfNwcCbH3MiQ9FvharVKpvCpCC761IDlTpLBqGdQi4auJQLJWRR+Y av8pp+pZ3yAiLe1Ew9ENgkILaOQEcHkBp5e8u7pIhX3jZ0qr4v6VKoG0HDUfuvMJ8QBkbh NMk0+fepZ6fBwNlcsMWSHt1oSfMP6h7Uk1GLF540kFDPTcJA7kzJOUHrf7pvaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TW4BY3DKMz10fR; Thu, 8 Feb 2024 17:45:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 418Hj99J040150; Thu, 8 Feb 2024 17:45:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 418Hj9OU040147; Thu, 8 Feb 2024 17:45:09 GMT (envelope-from git) Date: Thu, 8 Feb 2024 17:45:09 GMT Message-Id: <202402081745.418Hj9OU040147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Piotr Pawel Stefaniak Subject: git: 43b7fec10b6b - stable/14 - libcompat: silence -Wdeprecated-non-prototype List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pstef X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 43b7fec10b6ba51cb5ac6265ef12b043f88a09a6 Auto-Submitted: auto-generated The branch stable/14 has been updated by pstef: URL: https://cgit.FreeBSD.org/src/commit/?id=43b7fec10b6ba51cb5ac6265ef12b043f88a09a6 commit 43b7fec10b6ba51cb5ac6265ef12b043f88a09a6 Author: Piotr Paweł Stefaniak AuthorDate: 2024-02-03 18:12:42 +0000 Commit: Piotr Paweł Stefaniak CommitDate: 2024-02-08 17:40:06 +0000 libcompat: silence -Wdeprecated-non-prototype by removing unnecessary re-declarations and converting K&R-style function definitions. Differential Revision: https://reviews.freebsd.org/D43723 Reviewed by: imp, emaste (cherry picked from commit 12bae251fbfa33f375d134e0840d88c4363b8b94) --- lib/libcompat/4.3/rexec.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/libcompat/4.3/rexec.c b/lib/libcompat/4.3/rexec.c index 3dac5ff18da3..bcd93a2c7cde 100644 --- a/lib/libcompat/4.3/rexec.c +++ b/lib/libcompat/4.3/rexec.c @@ -51,7 +51,6 @@ __SCCSID("@(#)rexec.c 8.1 (Berkeley) 6/4/93"); #include int rexecoptions; -char *getpass(), *getlogin(); /* * Options and other state info. @@ -132,8 +131,7 @@ token() } static int -ruserpass(host, aname, apass, aacct) - char *host, **aname, **apass, **aacct; +ruserpass(char *host, char **aname, char **apass, char **aacct) { char *hdir, buf[BUFSIZ], *tmp; char myname[MAXHOSTNAMELEN], *mydomain; @@ -291,11 +289,7 @@ bad: } int -rexec(ahost, rport, name, pass, cmd, fd2p) - char **ahost; - int rport; - char *name, *pass, *cmd; - int *fd2p; +rexec(char **ahost, int rport, char *name, char *pass, char *cmd, int *fd2p) { struct sockaddr_in sin, sin2, from; struct hostent *hp; From nobody Thu Feb 8 17:45:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TW4BZ5gzZz5B6BT; Thu, 8 Feb 2024 17:45:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TW4BZ54C9z4d8L; Thu, 8 Feb 2024 17:45:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707414310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eU+cnThG0CVkSfkLWRb2JBaLsa1pYSVHVS016xjZN9g=; b=cC/wiZEymNpEtu1NWBUu928Q26yFA/l1CgvrKxIpkoqGU5gtP68x/9Z9Dh14Nief6eDydg cIX6cGrxCA7eAbmMHGjy9eRUNPny5hj03C71pyqYRuhF46wgoE34FfuzkyEQdC1oN30IUw OMXpQXuRXawiVqV8TY/l1NE83/bPFltzdNH+XG1pLdhVBrPPEzvj31rckM5tYlZJRUcM7g XSCliAPK7T7S4PKFEiW1QGspmm3A02F9DbTxUjkljUFD2FAYZ9z5QfCFLSrrGMBAgxobUo VNE5lPoIVXF+RrQhvn1nH/z1TfqtJYuuxxVsCpszc8KHW+uWpJm4eguDzcpx4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707414310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eU+cnThG0CVkSfkLWRb2JBaLsa1pYSVHVS016xjZN9g=; b=Wp465VUVnXu4KQGlTQBThEMKBXU5B6sB5Pigi8a9KevPbvY1WnKQCRRUVtvuuBrTEPeAwK xmsjsoHLZxkbMZzMyvvySLuWBtMAf41LnLE16nXBhjfP8Kq7breNDTuzs2wUvaAIt4Cryk 8bo3BmaV/BTu2Y+EWoyRDV9hY4Fh20LkYBGbKq3dkvUGfVfGUwQZyZPfIEPzT/QvfqTzUd IgHVqop05ZH8mHicV+eXMhtX1PRviWWP2QONc44zUm1OP891yiUA7lJNB9iqsyID/cVviq 58bhQuTG4G3pCMs0v/FMsmLd16bxfc3+neW6zsoDdOTniUCYkXnYbZ3jGXsl4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707414310; a=rsa-sha256; cv=none; b=xMfH7krb+I3zbarZ5SjPHeff6qdAUizrojisNzotJ1pDHZ1MMBgOmLQS6pcP4iHxsu/b6H Zu1tAnLB15VahhEInytFN9yK57mN6ud99Y1NGOgEPWfBOle9BjpRaPPmmUFqOhMaiQo9wA fhA9zEfGR9bARmfIavsqKIC/D5Xqku+KMzHe1KPAx9YjaFvrZI25bGqA9fJvpH1jAjfR/U AMrPuSfIE+J+nmh7owp6lSA5K+BcqLO8V64U77oOmqPbFmYo9uFhCQtbfdE4e2O3jO0wOh D9d70pzsvGLJWLgFWvK8V4LGqmlUDfqrXHB0RR7W4oaDcEOAoGwmd+zJO8eyPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TW4BZ46S2z107t; Thu, 8 Feb 2024 17:45:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 418HjAEm040195; Thu, 8 Feb 2024 17:45:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 418HjAJL040192; Thu, 8 Feb 2024 17:45:10 GMT (envelope-from git) Date: Thu, 8 Feb 2024 17:45:10 GMT Message-Id: <202402081745.418HjAJL040192@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Piotr Pawel Stefaniak Subject: git: 94ddf40c0f5d - stable/14 - tcp_wrappers: silence a few warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pstef X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94ddf40c0f5d6a73bbe88f956ce66c9d2db4b519 Auto-Submitted: auto-generated The branch stable/14 has been updated by pstef: URL: https://cgit.FreeBSD.org/src/commit/?id=94ddf40c0f5d6a73bbe88f956ce66c9d2db4b519 commit 94ddf40c0f5d6a73bbe88f956ce66c9d2db4b519 Author: Piotr Paweł Stefaniak AuthorDate: 2024-01-21 10:15:48 +0000 Commit: Piotr Paweł Stefaniak CommitDate: 2024-02-08 17:40:06 +0000 tcp_wrappers: silence a few warnings Mostly -Wdeprecated-non-prototype. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43531 (cherry picked from commit 8297ff13fb604c86797e6a66bc654caff2cf3ce2) --- contrib/tcp_wrappers/options.c | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/contrib/tcp_wrappers/options.c b/contrib/tcp_wrappers/options.c index 481ba2d372d5..26e98db8ed95 100644 --- a/contrib/tcp_wrappers/options.c +++ b/contrib/tcp_wrappers/options.c @@ -76,20 +76,20 @@ static char *chop_string(char *string); /* strip leading and trailing blanks */ /* List of functions that implement the options. Add yours here. */ -static void user_option(); /* execute "user name.group" option */ -static void group_option(); /* execute "group name" option */ -static void umask_option(); /* execute "umask mask" option */ -static void linger_option(); /* execute "linger time" option */ -static void keepalive_option(); /* execute "keepalive" option */ -static void spawn_option(); /* execute "spawn command" option */ -static void twist_option(); /* execute "twist command" option */ -static void rfc931_option(); /* execute "rfc931" option */ -static void setenv_option(); /* execute "setenv name value" */ -static void nice_option(); /* execute "nice" option */ -static void severity_option(); /* execute "severity value" */ -static void allow_option(); /* execute "allow" option */ -static void deny_option(); /* execute "deny" option */ -static void banners_option(); /* execute "banners path" option */ +static void user_option(char *, struct request_info *); /* user name.group */ +static void group_option(char *, struct request_info *); /* group name */ +static void umask_option(char *, struct request_info *); /* umask mask */ +static void linger_option(char *, struct request_info *); /* linger time */ +static void keepalive_option(char *, struct request_info *); /* keepalive */ +static void spawn_option(char *, struct request_info *); /* spawn command */ +static void twist_option(char *, struct request_info *); /* twist command */ +static void rfc931_option(char *, struct request_info *); /* rfc931 */ +static void setenv_option(char *, struct request_info *); /* setenv name value */ +static void nice_option(char *, struct request_info *); /* nice */ +static void severity_option(char *, struct request_info *); /* severity value */ +static void allow_option(char *, struct request_info *); /* allow */ +static void deny_option(char *, struct request_info *); /* deny */ +static void banners_option(char *, struct request_info *); /* banners path */ /* Structure of the options table. */ @@ -197,9 +197,7 @@ void process_options(char *options, struct request_info *request) /* ARGSUSED */ -static void allow_option(value, request) -char *value; -struct request_info *request; +static void allow_option(char *value, struct request_info *request) { longjmp(tcpd_buf, AC_PERMIT); } @@ -208,9 +206,7 @@ struct request_info *request; /* ARGSUSED */ -static void deny_option(value, request) -char *value; -struct request_info *request; +static void deny_option(char *value, struct request_info *request) { longjmp(tcpd_buf, AC_DENY); } @@ -250,7 +246,6 @@ static void banners_option(char *value, struct request_info *request) static void group_option(char *value, struct request_info *request) { struct group *grp; - struct group *getgrnam(); if ((grp = getgrnam(value)) == 0) tcpd_jump("unknown group: \"%s\"", value); @@ -267,7 +262,6 @@ static void group_option(char *value, struct request_info *request) static void user_option(char *value, struct request_info *request) { struct passwd *pwd; - struct passwd *getpwnam(); char *group; if ((group = split_at(value, '.')) != 0) From nobody Thu Feb 8 19:26:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TW6RP2lMmz5BFYv; Thu, 8 Feb 2024 19:26:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TW6RP1xfCz4pFW; Thu, 8 Feb 2024 19:26:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZC8iXCRzMw2VAbFymuMjRtIMnWImaKZbyg7Jr+uPIig=; b=pCaKMJddkZqvF3vx1EqhQJUyoHcNU3k9OGir6XJeeqNl1UCUtjAzdz6cE96uvNDkL3BjKJ 2wufnaWtx11CwBjfprkRru/dvFVAhI8TKTclFpX8gVlr6iJUqNhHs0o+L0WYerqa7clyMU /jLBgSyFNStY22BzFiSO8AiRjsQBXBDEtg7W3k1nThrc7mEacZik4H9iM/+3H/yl/ZnuAe 1c4v1Hvl5PyVXNu1375N325s83DH9xycy3qQjK8Wn3nFOa+ZhkguAyNmEMqBerAigzYaOd FT+gi43bClyx7EiNGHFRwO9ttDa6ZhEcqg4EPttnOJ9jr4a3U7WjtCj+EAUqTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZC8iXCRzMw2VAbFymuMjRtIMnWImaKZbyg7Jr+uPIig=; b=xalcLOFhN1fk6zJFWETvkTyyCdlEXvGCNcR8fwCN2cyU0dq3dpHdKT6MIxRtIup06F8EQq zfKN6NFY1s6pUafZfNaFgmhSNQi5SlV5SrF0XgvvriW43mWchfvi1ZP25A/xeq0Dddep2M DlYwg1FFRYtnaPNnH03piB3oKKDiWxcuCZS/4D+kcSRJckTK3u58GpX+GP9ElN5LgkbCey 146EupnDEDV3KriseSDuisxDZUvyCZOSMhE1R+QGDXT10VRjzLYtPkNkvRCCDC8gtHgnI/ ZPBLDMu3V3J0uelzFnh9vjHXwDMMQ+jk8XWsgGlc5/TgZ+G+nsfoKAqdAJRTJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707420385; a=rsa-sha256; cv=none; b=gnrErb5DsZgiLL4Bk0zSawFhnn93ldTEjltId48529K4ntZtUI2yuaE+n/2uzcntAh9c63 Y/f/zwmRlSStUPFayukS/FMUpwLJ+gmUFbI58KiFcT52J66MxacKRICZSImP5hFgwH6fsq /db20EdNDGPM30zb5F0TvfActEImk1a/ZNKWrSTKQ9XQwFWctozjRJVZa7squBLVE9GG/X DHC20QQ2/srzTgaURxOdMPZ5N+QKuzkiYR74Ab7fWC4oFyu6Z5ZvOfyC0kB8Sz/WzC+KtH pi+UOFtx3J7UNXZedjzIoCLFvra+pD1LsBgpAbsL2clNGSIM2A/5C3PbSRdDYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TW6RP11pwz12Y7; Thu, 8 Feb 2024 19:26:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 418JQPOO009012; Thu, 8 Feb 2024 19:26:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 418JQPSa009009; Thu, 8 Feb 2024 19:26:25 GMT (envelope-from git) Date: Thu, 8 Feb 2024 19:26:25 GMT Message-Id: <202402081926.418JQPSa009009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 7d91a95f825a - stable/14 - Merge commit 4a39d0890894 from llvm-project (by Mark Johnston): List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7d91a95f825ae79245be5c16acecae254c51d142 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7d91a95f825ae79245be5c16acecae254c51d142 commit 7d91a95f825ae79245be5c16acecae254c51d142 Author: Dimitry Andric AuthorDate: 2024-01-29 17:26:48 +0000 Commit: Dimitry Andric CommitDate: 2024-02-08 19:25:52 +0000 Merge commit 4a39d0890894 from llvm-project (by Mark Johnston): [libc++] Fix filesystem::remove_all() on FreeBSD (#79540) remove_all_impl() opens the target path with O_NOFOLLOW, which fails if the target is a symbolic link. On FreeBSD, rather than returning ELOOP, openat() returns EMLINK. This is unlikely to change for compatibility reasons, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214633 . Thus, check for EMLINK as well. Reported by: markj PR: 276632 MFC after: 3 days (cherry picked from commit ee14a9725d73150e89367550206803fe36ae3089) --- contrib/llvm-project/libcxx/src/filesystem/operations.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contrib/llvm-project/libcxx/src/filesystem/operations.cpp b/contrib/llvm-project/libcxx/src/filesystem/operations.cpp index 63a119aa983e..1877bcd79f4d 100644 --- a/contrib/llvm-project/libcxx/src/filesystem/operations.cpp +++ b/contrib/llvm-project/libcxx/src/filesystem/operations.cpp @@ -823,8 +823,9 @@ uintmax_t remove_all_impl(int parent_directory, const path& p, error_code& ec) { // If opening `p` failed because it wasn't a directory, remove it as // a normal file instead. Note that `openat()` can return either ENOTDIR - // or ELOOP depending on the exact reason of the failure. - if (ec == errc::not_a_directory || ec == errc::too_many_symbolic_link_levels) { + // or ELOOP depending on the exact reason of the failure. On FreeBSD it + // may return EMLINK instead of ELOOP, contradicting POSIX. + if (ec == errc::not_a_directory || ec == errc::too_many_symbolic_link_levels || ec == errc::too_many_links) { ec.clear(); if (::unlinkat(parent_directory, p.c_str(), /* flags = */0) == -1) { ec = detail::capture_errno(); From nobody Thu Feb 8 19:26:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TW6RQ3PZfz5BFKW; Thu, 8 Feb 2024 19:26:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TW6RQ2Qnrz4p6y; Thu, 8 Feb 2024 19:26:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o0YfCgoNXXSEedEEtW9A12QWwCsy9SUbFPvyObI2ELA=; b=KBIUojA7mHNHVyOPWSKeBwQ8grwwCUko2aE1ArO+XrJO7LWmfOGL0mlQM50zhOf5mFzbQF tM+6er37xDgVWJwsNFDxRXYTFxrbe+Xba2Dycvc1cUi+2b1SrmallvAYHhLmjwwih01ZU+ bp2WZ6OGs+tsNd3gbGbD5MNdkRMcLtnsOE3t78HOS+7/VraF12rIM0R2fsb0SBNS746EdM zOeKjRHQIti+yhq/1dHTO3MeizfJzf1r/IBN27x5EPHnOmKCp92S95h69GdnjjY/rjNX1m kQb4JcI+OWhgZdDkURS8BYaSiuiAEhRnHaDdsFFmcvuMd6MQDDaYbdhrMhiB7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o0YfCgoNXXSEedEEtW9A12QWwCsy9SUbFPvyObI2ELA=; b=ImPI6OvRh6UvzRskTuJbVwd5l641VbnonqBGnD5ndzNuGv/qafInVCMqO23kVyyccEVN8y 08JICCTQcECIyg9VTyU+Fi8yL1MIWDEkXqzGxGbaQEa20aJbEq+Jq3WHo47auV91NwWFTF z1BNR57sd8cUskxpHIOokgLfKvF4qWsDA72z5vhi7P/SPg7TR9mZ2Z+i4KBPB0DKm4NKIU OQtgSyNrnNRJ90pwIzS47qRYY6sIUc67CSv9bgoTPzReJu2WbKsS4VjLVafCFtEGDyIH7O so1KnODd8/dfB6bp/zHuhHSibBr+Tdd9cFmaSP+YfqyUFj2NFNxknT2PL0vXgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707420386; a=rsa-sha256; cv=none; b=IY5Rq17VFeU2YjElFNf7q9Oe3T1s4Zlormd33xSY9t4+sA094X+ZVMLQ6+8yA30iIoDz8r yLD++W5xjiUEWFMronO62/DpyTetKSbdRSNJL477/A9adL1TBSX3DZnmbti+U4Zfm7XYAf jw+6nUqD2mtpKzwhWpEUdYgu2JKpi60vj87plVzNsCtW+KhaPhFKuVB54Pdl6TzxyQO7VQ 9rMaeJXe6ovRfThbqSCsZ3WhEPHLWcM01JmDtPYCROvxbu1ViQB2CYLF5ClSfBbogWBR9e pQ8Ets74od+uY2LfYoy09xZ44SR9yYz9FRTULrElbJj80OS68Osr2/RWhXgp1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TW6RQ1VTpz12yy; Thu, 8 Feb 2024 19:26:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 418JQQvY009051; Thu, 8 Feb 2024 19:26:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 418JQQBW009048; Thu, 8 Feb 2024 19:26:26 GMT (envelope-from git) Date: Thu, 8 Feb 2024 19:26:26 GMT Message-Id: <202402081926.418JQQBW009048@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 6d5c1c562cc5 - stable/14 - Merge libcxxrt master 03c83f5a57be8c5b1a29a68de5638744f17d28ba List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6d5c1c562cc58ee31022df56b853d92173e1fbc1 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=6d5c1c562cc58ee31022df56b853d92173e1fbc1 commit 6d5c1c562cc58ee31022df56b853d92173e1fbc1 Author: Dimitry Andric AuthorDate: 2024-01-25 17:41:44 +0000 Commit: Dimitry Andric CommitDate: 2024-02-08 19:26:04 +0000 Merge libcxxrt master 03c83f5a57be8c5b1a29a68de5638744f17d28ba Interesting fixes (* were already cherry-picked): - 03c83f5 add __cxa_init_primary_exception (#23) * 5d8a158 Fix two bugs in __cxa_end_cleanup() * b00c6c5 Insert padding in __cxa_dependent_exception * 45ca8b1 Insert padding in __cxa_exception struct for compatibility * f2e5509 Fix unlock in two-word version and add missing comment. - 6229590 Add an option for disabling emergency buffers. (#14) MFC after: 2 weeks (cherry picked from commit ecf4106237505fa9459ae871793b754334989c17) --- contrib/libcxxrt/cxxabi.h | 8 ++++++++ contrib/libcxxrt/exception.cc | 44 +++++++++++++++++++++++++++++++++++-------- lib/libcxxrt/Version.map | 4 ++++ 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/contrib/libcxxrt/cxxabi.h b/contrib/libcxxrt/cxxabi.h index e843599c66da..e021f85c905a 100644 --- a/contrib/libcxxrt/cxxabi.h +++ b/contrib/libcxxrt/cxxabi.h @@ -203,6 +203,14 @@ __cxa_eh_globals *__cxa_get_globals_fast(void); std::type_info * __cxa_current_exception_type(); + +void *__cxa_allocate_exception(size_t thrown_size); + +void __cxa_free_exception(void* thrown_exception); + +__cxa_exception *__cxa_init_primary_exception( + void *object, std::type_info* tinfo, void (*dest)(void *)); + /** * Throws an exception returned by __cxa_current_primary_exception(). This * exception may have been caught in another thread. diff --git a/contrib/libcxxrt/exception.cc b/contrib/libcxxrt/exception.cc index 6c5196876b10..b1659c902f56 100644 --- a/contrib/libcxxrt/exception.cc +++ b/contrib/libcxxrt/exception.cc @@ -162,6 +162,7 @@ struct __cxa_thread_info terminate_handler terminateHandler; /** The unexpected exception handler for this thread. */ unexpected_handler unexpectedHandler; +#ifndef LIBCXXRT_NO_EMERGENCY_MALLOC /** * The number of emergency buffers held by this thread. This is 0 in * normal operation - the emergency buffers are only used when malloc() @@ -170,6 +171,7 @@ struct __cxa_thread_info * in ABI spec [3.3.1]). */ int emergencyBuffersHeld; +#endif /** * The exception currently running in a cleanup. */ @@ -445,6 +447,23 @@ extern "C" __cxa_eh_globals *ABI_NAMESPACE::__cxa_get_globals_fast(void) return &(thread_info_fast()->globals); } +#ifdef LIBCXXRT_NO_EMERGENCY_MALLOC +static char *alloc_or_die(size_t size) +{ + char *buffer = static_cast(calloc(1, size)); + + if (buffer == nullptr) + { + fputs("Out of memory attempting to allocate exception\n", stderr); + std::terminate(); + } + return buffer; +} +static void free_exception(char *e) +{ + free(e); +} +#else /** * An emergency allocation reserved for when malloc fails. This is treated as * 16 buffers of 1KB each. @@ -584,6 +603,7 @@ static void free_exception(char *e) free(e); } } +#endif /** * Allocates an exception structure. Returns a pointer to the space that can @@ -773,6 +793,21 @@ static void throw_exception(__cxa_exception *ex) report_failure(err, ex); } +extern "C" __cxa_exception *__cxa_init_primary_exception( + void *object, std::type_info* tinfo, void (*dest)(void *)) { + __cxa_exception *ex = reinterpret_cast<__cxa_exception*>(object) - 1; + + ex->referenceCount = 0; + ex->exceptionType = tinfo; + + ex->exceptionDestructor = dest; + + ex->unwindHeader.exception_class = exception_class; + ex->unwindHeader.exception_cleanup = exception_cleanup; + + return ex; +} + /** * ABI function for throwing an exception. Takes the object to be thrown (the @@ -783,15 +818,8 @@ extern "C" void __cxa_throw(void *thrown_exception, std::type_info *tinfo, void(*dest)(void*)) { - __cxa_exception *ex = reinterpret_cast<__cxa_exception*>(thrown_exception) - 1; - + __cxa_exception *ex = __cxa_init_primary_exception(thrown_exception, tinfo, dest); ex->referenceCount = 1; - ex->exceptionType = tinfo; - - ex->exceptionDestructor = dest; - - ex->unwindHeader.exception_class = exception_class; - ex->unwindHeader.exception_cleanup = exception_cleanup; throw_exception(ex); } diff --git a/lib/libcxxrt/Version.map b/lib/libcxxrt/Version.map index 0d2dccbe2670..a54b6a4daad5 100644 --- a/lib/libcxxrt/Version.map +++ b/lib/libcxxrt/Version.map @@ -283,6 +283,10 @@ CXXABI_1.3.9 { }; } CXXABI_1.3.6; +CXXABI_1.3.11 { + __cxa_init_primary_exception; +} CXXABI_1.3.9; + CXXRT_1.0 { extern "C++" { From nobody Thu Feb 8 19:27:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TW6T93Hz4z5BFkh; Thu, 8 Feb 2024 19:27:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TW6T92VcLz4phk; Thu, 8 Feb 2024 19:27:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WscErq0bCIm2/PGCCNg2Vemi91rvBgZaO3iCO24vmWU=; b=AoWmr0zSVpIxE2hQJ5q3R2BiE9TLsCCBo+xtGwLdJYpZiOeRWOocUU42BacQtIyI65B8kz 0IY6B9LMN3oRHtutb409g0VFPc8iGhvb1jA/3I7qyWxMbHgpVsvC4kVDARzIw/aAd3WbPj 9B+usjs+4NN4woyU/VuI6FMsyenP7e12mfrYa6JnLU37OGr/kmNhc3jO8/QUd4y03RhUeS 4Uv6t3ijj6ZmrqcTNqPOWotagKzTtR3ym7wREm2q12ZR3D+Kg+I4hDXJn5tDSNGxsnluEf sS+sqz5WECmBywP7m8lVVsOH1wW0ARVHXDBghXOe5H6RUUGe7GOOsQjl7n84ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WscErq0bCIm2/PGCCNg2Vemi91rvBgZaO3iCO24vmWU=; b=lhss+S7F/9HESQciYnbe1lbq9fPtqO/IorGWjYILynr8bvs5tGIYyF7JkDIEks/PbRnq99 l+3CU062VZGO+MkFkBL0X2aKr9289SzuZU7QCcHyN9FLtDzwwgEXTkKk3USBRyEX9Xb0Yh LklMx218aI8yKofT9pDXRX1rvoSDkCN2BgL+h3ZGP1IpdQ3s5lL3zzBBv2cCbEnNiGE00R ib4QTHByMN6pAuVTYuk+QApq2Vh47quYGl3uJX360/M3QVyW+jCPs1OcFX6urHOWwDog6B +B4OI89KA+6oEK5wLDsp3aOsVtBqhNFyDB410HhdVLDE1/kSgzvAjqwB5hBr4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707420477; a=rsa-sha256; cv=none; b=vM9QOn04etuvphLquH2HVTyeBx6PuReqKkk5APx9aiqTNvyXXU71hW9XUzTmwjQc9X3eF2 DpMhWIJNBUh22x/TVCtGpvIBbDfv3GHuwyd3/zo9eKWN0Wb3kZJFys049Wbr92ME4EK3yC H6mytNLSdNRugeeHh+IlPHXBIMXC5jCb1+DAv+EQg6THvH20ZlI+A4tpRcCjN2X3cSuOdE f4L21AFS9fJbAoJwH0xybTJdP9D+OrONZJNXe4XuXsHUpybzxyoEUfkouOtSNtKxUDdows Y9jAY4u5S64z/GS0rEf9UafJW1Fp6wrj/YPQ40ss/XH93/A/5AKFdlDU+OMaNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TW6T91YWdz134V; Thu, 8 Feb 2024 19:27:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 418JRvoe009443; Thu, 8 Feb 2024 19:27:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 418JRvpT009440; Thu, 8 Feb 2024 19:27:57 GMT (envelope-from git) Date: Thu, 8 Feb 2024 19:27:57 GMT Message-Id: <202402081927.418JRvpT009440@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: d5d6b3938d84 - stable/13 - Merge commit 4a39d0890894 from llvm-project (by Mark Johnston): List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d5d6b3938d842529a01bdc6404c77e84213b0192 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=d5d6b3938d842529a01bdc6404c77e84213b0192 commit d5d6b3938d842529a01bdc6404c77e84213b0192 Author: Dimitry Andric AuthorDate: 2024-01-29 17:26:48 +0000 Commit: Dimitry Andric CommitDate: 2024-02-08 19:27:38 +0000 Merge commit 4a39d0890894 from llvm-project (by Mark Johnston): [libc++] Fix filesystem::remove_all() on FreeBSD (#79540) remove_all_impl() opens the target path with O_NOFOLLOW, which fails if the target is a symbolic link. On FreeBSD, rather than returning ELOOP, openat() returns EMLINK. This is unlikely to change for compatibility reasons, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214633 . Thus, check for EMLINK as well. Reported by: markj PR: 276632 MFC after: 3 days (cherry picked from commit ee14a9725d73150e89367550206803fe36ae3089) --- contrib/llvm-project/libcxx/src/filesystem/operations.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contrib/llvm-project/libcxx/src/filesystem/operations.cpp b/contrib/llvm-project/libcxx/src/filesystem/operations.cpp index 63a119aa983e..1877bcd79f4d 100644 --- a/contrib/llvm-project/libcxx/src/filesystem/operations.cpp +++ b/contrib/llvm-project/libcxx/src/filesystem/operations.cpp @@ -823,8 +823,9 @@ uintmax_t remove_all_impl(int parent_directory, const path& p, error_code& ec) { // If opening `p` failed because it wasn't a directory, remove it as // a normal file instead. Note that `openat()` can return either ENOTDIR - // or ELOOP depending on the exact reason of the failure. - if (ec == errc::not_a_directory || ec == errc::too_many_symbolic_link_levels) { + // or ELOOP depending on the exact reason of the failure. On FreeBSD it + // may return EMLINK instead of ELOOP, contradicting POSIX. + if (ec == errc::not_a_directory || ec == errc::too_many_symbolic_link_levels || ec == errc::too_many_links) { ec.clear(); if (::unlinkat(parent_directory, p.c_str(), /* flags = */0) == -1) { ec = detail::capture_errno(); From nobody Thu Feb 8 19:27:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TW6TB4Tydz5BFh0; Thu, 8 Feb 2024 19:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TW6TB3V3Hz4pfm; Thu, 8 Feb 2024 19:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQBUCJAVdalyp1OKCuXnCI2ujka78eEfAWzKI57ekvM=; b=QsjUIWWml2J8Ve6R56So6qcZr45VhZqs5pQ5d0q/GeC3i6L+11AShiyoXAR7ZxzhQqFlJM XALYnG+UwdfSCS/C9w6nHN0qlMzPLeBD0/ENil4wa5l+1RsB55V7m4YYfBa8nZAJl7gYif 42rnmTKNnP2PbcWSOwaVuGckVy1Rzjf32Eeav/XXVu9+Kvv3EdB/stnI55r2d4BwJuRI5c rTxFNwOyaQQ2ZRx9//r56eA2CFldP+iN6U/EieXG//ZIgUx2r4sYeHl5Giei1oUrqeOVJJ BjoCoD5D2wtq4LTOaVQPhJefccLcYLIE3RwrBP6zW1qz+xlxbnMDoU4r099xYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707420478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQBUCJAVdalyp1OKCuXnCI2ujka78eEfAWzKI57ekvM=; b=gy3mY8Xb6jvf5E6f7lHQ798OFeHJp+UdPS0UabHT1Ccim6L/KLzSNUnYsVQq68jMJfhDyR 8uyUOb/w0gfPUqLadUS1hI80i2bYKW07/V8KpAvAUWIObIcgsj1KhI9GOmUpFQH5pXbFhu 3bBcaJYb4BVP8t6PpYDgpZsDfAQ4/B3bwM4d/HReKPvin9yGZ6+SLbLyC4ibEw6pnaEDMa u5VCSO7Xn4cwTd7O6zerprjdmJmdH6FcsBtOaHDB8xlmkmAgIOo1paGxB/GfW5LkFat0ZZ S50aDHA9e8rx4kbeXyAj7sK/6CsjbktjUzUlEmoouV8nc6GXb6dR0BoQxWwt4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707420478; a=rsa-sha256; cv=none; b=rVYkvzynlsWchLmb8Ip/DhlSet9ThwzQIsGTOHqGj9y600Laau3Q6JWmm+NaZMSShmlyv5 sOKb3o1wkY00HUftorCD0YMI/7WX4RonlKEB2DeA1zzMysRDHuq/EJXN+bKej2X0+1c3Gx OspNWqKx3AhEQyeTjsaI0XeqLOAC6Pw1ZOZ6ZGmu0YvQM7vC1prMl46eJu88iS378N+Sf5 9bR21L3HFTFn7Rjzoi7/XaUvQTzFo4u3vFDl6xBS2dZIGpeYbOy3MTN7HYOB3L4Tiu17KT luG0E81+CeV3Ya3ieYh3oJZ1pjmIdCBbDnbI2bsBlE0E0u3xniJtPnetlMcuFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TW6TB2YmJz12Y9; Thu, 8 Feb 2024 19:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 418JRweo009482; Thu, 8 Feb 2024 19:27:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 418JRw7a009479; Thu, 8 Feb 2024 19:27:58 GMT (envelope-from git) Date: Thu, 8 Feb 2024 19:27:58 GMT Message-Id: <202402081927.418JRw7a009479@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 134580c103b4 - stable/13 - Merge libcxxrt master 03c83f5a57be8c5b1a29a68de5638744f17d28ba List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 134580c103b4b71751972365770333ad523813c9 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=134580c103b4b71751972365770333ad523813c9 commit 134580c103b4b71751972365770333ad523813c9 Author: Dimitry Andric AuthorDate: 2024-01-25 17:41:44 +0000 Commit: Dimitry Andric CommitDate: 2024-02-08 19:27:44 +0000 Merge libcxxrt master 03c83f5a57be8c5b1a29a68de5638744f17d28ba Interesting fixes (* were already cherry-picked): - 03c83f5 add __cxa_init_primary_exception (#23) * 5d8a158 Fix two bugs in __cxa_end_cleanup() * b00c6c5 Insert padding in __cxa_dependent_exception * 45ca8b1 Insert padding in __cxa_exception struct for compatibility * f2e5509 Fix unlock in two-word version and add missing comment. - 6229590 Add an option for disabling emergency buffers. (#14) MFC after: 2 weeks (cherry picked from commit ecf4106237505fa9459ae871793b754334989c17) --- contrib/libcxxrt/cxxabi.h | 8 ++++++++ contrib/libcxxrt/exception.cc | 44 +++++++++++++++++++++++++++++++++++-------- lib/libcxxrt/Version.map | 4 ++++ 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/contrib/libcxxrt/cxxabi.h b/contrib/libcxxrt/cxxabi.h index e843599c66da..e021f85c905a 100644 --- a/contrib/libcxxrt/cxxabi.h +++ b/contrib/libcxxrt/cxxabi.h @@ -203,6 +203,14 @@ __cxa_eh_globals *__cxa_get_globals_fast(void); std::type_info * __cxa_current_exception_type(); + +void *__cxa_allocate_exception(size_t thrown_size); + +void __cxa_free_exception(void* thrown_exception); + +__cxa_exception *__cxa_init_primary_exception( + void *object, std::type_info* tinfo, void (*dest)(void *)); + /** * Throws an exception returned by __cxa_current_primary_exception(). This * exception may have been caught in another thread. diff --git a/contrib/libcxxrt/exception.cc b/contrib/libcxxrt/exception.cc index 6c5196876b10..b1659c902f56 100644 --- a/contrib/libcxxrt/exception.cc +++ b/contrib/libcxxrt/exception.cc @@ -162,6 +162,7 @@ struct __cxa_thread_info terminate_handler terminateHandler; /** The unexpected exception handler for this thread. */ unexpected_handler unexpectedHandler; +#ifndef LIBCXXRT_NO_EMERGENCY_MALLOC /** * The number of emergency buffers held by this thread. This is 0 in * normal operation - the emergency buffers are only used when malloc() @@ -170,6 +171,7 @@ struct __cxa_thread_info * in ABI spec [3.3.1]). */ int emergencyBuffersHeld; +#endif /** * The exception currently running in a cleanup. */ @@ -445,6 +447,23 @@ extern "C" __cxa_eh_globals *ABI_NAMESPACE::__cxa_get_globals_fast(void) return &(thread_info_fast()->globals); } +#ifdef LIBCXXRT_NO_EMERGENCY_MALLOC +static char *alloc_or_die(size_t size) +{ + char *buffer = static_cast(calloc(1, size)); + + if (buffer == nullptr) + { + fputs("Out of memory attempting to allocate exception\n", stderr); + std::terminate(); + } + return buffer; +} +static void free_exception(char *e) +{ + free(e); +} +#else /** * An emergency allocation reserved for when malloc fails. This is treated as * 16 buffers of 1KB each. @@ -584,6 +603,7 @@ static void free_exception(char *e) free(e); } } +#endif /** * Allocates an exception structure. Returns a pointer to the space that can @@ -773,6 +793,21 @@ static void throw_exception(__cxa_exception *ex) report_failure(err, ex); } +extern "C" __cxa_exception *__cxa_init_primary_exception( + void *object, std::type_info* tinfo, void (*dest)(void *)) { + __cxa_exception *ex = reinterpret_cast<__cxa_exception*>(object) - 1; + + ex->referenceCount = 0; + ex->exceptionType = tinfo; + + ex->exceptionDestructor = dest; + + ex->unwindHeader.exception_class = exception_class; + ex->unwindHeader.exception_cleanup = exception_cleanup; + + return ex; +} + /** * ABI function for throwing an exception. Takes the object to be thrown (the @@ -783,15 +818,8 @@ extern "C" void __cxa_throw(void *thrown_exception, std::type_info *tinfo, void(*dest)(void*)) { - __cxa_exception *ex = reinterpret_cast<__cxa_exception*>(thrown_exception) - 1; - + __cxa_exception *ex = __cxa_init_primary_exception(thrown_exception, tinfo, dest); ex->referenceCount = 1; - ex->exceptionType = tinfo; - - ex->exceptionDestructor = dest; - - ex->unwindHeader.exception_class = exception_class; - ex->unwindHeader.exception_cleanup = exception_cleanup; throw_exception(ex); } diff --git a/lib/libcxxrt/Version.map b/lib/libcxxrt/Version.map index 0d2dccbe2670..a54b6a4daad5 100644 --- a/lib/libcxxrt/Version.map +++ b/lib/libcxxrt/Version.map @@ -283,6 +283,10 @@ CXXABI_1.3.9 { }; } CXXABI_1.3.6; +CXXABI_1.3.11 { + __cxa_init_primary_exception; +} CXXABI_1.3.9; + CXXRT_1.0 { extern "C++" { From nobody Fri Feb 9 00:00:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWDXB4TbSz58QbX; Fri, 9 Feb 2024 00:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWDXB2F1Lz40jD; Fri, 9 Feb 2024 00:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707436858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5W/4TEQQlx2+mVbbvJRg3NkTmQw+DQyrlkbeKQ4V+cE=; b=dpTy4DqxTYnkgjfRGbax2GN/ovSr4cMVb7/yqgYUGOqWt/JhKrnPT/BycaSjmNDek2ruhx Lr2gDaRZJh+LE0Uj7G2pclLxHb8/X4p/Ill/ft5mdctHex1qfZaFZ97AffnLskkgCyWmje EFw46vHvgZCYIwTi1E10oYZOBIWkAo+NUNmEENxLY/248V8CKZ8oYAsh6qZuXzxq6v0lvL A1Bb+5IEe2MhNUkXf2i9xmb/QFqP0z/V3hPd1p1oq3jqx/VloSbRxRzOl3xJCCZWY3ZjVT bqXI3aM88Yx6/jJ3lgXo64mzM5ZihTIeNytL4S3SooM+EjQIacz0Am/GXBRjlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707436858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5W/4TEQQlx2+mVbbvJRg3NkTmQw+DQyrlkbeKQ4V+cE=; b=EANtsTjJHCniujLPBWlScOZOFuR59byhRRrN+RIriFHXbqHF4TR3AdbQFExVOF2aDT3m3B botgzglt7H1alGVRFqH6ooLQMwtx23ojckY9ZBWCQWi6tMQtyNl6mj07eWr+J0v2s8DT5X XKz+NMSEv4quj1sApWZw7ASIobhAETf8j7ls5BE2xJ8nCMd/GFoq6GXFD0KEywrY+N0vLf iny2fiWr5ypg/IG3WpyCsKaZ6fygjNAQLczmg9j2dxq6+NE1doEtOwbA5wrG+/pKjHEmWP hXk5sFOlQBBaTRoVo+qg8vvKZR8G9U568IBKOMC9HRpzrznGUJtZpr+O8xwVVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707436858; a=rsa-sha256; cv=none; b=XfxyUJB9TrVGgxMzlxtrzk/EANRT7k9os9vKwMXsgJ4OPKsEkUBaUNIY4RI5jx2bT9hjS0 af/VtBDtqsWATcDzSb8Uujt0eQsuD550wiZWcJlL6ye0+Qra0GwrjG2VDPJNrcEN2FBvQY pfUblAKIBepgj4Yg9WowdRTxelTfRf9ZoDosWx8P+v7DqzfzfQPsMhS6hQILOeYEDm9YGR cXT758SnP/Gr9uY2NB2uja6iR1dkwKzE7KqoAqV3A2uWh52hSZGk1C2vUNXjMpZ1O8rWSp +IqqJkbzxOPSMSyjNV1bvV/ifiFEWSP4o6f/Rsd4grJRIcR7WHyVgDHpLkoB1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWDXB1L9cz19LS; Fri, 9 Feb 2024 00:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41900wIL070788; Fri, 9 Feb 2024 00:00:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41900wv1070785; Fri, 9 Feb 2024 00:00:58 GMT (envelope-from git) Date: Fri, 9 Feb 2024 00:00:58 GMT Message-Id: <202402090000.41900wv1070785@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: dbc87c1ebde9 - releng/13.3 - 13.3: update to BETA2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: dbc87c1ebde93b67533bdd7815141c49a1040084 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=dbc87c1ebde93b67533bdd7815141c49a1040084 commit dbc87c1ebde93b67533bdd7815141c49a1040084 Author: Colin Percival AuthorDate: 2024-02-09 00:00:43 +0000 Commit: Colin Percival CommitDate: 2024-02-09 00:00:43 +0000 13.3: update to BETA2 Approved by: re (implicit) Sponsored by: https://www.patreon.com/cperciva --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index fcefdda1d34c..0dd1a0604180 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.3" -BRANCH="BETA1" +BRANCH="BETA2" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri Feb 9 00:38:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWFMW2Lzvz58V6r; Fri, 9 Feb 2024 00:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWFMW1W67z42pZ; Fri, 9 Feb 2024 00:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707439111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AuiJo7T0fgnn8oVMgXwKjDHswhwGxctFh/8i47ixVTg=; b=JOYwYkDQuRQa7axT6iTqOSgFo0KwffAhR5P0Swhw773j2iB9reqb+nG3wGDzGHmYv0nf/S p4Y5oKYQuFkTY3HDv2R5IMcW/ki/PjTDBsy1iyqXxETGnpwCd6JMoyZWsaEeFls8O/qqyY 1AxNzONTx8xOWDbuyeZFX89rKkYm5y8TKwUWeB44ndn5T7c+hDv+cZRSZDVREzQqGxn5M8 XLafuJ9YL29bVCmnVlxXcRr/wEn9JX4SNjufEu2dVPv1+0W4Vjmcp/QJuJ+S2tLAGbZ3n6 UwoaSz4UJyEouMamChX2nOAgO7gJcVMPRMnARLT545ozAer3zgsaoH9eziQcMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707439111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AuiJo7T0fgnn8oVMgXwKjDHswhwGxctFh/8i47ixVTg=; b=uOKwlYv0BqV6fQYWLRW/QmMk/k8k+DRxohY/aCaEDiNZmsnxzklw8kiq8WXRoVUHPAILYy KeTwkbhbw1S7ApEyXsAmR5I3uZ5wV6gIGPGeFE7MwIiahShgko/TIbo0SMC6iv6UKJPqzv TPn5WREFOSWCQ2vUy7LHO58zOHBNr3OQ5lZthA01/9cBSU3BOeKkRWAin8mOXg8OZVPyxn rS9x1qHvZYnF1RFAhuQw1tYf86kEZx5yRxPMtvanszx9kWwU87+wpzrOslMRyIomfPj8xf pLUkicNmqCW3kVExHrNkX2p+mbJcW/Obrqq1wLLYwjUeXifb3nHYPAj4ZXWoEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707439111; a=rsa-sha256; cv=none; b=Pv+bkjLy/CuclZFTb3oGPHpY+lPeO963FOb7GYsTIrFfL96Ry8U0TMtc/MuUfk654VzqHx /dj3T2keH8u6Euke88oKi5qOM49HTuI06g1kF6QqOCO/PkPfyJCyx4Xmvf4453JOQ5MxQo +1JXRt7mCLE+BsgUP4Y1+UEaAFJRiW3750aiRheJJEQ6jL5PAoZ6TKEqICIFOpJr78Wzj7 4lBUptW02XJr6OVRU176t6e4iy7I9H8iSZ4d5cuKacLlQK5CpKaarYeaFrbUXLnkzIG+Y8 cyM8SrVKR9sM0esC4q1zeYpKAGiX3au3Rpr3UHVQqShY9okXlLx78QkU1WSlnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWFMW0YDFz1B5F; Fri, 9 Feb 2024 00:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4190cUcK028061; Fri, 9 Feb 2024 00:38:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4190cUCh028058; Fri, 9 Feb 2024 00:38:30 GMT (envelope-from git) Date: Fri, 9 Feb 2024 00:38:30 GMT Message-Id: <202402090038.4190cUCh028058@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e4cfb5981d2b - stable/14 - libstdthreads: destroy mutexattr in mtx_init() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e4cfb5981d2bf54a9bf4c676f5177648644d7db6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e4cfb5981d2bf54a9bf4c676f5177648644d7db6 commit e4cfb5981d2bf54a9bf4c676f5177648644d7db6 Author: Hodong AuthorDate: 2024-02-04 10:14:22 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-09 00:38:04 +0000 libstdthreads: destroy mutexattr in mtx_init() PR: 276818 (cherry picked from commit a03f768612ad98a886458197c531a0b92203bf84) --- lib/libstdthreads/mtx.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/libstdthreads/mtx.c b/lib/libstdthreads/mtx.c index 719ba6486e41..3027a4e48c8d 100644 --- a/lib/libstdthreads/mtx.c +++ b/lib/libstdthreads/mtx.c @@ -43,7 +43,7 @@ int mtx_init(mtx_t *mtx, int type) { pthread_mutexattr_t attr; - int mt; + int mt, res; switch (type) { case mtx_plain: @@ -60,11 +60,12 @@ mtx_init(mtx_t *mtx, int type) if (pthread_mutexattr_init(&attr) != 0) return (thrd_error); - if (pthread_mutexattr_settype(&attr, mt) != 0) - return (thrd_error); - if (pthread_mutex_init(mtx, &attr) != 0) - return (thrd_error); - return (thrd_success); + res = thrd_success; + if (pthread_mutexattr_settype(&attr, mt) != 0 || + pthread_mutex_init(mtx, &attr) != 0) + res = thrd_error; + pthread_mutexattr_destroy(&attr); + return (res); } int From nobody Fri Feb 9 00:38:32 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWFMX43yyz58Tsn; Fri, 9 Feb 2024 00:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWFMX2HkMz42rK; Fri, 9 Feb 2024 00:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707439112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RvrynEqK816XTsvIw2Zz/ASaaJszYGtdUHp3v8U28jA=; b=SXuy69qt5BnHqLUaSvSMIly50Q6PEc4gYrKRvuKdx6294Io8Y3rGj6E3hJh++22upKwlLJ TF5MI7Kscw0Pi9JoPYfKF5JRlzV87ZmXz8vBXd0nnc7H0BEBnsChWfWgvOLCL9FTry3S84 Y1O+WMrjmgMy5G0zMNV3CQXPmn326nzZbtD6MebJ/88deEhhEHxJnozhk2QVQJnZMM7y/q KoPCk46VopNeprIby5/aOQTh2DSW/RWRX0lJJiADplveCqw/zPmG+3bCCqTcmWFnikhp5B Tg8hpAJxDdFJiFnMCeAxmOS5uMmZWtXM2Fb7bZTLcBWsf/KWWm1H/2Wj/7FYQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707439112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RvrynEqK816XTsvIw2Zz/ASaaJszYGtdUHp3v8U28jA=; b=QI7Fc4YwbTjEff6pP0j6IfROLlfnDBKji9JnuTG3a7K1Yqzl+cuXr6B+ZJNJjac6Hh8fNH fYVDaih9Ot1IBUfsO/thjK1YY/C3Yulizzqq/dsJah7uImGklxrtFyOaQ0D4jhnm0ndSiN j1MBtYfVU9OwMfNrQT3o45vx4Uvw1RflJG4d05SlxHz52cJF/AFufOzlYQmda6kKQH4RUf KDmOcIlxaME05u9c8sP/X4zfBlmpdgPr2mNn9VCBXjTuootPWTrranOOqIsRvCEtP+Rzyy u7IvzCsNCByCpONYMom5Ezj48k3yXyXgcWl3NjuGNGZbqu1115u5sYI0+r8GJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707439112; a=rsa-sha256; cv=none; b=atDbIHNJUxV+K/2M1mDiLzoPdibRq/toJMW2aGmJRGQH4zQ9kB+b0TpHcSde2BMgv1oCEM apiaoEWeQYxb3ujVtRbavFwUGTyfwzVXm6BNVulZ2/Mw+BCKSKTfFlqG+gUvah3xQwfBAB JXuFg3ofkKhFLxNLhqs7JNDTmKH9Qq2C4yNv9mI1ygH4CsNZmAgb2psjA3pjA4mG0fG0bD wutDi+/ukpGmMMVrJCVDjKV09bMHtmgQ9hxJUN+HjKP9fFLOMneApX0ln1n9guZcvFMJxv xc48xwExrh5ixOyT82Dsu6avjmsMHO9+KRw1uHgos6Ul73ETkY9JV06BqitpQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWFMX1NH6z1B5G; Fri, 9 Feb 2024 00:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4190cWmf028103; Fri, 9 Feb 2024 00:38:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4190cW2f028100; Fri, 9 Feb 2024 00:38:32 GMT (envelope-from git) Date: Fri, 9 Feb 2024 00:38:32 GMT Message-Id: <202402090038.4190cW2f028100@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a727d8d7f50f - stable/14 - Revert "hier.7: add /lib/casper directory" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a727d8d7f50f06a83b391428b0fa8b6436f0e210 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a727d8d7f50f06a83b391428b0fa8b6436f0e210 commit a727d8d7f50f06a83b391428b0fa8b6436f0e210 Author: Konstantin Belousov AuthorDate: 2024-02-06 04:48:16 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-09 00:38:04 +0000 Revert "hier.7: add /lib/casper directory" (cherry picked from commit 3747af1699171a1a253be02d90df176cbf5c2406) --- share/man/man7/hier.7 | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index e36d748e9325..0eeaa7beb6d1 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -25,9 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" -.Dd July 6, 2023 +.Dd February 6, 2024 .Dt HIER 7 .Os .Sh NAME @@ -149,10 +147,6 @@ and .Pa /sbin .Pp .Bl -tag -width "nvmecontrol/" -compact -.It Pa casper/ -service-specific -.Xr libcasper 3 -Capsicum support libraries .It Pa geom/ class-specific libraries for the .Xr geom 8 From nobody Fri Feb 9 15:04:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZY58g7z59qRs; Fri, 9 Feb 2024 15:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZY4NL4z4FjR; Fri, 9 Feb 2024 15:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lixe3ObWTWVpTQTGMnZT8GUZfBknVZ4Pz/ezmJfsVOs=; b=s2pUewkP+fec0ZeGENdyA4YRPpCkS81xgfSt4B4S3TLbYblOoiWiykgN8mD1fVP525BlqR JdufBoHoUZnBYBOfS7pCQ3cu0SVvGXVtAPIv99Rg1963Ekw4+quRN+b4+hCF4ou2HCOooi 6jla3HPlsZ4ZqK8Inqpj9jTFzsagGmylS1cY8nQtFENzYw+Ez54cxFsH20KoRYIOlTRSEL qA1Diso9rRYoIG6rs++FTY/v8+5IYBOyNPrl9ttpUhWO/hEKriOPI7+rv6DJOBaywKluis 4GetHrsRlCm5JkoDAnU+dpveTNHIqR0MCxJfcBjkEHxUNZYGyxjwzoApevTWXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lixe3ObWTWVpTQTGMnZT8GUZfBknVZ4Pz/ezmJfsVOs=; b=uWK8o9/7rK0yiNn1JBul/7Hn3KnclMGes6oz1rplJurVh+1flpJGCBYw2kvF1swospauNv BQEom45xXbJyvDsCGikYHAOp+1Tpf3temxyeDqQm50DTr1smtMSxMNvsA8Vy4gR88enVyb Cc6JHPt6apwKJKgEdodEKFzc7NyO2WVmu4gScAFbLTRCtGt0oJkPn5amMu35UYXScisEBA qEntNYFiWYER/vCAFzuRQ9ttXbdGS/7CjiwY2kY/NYFfbp0Ef+GnoMJbYQT7tlxyydjnFP xxpdWN7mlC7iutZ1JlxHeHnIzyRS6zaJ8m9T5E7wqkwqxCqRmnZ6SjTjanm/fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491061; a=rsa-sha256; cv=none; b=Of4RropgsAoYfZJVE9VI+aopodH3UkkKS3odq45KRtemTsk/lW2aFVR2rp3zqhJJwB0Vjv J/PbqqoFWBk4BOKCg0cdZcegJ9VjNXg8g7AbqgKvGeaA24d2X91QqLyCFlqZe/y3veQyoH 8H2R4V/bWQv+wPdgtEe4/8lGrS3Kn85QPn2jkihOVavYsKUTlDtbZ67Q+5GO1W+dif6DRg zhiDy96E0FvDSO5zetLA876uDF4L1JjiBEpaFpAzX2EHUq7yQsOAAaG1sKIWPwIe3UA3DH FxQSZVSoBAo25Z058UkVPnVoIbB8fwoOoHeIdrThc+D3xrMMKaybTrlCJnJLhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZY3QYNzdBB; Fri, 9 Feb 2024 15:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4LRn085297; Fri, 9 Feb 2024 15:04:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4LPM085294; Fri, 9 Feb 2024 15:04:21 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:21 GMT Message-Id: <202402091504.419F4LPM085294@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 324e9141068d - stable/14 - libc: Annotate a couple of local functions as such List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 324e9141068dbad8e794dc95e850c9ef982c0870 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=324e9141068dbad8e794dc95e850c9ef982c0870 commit 324e9141068dbad8e794dc95e850c9ef982c0870 Author: Mark Johnston AuthorDate: 2024-01-29 16:43:50 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:55:45 +0000 libc: Annotate a couple of local functions as such No functional change intended. MFC after: 1 week (cherry picked from commit 8d5353de74471038bd75a6cb39bf58f50a600642) --- lib/libc/net/getservent.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/net/getservent.c b/lib/libc/net/getservent.c index 8b341b5a1833..3739cf548828 100644 --- a/lib/libc/net/getservent.c +++ b/lib/libc/net/getservent.c @@ -940,7 +940,7 @@ fin: return (res); } -int +static int serv_marshal_func(char *buffer, size_t *buffer_size, void *retval, va_list ap, void *cache_mdata) { @@ -1041,7 +1041,7 @@ serv_marshal_func(char *buffer, size_t *buffer_size, void *retval, va_list ap, return (NS_SUCCESS); } -int +static int serv_unmarshal_func(char *buffer, size_t buffer_size, void *retval, va_list ap, void *cache_mdata) { From nobody Fri Feb 9 15:04:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZZ60ykz59qkB; Fri, 9 Feb 2024 15:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZZ5MNsz4FnS; Fri, 9 Feb 2024 15:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tc0XKslKsyVt5XO3K80hgTfCx26xDf5INOiHDB45iiU=; b=KP8ouEtVcvqVof+HiW3SuP44kLC3wH0FQ/OY/f+NYka0DeMK9JB4Fga8kOwuQZCr1sBpBl rMmALblVeKu5glfEhqPvk+H3F7r5wSlA4PkA4YAZ3HIwj33kmpBedYG96iKqibcwwWDAHX +XyuyI3XKG1DMJGKahA3y+ifvNwpIud0UCbxIlo323IFDn1wh7EmLHqdbRDuwjMAuY4Q0y MtfaZv6rWlusGiE9q0BxUhk7LfoYUTfIu6OU+wLZXeInnNj3NnK470IBcfgJwK4caBDVOo HXepJ7DfI9nDetYrwybPDhWsV7cIhE1vbyBBQNfp0HIUmM6h57GLADYKkDMuQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tc0XKslKsyVt5XO3K80hgTfCx26xDf5INOiHDB45iiU=; b=Z8ozbAjLThfYLVvgwC8vjlqc+AmzPdVEHui766yI9wvNkERZvEzpYxbOzbPbx/ryqIXCLg zVUcxnqtOuVZ+8t+fnVSFHKq70q/tPqj13GYQhpOpRMfwZotdhI9T9YsQDR9KTETfdV0m1 4e+lb+lyPUPa2pEipWAXwQRGFVZ6QjHw6aLfcfiMrrCehYHwM3tY7dJSlKlTp5j57WqsRZ /9Dc0x54/fyecrm7Wq8oMNw1Ox13wKuDfHyu+dCFh2huBhblGGdv81xSSS1CFPlVP3wsAM ht7YZK/WSEQSOKHFGTexa/qh/k80UGMdtzfKPPnxUZNON6GDXmX+dEEyAVr+Bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491062; a=rsa-sha256; cv=none; b=QsMzm3HMgvMof9usb6H6KWs0ZBiwW3XOAHEvfSLRIBNyyEmMihbIND/A3AUtewaeYgAYn4 C87lx69a64wH3GVVbfQvJvUMTLo9m3ws0dgsluf7wHOxMz24t+wHRco+LcUrirrdHvzu/t CwZkoymyv9nyaDwdrBBhum0u99sPpnUKIxXyw21svY6fWNHvPwIx5wO6A7UCegwKfTOSQ0 o++cCnbZ/cXdSMpQggWvVsGQmiraOFfdZZtMk7aXp/p/oG2CC6/rmqalsabvV5/ukgKJ5l 8wl7KX5Wj9M+7GB3oMsN2EQuLIdB1vPWgSFsWe6UR7m/gA8/bAUtkIFTruV1Qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZZ4S9NzdBC; Fri, 9 Feb 2024 15:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4Mbq085351; Fri, 9 Feb 2024 15:04:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4Mxh085348; Fri, 9 Feb 2024 15:04:22 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:22 GMT Message-Id: <202402091504.419F4Mxh085348@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 0a2fa7bb9cbb - stable/14 - crashinfo: Print stack traces for all on-CPU threads List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0a2fa7bb9cbb788cfe07db11071712af7cdcea93 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0a2fa7bb9cbb788cfe07db11071712af7cdcea93 commit 0a2fa7bb9cbb788cfe07db11071712af7cdcea93 Author: Mark Johnston AuthorDate: 2024-01-15 20:39:26 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:55:45 +0000 crashinfo: Print stack traces for all on-CPU threads Add a python script which implements the bulk of this functionality. Over time, this would ideally evolve into a library of python routines which can be used to inspect kernel data structures and automate some debugging tasks, similar to jhb's out-of-tree scripts, but written in a somewhat nicer language and with better integration into the kgdb command prompt. Note that kgdb currently won't auto-load scripts in this directory. This should perhaps change in the future. It probably also makes more sense to have a crashinfo.py which provides all the kgdb output that we want to include in core.txt, rather than having crashinfo.sh pipe in several commands. Reviewed by: avg, imp Discussed with: jhb MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33817 (cherry picked from commit 2524b7dfb0df7e37ea9651559ce6c027b006e2a9) --- etc/mtree/BSD.usr.dist | 2 ++ libexec/Makefile | 1 + libexec/kgdb/Makefile | 5 ++++ libexec/kgdb/acttrace.py | 63 +++++++++++++++++++++++++++++++++++++++++ usr.sbin/crashinfo/crashinfo.sh | 8 ++++-- 5 files changed, 76 insertions(+), 3 deletions(-) diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index 83d8de034caf..a7738aaf6f78 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -161,6 +161,8 @@ .. hyperv .. + kgdb + .. lpr ru .. diff --git a/libexec/Makefile b/libexec/Makefile index 795250dddfdb..bd1571edcfe4 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -12,6 +12,7 @@ SUBDIR= ${_atf} \ flua \ getty \ ${_hyperv} \ + kgdb \ ${_mail.local} \ ${_makewhatis.local} \ ${_mknetid} \ diff --git a/libexec/kgdb/Makefile b/libexec/kgdb/Makefile new file mode 100644 index 000000000000..f6b255ab4f60 --- /dev/null +++ b/libexec/kgdb/Makefile @@ -0,0 +1,5 @@ +FILESDIR?= /usr/libexec/kgdb + +FILES= acttrace.py + +.include diff --git a/libexec/kgdb/acttrace.py b/libexec/kgdb/acttrace.py new file mode 100644 index 000000000000..3229ff708de1 --- /dev/null +++ b/libexec/kgdb/acttrace.py @@ -0,0 +1,63 @@ +#- +# Copyright (c) 2022 The FreeBSD Foundation +# +# This software was developed by Mark Johnston under sponsorship from the +# FreeBSD Foundation. +# + +import gdb + + +def symval(name): + return gdb.lookup_global_symbol(name).value() + + +def tid_to_gdb_thread(tid): + for thread in gdb.inferiors()[0].threads(): + if thread.ptid[2] == tid: + return thread + else: + return None + + +def all_pcpus(): + mp_maxid = symval("mp_maxid") + cpuid_to_pcpu = symval("cpuid_to_pcpu") + + cpu = 0 + while cpu <= mp_maxid: + pcpu = cpuid_to_pcpu[cpu] + if pcpu: + yield pcpu + cpu = cpu + 1 + + +class acttrace(gdb.Command): + def __init__(self): + super(acttrace, self).__init__("acttrace", gdb.COMMAND_USER) + + def invoke(self, arg, from_tty): + # Save the current thread so that we can switch back after. + curthread = gdb.selected_thread() + + for pcpu in all_pcpus(): + td = pcpu['pc_curthread'] + tid = td['td_tid'] + + gdb_thread = tid_to_gdb_thread(tid) + if gdb_thread is None: + print("failed to find GDB thread with TID {}".format(tid)) + else: + gdb_thread.switch() + + p = td['td_proc'] + print("Tracing command {} pid {} tid {} (CPU {})".format( + p['p_comm'], p['p_pid'], td['td_tid'], pcpu['pc_cpuid'])) + gdb.execute("bt") + print() + + curthread.switch() + + +# Registers the command with gdb, doesn't do anything. +acttrace() diff --git a/usr.sbin/crashinfo/crashinfo.sh b/usr.sbin/crashinfo/crashinfo.sh index 9a3d26020654..3bb1e1456462 100755 --- a/usr.sbin/crashinfo/crashinfo.sh +++ b/usr.sbin/crashinfo/crashinfo.sh @@ -215,13 +215,15 @@ echo sed -ne '/^ Panic String: /{s//panic: /;p;}' $INFO echo -# XXX: /bin/sh on 7.0+ is broken so we can't simply pipe the commands to -# kgdb via stdin and have to use a temporary file instead. file=`mktemp /tmp/crashinfo.XXXXXX` if [ $? -eq 0 ]; then + scriptdir=/usr/libexec/kgdb + echo "bt -full" >> $file + echo "source ${scriptdir}/acttrace.py" >> $file + echo "acttrace" >> $file echo "quit" >> $file - ${GDB%gdb}kgdb $KERNEL $VMCORE < $file + ${GDB%gdb}kgdb -q $KERNEL $VMCORE < $file rm -f $file echo fi From nobody Fri Feb 9 15:04:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZc1XjRz59qm6; Fri, 9 Feb 2024 15:04:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZb6hHkz4FX2; Fri, 9 Feb 2024 15:04:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vru+IA+xmJKnHYDkpyTTd5r97f7W9fUz6jh4epm+mv8=; b=Mqwt3/X8cr8mZzSj/O18tPRvXHPfy7/NAc9A+DCOLRLC11TIrDa8U49sUTKHXnFSQACgbL 0JRhqxKqWikIQfnnHAG6c04Ff7bUR3O6QkRTkhPdqBsx/qCoM3/PtSBVdG2V8nrD8gPz0L M9wimcmd/2Jt5KNdG+1IKyBz+EDZ93jjykZgGLB/MjJGI0ZUI60wj8decsqxRa4MtGbym/ P6TSDgseWMeMx1zR87970mEgDpsH1/Ucp6yuIVFWWulKmH1POdmVZ7Y9q3UzG+DwPGKPSy l1sgDchq+qYwL+v2U0foQ23UUWKSrTmz4omaulUGkKdNgC7fZdKdiGNCnjyoPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vru+IA+xmJKnHYDkpyTTd5r97f7W9fUz6jh4epm+mv8=; b=yzscVm3q/C0/oi11AjRiURAGRmsN0XWWVGbxp+GJgX50jk/nVDLwzfO35Wr5FrQ2uZd/4+ Bno7anm4kfc/X7jd6/WwHjbBFDtsyKmFsXprPYLKud1uDjEJ412lIYpilp/GDbJH0UR1ox E1R3RpkBrJtGT3X4NJiGiBSH19CxvIcnzr62hvHPeUcToV4l3RjtHWA8QDfWIRyyqtImmj 2T9aozXusiTpG16sheUl9Lj2LGr6PDf9kFpC2YoHIr2mu1ff56VDk/YmTS1/bGKeofj0Hn YfKmsH05X0qAuA3I8AUxz/4oe4w01keuy7MqNE4ufq6els6bnMSkZBSpjoBtSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491063; a=rsa-sha256; cv=none; b=tQG7+5cupzvRFzB4XYhZ5uFkBXncBFJo6uboFkhRH8DvcF70QvWi6pU1lrDFte3lFJ/z6E yInkmwIqpswtv8lfVskBFlpGvGfimxyy0fni1NKmGKMGnmqrwcGo4od/sCXSucNUMkQjZb HTDGgM+hA/bvsv6w3KS6jA3F6WSxFJ7DkJHicBV6lvjFWVD+LoVMvbB9pAUs41PjDhTPM3 Gy5Km99sGNVnfhAbMjQPGjioGUqUHA0tdOVrK16np52uO8J6omBxwe2tpSn4u8IV+DYC15 2qpKeiPWGOJKi1nf4vbzWvHdnTJF+51h3Y/kGAYnaUT0FefniwQNMt7Cxh+Zng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZb5WNwzdBD; Fri, 9 Feb 2024 15:04:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4NOc085408; Fri, 9 Feb 2024 15:04:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4NSP085405; Fri, 9 Feb 2024 15:04:23 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:23 GMT Message-Id: <202402091504.419F4NSP085405@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: fe44b0cae643 - stable/14 - scsi_cd: Use a bool for the second parameter of cdcheckmedia() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fe44b0cae643c8f5aa9b6c97a0b8f2c1e073c5d4 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fe44b0cae643c8f5aa9b6c97a0b8f2c1e073c5d4 commit fe44b0cae643c8f5aa9b6c97a0b8f2c1e073c5d4 Author: Mark Johnston AuthorDate: 2024-01-30 01:00:13 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:55:45 +0000 scsi_cd: Use a bool for the second parameter of cdcheckmedia() No functional change intended. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43525 (cherry picked from commit b1710124ff14f96db4c2a8fa37fc7c7b433fb176) --- sys/cam/scsi/scsi_cd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index 9891110e6b3d..d3299486ac2d 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -263,7 +263,7 @@ static union cd_pages *cdgetpage(struct cd_mode_params *mode_params); static int cdgetpagesize(int page_num); static void cdprevent(struct cam_periph *periph, int action); static void cdmediaprobedone(struct cam_periph *periph); -static int cdcheckmedia(struct cam_periph *periph, int do_wait); +static int cdcheckmedia(struct cam_periph *periph, bool do_wait); #if 0 static int cdsize(struct cam_periph *periph, uint32_t *size); #endif @@ -774,7 +774,7 @@ cdopen(struct disk *dp) * if we don't have media, but then we don't allow anything but the * CDIOCEJECT/CDIOCCLOSE ioctls if there is no media. */ - cdcheckmedia(periph, /*do_wait*/ 1); + cdcheckmedia(periph, /*do_wait*/ true); CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("leaving cdopen\n")); cam_periph_unhold(periph); @@ -880,7 +880,7 @@ cdstrategy(struct bio *bp) * check first. The I/O will get executed after the media check. */ if ((softc->flags & CD_FLAG_VALID_MEDIA) == 0) - cdcheckmedia(periph, /*do_wait*/ 0); + cdcheckmedia(periph, /*do_wait*/ false); else xpt_schedule(periph, CAM_PRIORITY_NORMAL); @@ -1782,7 +1782,7 @@ cdioctl(struct disk *dp, u_long cmd, void *addr, int flag, struct thread *td) && ((cmd != CDIOCCLOSE) && (cmd != CDIOCEJECT)) && (IOCGROUP(cmd) == 'c')) { - error = cdcheckmedia(periph, /*do_wait*/ 1); + error = cdcheckmedia(periph, /*do_wait*/ true); if (error != 0) { cam_periph_unhold(periph); cam_periph_unlock(periph); @@ -2683,7 +2683,7 @@ cdmediaprobedone(struct cam_periph *periph) */ static int -cdcheckmedia(struct cam_periph *periph, int do_wait) +cdcheckmedia(struct cam_periph *periph, bool do_wait) { struct cd_softc *softc; int error; From nobody Fri Feb 9 15:04:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZd2wd5z59qkF; Fri, 9 Feb 2024 15:04:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZd0KCWz4Fjr; Fri, 9 Feb 2024 15:04:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SktiGVXUU59CmcQJfVh3K+6yIaVAAle4RclAWLQf4fg=; b=HltDEme7UW48PN2z4X1FiLsnzq5RJSNgTHK7EEmXbgxlBKDs88F5AadHwmEJnGr1f4JWWR X7Kb1zOgL63QLJtBQ+yJtoNCcNj8k4Ttm+QwDf/O2zx0O/7FqkJlEq4Dow61NDN72qdewi IM22jJEpTlCqSzgVeC/wwbkRqierefoL+391aXE0xE8zCx+eofM9fQqiQHAVt5iWIia2wf euK89PB/M5mjXWs5d/I7LoVSd3sfCq7mRABkAr+O9S3VwykW7UugY5JLR0oKweu6VyYFSK uK8OOcnJmWZOgFFAMqx5EhNUdOcgIZKtCuEEhK6MFPWnXydmzOAgiJGDPyM/DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SktiGVXUU59CmcQJfVh3K+6yIaVAAle4RclAWLQf4fg=; b=Wn0Qpf/tJYnq8J1a8+ix4FvQrDRtOaKITz0rj/gf9WYV86x1tpPqa/IvLI/ULP9QHdct+y 4uZUYNWWq8Ya6/pWDVHcVfxHIWsZx/UtIWLeMB3wL0JB6phptT2CHZw3GDwqHfo5aEwirb bWktz0f1y/0p1ceXBAQeyW1g8N+ysBBpmqi6wragQyw6zGKjyzZTQfBCiQOfp025CHzxV7 qfhqSbcamrijpnsgpXR3gXzcQ+876/7DQeZPtlcPu+kfo2pvYJSczAmh6HFodp7B03914+ aUYmooenXn5iAZL3pIDpvavsuOIhtuLzzkB2fgtXfNDr7AopU5XJCaTyfGikKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491065; a=rsa-sha256; cv=none; b=sXrUTaz4zK75QqhK3Kcm5J3hJY7IJxept8v4KoSAqsCplViYkW/T+VUlQ8bzKqq03PffKw 0S7lOZPcgcFTvGIwxTnp8a1IXpsNsmt6HTwD3CCPY4hwrEIXSCYqebfRKYk3rM2R7fIr3H POUit+/kcICaSRbTXXVuv73+DOc+93/VtOTU/h+EB1TLtrWXgEcp1GAV+rhkLUQ1ZLuUkG zdoNVnbnN1Qc+kowO4VuktaXCqZ+qbJLiWH6bcvZFUZKgplzD7bbRhmXkzGoIuwjoM+YUZ Tr4xkgzPCMsBmyJppZkzQj0o/4r2mI6kg0AQyewmq27wT+SevNHwg+fyAuRNmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZc6XX9zdGX; Fri, 9 Feb 2024 15:04:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4ObR085463; Fri, 9 Feb 2024 15:04:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4OwA085461; Fri, 9 Feb 2024 15:04:24 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:24 GMT Message-Id: <202402091504.419F4OwA085461@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 212af7b6133a - stable/14 - scsi_cd: Maintain a periph reference during media checks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 212af7b6133a60382e62237bb3e99cf63342d157 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=212af7b6133a60382e62237bb3e99cf63342d157 commit 212af7b6133a60382e62237bb3e99cf63342d157 Author: Mark Johnston AuthorDate: 2024-01-30 01:01:12 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:55:45 +0000 scsi_cd: Maintain a periph reference during media checks Otherwise nothing prevents the asynchronous media check state machine from running after the periph has been destroyed, which can result in a double free. Acquire the reference even when performing a synchronous check, since that doesn't hurt and keeps things simpler. PR: 276251 Reviewed by: imp Fixes: dd78f43259ef ("scsi_cd: make the media check asynchronous") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43525 (cherry picked from commit c961afe82596bdeb7e6a8626f02ddb181c8a24b6) --- sys/cam/scsi/scsi_cd.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index d3299486ac2d..bfc91fad6390 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -2675,6 +2675,7 @@ cdmediaprobedone(struct cam_periph *periph) softc->flags &= ~CD_FLAG_MEDIA_WAIT; wakeup(&softc->toc); } + cam_periph_release_locked(periph); } /* @@ -2692,31 +2693,29 @@ cdcheckmedia(struct cam_periph *periph, bool do_wait) softc = (struct cd_softc *)periph->softc; error = 0; - if ((do_wait != 0) - && ((softc->flags & CD_FLAG_MEDIA_WAIT) == 0)) { + /* Released by cdmediaprobedone(). */ + error = cam_periph_acquire(periph); + if (error != 0) + return (error); + + if (do_wait) softc->flags |= CD_FLAG_MEDIA_WAIT; - } if ((softc->flags & CD_FLAG_MEDIA_SCAN_ACT) == 0) { softc->state = CD_STATE_MEDIA_PREVENT; softc->flags |= CD_FLAG_MEDIA_SCAN_ACT; xpt_schedule(periph, CAM_PRIORITY_NORMAL); } - - if (do_wait == 0) - goto bailout; + if (!do_wait) + return (0); error = msleep(&softc->toc, cam_periph_mtx(periph), PRIBIO,"cdmedia",0); - if (error != 0) - goto bailout; - /* * Check to see whether we have a valid size from the media. We * may or may not have a valid TOC. */ - if ((softc->flags & CD_FLAG_VALID_MEDIA) == 0) + if (error == 0 && (softc->flags & CD_FLAG_VALID_MEDIA) == 0) error = EINVAL; -bailout: return (error); } From nobody Fri Feb 9 15:04:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZf2NTDz59qm8; Fri, 9 Feb 2024 15:04:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZf1K7fz4FRc; Fri, 9 Feb 2024 15:04:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5u7SoHs5X8u1dHkUwDG/fBxw49U+e88l2hpMmdurYW0=; b=yc1m6g1Ga6QN6jRbgW7Axj4ZNFvRjwdbnrSh/5gQRGvRr92+3rWDWTA+1CFEDt9I9AGSBL alTrXz10l/V2k53Vq1FtmkE7qN6VZkDnfeoowHJPf53B4nMY93PGDXMor5IZ9wag47h8D6 7gru0LP5nX+wbPRAqat0+qv3sQrtn0kDT4gsvITO0HgLOJmiFIckaFa+67dq9ngmEmjp80 D4rqYDGeLU7IzQ60ZKDWXG/Ey2ederB/2Y5NRDC/tM7VRj7R8sB4w2VKYiHrQrLOMY2NKv bXKpqXZLqtC0867R/orS1BuhZ5lk5+P7jOR+yBNs9KDRc7c2NrG+rXk1Qmp/iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5u7SoHs5X8u1dHkUwDG/fBxw49U+e88l2hpMmdurYW0=; b=VAmCk1yJaevmuhoZT0zoZ3vidWPEzfMFb2+2UEu7g9OW8QSyAv0EzTSHf/VpMbjgFwp3u8 9dRZwCH3Ssu1/ROpzqGt3j/wjBJsDo8uHIppD/p+i7g8NpjKXzDXPtHhqLeHMbUExgETxe ObwF1R27SnZd1iqga2rUX2OajnAWsy64miYB6ZgA9LsJOx1zvljaOySo7JSmQeHf8DmVhW xBQzRcWcgisaM+9ooqgqyX1J08tP8imwcJ64FY8CFWuZs/inZIBYy/+CeGmU1mtLmzU/Im y5pHp/gscltR8aNaVnbH9gY6HvuFP+xb2gdipYurRG7W41yh8p7YW+LPwPjkRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491066; a=rsa-sha256; cv=none; b=Z9RNfxOsxc1b2/bGspzhJvbOE5pB0W6vIwQ5sS1h0t6qNhOIJzy+F4wWwC/odVrBtL4nBq uDUBAIdsA/kxnmtrO/aWOdo7kpGX7Ad50nxqZJAIbIpjJFd/XouIj65BV+3kE6dN0vXCry Xww+1eEQ233BWum52bfwoIbqsYnUk/0rYTcpFflzQpb/ywzTKfZQR8DBw5eNOX3thXYZ9k kQPWCX9RHKY9dJR0tOZ+gEhl8TQ14MlrWCcbiTiYfinhijBc/nAeCcXAqBGEXvyelcbhsY 0/gPoX5/5QhfRjOO4ZOs6WaGoAo+FMbvL0cJRHa4Xkqn1RTRnmttwZjcG/JuVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZf0QzdzdGY; Fri, 9 Feb 2024 15:04:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4PSY085505; Fri, 9 Feb 2024 15:04:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4PaC085502; Fri, 9 Feb 2024 15:04:25 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:25 GMT Message-Id: <202402091504.419F4PaC085502@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: c50eeb321be0 - stable/14 - scsi_cd: Remove commented-out code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c50eeb321be0b795d2a02d3e7a0e27e246d99dff Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c50eeb321be0b795d2a02d3e7a0e27e246d99dff commit c50eeb321be0b795d2a02d3e7a0e27e246d99dff Author: Mark Johnston AuthorDate: 2024-01-21 15:19:42 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:55:45 +0000 scsi_cd: Remove commented-out code This is left over from before the implementation of asynchronous media probing, which was committed in dd78f43259ef ("scsi_cd: make the media check asynchronous") quite a while ago now. No functional change intended. MFC after: 1 week Reviewed by: imp, avg Differential Revision: https://reviews.freebsd.org/D43650 (cherry picked from commit 0c0ec5c8cc482e68e17e2389df4e550f65242985) --- sys/cam/scsi/scsi_cd.c | 201 ------------------------------------------------- 1 file changed, 201 deletions(-) diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index bfc91fad6390..da6d25ad0031 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -264,9 +264,6 @@ static int cdgetpagesize(int page_num); static void cdprevent(struct cam_periph *periph, int action); static void cdmediaprobedone(struct cam_periph *periph); static int cdcheckmedia(struct cam_periph *periph, bool do_wait); -#if 0 -static int cdsize(struct cam_periph *periph, uint32_t *size); -#endif static int cd6byteworkaround(union ccb *ccb); static int cderror(union ccb *ccb, uint32_t cam_flags, uint32_t sense_flags); @@ -2720,204 +2717,6 @@ cdcheckmedia(struct cam_periph *periph, bool do_wait) return (error); } -#if 0 -static int -cdcheckmedia(struct cam_periph *periph) -{ - struct cd_softc *softc; - struct ioc_toc_header *toch; - struct cd_toc_single leadout; - uint32_t size, toclen; - int error, num_entries, cdindex; - - softc = (struct cd_softc *)periph->softc; - - cdprevent(periph, PR_PREVENT); - softc->disk->d_sectorsize = 2048; - softc->disk->d_mediasize = 0; - - /* - * Get the disc size and block size. If we can't get it, we don't - * have media, most likely. - */ - if ((error = cdsize(periph, &size)) != 0) { - softc->flags &= ~(CD_FLAG_VALID_MEDIA|CD_FLAG_VALID_TOC); - cdprevent(periph, PR_ALLOW); - return (error); - } else { - softc->flags |= CD_FLAG_SAW_MEDIA | CD_FLAG_VALID_MEDIA; - softc->disk->d_sectorsize = softc->params.blksize; - softc->disk->d_mediasize = - (off_t)softc->params.blksize * softc->params.disksize; - } - - /* - * Now we check the table of contents. This (currently) is only - * used for the CDIOCPLAYTRACKS ioctl. It may be used later to do - * things like present a separate entry in /dev for each track, - * like that acd(4) driver does. - */ - bzero(&softc->toc, sizeof(softc->toc)); - toch = &softc->toc.header; - /* - * We will get errors here for media that doesn't have a table of - * contents. According to the MMC-3 spec: "When a Read TOC/PMA/ATIP - * command is presented for a DDCD/CD-R/RW media, where the first TOC - * has not been recorded (no complete session) and the Format codes - * 0000b, 0001b, or 0010b are specified, this command shall be rejected - * with an INVALID FIELD IN CDB. Devices that are not capable of - * reading an incomplete session on DDC/CD-R/RW media shall report - * CANNOT READ MEDIUM - INCOMPATIBLE FORMAT." - * - * So this isn't fatal if we can't read the table of contents, it - * just means that the user won't be able to issue the play tracks - * ioctl, and likely lots of other stuff won't work either. They - * need to burn the CD before we can do a whole lot with it. So - * we don't print anything here if we get an error back. - */ - error = cdreadtoc(periph, 0, 0, (uint8_t *)toch, sizeof(*toch), - SF_NO_PRINT); - /* - * Errors in reading the table of contents aren't fatal, we just - * won't have a valid table of contents cached. - */ - if (error != 0) { - error = 0; - bzero(&softc->toc, sizeof(softc->toc)); - goto bailout; - } - - if (softc->quirks & CD_Q_BCD_TRACKS) { - toch->starting_track = bcd2bin(toch->starting_track); - toch->ending_track = bcd2bin(toch->ending_track); - } - - /* Number of TOC entries, plus leadout */ - num_entries = (toch->ending_track - toch->starting_track) + 2; - - if (num_entries <= 0) - goto bailout; - - toclen = num_entries * sizeof(struct cd_toc_entry); - - error = cdreadtoc(periph, CD_MSF_FORMAT, toch->starting_track, - (uint8_t *)&softc->toc, toclen + sizeof(*toch), - SF_NO_PRINT); - if (error != 0) { - error = 0; - bzero(&softc->toc, sizeof(softc->toc)); - goto bailout; - } - - if (softc->quirks & CD_Q_BCD_TRACKS) { - toch->starting_track = bcd2bin(toch->starting_track); - toch->ending_track = bcd2bin(toch->ending_track); - } - /* - * XXX KDM is this necessary? Probably only if the drive doesn't - * return leadout information with the table of contents. - */ - cdindex = toch->starting_track + num_entries -1; - if (cdindex == toch->ending_track + 1) { - error = cdreadtoc(periph, CD_MSF_FORMAT, LEADOUT, - (uint8_t *)&leadout, sizeof(leadout), - SF_NO_PRINT); - if (error != 0) { - error = 0; - goto bailout; - } - softc->toc.entries[cdindex - toch->starting_track] = - leadout.entry; - } - if (softc->quirks & CD_Q_BCD_TRACKS) { - for (cdindex = 0; cdindex < num_entries - 1; cdindex++) { - softc->toc.entries[cdindex].track = - bcd2bin(softc->toc.entries[cdindex].track); - } - } - - softc->flags |= CD_FLAG_VALID_TOC; - - /* If the first track is audio, correct sector size. */ - if ((softc->toc.entries[0].control & 4) == 0) { - softc->disk->d_sectorsize = softc->params.blksize = 2352; - softc->disk->d_mediasize = - (off_t)softc->params.blksize * softc->params.disksize; - } - -bailout: - - /* - * We unconditionally (re)set the blocksize each time the - * CD device is opened. This is because the CD can change, - * and therefore the blocksize might change. - * XXX problems here if some slice or partition is still - * open with the old size? - */ - if ((softc->disk->d_devstat->flags & DEVSTAT_BS_UNAVAILABLE) != 0) - softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE; - softc->disk->d_devstat->block_size = softc->params.blksize; - - return (error); -} - -static int -cdsize(struct cam_periph *periph, uint32_t *size) -{ - struct cd_softc *softc; - union ccb *ccb; - struct scsi_read_capacity_data *rcap_buf; - int error; - - CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("entering cdsize\n")); - - softc = (struct cd_softc *)periph->softc; - - ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL); - - /* XXX Should be M_WAITOK */ - rcap_buf = malloc(sizeof(struct scsi_read_capacity_data), - M_SCSICD, M_NOWAIT | M_ZERO); - if (rcap_buf == NULL) - return (ENOMEM); - - scsi_read_capacity(&ccb->csio, - /*retries*/ cd_retry_count, - /*cbfcnp*/NULL, - MSG_SIMPLE_Q_TAG, - rcap_buf, - SSD_FULL_SIZE, - /* timeout */20000); - - error = cdrunccb(ccb, cderror, /*cam_flags*/CAM_RETRY_SELTO, - /*sense_flags*/SF_RETRY_UA|SF_NO_PRINT); - - xpt_release_ccb(ccb); - - softc->params.disksize = scsi_4btoul(rcap_buf->addr) + 1; - softc->params.blksize = scsi_4btoul(rcap_buf->length); - /* Make sure we got at least some block size. */ - if (error == 0 && softc->params.blksize == 0) - error = EIO; - /* - * SCSI-3 mandates that the reported blocksize shall be 2048. - * Older drives sometimes report funny values, trim it down to - * 2048, or other parts of the kernel will get confused. - * - * XXX we leave drives alone that might report 512 bytes, as - * well as drives reporting more weird sizes like perhaps 4K. - */ - if (softc->params.blksize > 2048 && softc->params.blksize <= 2352) - softc->params.blksize = 2048; - - free(rcap_buf, M_SCSICD); - *size = softc->params.disksize; - - return (error); - -} -#endif - static int cd6byteworkaround(union ccb *ccb) { From nobody Fri Feb 9 15:04:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZg439Xz59qmD; Fri, 9 Feb 2024 15:04:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZg2HPrz4FTS; Fri, 9 Feb 2024 15:04:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k5wlSsehDB3+pzF45/KNOqtQLQ2WIP/614he4cN2TAo=; b=wgR3bINZBUG2DKWf+lAOiIwfha9iChoCwCI/zZM9cyaCIYKLwnZZrf6GP3hFYF+Q5dgOGL kBwai/7PKjahiBcIqXVu0QIRlgNynPngmCRYsnO3EVNt9KwcP7K9H5K+tJ3r4QeLWUry8t crhoAVEs3sZjIYCEoSRDrhU7evKJsEwZnN+SjFUBktYEasM5LWWT6lotDxILyTHeeXFcNf GpI2mm1GlNaniSdc9H8mhSNwIl9iHIHGVV6btwny+KHEJ7ayM6v4zEE8xgAAm9SLTw4HMe 8D1MrRkBUq7WNFM+nCpMEKm3TWwbKLipFS6J6yGvb2BrMhkN3PNb+pSqnXn+CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k5wlSsehDB3+pzF45/KNOqtQLQ2WIP/614he4cN2TAo=; b=Pclg16r39xN330BhIeFAKx5bL0oEo0t5YqgwpCzBXvwI3kLqkjyhhy/5so/OTQQFEeQiuM VhE39gvqlii+fTQeXRLa6lSlsdr17HqJcD4LvYRyPyqdSDMQHF3uCtXKaRUURTsBYHHpaC seQFTR52xJi/ZEapbOX0u9qkq8xtqZ0/+FjmxgC97x5Jy1f0IaKzjQANQVBNF3RCOmiXzU 3huAuPKYj/LOUTRONTSBc/is7YuPJQSoqpEo/SnCg7gK/NOWmJgRnastLl0pH9KvKLaw94 DPKHAmEIjN1A26YUgUxB8pn/vLysYsh4wjJ4yJYPwwh1kJTAKjeudhDYCSXHlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491067; a=rsa-sha256; cv=none; b=MBk6r5/y+Td2Gtf7JE7htLXUv96KNoqetFJJYqSqFTGccr4I5UCKDoYi6PZaSkpu6bznL8 0TFUDuQouGsSsKIW2ms6M2jcALkoB8wpreQ9VU+QcKMqOC8iIDFCOk/pLf0jaCTghmqaWj Epayn59o2F9nRl1xfhoVf1Xm8r7QgnBKXwyxyVnIFVGw7VE6o8/1hEEAJuJrgbgfE6useX 8qF5DA6S0RhzqwsDbOJEBlzOoVs8pBypbBSph7TJvP9oWu13NOtJUlNBX8KluMtRX0OcTn Uunf3yXjE47JiImGWPHhAeuEME6SJtXxxK55l7PU4M8I6tfp6GEzGlI34hHWKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZg1PCwzd7f; Fri, 9 Feb 2024 15:04:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4RDs085562; Fri, 9 Feb 2024 15:04:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4R23085559; Fri, 9 Feb 2024 15:04:27 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:27 GMT Message-Id: <202402091504.419F4R23085559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d146da5d08d4 - stable/14 - libthr: Force the thr_wake() symbol to be resolved during initialization List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d146da5d08d432b455d717e03d9130be166b8edb Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d146da5d08d432b455d717e03d9130be166b8edb commit d146da5d08d432b455d717e03d9130be166b8edb Author: Mark Johnston AuthorDate: 2024-02-02 14:23:53 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:55:46 +0000 libthr: Force the thr_wake() symbol to be resolved during initialization Otherwise the lock upgrade performed by rtld's load_filtees() can result in infinite recursion, wherein: 1. _rtld_bind() acquires the bind read lock, 2. the source DSO's filtees haven't been loaded yet, so the lock upgrade in load_filtees() cause rtld to jump to _rtld_bind() and release the bind lock, 3. _thr_rtld_lock_release() calls _thr_ast(), which calls thr_wake(), which hasn't been resolved yet, 4. _rtld_bind() acquires the bind read lock in order to resolve thr_wake(), 5. ... See the linked pull request for an instance of this problem arising with libsys. That particular instance is also worked around by commit e7951d0b04e6. Reported by: brooks Reviewed by: kib Pull Request: https://github.com/freebsd/freebsd-src/pull/908 MFC after: 1 week Sponsored by: Innovate UK (cherry picked from commit 36f0a34ca645d49ec79d60ea7e773374ef0991ea) --- lib/libthr/thread/thr_rtld.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libthr/thread/thr_rtld.c b/lib/libthr/thread/thr_rtld.c index 9026abf941e2..767b4735e1fa 100644 --- a/lib/libthr/thread/thr_rtld.c +++ b/lib/libthr/thread/thr_rtld.c @@ -238,6 +238,7 @@ _thr_rtld_init(void) mprotect(NULL, 0, 0); _rtld_get_stack_prot(); + thr_wake(-1); li.rtli_version = RTLI_VERSION; li.lock_create = _thr_rtld_lock_create; From nobody Fri Feb 9 15:04:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZh4Vgjz59qs4; Fri, 9 Feb 2024 15:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZh3Kppz4FTp; Fri, 9 Feb 2024 15:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ft/vioNek+vxrpSw5OgCOrmkUv7CbBbZwtT/Izowp8I=; b=PnEBfL5SQpUclIk0inO4Y1B0PBcKndnAFGJ4vcDUmhSuCLbCSafTHAF4s7fRLn9RhKIfFM yXK0DLCNeoTRTjuOB/WW9ScymliP6rbXV4ChKkRgdOgM58tD3sCHGHPAex7axPQAQ//aiP JBO+M636sM1CN2BUyH37+plIFhMuoUZE8uiyO4Zt5RwEsFNdu3/HXm0Y4OFfEtNin7WHdd WFZ8ABOB2x3j7tO3S7n1c47vYY9ElwFyrysngiyyAYoexEmCnHetH3k2cOann3sjpU9xoN 9zG9tvESlH/6udNU/Er4yt8f6iCDQ2cdtJPPyAQmwRg+oQvHItFDGahalldg1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ft/vioNek+vxrpSw5OgCOrmkUv7CbBbZwtT/Izowp8I=; b=Rfb3Kl+VFlhY7TO8D1GDPG0/hWVemWfV8Q5HXX9dO9sucPQ8JV3jLeJZs1M/HUY6lgWWa0 DOvDH5d1HCE2e3cO3VKlJBI0S4+GqgOI/hKMzHIgbPEv5VxMB6SXXVbash1jj42xVBFpPe Tir0PGTErL0AE+7U4oZtKNjGc1CndvHvDMuY15EPH7JPfxnOALAPsLtFQxUebbDtVPP1Hp CWMiBQbn+K3eX62N+EWQklc7Q6fXWTl7ULqPYvJaOVfW2sN2f3xVcFoDfvIt1/VOgpB24n oJcX4KBYQmR4CMbNQaUsodxk7H8ThmXx4fmS4UJqBhMwrwKmXajBtYOqNGgGeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491068; a=rsa-sha256; cv=none; b=qZj68RQjg0VVb2E7m+M77E9zlPyaiiIfCJF08fdTtIJZrwZfOKLHCTQUIeeQSrkxcr6lHE 1uEX/LS0QXM4+fJXfOY3JCPT4EbtFHL4jFNuoRyJFECHao+CCB25/kXsn7+FblWRwBy5SE rql8hBBfqo/ppEclJV4bt/MCBJWHOIITazXNY7sPv0McSfqESGqo/agAON4p8a0xVfMret dsyxoNW50/MQJU3qlluYUDR/MmxmO0JnXn6e1f0dTC+2J0GBaZWV64CVTa5LpkMHgdrotd 18AiU6qVOs+YJ8ioY39HTKMVqcJ31bSB1p5tz2uc0ENn0Eog00i+oLgtVplyZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZh2GFLzdBF; Fri, 9 Feb 2024 15:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4SUg085606; Fri, 9 Feb 2024 15:04:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4SCX085603; Fri, 9 Feb 2024 15:04:28 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:28 GMT Message-Id: <202402091504.419F4SCX085603@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 323226829ae7 - stable/14 - rtld-elf: Avoid unnecessary lock_restart_for_upgrade() calls List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 323226829ae79094a29198efcc6913a7b48c05ca Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=323226829ae79094a29198efcc6913a7b48c05ca commit 323226829ae79094a29198efcc6913a7b48c05ca Author: Mark Johnston AuthorDate: 2024-02-01 22:43:05 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:55:56 +0000 rtld-elf: Avoid unnecessary lock_restart_for_upgrade() calls In order to atomically upgrade the rtld bind lock, load_filtees() may trigger a longjmp back to _rtld_bind() so that the binding can be done with the write lock held. However, the write lock is only needed when filtee objects haven't already been loaded, so move the lock_restart_for_upgrade() call to avoid unnecessary lock upgrades when a filtee is defined. Reviewed by: kib Tested by: brooks MFC after: 1 week Sponsored by: Innovate UK (cherry picked from commit e7951d0b04e6464b37264b8166b1e9ce368a9f1d) --- libexec/rtld-elf/rtld.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 0bbd8104e11b..37c016299a66 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -2573,8 +2573,8 @@ static void load_filtees(Obj_Entry *obj, int flags, RtldLockState *lockstate) { - lock_restart_for_upgrade(lockstate); if (!obj->filtees_loaded) { + lock_restart_for_upgrade(lockstate); load_filtee1(obj, obj->needed_filtees, flags, lockstate); load_filtee1(obj, obj->needed_aux_filtees, flags, lockstate); obj->filtees_loaded = true; From nobody Fri Feb 9 15:04:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWcZj5mDJz59qhH; Fri, 9 Feb 2024 15:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWcZj40WPz4G0V; Fri, 9 Feb 2024 15:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WbfpFQINZ6WcjLANn7dqH4XD1O0ZNtDELzw3kEYSjYg=; b=gbshKV453G2NulI5e6KwZC52Kjlq56U76vwbJUuyAi8pBWlf9NAuO9Nb2ZWFr0NdUbeWRT cvAIr7q4tCJ0D/3dl5xdGLzpenLJhrEfe3UHzleYD9+FaWD3twCEqyN/H/eZUUSoG859Mr CI74M2tVvWeB0wxjUkc6gDw2ixHN3gR6zJlHkoqrOtNfVGCou0NEWNZkfp5FvJZ4ba+2Up B+ZDn+fxoeo2J+nXpIRsXFv7zZE6vRUBklphcVemmIEJbdDLqULyx8oNXxaUzBM5g4nAb5 BkUZsYlN+5t3mJTl1vMsQ+jOmc0J7a7bIgUoisU7kuK8HBaV7VxPvhVqg0Abbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707491069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WbfpFQINZ6WcjLANn7dqH4XD1O0ZNtDELzw3kEYSjYg=; b=Qu3HrH8K1IbpyVJISK10rYVAj+BN6oKEAJlHlWfjQKolpEsfWCaE7N4GS1/GjURsuhMC2U Ngj8RhkzxgroI8KdLI6g8lD8ikWppPPZt45G6HNSCgucomnEWWOIa4ypiBqeS7bv/7tBs+ KI1pPSvrTQfWN5BGLPCsYqjHU7zBeXrokm7mcj3QzVCB3vbLCDBiToNxy6T7B3TP7XdQO+ FXXqkT6HMGx2AqCbslxUrbsCSR7QDLybqPiBd6NyXKjyw4THHJv+P20bcZiefR1gmIB8EI 9mOG1bbdemP2dNVNfCY3//sDhrFTvecrSSpuJPuBFDNOG1RZjtgyqUY4bNtWWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707491069; a=rsa-sha256; cv=none; b=M/+bbARCPLiD4jS+nwumIY3qfpZmRAZ2GGednF4JDKRTdhF0GQMS6JAUIxqZsMjMZLpHAX eNICQqJyVCr2ncjtKb3yZAL/tvz3KP9hRQZLWTE6sDjpIAmYoZSZu0q8/7L+1U2OlfHFDj gCREc0x0rnTBT+vd8Ag0Gy/pNIrDN+y5slBbY58eNXxNE99M5Ip023V9NR7L/aqz8hugsS 0amDy2pOnGG9ksOT5JFk8jPdZA1mejqBPm0DMv8Kb3b26k9tpVrpnOrxSJMoBi3T4NlzNb CTixhGS9WyJFpDJSW2Aub9IbS7mOZ1rGqqUDZZyhDlLp9PNNhRX6NEoS8tGVKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWcZj36VVzdMC; Fri, 9 Feb 2024 15:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419F4TfL085657; Fri, 9 Feb 2024 15:04:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419F4TeQ085654; Fri, 9 Feb 2024 15:04:29 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:04:29 GMT Message-Id: <202402091504.419F4TeQ085654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: a9ef2c901a8b - stable/14 - socket: Don't assume m0 != NULL in sbappendcontrol_locked() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a9ef2c901a8b7101414a6bb778f991e9cb3b50c9 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a9ef2c901a8b7101414a6bb778f991e9cb3b50c9 commit a9ef2c901a8b7101414a6bb778f991e9cb3b50c9 Author: Mark Johnston AuthorDate: 2024-02-02 18:58:37 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 14:56:02 +0000 socket: Don't assume m0 != NULL in sbappendcontrol_locked() Some callers (e.g., ktls_decrypt()) violate this assumption and thus could trigger a NULL pointer dereference in KMSAN kernels. Reported by: glebius Fixes: ec45f952a232 ("sockbuf: Add KMSAN checks to sbappend*()") MFC after: 1 week (cherry picked from commit 30f8cb812e27d8ab40a2c0669ac20a8ee45a7c56) --- sys/kern/uipc_sockbuf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index e76f198f42dc..406fdca11b47 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -1328,7 +1328,8 @@ sbappendcontrol_locked(struct sockbuf *sb, struct mbuf *m0, { struct mbuf *m, *mlast; - kmsan_check_mbuf(m0, "sbappend"); + if (m0 != NULL) + kmsan_check_mbuf(m0, "sbappend"); kmsan_check_mbuf(control, "sbappend"); sbm_clrprotoflags(m0, flags); From nobody Fri Feb 9 15:41:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWdPK0L85z59tXp; Fri, 9 Feb 2024 15:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWdPJ6wDdz4KNZ; Fri, 9 Feb 2024 15:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707493285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cSdJlAbnIROp5no2eleiX83S/1TFcZh/UNDvVyCAdc8=; b=yEqD3t30R31A8GODEr8Nl+YZtNKZ/gCcVfiHxcvNJYv9D2EmS/Ssp3kYqw4/cUWXV2CMmG OIHg/u36tZQQzm0aZbZtMFPlUYcG//A4ICG7bkCUopt0qJcC3KrRQ5XvlL6y/Py0NcJuY4 yjInAMSfjQnl7KLqKkhWijOPCqsfmzMX5BSzggBcI/Axi58evskHKweuA+x1hU8Qm8Cp+B 8aqFHXGDDZfAkbinEnU8sKQGW1bYinXXL+1Aoh65Qwt2t7I4+5VbYVOdSa6jDE+4n9iqgh 4xwKoY8WXANf/fsDCHEwOiXmfiD1w+5KiARcg5vLDP9SPpqVAX+xj62y/lPB8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707493285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cSdJlAbnIROp5no2eleiX83S/1TFcZh/UNDvVyCAdc8=; b=ykzSJlF+MzdIk+v9rr+4YWB2IckLGlx5WDMQDN9as2YzDi7jMK5BP8Upu6K8SPo941tw2Z P/LlSzLCIz+f/3lj7ZUXSPzU/kjZtsD/r1w7jSxUmc9TcY9ZOaYwX1PKOO07j7AuiA79Bd eOwMO/8f5RGfAsY88HCTGpH0THlKSMD8xlncNhdH+WWgTZ4nrl9lHzSkjKPl8Pgrrtf/2s vQip0e91RqI4UYMwE0LQAMHa+NubGMpVWuqeB8i5vgBF3MmIP+tfDFVB9N6ASeVezAYkgH PHxIAht899oYqOzsiYucp64jmdT/cL+2s2pq5NvyfOXaT3Y7aJq4ANgl8jRPNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707493285; a=rsa-sha256; cv=none; b=XIfFj/LX3DpYcxj2XPvGFXJpf8KvTQx2jjc7qNL0NZNs7WuSjPd9Q1h6ZLrAbd0R4uTSLA arNFe25bnzCcREOQtpSnwBkm8P05L1W90VFhHZsptHISL3yNCPcqKXJtVnGbBOsX4q9hPj cUO2Psm9MQZGXPRsOC7BYTapLA2DgFo/79s9K7FyRrsDnQuCRfTVXHAnl+C0NgT3NI0Ra1 x3AvrNyyR6A0NPiekoa7DrYEAki5ZzlvqZePOAv4OECZzeuiaPAeVsSkbyzvo6Vq8fs0W7 124gxA7qk3O581uUy8e9Cocgt90WFKlVDhNQbkgBSfiQkKdD9kIqwpMC2+0wkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWdPJ5yzjzf5l; Fri, 9 Feb 2024 15:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419FfOUm048350; Fri, 9 Feb 2024 15:41:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419FfOru048334; Fri, 9 Feb 2024 15:41:24 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:41:24 GMT Message-Id: <202402091541.419FfOru048334@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 8b620483bbd6 - stable/13 - scsi_cd: Use a bool for the second parameter of cdcheckmedia() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8b620483bbd60fbcc1374d195bb9eaf327434135 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8b620483bbd60fbcc1374d195bb9eaf327434135 commit 8b620483bbd60fbcc1374d195bb9eaf327434135 Author: Mark Johnston AuthorDate: 2024-01-30 01:00:13 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 15:38:18 +0000 scsi_cd: Use a bool for the second parameter of cdcheckmedia() No functional change intended. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43525 (cherry picked from commit b1710124ff14f96db4c2a8fa37fc7c7b433fb176) --- sys/cam/scsi/scsi_cd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index d5c3dd02df1d..76e413064781 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -264,7 +264,7 @@ static union cd_pages *cdgetpage(struct cd_mode_params *mode_params); static int cdgetpagesize(int page_num); static void cdprevent(struct cam_periph *periph, int action); static void cdmediaprobedone(struct cam_periph *periph); -static int cdcheckmedia(struct cam_periph *periph, int do_wait); +static int cdcheckmedia(struct cam_periph *periph, bool do_wait); #if 0 static int cdsize(struct cam_periph *periph, u_int32_t *size); #endif @@ -775,7 +775,7 @@ cdopen(struct disk *dp) * if we don't have media, but then we don't allow anything but the * CDIOCEJECT/CDIOCCLOSE ioctls if there is no media. */ - cdcheckmedia(periph, /*do_wait*/ 1); + cdcheckmedia(periph, /*do_wait*/ true); CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("leaving cdopen\n")); cam_periph_unhold(periph); @@ -881,7 +881,7 @@ cdstrategy(struct bio *bp) * check first. The I/O will get executed after the media check. */ if ((softc->flags & CD_FLAG_VALID_MEDIA) == 0) - cdcheckmedia(periph, /*do_wait*/ 0); + cdcheckmedia(periph, /*do_wait*/ false); else xpt_schedule(periph, CAM_PRIORITY_NORMAL); @@ -1782,7 +1782,7 @@ cdioctl(struct disk *dp, u_long cmd, void *addr, int flag, struct thread *td) && ((cmd != CDIOCCLOSE) && (cmd != CDIOCEJECT)) && (IOCGROUP(cmd) == 'c')) { - error = cdcheckmedia(periph, /*do_wait*/ 1); + error = cdcheckmedia(periph, /*do_wait*/ true); if (error != 0) { cam_periph_unhold(periph); cam_periph_unlock(periph); @@ -2683,7 +2683,7 @@ cdmediaprobedone(struct cam_periph *periph) */ static int -cdcheckmedia(struct cam_periph *periph, int do_wait) +cdcheckmedia(struct cam_periph *periph, bool do_wait) { struct cd_softc *softc; int error; From nobody Fri Feb 9 15:41:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWdPL2nWLz59tFH; Fri, 9 Feb 2024 15:41:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWdPL0wBwz4KwC; Fri, 9 Feb 2024 15:41:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707493286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9botpiX5XSEvhryup1WJgI2dLaNFxUqPdAE7cwQY7L8=; b=lhhMVUTlq42SpmAOy4URkl4+hoak/SSvj+FszVhNa7Qk4p1EpP1lnXhh4vQK61bv0+kibn E6XY+zZpI2vGt4lsbiTMdk0pYLJGf7qQvRY2XZ90uJmVv/wxP4oGT5FblmEewjbhnozWXZ xKFu5LZNohqM+PH7MPQKGAvC2IbRfpGe6rXKSW2HpbAAhtOCtLVTMJDKakThDw/HjvGhnd Q3pzyXP33WyO07O6Nx5zvL5aKLcYkhafLTptc3WmiebbcX6VATB5bDwZ8GONz0P8N87XlR rl0J7u5BEWKdV7/qxOCveRPYhM69SiZO6LhTuiogR/c7wWFOYjvaIIn7bocmFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707493286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9botpiX5XSEvhryup1WJgI2dLaNFxUqPdAE7cwQY7L8=; b=PUpfyuv/1/AOrvDxJOqbj/g/mTV2eY+p2OYNRuQ9N8l1paiu0SCpQ2hNqRPuB7GTbbA5sv 51po7OBeuiJxvfIeDGE4TdqG+pq7aCxvF0/j5oh15EBkXCOUONbaD123eJ3gfMPEpE4cfU hPlbVDPpynjq3rizVXl0cH/3TkP8aWBHR1nx8sHnQW7PWgm597vpQ3V3XZZkUer+TPY7Dp OFNzCeckomt8TtvXafHxqoZNpgpRrQJ2v2rZW6uElIKeDDQw9eZ+XcHu+seoKE//E+rARh RMsLfLS1YDchyVzGRRQ6fKwIxt3iDxuWWMZmhe3pfh+cdaJ5Ylw0aCh+hAC8dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707493286; a=rsa-sha256; cv=none; b=NoNbNm6/UZ0jG0cLg4n1VRxuylOiFnK5gzv9zZJKv+szzlVyyl2WmGz14EaqNLXpdLlxCy 0WT+cIGV02VN/VXMAlpguD/8LSJpM8C/EioAhAALSX+XzZpaijNRnepi7jf29FsCmafBWs aBRaixXVIEVVXfIM1dSPH3wrCWzEFM93HFKk2I8aTPJKKCr983jm/8z0NoiuwfF7rNJY8c WQPYOTrdR6UkVIX07REcY7ZFnTdcrsqTtgu5VwvESeAos1crJiAoSZ07YPDu8iqvSvrQTm AcbBR8FZA4usXa18QU/cnzvSK52BYW6FZ4sMdGCDh1g8qjl8aoJftVqgTrrORQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWdPK74kvzfJG; Fri, 9 Feb 2024 15:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419FfPln048891; Fri, 9 Feb 2024 15:41:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419FfPEp048888; Fri, 9 Feb 2024 15:41:25 GMT (envelope-from git) Date: Fri, 9 Feb 2024 15:41:25 GMT Message-Id: <202402091541.419FfPEp048888@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 979e15bbf0cb - stable/13 - scsi_cd: Maintain a periph reference during media checks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 979e15bbf0cb35d6ef0b329507b2ef9507cfc6eb Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=979e15bbf0cb35d6ef0b329507b2ef9507cfc6eb commit 979e15bbf0cb35d6ef0b329507b2ef9507cfc6eb Author: Mark Johnston AuthorDate: 2024-01-30 01:01:12 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 15:38:19 +0000 scsi_cd: Maintain a periph reference during media checks Otherwise nothing prevents the asynchronous media check state machine from running after the periph has been destroyed, which can result in a double free. Acquire the reference even when performing a synchronous check, since that doesn't hurt and keeps things simpler. PR: 276251 Reviewed by: imp Fixes: dd78f43259ef ("scsi_cd: make the media check asynchronous") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43525 (cherry picked from commit c961afe82596bdeb7e6a8626f02ddb181c8a24b6) --- sys/cam/scsi/scsi_cd.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index 76e413064781..d5406dc76f6f 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -2675,6 +2675,7 @@ cdmediaprobedone(struct cam_periph *periph) softc->flags &= ~CD_FLAG_MEDIA_WAIT; wakeup(&softc->toc); } + cam_periph_release_locked(periph); } /* @@ -2692,31 +2693,29 @@ cdcheckmedia(struct cam_periph *periph, bool do_wait) softc = (struct cd_softc *)periph->softc; error = 0; - if ((do_wait != 0) - && ((softc->flags & CD_FLAG_MEDIA_WAIT) == 0)) { + /* Released by cdmediaprobedone(). */ + error = cam_periph_acquire(periph); + if (error != 0) + return (error); + + if (do_wait) softc->flags |= CD_FLAG_MEDIA_WAIT; - } if ((softc->flags & CD_FLAG_MEDIA_SCAN_ACT) == 0) { softc->state = CD_STATE_MEDIA_PREVENT; softc->flags |= CD_FLAG_MEDIA_SCAN_ACT; xpt_schedule(periph, CAM_PRIORITY_NORMAL); } - - if (do_wait == 0) - goto bailout; + if (!do_wait) + return (0); error = msleep(&softc->toc, cam_periph_mtx(periph), PRIBIO,"cdmedia",0); - if (error != 0) - goto bailout; - /* * Check to see whether we have a valid size from the media. We * may or may not have a valid TOC. */ - if ((softc->flags & CD_FLAG_VALID_MEDIA) == 0) + if (error == 0 && (softc->flags & CD_FLAG_VALID_MEDIA) == 0) error = EINVAL; -bailout: return (error); } From nobody Fri Feb 9 21:03:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWmXT6fqhz5BL6G; Fri, 9 Feb 2024 21:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWmXT5y2Yz44YG; Fri, 9 Feb 2024 21:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707512585; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFXf92iOqBdhfA/g0BbA5qjrRfmc4xbt43Q4ueqzNn8=; b=It+adpRxIhtxmXHNLkWJKIljJBFJqw+f7cmdiwaQwhKeeo9clD3CUZ2/c3EARsW0OUpOnD Gfp/KXJERyllRazKdmWjpyYKDQL1N2kYIAnfph+eJnTtUixprNognZn+jwzbyIacq1y1wr FegT3Q4C/lr6luyMxdhHPVAmnHTjRuyDVfDW+4vyCIZFX5Wpl78lngb0kXCvKz87/IpACE 8onxvw//PKtv0H6MpG4Xjm9PmX6fqSqXs1B0DNDXjyDScm7Dik4mHSln3454bvDCds3QSn BAvqT+ixguU5aBMatGcjD1FE23x6XtxSf87ZgdC+s6RBV+ZIPPs4X/VXFn8EGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707512585; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFXf92iOqBdhfA/g0BbA5qjrRfmc4xbt43Q4ueqzNn8=; b=WC3vGiXUcZcko3hkZPJeerdTYrxB07kBJlsNPdyPGIdZZqpyV/PxJARPlB4D9eZoPVqxtD TGwkq7T8MKcq3usFsTtjRgfnwcYGZI1frL75nvvlB7j16is4S7jwlzvWFSw0d44dVzzxwi ouJvp9t5qkfkln8YHUcKuRo/drqS6kbn3WYsBwMONq/MD20bCXjHG5yGh5WfaJKYuVkViC o4LUSlUgXBdrnx9PjhfwLhfVmxeC8rV5tc9cTBXHZnS9Tie8CKL5VICsjDS7atzMWUk3I4 R6OhFtXw4W1ydUgusGfU5SBdwF4a5kJd1sVuVrEiwVS3MtdeMV7xPZhThEtLUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707512585; a=rsa-sha256; cv=none; b=pK7qaa5DsBzNSRfJoCu/lHjcCUw0MfnoB5pwHGzPvpj+7/JrXPjjdMbdf8Qv14IfE/Rlgh 6xuVn1OJ85FoEmoNT1sadF7FqbUqe7u09/rO+U4OY7ZJBgYzs30/4K/9dwz16nMOuE5asj +V1hYMhkLthztbIgYZVKGRfWNjXXCtVSY8XbXR9ZnFlP3sFXsvmg3esDCSNerYDAxPf9Yl 9LVx7rPlKtWP3P/yFRJX4QRCB8qNMFQ1v9WABcLJBrc41tL5AHgLXiyi1S7id6exn3cdp+ TjDQrIiw+s1K5gVxslx7yy+yFW3MdxSFEVmto7TbkEpuqvOE1iVE3lDRCaQABw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWmXT3TgdzpW5; Fri, 9 Feb 2024 21:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419L359f089013; Fri, 9 Feb 2024 21:03:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419L35IJ089010; Fri, 9 Feb 2024 21:03:05 GMT (envelope-from git) Date: Fri, 9 Feb 2024 21:03:05 GMT Message-Id: <202402092103.419L35IJ089010@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 2e009b460fe5 - stable/13 - hidraw(4): Implement HIDRAW_GET_DEVICEINFO ioctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2e009b460fe5ddbac96e12a9c3ca05bae11817bf Auto-Submitted: auto-generated The branch stable/13 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=2e009b460fe5ddbac96e12a9c3ca05bae11817bf commit 2e009b460fe5ddbac96e12a9c3ca05bae11817bf Author: Vladimir Kondratyev AuthorDate: 2023-08-06 11:51:08 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-02-09 20:59:37 +0000 hidraw(4): Implement HIDRAW_GET_DEVICEINFO ioctl In commit c77bfaa75051 uhid(4) gained support for ioctl from USB_GET_DEVICEINFO. This is used in libraries like libfido2 to retrieve information about a device. This commit adds binary compatible version to hidraw(4). PR: 264843 (cherry picked from commit f1d955be2a7367ef755d70257c381f83b8367288) --- share/man/man4/hidraw.4 | 5 ++++- sys/dev/hid/hidraw.c | 28 +++++++++++++++++++++++----- sys/dev/hid/hidraw.h | 15 +++++++++++++++ sys/dev/usb/usb_ioctl.h | 3 ++- 4 files changed, 44 insertions(+), 7 deletions(-) diff --git a/share/man/man4/hidraw.4 b/share/man/man4/hidraw.4 index 92e01a8c9a0a..9749277bca51 100644 --- a/share/man/man4/hidraw.4 +++ b/share/man/man4/hidraw.4 @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 1, 2018 +.Dd August 6, 2023 .Dt HIDRAW 4 .Os .Sh NAME @@ -145,6 +145,9 @@ The report data begins from the second byte. For devices which do not use numbered reports, the report data begins at the first byte. This call may fail if the device does not support this feature. +.It Dv HIDRAW_GET_DEVICEINFO Pq Vt "struct hidraw_device_info" +Returns information about the device, like vendor ID and product ID. +This call will not issue any hardware transfers. .El .Pp Linux diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c index c47a1445f7af..703e16d8bf8f 100644 --- a/sys/dev/hid/hidraw.c +++ b/sys/dev/hid/hidraw.c @@ -564,9 +564,10 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, #endif void *buf; struct hidraw_softc *sc; + struct hidraw_device_info *hdi; struct hidraw_gen_descriptor *hgd; struct hidraw_report_descriptor *hrd; - struct hidraw_devinfo *hdi; + struct hidraw_devinfo *hd; const char *devname; uint32_t size; int id, len; @@ -795,6 +796,23 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, *(int *)addr = 0; /* XXX: we only support reportid 0? */ return (0); + case HIDRAW_GET_DEVICEINFO: + hdi = (struct hidraw_device_info *)addr; + bzero(hdi, sizeof(struct hidraw_device_info)); + hdi->hdi_product = sc->sc_hw->idProduct; + hdi->hdi_vendor = sc->sc_hw->idVendor; + hdi->hdi_version = sc->sc_hw->idVersion; + hdi->hdi_bustype = sc->sc_hw->idBus; + strlcpy(hdi->hdi_name, sc->sc_hw->name, + sizeof(hdi->hdi_name)); + strlcpy(hdi->hdi_phys, device_get_nameunit(sc->sc_dev), + sizeof(hdi->hdi_phys)); + strlcpy(hdi->hdi_uniq, sc->sc_hw->serial, + sizeof(hdi->hdi_uniq)); + snprintf(hdi->hdi_release, sizeof(hdi->hdi_release), "%x.%02x", + sc->sc_hw->idVersion >> 8, sc->sc_hw->idVersion & 0xff); + return(0); + case HIDIOCGRDESCSIZE: *(int *)addr = sc->sc_hw->rdescsize; return (0); @@ -820,10 +838,10 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, return (error); case HIDIOCGRAWINFO: - hdi = (struct hidraw_devinfo *)addr; - hdi->bustype = sc->sc_hw->idBus; - hdi->vendor = sc->sc_hw->idVendor; - hdi->product = sc->sc_hw->idProduct; + hd = (struct hidraw_devinfo *)addr; + hd->bustype = sc->sc_hw->idBus; + hd->vendor = sc->sc_hw->idVendor; + hd->product = sc->sc_hw->idProduct; return (0); } diff --git a/sys/dev/hid/hidraw.h b/sys/dev/hid/hidraw.h index 5e46597be453..4095ddb388bb 100644 --- a/sys/dev/hid/hidraw.h +++ b/sys/dev/hid/hidraw.h @@ -49,6 +49,20 @@ struct hidraw_gen_descriptor { uint8_t reserved[8]; }; +/* Compatible with usb_device_info structure */ +struct hidraw_device_info { + uint16_t hdi_product; + uint16_t hdi_vendor; + uint16_t hdi_version; + uint8_t occupied[18]; /* by usb_device_info */ + uint16_t hdi_bustype; + uint8_t reserved[14]; /* leave space for the future */ + char hdi_name[128]; + char hdi_phys[128]; + char hdi_uniq[64]; + char hdi_release[8]; /* decrypted USB bcdDevice */ +}; + struct hidraw_report_descriptor { uint32_t size; uint8_t value[HID_MAX_DESCRIPTOR_SIZE]; @@ -67,6 +81,7 @@ struct hidraw_devinfo { #define HIDRAW_SET_REPORT _IOW ('U', 24, struct hidraw_gen_descriptor) #define HIDRAW_GET_REPORT_ID _IOR ('U', 25, int) #define HIDRAW_SET_REPORT_DESC _IOW ('U', 26, struct hidraw_gen_descriptor) +#define HIDRAW_GET_DEVICEINFO _IOR ('U', 112, struct hidraw_device_info) /* Linux hidraw-compatible ioctl interface */ #define HIDIOCGRDESCSIZE _IOR('U', 30, int) diff --git a/sys/dev/usb/usb_ioctl.h b/sys/dev/usb/usb_ioctl.h index ba6e5f18d0bb..6d9184723816 100644 --- a/sys/dev/usb/usb_ioctl.h +++ b/sys/dev/usb/usb_ioctl.h @@ -119,7 +119,8 @@ struct usb_device_info { uint8_t udi_hubport; /* parent HUB port */ uint8_t udi_power_mode; /* see "USB_POWER_MODE_XXX" */ uint8_t udi_suspended; /* set if device is suspended */ - uint8_t udi_reserved[16]; /* leave space for the future */ + uint16_t udi_bustypeNo; + uint8_t udi_reserved[14]; /* leave space for the future */ char udi_product[128]; char udi_vendor[128]; char udi_serial[64]; From nobody Fri Feb 9 23:13:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWqQh2SrDz5BW5M; Fri, 9 Feb 2024 23:13:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWqQh203Zz4RgR; Fri, 9 Feb 2024 23:13:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707520396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TpJLE+YidFjFawmO9aiZvWq9Ds3Tt+1h9bDFgzoKDbw=; b=lMsz5cJ3qyIxGdEqcxUWWIwdpRJyhj/l6RDxPdb2bBjmK55IqkHI+UUXwC9zPZt6EJAp/T Se4rTZ4Dfyfyxey58VO84HchRSZXLx38N0/+eTdglnv210ui/tUu0EXttel7lEiu4K8zMy rDl8gbxX2vPv+dvCs9/8u/cviqYQa2rJRUc7Crx+DnsLRC9Zl5l+JUhTzqU/iuTDsVeWKG gYas5XaUUEe6eRztSRWY6RKFhBKZ5PIWl7qiVY7Lndt2JF5VbMx5phq1Aiu0u9YSKQyoiY v44lDHvi4WoOntu7B0F9PrNuw88M40Eme9pBvAgjbsMuBi1SIgq2vUh7aaDcAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707520396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TpJLE+YidFjFawmO9aiZvWq9Ds3Tt+1h9bDFgzoKDbw=; b=knjvv6jq+J57FinYzXzyI63ACs5do9jAi5wundnCF6DUsoGkGSWE53dgvRsUUj+ZnzDe6M UwsDREJycnah86wtmwRXWmEhvrcZaErWaQkTm0do47PpVZng4nrlMGkdpTNoLMPl2GYRvL FGCcFnLAGxFxuGc43Dycy7+iqxGNpSq2xjUeYbh/xYSRJ4MIY+zbhhTYuOaVC2dVvUYFB1 /SFNc8ED1rXDyGk+YdTRCuJgGWWW8L+YCKwp+7se7Je5gmWrXOGmVtmACEMyU4Hv0tPyXS /kdfENb95xnXb23taWfxFQLmd8bf95kc89Uq0F7Fte/9RdxEHgUlLrIeAetJhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707520396; a=rsa-sha256; cv=none; b=ywngQoDUI9H95ThqaxxwN4fdGX7pyQyglJezVQX7IrXyB0jTMMbRRO46m/dTUMi5jdzqeq cF/IyIsItmkP0jsWZ/3EfoZPY3TTE50pIS/RpPKDj1Eh6tgMQcejt6SwosvNpqpr3icYIc 3hZChph8Lh8ohmR6cyaQK8EgC2Enqhjg2CHHwg4Bg11BHhg9Owa8prJev5DzefDfiXrRCW b5EfJ8h3kA43tzYSldL3etjFvxbx50VoSN8hVyciSodZdbadrzh8wCr8nt6gDdAwNHOblp iJN/+pYP6/cwZSucm8tzO1kzD1HwJ+rzEIiwJFPwYheTlmSkwJ1AebRcIzhbWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWqQh13DmzsRp; Fri, 9 Feb 2024 23:13:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 419NDGI5006596; Fri, 9 Feb 2024 23:13:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 419NDGuD006593; Fri, 9 Feb 2024 23:13:16 GMT (envelope-from git) Date: Fri, 9 Feb 2024 23:13:16 GMT Message-Id: <202402092313.419NDGuD006593@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 3e6382c1eda5 - releng/13.3 - inpcb: Restore some NULL checks of credential pointers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 3e6382c1eda5ea4451a64ec69fd8a92f621aca55 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3e6382c1eda5ea4451a64ec69fd8a92f621aca55 commit 3e6382c1eda5ea4451a64ec69fd8a92f621aca55 Author: Mark Johnston AuthorDate: 2024-02-07 14:43:25 +0000 Commit: Mark Johnston CommitDate: 2024-02-09 23:12:49 +0000 inpcb: Restore some NULL checks of credential pointers At least one out-of-tree port (net-mgmt/ng_ipacct) depends on being able to call in_pcblookup_local() with cred == NULL, so the MFC of commit ac1750dd143e ("inpcb: Remove NULL checks of credential references") broke compatibility. Restore a subset of the NULL checks to avoid breaking the module in the 13.3 release. This is a direct commit to stable/13. PR: 276868 Approved by: re (cperciva) (cherry picked from commit fe8df7ed1aae444a09361c080d52bfcb6aaae64f) --- sys/netinet/in_pcb.c | 6 ++++-- sys/netinet6/in6_pcb.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 001fd735cb4c..03315344a455 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -2003,7 +2003,8 @@ in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr, /* * Found? */ - if (prison_equal_ip4(cred->cr_prison, + if (cred == NULL || + prison_equal_ip4(cred->cr_prison, inp->inp_cred->cr_prison)) return (inp); } @@ -2035,7 +2036,8 @@ in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr, */ CK_LIST_FOREACH(inp, &phd->phd_pcblist, inp_portlist) { wildcard = 0; - if (!prison_equal_ip4(inp->inp_cred->cr_prison, + if (cred != NULL && + !prison_equal_ip4(inp->inp_cred->cr_prison, cred->cr_prison)) continue; #ifdef INET6 diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index ee32fbbf1688..2cfb2ec7b1c3 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -764,7 +764,8 @@ in6_pcblookup_local(struct inpcbinfo *pcbinfo, struct in6_addr *laddr, IN6_ARE_ADDR_EQUAL(&inp->in6p_laddr, laddr) && inp->inp_lport == lport) { /* Found. */ - if (prison_equal_ip6(cred->cr_prison, + if (cred == NULL || + prison_equal_ip6(cred->cr_prison, inp->inp_cred->cr_prison)) return (inp); } @@ -796,7 +797,8 @@ in6_pcblookup_local(struct inpcbinfo *pcbinfo, struct in6_addr *laddr, */ CK_LIST_FOREACH(inp, &phd->phd_pcblist, inp_portlist) { wildcard = 0; - if (!prison_equal_ip6(cred->cr_prison, + if (cred != NULL && + !prison_equal_ip6(cred->cr_prison, inp->inp_cred->cr_prison)) continue; /* XXX inp locking */ From nobody Sun Feb 11 01:41:12 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVfw2NfGz595F1; Sun, 11 Feb 2024 01:41:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVfw1vC1z43V5; Sun, 11 Feb 2024 01:41:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707615672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yRwLC+DkmKXVa53UFLdKhLDSpECPN8R9veE7OD58HZw=; b=J5/Mauzv6odAE1Ja4L8frssWKCpwW5nNIsU6yz+vMJbV8NM+ox6eB4dd16wdbDsIC2Szir EWwScSm7uF16UX6q7O3b2EbBkxLHzcvbktUFZNd34Fjo4BBOU4OMdaY/boIxS6amKCZKzS jc5aaU8Ujy9pEwR/SFP042nqQrwiTL1Eyb5erdCVAZTG8xG0CRc41KuCQGkfzMiUFUVEoK TVOA9ZpZtNTapvR6zCLcsvw32It5/RphPIpBMkVT2BqRs5o6vYf78444JM3TrX5+c1iiGK DVsiAD6iua8RflGJELigGB+mPIsvbnjzXIwndoxDoCb4brLd2AZXt9KjqQl02g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707615672; a=rsa-sha256; cv=none; b=S00lzdutyepUDog5WlhnBXNlLfQGX/GfjUpcFoPZLZzO/sD/tTDTxCX1NpgQkePsqh8uFt 2DIqEvbwr3+PsMXnqZvLrrIMXQlQ/eTHemkpf1bhUJVUkquJefucNPoYhTYT/Ycj055ErT Sv0iU1tmsp/Omkm21APikUdlwB7YibtwEsNDTzs5b+WlIiLXRrFt5OX2VSg2B8TBXWU8tD 7EUkfmDJ17d3voMLrUPk4v/ilKl3j+yL+qszevog0bRLT4Li5kBCFE5NxhdhYzn7sQDWh+ YXV8dcOj6O5OwRn6dtlEBcFoTDVbXvzNQuhIH0WIBSlWfuVnN05p+c/+Kf0UVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707615672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yRwLC+DkmKXVa53UFLdKhLDSpECPN8R9veE7OD58HZw=; b=FVok4jNwtE3Sr0ZC7NiPMPhH+B2vXk7bH/z/V86ZYW9T84rQP/ImMTrSGoMwQTExUiyF6L /bUDWJRwzzOhBaqe9CTM0/Ovk+C+I7egcJ+L7jU7I6aW821TX0TyMKt4HMJgOXJRKJWxU6 7dL/3vHtjVKuTcfrS8xKYR7BlENLYKNyq/sMerAlbaJ+NPwg/GOU9OePMHnJlGH2yQkESM 1/bpFLyDlJoUa+oy1eVqNvuZfe9OfN+ZP77bwL2gr1Z0wqnauJQFsx8TCPWPTYe+3p4Us0 qRtTNFhs4A1ql494PZ5aW8H3iQqj2yx5xQClCbwLQHgIgJ1HfXCettkmldX9Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVfw0xmKzgDs; Sun, 11 Feb 2024 01:41:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1fCX9066825; Sun, 11 Feb 2024 01:41:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1fC0u066822; Sun, 11 Feb 2024 01:41:12 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:41:12 GMT Message-Id: <202402110141.41B1fC0u066822@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 58ccdcc6ffc5 - stable/13 - libstdthreads: destroy mutexattr in mtx_init() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 58ccdcc6ffc5d053b92ba0069f02cfbe9ff498b6 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=58ccdcc6ffc5d053b92ba0069f02cfbe9ff498b6 commit 58ccdcc6ffc5d053b92ba0069f02cfbe9ff498b6 Author: Hodong AuthorDate: 2024-02-04 10:14:22 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:28 +0000 libstdthreads: destroy mutexattr in mtx_init() PR: 276818 (cherry picked from commit a03f768612ad98a886458197c531a0b92203bf84) --- lib/libstdthreads/mtx.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/libstdthreads/mtx.c b/lib/libstdthreads/mtx.c index 719ba6486e41..3027a4e48c8d 100644 --- a/lib/libstdthreads/mtx.c +++ b/lib/libstdthreads/mtx.c @@ -43,7 +43,7 @@ int mtx_init(mtx_t *mtx, int type) { pthread_mutexattr_t attr; - int mt; + int mt, res; switch (type) { case mtx_plain: @@ -60,11 +60,12 @@ mtx_init(mtx_t *mtx, int type) if (pthread_mutexattr_init(&attr) != 0) return (thrd_error); - if (pthread_mutexattr_settype(&attr, mt) != 0) - return (thrd_error); - if (pthread_mutex_init(mtx, &attr) != 0) - return (thrd_error); - return (thrd_success); + res = thrd_success; + if (pthread_mutexattr_settype(&attr, mt) != 0 || + pthread_mutex_init(mtx, &attr) != 0) + res = thrd_error; + pthread_mutexattr_destroy(&attr); + return (res); } int From nobody Sun Feb 11 01:52:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwD2MVMz59641; Sun, 11 Feb 2024 01:52:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwD1VyTz45w3; Sun, 11 Feb 2024 01:52:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=njeisKh0espyNKexl8PhRvKFayfAt0MwM4MTzs/4dhE=; b=RlVuIXeFTLyUW/TN+A/8X6FfQMBKidecrSs8x0raB3cxTVKqnsiiWZVs78wfZ7P1TPXECp NQsGXH040s3E2Dkth0FrQMb5NkNdfD9O3DEbe2GhISTapoz9YoyTXEIY/HbCIa4eP0MYPc aVBlL+CplYw66H1UoHbw/RzBN4dF3ArbLS7PtOqIQeFIrXEva40d1tsLVUAL3/dCDZtei1 gOSfBOGskpHbZdCK+UcAOMOB4Yz+1jG1oQIgbreVhxtNLaDQAox4CT1/tY6NStCe6MWqN2 r1YVDvwIxxIY093bGHE2C7jVxMookTFChdzlZ0hl6XqrOJQmWxSgPjc7FjNWjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616364; a=rsa-sha256; cv=none; b=M984/s4u+3w/jp42zuepT04uIklg0sj1xZpEn9Dq1CvFH+0pBnOscAfpzUQMfvvjsPU5pU UwaVNxa6oPMLTL19ZRcucQ2UOTsXSnahCa/hkYt8/BUoZtepwOdvtcS8G7cNls4cPPwp4s 8MEMduFGb+kgAjMGHQqf/cfXyHKxh/3Uug0kEJ0EAf6l9qiqdZ154ZjdHkhM4xTGnf2eI2 FnMsSUawBHMxUuhOxDnK6O8wT2lwrq+poWaMLXoBuSkdrMDT9AomBGSvRvK/x/9bB/H/7e DXstyBaXXiTBAtJrwcCuGnJsppidU7r14BFw3+uD+TNOHlncOCC1ZJ4uIzqPAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=njeisKh0espyNKexl8PhRvKFayfAt0MwM4MTzs/4dhE=; b=qXrY1hKQqufaQss38BgqY9nrnLdmBceNcRZIKDBU+bPE7gsXSQpMWhianPCQKzKduvOWiw +PBZChk0HaN0zfqFAh/8q9yjWhAqpKUA3fjabbOZewEu03dpz9gtrSXSzxvAETvg5qOWRC fkLz+T6RnxivDBRttZizuP4IGr1zuJmdwgIb6bAgWoGbCEV3Lg1aDOarAZG7PzzOXHaEMr C7Eqhb/QxWYfZmO9ZpBGI9gn7jMxfBI5u6i5962yxAYNWR38pb5QaDDu/rYnGhA68HQMjX miB3uzl0+VBI7yQ+zG5MzHkhxLbaZmDWmULsfbvBSKuPCJQee2oEg8VZRG8SdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwD0YM2zgFv; Sun, 11 Feb 2024 01:52:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qij2089287; Sun, 11 Feb 2024 01:52:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qitV089284; Sun, 11 Feb 2024 01:52:44 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:44 GMT Message-Id: <202402110152.41B1qitV089284@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: eb34be853a21 - stable/13 - Add fget_remote() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eb34be853a21e05db54ad6f22abe366bc5b6086b Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=eb34be853a21e05db54ad6f22abe366bc5b6086b commit eb34be853a21e05db54ad6f22abe366bc5b6086b Author: Konstantin Belousov AuthorDate: 2024-01-22 22:31:55 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:28 +0000 Add fget_remote() (cherry picked from commit 58d3171698341c664d7c676541b86385a924ae93) --- sys/kern/kern_descrip.c | 32 ++++++++++++++++++++++++++++++++ sys/sys/file.h | 1 + 2 files changed, 33 insertions(+) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 0bd011ac2425..0a28f47bccdf 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -3055,6 +3055,38 @@ get_locked: return (error); } +int +fget_remote(struct thread *td, struct proc *p, int fd, struct file **fpp) +{ + struct filedesc *fdp; + struct file *fp; + int error; + + if (p == td->td_proc) /* curproc */ + return (fget_unlocked(p->p_fd, fd, &cap_no_rights, fpp)); + + PROC_LOCK(p); + fdp = fdhold(p); + PROC_UNLOCK(p); + if (fdp == NULL) + return (ENOENT); + FILEDESC_SLOCK(fdp); + if (refcount_load(&fdp->fd_refcnt) != 0) { + fp = fget_locked(fdp, fd); + if (fp != NULL && fhold(fp)) { + *fpp = fp; + error = 0; + } else { + error = EBADF; + } + } else { + error = ENOENT; + } + FILEDESC_SUNLOCK(fdp); + fddrop(fdp); + return (error); +} + #ifdef CAPABILITIES int fgetvp_lookup_smr(int fd, struct nameidata *ndp, struct vnode **vpp, bool *fsearch) diff --git a/sys/sys/file.h b/sys/sys/file.h index e5532b37572f..ca8a229b994a 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -257,6 +257,7 @@ int fget_write(struct thread *td, int fd, cap_rights_t *rightsp, int fget_fcntl(struct thread *td, int fd, cap_rights_t *rightsp, int needfcntl, struct file **fpp); int _fdrop(struct file *fp, struct thread *td); +int fget_remote(struct thread *td, struct proc *p, int fd, struct file **fpp); fo_rdwr_t invfo_rdwr; fo_truncate_t invfo_truncate; From nobody Sun Feb 11 01:52:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwF3PFRz5969L; Sun, 11 Feb 2024 01:52:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwF2WrCz45T0; Sun, 11 Feb 2024 01:52:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9IJuTkfE/7UMlVEoPfHiEY10PlI9TI56B7hGihQoSg8=; b=YS01jXSQa84wapnRd/6QUiKwRyEj7DKr7fztch6n5tsYUbjXth99boIh1ejW+jDfdNFuPe tCPRx0jH3L3JMcWXPIKIh5h7gvQluuy34JmoAGpJCAu2Q6hFNh8eOL2kfcUucdAqAaPSil vdQJzsleV8QRjEgvwfk8AU3MYzgU6I8lsKVDlEVMU+UseUUGmp4biiN/7/7mK7kd2/9L/u JrRzH4Ke/dWWkhnjHxQeiEW8JTX0wmtWDVuZuNTcgZpDsBO3bqwtJKxRhHLL2CmNdz2T88 zy1eMydRfIb176O9OSkiLle0Y3C2f4DhF5OwKGT4Q8cTv1ENWr0Kh01aznrCbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616365; a=rsa-sha256; cv=none; b=ONrLp3xD3+UfoOZpkAZArIAi9lBeDAGerhEmYflla4PAe+2M4L+fixSs1gqqE+eLYhqMMZ HjRhbwn+Ekz3Bq5LLB7LYHvaqjeOg5RhNl7mjqoW5fAUDs0K+hHC/Ib7LBTXS2GUlIJC1c ffAfm1l8Co/wbT+GlhujIfpW/1Z7AWG26O2azMQ8DrQOamHNefSi3P39gLlQ0okYygPvj4 70t3XyS8nHp5FjJn+1W93N+R3AxhcEG+935L/0MDja39lI43Gg4q6165dBWlgFsN2/+Hcu YvzXV6Wct7IZCZ+JoNVIzffA5j2FMJw6FDmyGAyfHZ3Wh8eDPq6nqVs4uCZZ8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9IJuTkfE/7UMlVEoPfHiEY10PlI9TI56B7hGihQoSg8=; b=VF4akz4M2wAaWuKyFwc7YsTlFPocThEU7cGnoPlCXrPCYrW2U5w5fSRYjmpHWyTykEFWPP +RlKU6oaCLHPC8/8No7iXs1kKrzmZGwEJJKi1AZVWS8yzorAcYrxkKjpuUMZu7dWbxpQBo 7DmCibJu8Wgxc8v+Cq3xWjTIkuXaIYbhFjBfo64xDxrKS9KhEqu2LQKXciDKYkasAnYew2 6GwBpN0PCFKT6EwlgCfhIxKoF2RTCva8Zh7zzeOYty/0VNweczt0KyLhXj6WaZRaoffZKf 9BeZfSQjyfFnkJVJ+TsxYpaiweQXc0+Pu+jIfO4spflEv/IjcQPDMQgQyuVonA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwF1Vnszgm6; Sun, 11 Feb 2024 01:52:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qj6K089326; Sun, 11 Feb 2024 01:52:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qj57089323; Sun, 11 Feb 2024 01:52:45 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:45 GMT Message-Id: <202402110152.41B1qj57089323@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e4345a107bb4 - stable/13 - file: add fo_cmp method List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e4345a107bb4492a9b43d45f5afc9d36061bee1a Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e4345a107bb4492a9b43d45f5afc9d36061bee1a commit e4345a107bb4492a9b43d45f5afc9d36061bee1a Author: Konstantin Belousov AuthorDate: 2024-01-19 21:01:35 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 file: add fo_cmp method (cherry picked from commit 168c7580c6328342945db0e19a0791466bb07624) --- sys/sys/file.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/sys/file.h b/sys/sys/file.h index ca8a229b994a..4b291459395f 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -128,6 +128,8 @@ typedef int fo_add_seals_t(struct file *fp, int flags); typedef int fo_get_seals_t(struct file *fp, int *flags); typedef int fo_fallocate_t(struct file *fp, off_t offset, off_t len, struct thread *td); +typedef int fo_cmp_t(struct file *fp, struct file *fp1, struct thread *td); +typedef int fo_spare_t(struct file *fp); typedef int fo_flags_t; struct fileops { @@ -149,6 +151,8 @@ struct fileops { fo_add_seals_t *fo_add_seals; fo_get_seals_t *fo_get_seals; fo_fallocate_t *fo_fallocate; + fo_cmp_t *fo_cmp; + fo_spare_t *fo_spares[7]; /* Spare slots */ fo_flags_t fo_flags; /* DFLAG_* below */ }; @@ -477,6 +481,15 @@ fo_fallocate(struct file *fp, off_t offset, off_t len, struct thread *td) return ((*fp->f_ops->fo_fallocate)(fp, offset, len, td)); } +static __inline int +fo_cmp(struct file *fp1, struct file *fp2, struct thread *td) +{ + + if (fp1->f_ops->fo_cmp == NULL) + return (ENODEV); + return ((*fp1->f_ops->fo_cmp)(fp1, fp2, td)); +} + #endif /* _KERNEL */ #endif /* !SYS_FILE_H */ From nobody Sun Feb 11 01:52:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwG531yz596bC; Sun, 11 Feb 2024 01:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwG3BtMz45dc; Sun, 11 Feb 2024 01:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H7L0glSPnwoP9iq6Ve0jb6sZL45r5ykliJ1e1zA/qBc=; b=Uh+Oesr9J4Zp/ZHcOliXotIU2gON76sGX+YKhB/PRADRaNIqI/PBMQsliHsQBQ03SI2wIH gzxfUs+Mo5R4adVF6Cx/Loyyy8e51BB1b99m2ZrBdSRA3T//vv3oY+986QIk/KT4DNG1RW 9e/7SZVsaiEh59el6KSsIJycrujW3AI9LrgsofgiCRrZ73fbtBQoiOiBfzDRK9XVtAdXHO 04Zixo+iE2OMkxyz3HLX+2Jgc7jZxeKSWX5l5o/5PSvFl527muLPH4wXZLyxJ/sbU9vi/m /XbvD3JVdYsAjwpBF3NdgWsI/5ViA9bMtrTv6w2Qgb/lX8eyKcOoXdMGkdgUHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616366; a=rsa-sha256; cv=none; b=D67BSwY1NxspUg8bXwE6c4hqrlZgFvLnQPDnDiyZISXHlHVPsN8AmIf+zvu4LUJQbDs3cD mBR10Q21MvdHcQVUvW0xjb2P0NbuENX4FAj+xleUO6+8takCLHx1CnnJOneTszZ4zOSMdb iktdbk/FPGK9DgNHBiEjpcZqhCic2JPchleTTTwhLYBWTIK8vijC0RvnET5dllhYwzbo+h kp4yyCQ8+nvxjt+PR0lyWI+vRmZdtbZO6VmIn8Hw1Q+Vn8OXkh36vNy5HnxurAWwmC4XOL IHV73nWEc1wz4Qxd/pglslEbFRnYSOCumFRXX0RKsG+PPRU9dssrkSL3tZQokQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H7L0glSPnwoP9iq6Ve0jb6sZL45r5ykliJ1e1zA/qBc=; b=G5xg1zSgBnmDBTdXlzR3AJb4hjuhsFFjIPKcHu73zFQNMlL1Armeb6W2Q3JnF94IvwmdJM gX1cuUHzLiNjTUSKkpZx+aQhSVbPOjH40jArdOaFJle7yo60S6WQVfHjqSpd1QQumue0Ak SsnoTf4ZHV/WPOOw3xjLnXJ6ikSxZM4kc5NQCvSm/JiDyK5dOzkxRyw9IJTYvOUY+1Yndc a61wtgl7Dl17dCs9ej91EMt5Y5+patYRT3b6YBcmzdNv14GcBsYtVVcHbwegKBdsAu6FU7 kgP5Q6sdguHD/t1R+b2kgTAELj99XqgEni6stYupldLvhIBQtvDgn+hpWNS1dQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwG271Tzgjs; Sun, 11 Feb 2024 01:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qkVL089375; Sun, 11 Feb 2024 01:52:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qklO089372; Sun, 11 Feb 2024 01:52:46 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:46 GMT Message-Id: <202402110152.41B1qklO089372@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 096fe82004b1 - stable/13 - Add kcmp(2) kernel bits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 096fe82004b1ff8671c0dc1c0279d5b34873efb6 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=096fe82004b1ff8671c0dc1c0279d5b34873efb6 commit 096fe82004b1ff8671c0dc1c0279d5b34873efb6 Author: Konstantin Belousov AuthorDate: 2024-01-19 19:49:36 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 Add kcmp(2) kernel bits (cherry picked from commit d8decc9ae31af7ffc77276c89639fb13eb1020cc) --- sys/compat/freebsd32/syscalls.master | 8 ++++ sys/kern/sys_generic.c | 87 ++++++++++++++++++++++++++++++++++++ sys/kern/syscalls.master | 13 +++++- sys/sys/syscallsubr.h | 2 + sys/sys/systm.h | 2 + sys/sys/unistd.h | 7 +++ 6 files changed, 118 insertions(+), 1 deletion(-) diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master index 06216bc4cca7..bf4480d3daba 100644 --- a/sys/compat/freebsd32/syscalls.master +++ b/sys/compat/freebsd32/syscalls.master @@ -1178,4 +1178,12 @@ 580 AUE_NULL UNIMPL fspacectl 581 AUE_NULL NOPROTO { int sched_getcpu(void); } 582 AUE_NULL UNIMPL swapoff +583 AUE_NULL UNIMPL kqueuex +584 AUE_NULL UNIMPL membarrier +585 AUE_NULL UNIMPL timerfd_create +586 AUE_NULL UNIMPL timerfd_gettime +587 AUE_NULL UNIMPL timerfd_settime +588 AUE_NULL NOPROTO { int kcmp(pid_t pid1, pid_t pid2, int type, \ + u_int idx1, u_int idx2); } + ; vim: syntax=off diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 36c09ab02730..cbb17026894b 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include @@ -2003,3 +2004,89 @@ kern_posix_error(struct thread *td, int error) td->td_retval[0] = error; return (0); } + +int +kcmp_cmp(uintptr_t a, uintptr_t b) +{ + if (a == b) + return (0); + else if (a < b) + return (1); + return (2); +} + +static int +kcmp_pget(struct thread *td, pid_t pid, struct proc **pp) +{ + if (pid == td->td_proc->p_pid) { + *pp = td->td_proc; + return (0); + } + return (pget(pid, PGET_CANDEBUG | PGET_NOTWEXIT | PGET_HOLD, pp)); +} + +int +kern_kcmp(struct thread *td, pid_t pid1, pid_t pid2, int type, + uintptr_t idx1, uintptr_t idx2) +{ + struct proc *p1, *p2; + struct file *fp1, *fp2; + int error, res; + + res = -1; + p1 = p2 = NULL; + error = kcmp_pget(td, pid1, &p1); + if (error == 0) + error = kcmp_pget(td, pid2, &p2); + if (error != 0) + goto out; + + switch (type) { + case KCMP_FILE: + case KCMP_FILEOBJ: + error = fget_remote(td, p1, idx1, &fp1); + if (error == 0) { + error = fget_remote(td, p2, idx2, &fp2); + if (error == 0) { + if (type == KCMP_FILEOBJ) + res = fo_cmp(fp1, fp2, td); + else + res = kcmp_cmp((uintptr_t)fp1, + (uintptr_t)fp2); + fdrop(fp2, td); + } + fdrop(fp1, td); + } + break; + case KCMP_FILES: + res = kcmp_cmp((uintptr_t)p1->p_fd, (uintptr_t)p2->p_fd); + break; + case KCMP_SIGHAND: + res = kcmp_cmp((uintptr_t)p1->p_sigacts, + (uintptr_t)p2->p_sigacts); + break; + case KCMP_VM: + res = kcmp_cmp((uintptr_t)p1->p_vmspace, + (uintptr_t)p2->p_vmspace); + break; + default: + error = EINVAL; + break; + } + +out: + if (p1 != NULL && p1 != td->td_proc) + PRELE(p1); + if (p2 != NULL && p2 != td->td_proc) + PRELE(p2); + + td->td_retval[0] = res; + return (error); +} + +int +sys_kcmp(struct thread *td, struct kcmp_args *uap) +{ + return (kern_kcmp(td, uap->pid1, uap->pid2, uap->type, + uap->idx1, uap->idx2)); +} diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index ace9ad5268b5..117dac7e992f 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -3294,7 +3294,18 @@ int cpu_id ); } - +585 AUE_NULL UNIMPL timerfd_create +586 AUE_NULL UNIMPL timerfd_gettime +587 AUE_NULL UNIMPL timerfd_settime +588 AUE_NULL STD { + int kcmp( + pid_t pid1, + pid_t pid2, + int type, + uintptr_t idx1, + uintptr_t idx2 + ); + } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 77c16d8fffc0..c0ae30dff3c7 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -177,6 +177,8 @@ int kern_ioctl(struct thread *td, int fd, u_long com, caddr_t data); int kern_jail(struct thread *td, struct jail *j); int kern_jail_get(struct thread *td, struct uio *options, int flags); int kern_jail_set(struct thread *td, struct uio *options, int flags); +int kern_kcmp(struct thread *td, pid_t pid1, pid_t pid2, int type, + uintptr_t idx1, uintptr_t idx2); int kern_kevent(struct thread *td, int fd, int nchanges, int nevents, struct kevent_copyops *k_ops, const struct timespec *timeout); int kern_kevent_anonymous(struct thread *td, int nevents, diff --git a/sys/sys/systm.h b/sys/sys/systm.h index bffa4c93c8f2..dcfe84e91cc2 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -455,6 +455,8 @@ int poll_no_poll(int events); /* XXX: Should be void nanodelay(u_int nsec); */ void DELAY(int usec); +int kcmp_cmp(uintptr_t a, uintptr_t b); + /* Root mount holdback API */ struct root_hold_token { int flags; diff --git a/sys/sys/unistd.h b/sys/sys/unistd.h index 6adca008f955..93c6658a009a 100644 --- a/sys/sys/unistd.h +++ b/sys/sys/unistd.h @@ -196,6 +196,13 @@ RFPROCDESC | RFSPAWN | RFPPWAIT) #define RFKERNELONLY (RFSTOPPED | RFHIGHPID | RFPROCDESC) +/* kcmp() options. */ +#define KCMP_FILE 100 +#define KCMP_FILEOBJ 101 +#define KCMP_FILES 102 +#define KCMP_SIGHAND 103 +#define KCMP_VM 104 + #define SWAPOFF_FORCE 0x00000001 /* From nobody Sun Feb 11 01:52:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwH69snz596bD; Sun, 11 Feb 2024 01:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwH4H6Kz45wf; Sun, 11 Feb 2024 01:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ciDCOLjkjW34DFQixk4TplQXtkoT3L7d0Zv5p7pjE94=; b=rAjEmin6JIf8QSRGdN/J2Z7JNXLTZE7sv/aEfBlkKk7uG7KDNe8/17j6zpyb1HdgBfck/b 9ycXczK0HSdYT1f/YVBqJg5Z8OdhnDgl1I2ZlpGGa+AA2jViGFtzWRtQyw2Ef4GEVA0EGT /JEELTTALhVjZV1qoIpxEyzsMx8zDIVqWO3nE+j6FB3wb1jWPDkPZVkymaqkKW0No9aOAk fPd8LtbR7A97iWOQwwEDMAZpOXOhisgCTkKMUIM6MHl1v1hdGRXcihyNCP3eyRTSxyJSpW 6UeAlIGBn/1skQc4ZXhA4hJ46ybJiF/RZjVFZ0TVGUzRhTwPb/JCroydchA81A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616367; a=rsa-sha256; cv=none; b=C/nGvuNe5J0YeHiHWoGBeSJics6P0u7pIGhj0Fghv2xQM+99X1qnKDr+uKDTM5Z7FMl1NO +HhLp4/wi7svKsZ89nLHqo0EGvvzLcKhyCt4v0BReWO9TJ5NEBl6BQLCHG7H+dQ66dRb4F Gn/T6BVsbRuZCsBVLwAqaywbZlMyZk8M4uEOnyFZMtR+GT9SIlGAN1sKZgMJpgN2GJH2BA S63BBd3sEh+S+UAN0HKCq69053mdQIV5zQlmQqBmJwgvM17zQEUKsA083yBOXlKvT7HzAh 3bCoyVkfy6ImcGhg0Y+bYKDOWjYIAC5GUfZ+An2dDYnhLRQ0J1rHxcOPJLcKjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ciDCOLjkjW34DFQixk4TplQXtkoT3L7d0Zv5p7pjE94=; b=bWMewCgNMWrzGbipsTNhOkQ7SiIPtVqUxkv3dwIV7lTNcnxnV+52tXtXWcAm5qgE7Sw7VX qAJYQr1DCASHuyfeDUzdCh6q4rhx8hdHBloMIrGkRz8NKEcamEvsHMKRB7jDeXhaqvkywu CkAEWGZHhbxdtYtpcfXa66jaqu2SjK3V6ONCvO+1jZm0C0v2WbNKgnA6MYEUNHbm1A+32f bazQDu4j86R8LHFgOBgZ+OEvjAXJsL2C2NGDJGzHr/P0uDXWZkJwjfAaaeJOwyOPziwGHR BuPN31i2i54mqErZsYqT5xkkmTTLhs91IaR9B6rVWHLNLlUkNL8sgm9pXB0qfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwH3NxLzgXW; Sun, 11 Feb 2024 01:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qlSr089431; Sun, 11 Feb 2024 01:52:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qlNr089428; Sun, 11 Feb 2024 01:52:47 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:47 GMT Message-Id: <202402110152.41B1qlNr089428@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1737bd30cc3a - stable/13 - Create namespace for the symbols added during 15-CURRENT cycle List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1737bd30cc3a95a7ae5bc5f99c1fbf7c8cc5c892 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1737bd30cc3a95a7ae5bc5f99c1fbf7c8cc5c892 commit 1737bd30cc3a95a7ae5bc5f99c1fbf7c8cc5c892 Author: Yuri Pankov AuthorDate: 2023-09-22 07:57:35 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 Create namespace for the symbols added during 15-CURRENT cycle (cherry picked from commit 95a4709b2cca726c6b76c6743ba2d665c1730666) --- lib/libc/Versions.def | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/libc/Versions.def b/lib/libc/Versions.def index 7c9c7bf6aaed..198682ddba83 100644 --- a/lib/libc/Versions.def +++ b/lib/libc/Versions.def @@ -37,6 +37,10 @@ FBSD_1.6 { FBSD_1.7 { } FBSD_1.6; +# This version was first added to 15.0-current. +FBSD_1.8 { +} FBSD_1.7; + # This is our private namespace. Any global interfaces that are # strictly for use only by other FreeBSD applications and libraries # are listed here. We use a separate namespace so we can write @@ -44,4 +48,4 @@ FBSD_1.7 { # # Please do NOT increment the version of this namespace. FBSDprivate_1.0 { -} FBSD_1.7; +} FBSD_1.8; From nobody Sun Feb 11 01:52:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwK0dLGz596bG; Sun, 11 Feb 2024 01:52:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwJ5Jm2z45hm; Sun, 11 Feb 2024 01:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G6dIgjpO0JYa0MQrrq2udEEGmMJMfUsiIphqF7ueeq4=; b=qo5iapnnxJREq+JXMShDwu96leKcBvNJKqhzW7D2eFcth8jkHKSgC1hKiW7AUZnPgXMi03 pTfGEQ2jAoLTsgtnI+P1JeFNyYDHWkdH8X9m498R09wSKLuutlzVir7LaB98o2KRALhMiD votBMp+FjnSclRqs6Egt1czZh6n9nL6WhHbn6xja1r1g2JE28FNA22JbwtzH0v9lNAjeYP lrSY8CLXjWCER4EQhUtd7OqeYuo9pPMrqHWosXYlkRfkb1/MzCEqAULMh+J3ktpiUnuYPm 8PyYCb+KT6/NWvaJs418a5TxyJ8SdLU07VyRXD0dmoAE1dm8z8UISa5ijFEw0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616368; a=rsa-sha256; cv=none; b=dB29dTpV8Asm07iT5KdFWy0U0DyYthp6Sx+aMFfrlTg2X+hxmOxltq/eRlMYgB3A0MAZ1D ENpGs/Gjxtxk+jmJTAR82YRV7/XNeOkMiJuaEbMQw81+8DVOXkapXJqsAhlvSQsJc6gEw3 Ki/eK082sMNtS/tTCN1LX7JUy/zA8iJ2uE0CDzfL9shhDw7Zf18FH3DJenrER8MMtelAAB 1kmbRLRSQOxvEsNr/cO40f08Z7qHFnsDgKyuW6RtcS19zVfnFiTqW4fIRh7yuBMZ2/aP+u 7LGzzLGE47kKaQzsBsy7870YxT+5ybg7ubScxNUjNfZMvBoXcXZSdH22Wbx1Cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G6dIgjpO0JYa0MQrrq2udEEGmMJMfUsiIphqF7ueeq4=; b=fLMTyChlfLvi1TnyXnbJgVXX2eUIbL8dodh6Ia2EbfUcwQsp5WWieXJp6tNbqryx+UgiIV /GZkMd6YPTThiSaXAP1YQYtEFOpCdKY/eF+MMwjh0JJLlqPrba8ELke++9kkF37GWH30p6 1h2Tj2YhxWttYPupkX1Wm8fqYAdJYaALiI+trNUpdb4y5coJzdix8rpeOHg36mCUMFcdhX iVAo6CAtEGDejdo3kU1y4YPZ3uGgqmusahKtODzd4V8pB5brrjIE73KpDpyAm4M1V5kRGX joeF+1HvlOCGvv0vCCT32WXUGquHqbX2vuOlUy8VhanLocQ/TdpKJqeleHeepg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwJ4PJdzgjt; Sun, 11 Feb 2024 01:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qm34089470; Sun, 11 Feb 2024 01:52:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qm1o089467; Sun, 11 Feb 2024 01:52:48 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:48 GMT Message-Id: <202402110152.41B1qm1o089467@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 819c2372c16d - stable/13 - Add kcmp(2) userspace bits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 819c2372c16db6f2ec794a3c3a179f4d37b37951 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=819c2372c16db6f2ec794a3c3a179f4d37b37951 commit 819c2372c16db6f2ec794a3c3a179f4d37b37951 Author: Konstantin Belousov AuthorDate: 2024-01-19 19:55:11 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 Add kcmp(2) userspace bits (cherry picked from commit 211bdd601ee51f90da9b123807ef68ac122116b9) --- include/unistd.h | 1 + lib/libc/sys/Symbol.map | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/unistd.h b/include/unistd.h index 337f6befd717..7d3aace103d0 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -521,6 +521,7 @@ int iruserok(unsigned long, int, const char *, const char *); int iruserok_sa(const void *, int, int, const char *, const char *); int issetugid(void); void __FreeBSD_libc_enter_restricted_mode(void); +int kcmp(pid_t pid1, pid_t pid2, int type, uintptr_t idx1, uintptr_t idx2); long lpathconf(const char *, int); #ifndef _MKDTEMP_DECLARED char *mkdtemp(char *); diff --git a/lib/libc/sys/Symbol.map b/lib/libc/sys/Symbol.map index f9af2922ed3c..29aa0bc6ac99 100644 --- a/lib/libc/sys/Symbol.map +++ b/lib/libc/sys/Symbol.map @@ -422,6 +422,10 @@ FBSD_1.7 { swapoff; }; +FBSD_1.8 { + kcmp; +}; + FBSDprivate_1.0 { ___acl_aclcheck_fd; __sys___acl_aclcheck_fd; From nobody Sun Feb 11 01:52:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwL086wz596dh; Sun, 11 Feb 2024 01:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwK67D4z45lD; Sun, 11 Feb 2024 01:52:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wdEy2byabuWr4/mrCrGvo5IPjX2uXTyMk2HsxgyMLaU=; b=noAdT4cSrRsl/Gja+GN9pJFVbGrN3c+QuVnKli2w6daV0rI8BEwv7dKnHoe8+i8uvJbud+ FjdygpQ56sNwOzFYsa+80DgxH15+cqCCPA33WNMcd0ZAfTj4Gigt/OOzjlAOHZHTfG9FBU AQfHysvN7NxoYUXIliqMeOmVcayyXsxKVEJuBNA7fxpBXylXVUE3k2M0S5CFdT9uHLGYo8 sY8pI7r4eZrLxwPg82/ms5MefypLU9cfQQELCLkn9dUvPrx87dgSNvE+AJEHUVZFphWpMi tpsN4bTStHkHd06Y1T7+NrzWIkgzUoyHarnnnZ5LaAYuI2jz5oYfFwDEaiYsqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616369; a=rsa-sha256; cv=none; b=rCtbC+EFoww4fIX8NnufH0sug4AhPZiXQ7zjFJaPc/jEnKBSZez2eKyCkbdWnrJNqDH4Du fBlFELexBJIYl5O/EuQJDZOW5277ra5UiuPDVADWEsXgwJd9Odk8IFxIWzfEWv5r6spWDt PdsPzpgtrvN9O6tXooG6yXM9/xGjknEtAhPfnOyGbFUElNwr3HbgTl4ieu1uBoTHGqB9pp WTahLZMwTht2sa1J3WxNP4447Y5Y6D/RAmonLpg/F8+EraW04yuj+Sy1lGpxQ5g+zkLXj+ EUnCzZ3vniLrLAHr7LI5ucmwt47liAbTclxw7MyNrMVQFEQt4GPkh84oGuw/GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wdEy2byabuWr4/mrCrGvo5IPjX2uXTyMk2HsxgyMLaU=; b=vM6G2wBAfnLavCJwAKWNe5d8SHFn1lvDrQyX2DRnkKQgYpf+HzWA8QpF8Pey1DPyxGkH8S iC//sSPHdVUf8SvvtnF4oqylMTylE8og8GGY37DXDQ8uEPYnPlxX1K5iku4GEt8K8D2Zgv FLTCUPfJsmMOas4aFsJCbGPCMRlleFogGOD1kkb3g35DgJ9uS5YrG9fWMXqu7QNQ5UISZv 7HB674gBGAX06vs5DpmSNnL63kOnjvdvkwttW+boPuDajPkeO20dlRoFyxZT9NsmtRx5JP A8OepFSxWs1kPAr2hEA8x/nq7EYY8hmPRHXHu0bpWgM2G4qmAEkDz5fkN51eaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwK5Dcbzgxv; Sun, 11 Feb 2024 01:52:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qn4A089519; Sun, 11 Feb 2024 01:52:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qnLF089516; Sun, 11 Feb 2024 01:52:49 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:49 GMT Message-Id: <202402110152.41B1qnLF089516@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 7d2b98e645ce - stable/13 - kcmp(2): implement for generic file types List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7d2b98e645ce9454b84f7d1d193d98d0880c4627 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7d2b98e645ce9454b84f7d1d193d98d0880c4627 commit 7d2b98e645ce9454b84f7d1d193d98d0880c4627 Author: Konstantin Belousov AuthorDate: 2024-01-19 21:44:37 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 kcmp(2): implement for generic file types (cherry picked from commit f28526e9466cd60ed33053e922238ba1c9040341) --- sys/kern/kern_event.c | 1 + sys/kern/sys_eventfd.c | 1 + sys/kern/sys_generic.c | 8 ++++++++ sys/kern/sys_pipe.c | 1 + sys/kern/sys_socket.c | 1 + sys/kern/tty_pts.c | 1 + sys/kern/uipc_mqueue.c | 1 + sys/kern/uipc_sem.c | 1 + sys/kern/uipc_shm.c | 1 + sys/sys/file.h | 1 + 10 files changed, 17 insertions(+) diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 0bf84389a6ee..3fb576648fee 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -140,6 +140,7 @@ static struct fileops kqueueops = { .fo_chmod = invfo_chmod, .fo_chown = invfo_chown, .fo_sendfile = invfo_sendfile, + .fo_cmp = file_kcmp_generic, .fo_fill_kinfo = kqueue_fill_kinfo, }; diff --git a/sys/kern/sys_eventfd.c b/sys/kern/sys_eventfd.c index 3a5f1dca6df9..47d422f1fc90 100644 --- a/sys/kern/sys_eventfd.c +++ b/sys/kern/sys_eventfd.c @@ -77,6 +77,7 @@ static struct fileops eventfdops = { .fo_chown = invfo_chown, .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = eventfd_fill_kinfo, + .fo_cmp = file_kcmp_generic, .fo_flags = DFLAG_PASSABLE }; diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index cbb17026894b..32f137f0cb4c 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -2090,3 +2090,11 @@ sys_kcmp(struct thread *td, struct kcmp_args *uap) return (kern_kcmp(td, uap->pid1, uap->pid2, uap->type, uap->idx1, uap->idx2)); } + +int +file_kcmp_generic(struct file *fp1, struct file *fp2, struct thread *td) +{ + if (fp1->f_type != fp2->f_type) + return (3); + return (kcmp_cmp((uintptr_t)fp1->f_data, (uintptr_t)fp2->f_data)); +} diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index edd9ce9534d3..19f5f07d7523 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -168,6 +168,7 @@ struct fileops pipeops = { .fo_chown = pipe_chown, .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = pipe_fill_kinfo, + .fo_cmp = file_kcmp_generic, .fo_flags = DFLAG_PASSABLE }; diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c index c54a729fa12c..cf65edb9ef0a 100644 --- a/sys/kern/sys_socket.c +++ b/sys/kern/sys_socket.c @@ -112,6 +112,7 @@ struct fileops socketops = { .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = soo_fill_kinfo, .fo_aio_queue = soo_aio_queue, + .fo_cmp = file_kcmp_generic, .fo_flags = DFLAG_PASSABLE }; diff --git a/sys/kern/tty_pts.c b/sys/kern/tty_pts.c index 1351560ba05a..3a6a71dfd7e8 100644 --- a/sys/kern/tty_pts.c +++ b/sys/kern/tty_pts.c @@ -611,6 +611,7 @@ static struct fileops ptsdev_ops = { .fo_chown = invfo_chown, .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = ptsdev_fill_kinfo, + .fo_cmp = file_kcmp_generic, .fo_flags = DFLAG_PASSABLE, }; diff --git a/sys/kern/uipc_mqueue.c b/sys/kern/uipc_mqueue.c index 0d0758011731..2038de9324fc 100644 --- a/sys/kern/uipc_mqueue.c +++ b/sys/kern/uipc_mqueue.c @@ -2667,6 +2667,7 @@ static struct fileops mqueueops = { .fo_chown = mqf_chown, .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = mqf_fill_kinfo, + .fo_cmp = file_kcmp_generic, .fo_flags = DFLAG_PASSABLE, }; diff --git a/sys/kern/uipc_sem.c b/sys/kern/uipc_sem.c index ad0f3e1f1d00..7cb25749ad9c 100644 --- a/sys/kern/uipc_sem.c +++ b/sys/kern/uipc_sem.c @@ -153,6 +153,7 @@ static struct fileops ksem_ops = { .fo_chown = ksem_chown, .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = ksem_fill_kinfo, + .fo_cmp = file_kcmp_generic, .fo_flags = DFLAG_PASSABLE }; diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index def8c35025c1..1df3a0967b09 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -165,6 +165,7 @@ struct fileops shm_ops = { .fo_get_seals = shm_get_seals, .fo_add_seals = shm_add_seals, .fo_fallocate = shm_fallocate, + .fo_cmp = file_kcmp_generic, .fo_flags = DFLAG_PASSABLE | DFLAG_SEEKABLE, }; diff --git a/sys/sys/file.h b/sys/sys/file.h index 4b291459395f..9ae31974745a 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -277,6 +277,7 @@ fo_seek_t vn_seek; fo_fill_kinfo_t vn_fill_kinfo; fo_kqfilter_t vn_kqfilter_opath; int vn_fill_kinfo_vnode(struct vnode *vp, struct kinfo_file *kif); +int file_kcmp_generic(struct file *fp1, struct file *fp2, struct thread *td); void finit(struct file *, u_int, short, void *, struct fileops *); void finit_vnode(struct file *, u_int, void *, struct fileops *); From nobody Sun Feb 11 01:52:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwM2br0z596GM; Sun, 11 Feb 2024 01:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwM04TNz45jC; Sun, 11 Feb 2024 01:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQ+5cDB0xR9Cu+CqTamLLIFVLDUjSkzFeCdR/AtufU8=; b=a/E0e9QUOKoewTPDt8UP6BY+GF8lkyiYkBdbdfd+TyM9sM4vcAV+nEBFf4kIEbN79fQI6h zQZKRMNwsyDna7IEqbS7TvVF/IBAizULW71hg0Kld9r6iPs+Jv8aPuFqwSVSd75TDFRZ++ xyb19SOTBm/5fOP9RrRfjcxkG2287Wyu+LHBT/DGHsnCpawjzkgLzzjKARoacLR77VfAXN 8ZFmIy3do5PnjiLBVp7V0NkZ+WzKpyKlFQJgB2icR7TutOVK/yFY9OTRW2S9CujnhJt+v4 aGFSKZ63k+pE8JlbpziFDiXPfStfqdgj3lwuQW3PojNUrQ90OZO8d0cWeToN3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616371; a=rsa-sha256; cv=none; b=Q/KgwnryGqOYg/m9ZCsPgFoM5RRd3MifVaIpQQtUzQGYcmaI6Mg2xrn+IptrYquD/z+grH Hzo5zdcF+bGcBP4X1Hf0FzNF9hJI79Nsdmp1n2NiS5PeeNFOwS1B6PTsMvx9+Q6j8bta61 GB0FreubPIel3F77Br2nJR00TKRchREkcsQKLwPivVOUTuAcnsMzhkg0lAllaD/Kz2XHkc DxbWGwbX9CSCB+8J5dZqRcZ+NK13E8/2yE8PEf9jC5QeCFUTimV/hOrONx6ARq2UkK6sMb acjBsNHw90ImTBlmCBNuVPZ1UF3eBz9LJ4Gzbqzuklag6ftrzCPGfPjmVpGqbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQ+5cDB0xR9Cu+CqTamLLIFVLDUjSkzFeCdR/AtufU8=; b=XVDvPzDvMjmkjDf+xYbyqt2eSyoB+66HBsWh8+na7lPn3dhRwfHYu2kXKhFo2xS3+naepq DlDH9wmPtMYPkPAjhrKZc4tcXxMYiOXIDvvFMehjgTjROaedYPXdMYVW5BpoHsXijc8fgq yW69npDndyxQqPLeCYXKPlpa81IOs4T/VwYU/QCL3VanhtfCeQCeI+djoP7EXQpj5cBxaV r5K403TsWAGtkvU7DWpy6ZZYfX7d6VWObo10FduiNAVYDmLWGqZsVCRW9X7ohokSVAnNgZ E4xt+8zHLMFmQ78GLE1YdVis60fcm5DWB1kLqEmjiHdOr2m1SXquOG/spex7Qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwL6HKwzgxw; Sun, 11 Feb 2024 01:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qoAJ089561; Sun, 11 Feb 2024 01:52:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qoRF089558; Sun, 11 Feb 2024 01:52:50 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:50 GMT Message-Id: <202402110152.41B1qoRF089558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 81d146d078e9 - stable/13 - kcmp(2): implement for vnode files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 81d146d078e94707af2ed13bce6e42c0518e77b7 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=81d146d078e94707af2ed13bce6e42c0518e77b7 commit 81d146d078e94707af2ed13bce6e42c0518e77b7 Author: Konstantin Belousov AuthorDate: 2024-01-19 21:24:31 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 kcmp(2): implement for vnode files (cherry picked from commit f04220c1b0641fa68d01dc85d9fef706b02f4079) --- sys/kern/kern_descrip.c | 1 + sys/kern/vfs_vnops.c | 9 +++++++++ sys/sys/vnode.h | 1 + 3 files changed, 11 insertions(+) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 0a28f47bccdf..f51a1092114d 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -5305,6 +5305,7 @@ struct fileops path_fileops = { .fo_chown = badfo_chown, .fo_sendfile = badfo_sendfile, .fo_fill_kinfo = vn_fill_kinfo, + .fo_cmp = vn_cmp, .fo_flags = DFLAG_PASSABLE, }; diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index d2df3e2c5e4d..e095fb9df13b 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -123,6 +123,7 @@ struct fileops vnops = { .fo_fill_kinfo = vn_fill_kinfo, .fo_mmap = vn_mmap, .fo_fallocate = vn_fallocate, + .fo_cmp = vn_cmp, .fo_flags = DFLAG_PASSABLE | DFLAG_SEEKABLE }; @@ -4064,3 +4065,11 @@ vn_lktype_write(struct mount *mp, struct vnode *vp) return (LK_SHARED); return (LK_EXCLUSIVE); } + +int +vn_cmp(struct file *fp1, struct file *fp2, struct thread *td) +{ + if (fp2->f_type != DTYPE_VNODE) + return (3); + return (kcmp_cmp((uintptr_t)fp1->f_vnode, (uintptr_t)fp2->f_vnode)); +} diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index fb7c446d7ee0..196965eba9a3 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -804,6 +804,7 @@ int vn_vget_ino_gen(struct vnode *vp, vn_get_ino_t alloc, void *alloc_arg, int lkflags, struct vnode **rvp); int vn_utimes_perm(struct vnode *vp, struct vattr *vap, struct ucred *cred, struct thread *td); +int vn_cmp(struct file *, struct file *, struct thread *td); int vn_io_fault_uiomove(char *data, int xfersize, struct uio *uio); int vn_io_fault_pgmove(vm_page_t ma[], vm_offset_t offset, int xfersize, From nobody Sun Feb 11 01:52:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwN40Gpz596bM; Sun, 11 Feb 2024 01:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwN0qS3z462x; Sun, 11 Feb 2024 01:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6pWOutUgfj13RleCMHqHw78yOdJ7qN0iXiPK8m1zbU4=; b=nJFhtZBEkAJACMMwUBCPa3nq7m/wQ+2k3mstUsx4MHzKClQeTBk1Y5DHoSm8gKTw765T9r W4JAIG/6GcPH63bhfPVc/jiJHuyR3iL7dLHcb4o7lc5sCUW0srsvYBCbddXXUW9qtoCCmB xrYLossDEnZmk4czvWVIFbnHsEZbL5TpE+rP8GsVJGTTrFpW2ONaYIB4DTIDmbsS8IscXI A8lF10FxI8byXK2hR8R/zNKGI5vVqwX0qEC9sIsmj9bTpOMpUai0RULzZ4uproOlCoraml MfyxgtPakWlwYqJw5vxFZZ76WvYwqQ4LztAtbEpOtU5Djfv6MAc6tatapFuCtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616372; a=rsa-sha256; cv=none; b=UYzyoITohG0ap0Aj1ML2qkczSElVfCFK9BNK/93kKC7YJCUznATyK7MAPcsWbzZHtuoexJ 8mproQeMsZVa5A310eEmONZTmC5WXaXEi1IeRSUWeC4GTimNwXTsd/OEoCH96m/4xPrIYN /DLzmJVgKevDXSd4L2kiDP0CMH8dZflm6jmvY87y32R+xjpDwa71h4M42FTGg2bceTs+y1 B/NMGfygWmy8zRDsctsQFmxjZGehTIG96xQ80gvwLTgXTU5QCvK9K1icL8YKnYyxt9AiGC 6SPB4KAU4CPraTi8fHFOMZ+EUtbd4lpmxgCw9keXv8wMqKJ/MoWumbF90tO/MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6pWOutUgfj13RleCMHqHw78yOdJ7qN0iXiPK8m1zbU4=; b=jQ1x5CoTHp8wmeHoNCncO8wV8hUIfFqosGWww4V1xZlK11yzJiOv3FQuCz/BZXRPEjMLqy hxJp1m4hr8huJ88OeB5fq3TsFNyxix8q2DDbCFANmTXhzVZT3OmP4qmJvtbF9LGJwluJmv Fj3mrWQRuhgz4GXSe/dj0VZjObDt/aRZ71bqGL12QL0oD8AgwwZxabL09IAnubP/59XRIP 3Q62ii4dooLAgotC5iWGFgFTCSgYGG3Hi8JKkqdrc/KBu4LZe/2lMG8e0pzLz2vdEm0mOU DpSZbTwMjWvw0SAQmQjdMIF6oMpFyj0DvIMON6rpzCu0HlAYH9+UZVLJJmsnPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwM739VzgVK; Sun, 11 Feb 2024 01:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qpA6089605; Sun, 11 Feb 2024 01:52:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qpK0089602; Sun, 11 Feb 2024 01:52:51 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:51 GMT Message-Id: <202402110152.41B1qpK0089602@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 890d1f392a1e - stable/13 - kcmp(2): implement for devfs files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 890d1f392a1ed6792f0f1563f601181e5b9935a7 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=890d1f392a1ed6792f0f1563f601181e5b9935a7 commit 890d1f392a1ed6792f0f1563f601181e5b9935a7 Author: Konstantin Belousov AuthorDate: 2024-01-19 21:36:50 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 kcmp(2): implement for devfs files (cherry picked from commit 5c41d888de1aba0e82531fb6df4cc3b6989d37bd) --- sys/fs/devfs/devfs_vnops.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index a71cfda9fa9a..45c72438f752 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -2024,6 +2024,14 @@ dev2udev(struct cdev *x) return (cdev2priv(x)->cdp_inode); } +static int +devfs_cmp_f(struct file *fp1, struct file *fp2, struct thread *td) +{ + if (fp2->f_type != DTYPE_VNODE || fp2->f_ops != &devfs_ops_f) + return (3); + return (kcmp_cmp((uintptr_t)fp1->f_data, (uintptr_t)fp2->f_data)); +} + static struct fileops devfs_ops_f = { .fo_read = devfs_read_f, .fo_write = devfs_write_f, @@ -2039,6 +2047,7 @@ static struct fileops devfs_ops_f = { .fo_seek = vn_seek, .fo_fill_kinfo = vn_fill_kinfo, .fo_mmap = devfs_mmap_f, + .fo_cmp = devfs_cmp_f, .fo_flags = DFLAG_PASSABLE | DFLAG_SEEKABLE }; From nobody Sun Feb 11 01:52:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwP3QK6z596DW; Sun, 11 Feb 2024 01:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwP28qlz4637; Sun, 11 Feb 2024 01:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KlvE3a4hbMTtiBlq6YArsZPSKOubBsFeJ7ZY/+Gr3V4=; b=l4TkHJ5Lp4Pn/he4hcp9pkjppJKxaJ9ExRCLaGITqpgt/T+Qx5NI+u0uBh5cwUpVj4DuxC vMON4oEIaHDrxZWmnJ4Re2ycBysy8PKKzhN6izS/2c8qp3ASPcCtJetAlN9Vwnv43hDZ25 bSPtXM7gj4+c/yudn6MHfEOsIhrjGgIN0SiAvS9wwIbajMM+CmQ7u4bIXd5QrIm8tGnXoe pFleFOgrNyn4PcCwwbGY+u3Csu+orxQMTEuOQBDOfRa7JqvcqNH8FOHsxqhzznQAJbWwNO FcEeAp5dcFbTc3FdhQWuNFr11k8eLeVhF7G0t2PaUKt4RGWKwrhtO1YA9mvq4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616373; a=rsa-sha256; cv=none; b=Sw+uo0p2AFgBdJPinRv3MfdkR8VQcPP+Vje+oZGiBlFjmFpgD3/DFcx3UCr2fr8fJ9/CbK terxaDI14Mg/SZBLQD4akzOy8OdiD6g3+3ewXd6oYqcGbqaFcj3zlyTaLHmjXSdo9pwi3l u9AHsWdZ3QXcx+HtzJRDWDp8yp/yzrgky7YsAJRt2ly2UUsDjt1oGo7YiU8PkP6lEz4sE6 7o6sTroiXWwO9Nw2PiNDbBWTdtCvtQbLDrbW5n1W47itOzUCghqoaD3LnBwZLjWA8tB/jn id+Zbnc7uVckNzOoylQ4Xf4DS5951+fCo9fYNeTio+lFsl3AolVaBqFMRTk9qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KlvE3a4hbMTtiBlq6YArsZPSKOubBsFeJ7ZY/+Gr3V4=; b=PQYpRDCPZDcX1IkalGBWJw5K0Q3P6Mw25q7bE3WjAq+OX0etIseJXMPKm1lqXL7DjojX8E ebPAjVO0C7RlrCSw/Ehl9PtN8LNfgwo66kxxOeFpOrU8JHPjejQzMeRNzOHR2P4lK4hZy3 rLR1/oxefe4PcXtVCvgOoQms+ZzLXtKg08auoP6Wz3xur847PZk0wFguTFBODeoMaFnArE bfv+d1ywEfSaPQCZtJ4v+Z7fR4944vjPJQhy6TjoaeAb7VfxEeSgdUEDCmbwUrfbzIxKHm 3NLsLRn7HE5rNevDQrqKliSPW3H7K3m+ogVJVZp1RR3MxQHXQpyLgBuH9T//qA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwP1Gfjzgjv; Sun, 11 Feb 2024 01:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qrpC089651; Sun, 11 Feb 2024 01:52:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qrjj089648; Sun, 11 Feb 2024 01:52:53 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:53 GMT Message-Id: <202402110152.41B1qrjj089648@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e314d3d7aa65 - stable/13 - kcmp(2): implement for linuxkpi cdevs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e314d3d7aa65159291fad83ea95c867b473b0dca Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e314d3d7aa65159291fad83ea95c867b473b0dca commit e314d3d7aa65159291fad83ea95c867b473b0dca Author: Konstantin Belousov AuthorDate: 2024-01-19 21:54:03 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 kcmp(2): implement for linuxkpi cdevs (cherry picked from commit 41fb6dc3d4df632ffacf91b5631a718442d129d5) --- sys/compat/linuxkpi/common/src/linux_compat.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index df48674163aa..85fb072b9943 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -1900,6 +1900,19 @@ linux_iminor(struct inode *inode) return (minor(ldev->dev)); } +static int +linux_file_kcmp(struct file *fp1, struct file *fp2, struct thread *td) +{ + struct linux_file *filp1, *filp2; + + if (fp2->f_type != DTYPE_DEV) + return (3); + + filp1 = fp1->f_data; + filp2 = fp2->f_data; + return (kcmp_cmp((uintptr_t)filp1->f_cdev, (uintptr_t)filp2->f_cdev)); +} + struct fileops linuxfileops = { .fo_read = linux_file_read, .fo_write = linux_file_write, @@ -1914,6 +1927,7 @@ struct fileops linuxfileops = { .fo_chmod = invfo_chmod, .fo_chown = invfo_chown, .fo_sendfile = invfo_sendfile, + .fo_cmp = linux_file_kcmp, .fo_flags = DFLAG_PASSABLE, }; From nobody Sun Feb 11 01:52:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwQ4lzLz596L3; Sun, 11 Feb 2024 01:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwQ3KDNz45y2; Sun, 11 Feb 2024 01:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OdfFfAlFJDrFgOb/W2Nlflpr/orLSH+alRlqFpyVn7s=; b=nsjCDNgthAaHf2QC8y1WzjZWl0yoRM2YIVQndHF8rRy2oijKk4+9UJe/Gl1EU9pl4sLo4h dUX6FPLCqGSpvRL69OKczq23hV9vU7tB0E/MyG96MICBm04oIAYJe4+uC2JHxWMfiAisQx i3qIe12JUT60jp59NcAnr56Dw42D3zVW3rJ65VLO22Cg5PpghUjsRJkbfSI/autoZSk1or kF2gc34eqs9ixhTqqV6iVnni3r9HjNlLPDU/hRLRInXy2Tp702vnhZek1eDj/aqS1uuPSJ hU2o+n5sSOW6wsbz8MYZqqc7f34SoRfaueOLJmbV0VcSB+TSFcRpzE3cffPUUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616374; a=rsa-sha256; cv=none; b=P1/TX3EI896pErIImncHEadQmgn8NzUg4fqHh0+tbAZJm/5pBtMhDqbNTSR8pgmkxwhcwc 4cON15LDnkwL0aAHHqaY0nic9+GgT/UuSmLICcESgtr5ffdSCfNfE/aJaYReQayCRxtVjP wbRpUrsiaWPfyX+5KuvqhoRKH8dc8yISbdeoIKokgbtt4y1e7fcQPm8H6mLULKtmok9jj2 qXwalJyRXkjfn+PWuMhTd7AiS0t3J/Lkk3N2JZEiO7afKGFPViIj8NIJ9bncmTYIqCI3Dj qIC2wei75dJ//JxbeVFUz4GWmjBSYsvJV5TtZ+VuyhglHFfEdU6f5uzCts7XhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OdfFfAlFJDrFgOb/W2Nlflpr/orLSH+alRlqFpyVn7s=; b=tWJ5bPmeS5BuTL4C6LWZtRR20uDpaMsB49taIS96iQ/2VC1J1RZBDcHhkffxT5kYyfDJ3N b/gG0H2Xc3avZQegvWIqDh03NGu29R3S0Lkw8eMl3kaFZalJQcxmIHd4Tz0c3NtFSFcC5O gNxHJvbNrkYTpUV2IRpITT9oIdgfaiPg7nH7j6DTjf0rnocde2uaUygAjN/LEzVeJ1wUa6 21TsphzwILDh8v18K8yWXH9PUK1Er6EpcGDDZIhWG6tdNyq4OnzfoojPr8HcpfhhJveIpQ fqXsOI9LfqhAMZFbEc+86QGvLQrcqvuEvG6g4B8B0pnPVZNT+dPTtMl19CO+pA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwQ2CkszgFx; Sun, 11 Feb 2024 01:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qsua089690; Sun, 11 Feb 2024 01:52:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qsSA089687; Sun, 11 Feb 2024 01:52:54 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:54 GMT Message-Id: <202402110152.41B1qsSA089687@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 920542c46341 - stable/13 - kcmp(2): implement for procdesc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 920542c46341a572e4e7395e0341537f9ae6c66e Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=920542c46341a572e4e7395e0341537f9ae6c66e commit 920542c46341a572e4e7395e0341537f9ae6c66e Author: Konstantin Belousov AuthorDate: 2024-01-19 22:37:39 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:29 +0000 kcmp(2): implement for procdesc (cherry picked from commit f006524d6d696cc2a10b9e90a9a6ea412f1839eb) --- sys/kern/sys_procdesc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c index 307aea407d90..aab7b1616594 100644 --- a/sys/kern/sys_procdesc.c +++ b/sys/kern/sys_procdesc.c @@ -97,6 +97,7 @@ static fo_kqfilter_t procdesc_kqfilter; static fo_stat_t procdesc_stat; static fo_close_t procdesc_close; static fo_fill_kinfo_t procdesc_fill_kinfo; +static fo_cmp_t procdesc_cmp; static struct fileops procdesc_ops = { .fo_read = invfo_rdwr, @@ -111,6 +112,7 @@ static struct fileops procdesc_ops = { .fo_chown = invfo_chown, .fo_sendfile = invfo_sendfile, .fo_fill_kinfo = procdesc_fill_kinfo, + .fo_cmp = procdesc_cmp, .fo_flags = DFLAG_PASSABLE, }; @@ -556,3 +558,15 @@ procdesc_fill_kinfo(struct file *fp, struct kinfo_file *kif, kif->kf_un.kf_proc.kf_pid = pdp->pd_pid; return (0); } + +static int +procdesc_cmp(struct file *fp1, struct file *fp2, struct thread *td) +{ + struct procdesc *pdp1, *pdp2; + + if (fp2->f_type != DTYPE_PROCDESC) + return (3); + pdp1 = fp1->f_data; + pdp2 = fp2->f_data; + return (kcmp_cmp((uintptr_t)pdp1->pd_pid, (uintptr_t)pdp2->pd_pid)); +} From nobody Sun Feb 11 01:52:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXVwR6Pl0z5964d; Sun, 11 Feb 2024 01:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXVwR4XTKz4617; Sun, 11 Feb 2024 01:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BrDT8CMlIwOvZW4cLhIieQIdCzY2kALkiGPMRBEJB4A=; b=ZjVR8SdR0vAH7l8+pZnTc+ms9E66jzsPbU6IBNQMLANtCaXufnP6vG1Ib00rqGGFWhznFM RKPZGQigwP+DC2uuVfPhy6kR0mMF1moajyN7aLNejuIZ6+aLYBi2y4/1PJZogNRoJEKK+U 152eRLdC4sjP1C8KaR24KQD4KlEvwE5hhvMVwym6CMHOgxdLPg56AZRi/h5Wucevc9znhK xeWMQgu1YGcNDiQF743+681V2fL9quBmBgu1m4JXRBvuHCAHS9Fysunix4KJ2dn7oTIh7i YQ+VjwEuuAgbV1eDrvMYQNpnRY6NkaIyuBhKi0LsxUiYSSo+PbBCBv96uZH3yA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707616375; a=rsa-sha256; cv=none; b=XGHN4YgkyNTKyFeDfKxKJh1jU8pqF0fnC+PreG1Np6IMOaY5R/5I22S/5xaHCrIfN6uT2a M7gyB3I6cvcEhbOq55wXVppWmLNBlOKxHoH0kbbmicHxglcyl+2y9ICxW+hrHCl7JZnpX5 JFQnglE4D2Od2wkzzApAvcGjwyDIJOM04TEQpj63LJdSAmaqkdDXS/Xt7vz5GM03X2KwZJ 9EPLQvy2CUCDUgU3OCxGwhSege6oWHmOKy0k20RsHMzz7Nfij2GPKo8mLl1KsBoxnaX8Kv 2/d+xnWwx2aby4072LxS4d5zsI6jpWazKrplnNejbvrkRP6jxikgq5WmV9m3fQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707616375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BrDT8CMlIwOvZW4cLhIieQIdCzY2kALkiGPMRBEJB4A=; b=TXMgZnTVcACevMxBoJdKZd1Qastot2sG8w9NIYu0k3GFg7Pp64UGI2888m32mCxZ2Oyb39 3ufrbD6hBJlZEo2nplNJlWlLLlmEVNf/4WhC+ukwKvS/zl7w5SUVh+Q7XAjcWFW+0gV1BG CCZM0i488XLdJw2iWxmKCOKrH9Y7i7b0SwI98c93WlvRFBI+KBCmnshdhGSvTW6mFiGc9W 2krVTOZs5CVqghAK+TnpWLuDqV+AXvEpvaKJ5eksLptKlHJvDf/MPvccgTTu73pjZSzXdV oaKK2HtikyDGK3r7WmZ5Ld2NLisD+6MpdtpSa1nyXL0IuMxEBJJpeD7gd1bEcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXVwR3cSdzgVL; Sun, 11 Feb 2024 01:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41B1qtpi089720; Sun, 11 Feb 2024 01:52:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41B1qtPT089717; Sun, 11 Feb 2024 01:52:55 GMT (envelope-from git) Date: Sun, 11 Feb 2024 01:52:55 GMT Message-Id: <202402110152.41B1qtPT089717@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 615e64836b7b - stable/13 - regen List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 615e64836b7bcf69c695c2cbe822851ffafb67cc Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=615e64836b7bcf69c695c2cbe822851ffafb67cc commit 615e64836b7bcf69c695c2cbe822851ffafb67cc Author: Konstantin Belousov AuthorDate: 2024-01-24 05:33:52 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-11 01:40:30 +0000 regen --- sys/compat/freebsd32/freebsd32_syscall.h | 3 +- sys/compat/freebsd32/freebsd32_syscalls.c | 6 ++++ sys/compat/freebsd32/freebsd32_sysent.c | 6 ++++ sys/compat/freebsd32/freebsd32_systrace_args.c | 38 ++++++++++++++++++++++++++ sys/kern/init_sysent.c | 4 +++ sys/kern/syscalls.c | 4 +++ sys/kern/systrace_args.c | 38 ++++++++++++++++++++++++++ sys/sys/syscall.h | 3 +- sys/sys/syscall.mk | 3 +- sys/sys/sysproto.h | 9 ++++++ 10 files changed, 111 insertions(+), 3 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h index 2e9bd9f419f5..205b35b8fedc 100644 --- a/sys/compat/freebsd32/freebsd32_syscall.h +++ b/sys/compat/freebsd32/freebsd32_syscall.h @@ -508,4 +508,5 @@ #define FREEBSD32_SYS_freebsd32_aio_writev 578 #define FREEBSD32_SYS_freebsd32_aio_readv 579 #define FREEBSD32_SYS_sched_getcpu 581 -#define FREEBSD32_SYS_MAXSYSCALL 583 +#define FREEBSD32_SYS_kcmp 588 +#define FREEBSD32_SYS_MAXSYSCALL 589 diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c index d804247bb173..7aee0a507acf 100644 --- a/sys/compat/freebsd32/freebsd32_syscalls.c +++ b/sys/compat/freebsd32/freebsd32_syscalls.c @@ -618,4 +618,10 @@ const char *freebsd32_syscallnames[] = { "#580", /* 580 = fspacectl */ "sched_getcpu", /* 581 = sched_getcpu */ "#582", /* 582 = swapoff */ + "#583", /* 583 = kqueuex */ + "#584", /* 584 = membarrier */ + "#585", /* 585 = timerfd_create */ + "#586", /* 586 = timerfd_gettime */ + "#587", /* 587 = timerfd_settime */ + "kcmp", /* 588 = kcmp */ }; diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c index 10b94aa4a899..ff8f80a6ff42 100644 --- a/sys/compat/freebsd32/freebsd32_sysent.c +++ b/sys/compat/freebsd32/freebsd32_sysent.c @@ -671,4 +671,10 @@ struct sysent freebsd32_sysent[] = { { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 580 = fspacectl */ { .sy_narg = 0, .sy_call = (sy_call_t *)sys_sched_getcpu, .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 581 = sched_getcpu */ { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 582 = swapoff */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 583 = kqueuex */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 584 = membarrier */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 585 = timerfd_create */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 586 = timerfd_gettime */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 587 = timerfd_settime */ + { .sy_narg = AS(kcmp_args), .sy_call = (sy_call_t *)sys_kcmp, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 588 = kcmp */ }; diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c index 96f0ee10dbda..0daa93ef04de 100644 --- a/sys/compat/freebsd32/freebsd32_systrace_args.c +++ b/sys/compat/freebsd32/freebsd32_systrace_args.c @@ -3411,6 +3411,17 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 0; break; } + /* kcmp */ + case 588: { + struct kcmp_args *p = params; + iarg[0] = p->pid1; /* pid_t */ + iarg[1] = p->pid2; /* pid_t */ + iarg[2] = p->type; /* int */ + uarg[3] = p->idx1; /* u_int */ + uarg[4] = p->idx2; /* u_int */ + *n_args = 5; + break; + } default: *n_args = 0; break; @@ -9190,6 +9201,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) /* sched_getcpu */ case 581: break; + /* kcmp */ + case 588: + switch (ndx) { + case 0: + p = "pid_t"; + break; + case 1: + p = "pid_t"; + break; + case 2: + p = "int"; + break; + case 3: + p = "u_int"; + break; + case 4: + p = "u_int"; + break; + default: + break; + }; + break; default: break; }; @@ -11111,6 +11144,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; /* sched_getcpu */ case 581: + /* kcmp */ + case 588: + if (ndx == 0 || ndx == 1) + p = "int"; + break; default: break; }; diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index b2d0120da519..83eaed3ddaed 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -639,4 +639,8 @@ struct sysent sysent[] = { { .sy_narg = AS(swapoff_args), .sy_call = (sy_call_t *)sys_swapoff, .sy_auevent = AUE_SWAPOFF, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 582 = swapoff */ { .sy_narg = AS(kqueuex_args), .sy_call = (sy_call_t *)sys_kqueuex, .sy_auevent = AUE_KQUEUE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 583 = kqueuex */ { .sy_narg = AS(membarrier_args), .sy_call = (sy_call_t *)sys_membarrier, .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 584 = membarrier */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 585 = timerfd_create */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 586 = timerfd_gettime */ + { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 587 = timerfd_settime */ + { .sy_narg = AS(kcmp_args), .sy_call = (sy_call_t *)sys_kcmp, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 588 = kcmp */ }; diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c index 22475e2ee226..b3b958d145bc 100644 --- a/sys/kern/syscalls.c +++ b/sys/kern/syscalls.c @@ -590,4 +590,8 @@ const char *syscallnames[] = { "swapoff", /* 582 = swapoff */ "kqueuex", /* 583 = kqueuex */ "membarrier", /* 584 = membarrier */ + "#585", /* 585 = timerfd_create */ + "#586", /* 586 = timerfd_gettime */ + "#587", /* 587 = timerfd_settime */ + "kcmp", /* 588 = kcmp */ }; diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c index 00e3bead052e..714c5225e45b 100644 --- a/sys/kern/systrace_args.c +++ b/sys/kern/systrace_args.c @@ -3427,6 +3427,17 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 3; break; } + /* kcmp */ + case 588: { + struct kcmp_args *p = params; + iarg[0] = p->pid1; /* pid_t */ + iarg[1] = p->pid2; /* pid_t */ + iarg[2] = p->type; /* int */ + uarg[3] = p->idx1; /* uintptr_t */ + uarg[4] = p->idx2; /* uintptr_t */ + *n_args = 5; + break; + } default: *n_args = 0; break; @@ -9158,6 +9169,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* kcmp */ + case 588: + switch (ndx) { + case 0: + p = "pid_t"; + break; + case 1: + p = "pid_t"; + break; + case 2: + p = "int"; + break; + case 3: + p = "uintptr_t"; + break; + case 4: + p = "uintptr_t"; + break; + default: + break; + }; + break; default: break; }; @@ -11121,6 +11154,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* kcmp */ + case 588: + if (ndx == 0 || ndx == 1) + p = "int"; + break; default: break; }; diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h index 26d541f4548c..945588b280d0 100644 --- a/sys/sys/syscall.h +++ b/sys/sys/syscall.h @@ -520,4 +520,5 @@ #define SYS_swapoff 582 #define SYS_kqueuex 583 #define SYS_membarrier 584 -#define SYS_MAXSYSCALL 585 +#define SYS_kcmp 588 +#define SYS_MAXSYSCALL 589 diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk index 2be42554587d..9764db522002 100644 --- a/sys/sys/syscall.mk +++ b/sys/sys/syscall.mk @@ -425,4 +425,5 @@ MIASM = \ sched_getcpu.o \ swapoff.o \ kqueuex.o \ - membarrier.o + membarrier.o \ + kcmp.o diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h index 64ee28267df3..af22fee46aca 100644 --- a/sys/sys/sysproto.h +++ b/sys/sys/sysproto.h @@ -1861,6 +1861,13 @@ struct membarrier_args { char flags_l_[PADL_(unsigned)]; unsigned flags; char flags_r_[PADR_(unsigned)]; char cpu_id_l_[PADL_(int)]; int cpu_id; char cpu_id_r_[PADR_(int)]; }; +struct kcmp_args { + char pid1_l_[PADL_(pid_t)]; pid_t pid1; char pid1_r_[PADR_(pid_t)]; + char pid2_l_[PADL_(pid_t)]; pid_t pid2; char pid2_r_[PADR_(pid_t)]; + char type_l_[PADL_(int)]; int type; char type_r_[PADR_(int)]; + char idx1_l_[PADL_(uintptr_t)]; uintptr_t idx1; char idx1_r_[PADR_(uintptr_t)]; + char idx2_l_[PADL_(uintptr_t)]; uintptr_t idx2; char idx2_r_[PADR_(uintptr_t)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_sys_exit(struct thread *, struct sys_exit_args *); int sys_fork(struct thread *, struct fork_args *); @@ -2259,6 +2266,7 @@ int sys_sched_getcpu(struct thread *, struct sched_getcpu_args *); int sys_swapoff(struct thread *, struct swapoff_args *); int sys_kqueuex(struct thread *, struct kqueuex_args *); int sys_membarrier(struct thread *, struct membarrier_args *); +int sys_kcmp(struct thread *, struct kcmp_args *); #ifdef COMPAT_43 @@ -3207,6 +3215,7 @@ int freebsd12_closefrom(struct thread *, struct freebsd12_closefrom_args *); #define SYS_AUE_swapoff AUE_SWAPOFF #define SYS_AUE_kqueuex AUE_KQUEUE #define SYS_AUE_membarrier AUE_NULL +#define SYS_AUE_kcmp AUE_NULL #undef PAD_ #undef PADL_ From nobody Sun Feb 11 15:15:35 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXrkb4zFlz59tm5; Sun, 11 Feb 2024 15:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXrkb4Rjnz4ZyV; Sun, 11 Feb 2024 15:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AgyoXSbhFdE26yrBGD0zlLSbjxH272+8msq/bwwEKUU=; b=o3+j38wm1Jqz0av7HDL07p7fmMeGSAgn3FGy+dEuRNKaONe17C9X2E80tmmDqtM2wmyITQ 93GnkEInu/lAUAwNT0koGTYmHkM15WRsDc98jpQqiGJeCxfZD9wVz2TSM8MhJvHbtiQWH4 sQDw5HGPmT2jSVoewie+fLct4qmp3WO4HrWuTGI8yzydqH7a7OoF+OgJAFIDvOjAf48xmH oJ82oE1RGItpEl2/WqobaWF2Fiq30uv2b63eOhMYzohRDH8PAqW7Ksygh5EMOHRFMMINyB htBoaQyS3/AUhKMqEzbeP6rHC7q3aLkW+w1p4cmEE0kXAjvoFicWmtA4v0011g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707664535; a=rsa-sha256; cv=none; b=eKP5pMUY26RMRPV4Rm+rV5qhTcqY4ZehcS7KTdSonNULFyOl1D2koMzMUUYxp00JMFvgu8 mFtPjNhmCrXi+zQIyD0w0HBdysR8oxhA8OmOaF/el7gwlG/Z7G0Bq47fyQfVpxBWbZvrAD eDCBMbX8pn+QZNLL0xKmv6BJqFOOWG86Fi4paSuTI3WMkC1isTeau7p1RUjus2tj4bE/5e Q4WIKmRRq8pzxaSB4PiwBoxjekBID9za0v3d3AELkJDBLRJyxV9KCYQmhqNynB/0JoIhKR b8sPZsfdrw0dsqsTanmA+4WI1FE0W5xxMBufiHmkagd3ULM29kxEs/gJOreVdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AgyoXSbhFdE26yrBGD0zlLSbjxH272+8msq/bwwEKUU=; b=gx5u8hLjMQdLYTrE9rHL9wh+iSzKW/QhERbsdkJzHBlP8A4efvSQdJe0fPOr0Icq9OZcQr hpm89mxDX6ko2EzUq7Wh3r4QzqVR7v6Ctk7JS+HVBtYYU25B+LEJ+ydkt2cL6WwNaPx6+X Zd+q+HqH73WMYnv+FnkjvolNdXQjW7cejGD2l46IzSKRR2uK9OFPiMH/BKAvpbOlMs9T6m J/46S8KugWN5iFNjIEgDWAgu617yOrTA21FWqdnZZOxMCzxoqZdDn4JZHMMlAdHbR8z9sK WvSp/j4ZPYDK68vc7BIGkeWyq7yBL/P6Kb+noffVfKx2DzNHnZcM4MmJbAMzdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXrkb3Vkbz14P3; Sun, 11 Feb 2024 15:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41BFFZns041101; Sun, 11 Feb 2024 15:15:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41BFFZc7041098; Sun, 11 Feb 2024 15:15:35 GMT (envelope-from git) Date: Sun, 11 Feb 2024 15:15:35 GMT Message-Id: <202402111515.41BFFZc7041098@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: ac5b3cba91f9 - stable/14 - ctfmerge: Remove function cast of strcompare() for qsort() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ac5b3cba91f94b273286af19abeab5440ffccef0 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ac5b3cba91f94b273286af19abeab5440ffccef0 commit ac5b3cba91f94b273286af19abeab5440ffccef0 Author: Minsoo Choo AuthorDate: 2024-02-03 19:06:49 +0000 Commit: Mark Johnston CommitDate: 2024-02-11 15:14:36 +0000 ctfmerge: Remove function cast of strcompare() for qsort() Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43715 (cherry picked from commit f73124b077d867990cbcb4d903b48be2ca55e4ca) --- cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c b/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c index 161927cf0663..27aa4d01b03d 100644 --- a/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c +++ b/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c @@ -886,7 +886,7 @@ main(int argc, char **argv) for (i = 0; i < nifiles; i++) tifiles[i] = argv[optind + i]; - qsort(tifiles, nifiles, sizeof (char *), (int (*)())strcompare); + qsort(tifiles, nifiles, sizeof (char *), strcompare); ifiles[0] = tifiles[0]; for (idx = 0, tidx = 1; tidx < nifiles; tidx++) { From nobody Sun Feb 11 15:15:36 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXrkc6L6nz59tgT; Sun, 11 Feb 2024 15:15:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXrkc5lgmz4Zwm; Sun, 11 Feb 2024 15:15:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PdCFIN5yT8VKq/tMNSuEJdo1XfS1rEv6HavXdmLLQqw=; b=gwBf9DtOefiLMbnrlDifRewhMQff5GdEn4S1gkA4I6Y3SvYAUuB8/8zyYAfAcRiPDrWnq4 wOf2xzGUyrnOtsCKJpJXkH88FmX3YX5g+bsTqIzej0X415402G9WMuq6QJ5bVAQnM56UvD Ycfj0Ga3bEz0ZfQ17+GpPwk1uN5lgmaFT/crItae2o8ROsfMojiqBQheri61i7WALGsmDL VSfru0Eu0eA5eDqzDCtIF82X7ouJ9e3L1WFY9WrcXTkDznEcV6+noSXV0C2hVb1Sxa8o/h sESLvX2j5n3PovLyYaxzkG5Jr9/xuMNAgH2VFShkF77UzwLX0rZtgXoMKps1Fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707664536; a=rsa-sha256; cv=none; b=skswOtjc1KxfFjC83A9Cg4XAOdd2bzPFB1RMdiPnZ1OON4iBl3OJlGRVlmieF8NZYplJKF TJO4VuQe3YfFpEeQMkNNv66RLzBNQxter+/BiOyAT/NY7+JwwI0pUhw3NVSFOJXdMA2h4X qlRrj+4RbaHnzcSGQ21qAd+Bf/y/ltXzg4rjzka3WxGNcp02eJMiLx7rdA1dEilevPdp/S /gs6asuNM2oR3cq8XQ0pGqPg524lKJgKu5YORoJGb905N/O4kf2U1IIb8fq/NSvoPzXboS PBqyWk7ffgSo8C72m2t9grKCV3oPxc/L5fdU0F3TTaAu5S09dMwMxXx1Eyy8Wg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PdCFIN5yT8VKq/tMNSuEJdo1XfS1rEv6HavXdmLLQqw=; b=TqC3oar8r1JmWP9D2w7Xka65GfKbLqVCX/e8WEnDBx+gLfXjYqceqY2sWwrmkZKST/ftB/ tXOzoQ+GsXZl6pv3gUhpJt7GvY/uH8mHbmPEmqNDuvfYbc2NJzLtYnCB1SRBX7B9pxE+Rz 5n7aGqBWrhdkG34UmUTdC7q16vciciEDjXSIdOqohrR55Ooel6w0Duvw5TzAouSeWxB/q1 20aJhsg1FQSzeZR/N2HTuZPBqWKgY6yn5A8E0+DncHspRM0xtAmDqDAG/SyqD4/uTLBqcr l+5yU77DH5625TAerCan6sdHvm6DvNKmEsVAV1M/VgNHu1LS+UB8I+acGKGlNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXrkc4nznz14P4; Sun, 11 Feb 2024 15:15:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41BFFaSx041146; Sun, 11 Feb 2024 15:15:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41BFFagT041143; Sun, 11 Feb 2024 15:15:36 GMT (envelope-from git) Date: Sun, 11 Feb 2024 15:15:36 GMT Message-Id: <202402111515.41BFFagT041143@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 3a90a4453750 - stable/14 - kqueue tests: Add a regression test List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3a90a4453750b12444e96d647d7c1203dc1cc9c5 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3a90a4453750b12444e96d647d7c1203dc1cc9c5 commit 3a90a4453750b12444e96d647d7c1203dc1cc9c5 Author: Mark Johnston AuthorDate: 2023-11-24 15:28:13 +0000 Commit: Mark Johnston CommitDate: 2024-02-11 15:14:44 +0000 kqueue tests: Add a regression test Based on the test case submitted by Andreas Bock for PR 275286. PR: 275286 MFC after: 2 weeks (cherry picked from commit f5463265955b829775bbb32e1fd0bc11dafc36ce) --- tests/sys/kqueue/Makefile | 4 +- tests/sys/kqueue/kqueue_fork.c | 89 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 2 deletions(-) diff --git a/tests/sys/kqueue/Makefile b/tests/sys/kqueue/Makefile index 3267b9ad8d9a..37f4f323904d 100644 --- a/tests/sys/kqueue/Makefile +++ b/tests/sys/kqueue/Makefile @@ -1,10 +1,10 @@ - TESTSRC= ${SRCTOP}/contrib/netbsd-tests/kernel/kqueue TESTSDIR= ${TESTSBASE}/sys/kqueue BINDIR= ${TESTSDIR} -ATF_TESTS_C+= kqueue_peek_signal +ATF_TESTS_C+= kqueue_fork \ + kqueue_peek_signal NETBSD_ATF_TESTS_C= proc1_test # XXX: fails `ke.fflags & NOTE_TRACKERR` invariant diff --git a/tests/sys/kqueue/kqueue_fork.c b/tests/sys/kqueue/kqueue_fork.c new file mode 100644 index 000000000000..e4c0412c1980 --- /dev/null +++ b/tests/sys/kqueue/kqueue_fork.c @@ -0,0 +1,89 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Andreas Bock + * Copyright (c) 2023 Mark Johnston + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include +#include +#include + +#include + +/* + * A regression test for bugzilla 275286. + */ +ATF_TC_WITHOUT_HEAD(shared_table_filt_sig); +ATF_TC_BODY(shared_table_filt_sig, tc) +{ + struct sigaction sa; + pid_t pid; + int error, status; + + sa.sa_handler = SIG_IGN; + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + error = sigaction(SIGINT, &sa, NULL); + ATF_REQUIRE(error == 0); + + pid = rfork(RFPROC); + ATF_REQUIRE(pid != -1); + if (pid == 0) { + struct kevent ev; + int kq; + + kq = kqueue(); + if (kq < 0) + err(1, "kqueue"); + EV_SET(&ev, SIGINT, EVFILT_SIGNAL, EV_ADD | EV_ENABLE, 0, 0, + NULL); + if (kevent(kq, &ev, 1, NULL, 0, NULL) < 0) + err(2, "kevent"); + if (kevent(kq, NULL, 0, &ev, 1, NULL) < 0) + err(3, "kevent"); + _exit(0); + } + + /* Wait for the child to block in kevent(). */ + usleep(100000); + + error = kill(pid, SIGINT); + ATF_REQUIRE(error == 0); + + error = waitpid(pid, &status, 0); + ATF_REQUIRE(error != -1); + ATF_REQUIRE(WIFEXITED(status)); + ATF_REQUIRE_EQ(WEXITSTATUS(status), 0); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, shared_table_filt_sig); + + return (atf_no_error()); +} From nobody Sun Feb 11 15:15:37 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXrkf2dJdz59tRd; Sun, 11 Feb 2024 15:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXrkd6h9zz4b74; Sun, 11 Feb 2024 15:15:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cnkm2dSDzYDOeJoEdgNB/K715tTu9uuLDXFH5DJmZnw=; b=GamwGH0njPqSDB7Mkf5r7SZxxIJEOF8C7SiQFJJY91Npvh5gcfolsFnUIMWiqDjjKwTljA yUnSOauAgpUxggt1bAGCSnYqTcttaKWt7yd45YvlBJQyhvCmqr6F/58E9Cjs9CNhSlV9/b PchVJAoucsruMPTnFFIgasrwmUeCVtn/zdso+kraXG5/ALG/Gt04rQsI7tEfRjmwpipEaf okGOV+0kNpFqRpCOH1ZNDW27yNCJ++g+Jy27Q/q2myTRWIuKpeb39cugCdhE1jmMla0bEZ LkeCr4snMquGVWgXXY974+WbzcB9kS2dWtebF/7/5EbX9ng4L8iX36i6hKI1ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707664537; a=rsa-sha256; cv=none; b=TjCyKsAT3S/46NkCWqNzIwj08zyzAXyfH92NPNzF8+7yJBTK7xT15lr36gVCNSYCGxPJhy 5JtzldFN5hY0G2fatn2mt2uhYfEH3NeMruI+9zccAxtFTvU1Gx4jR//qFjiN22fLMbufkd uX8QPKQXbky6y4sPG2xCGSbz93dS2Di24kFbQdazugxt7fMb1gTfmbIlfZvTypyc0B2hKO GqlxmrjHLMlirtrz2Eb2gSrvHBeTupA2GX/SKjj4JPJLQKFuOXvKDzG0WFfcvRqDK3NAyl rXwj0PbVWCMWA/y/UJLyxkY//wb4kAZpuLBzTUnJlUnbEvBEZSb58EzLttz/+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cnkm2dSDzYDOeJoEdgNB/K715tTu9uuLDXFH5DJmZnw=; b=BOy2CxevvAjCb8c33qA8j1d6GmTG57juUWAqP+mGyFwR8mDIF3Jx8k4suLNMxlHXjA4upX 0Ol5xeI1ZrMwnpSBDCqd8ZEQOjBRnN2FsQOpMeLmmzcc/yi1oHaH7z0fD5u0EEzh4HZRWc ciB16Lw2Gwes0U8TlRsPO6cOwW6khc8eqdk4QHARwSXnh4zrz7qwRnN7fY3j8QHOCItBvf J6GLzFVYQ4loU20GtUHeHSq0mTTiUFh0fH4TvSTp/9iwrt7BrBIhwyTcVjdqtrcZOIy7lD /Qk3kM+ro+tiaKcH/ZYINOiz9N90ZN/nUh9fLccv+yhYQVnptkEaGKv9Prxo+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXrkd5mlwz14JM; Sun, 11 Feb 2024 15:15:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41BFFbDS041198; Sun, 11 Feb 2024 15:15:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41BFFbS7041195; Sun, 11 Feb 2024 15:15:37 GMT (envelope-from git) Date: Sun, 11 Feb 2024 15:15:37 GMT Message-Id: <202402111515.41BFFbS7041195@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 5e21d7cd3119 - stable/14 - libjail: Guard against programmer error in jailparam_export() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5e21d7cd31194faf8c2bdda2bc60adf34eaa405a Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5e21d7cd31194faf8c2bdda2bc60adf34eaa405a commit 5e21d7cd31194faf8c2bdda2bc60adf34eaa405a Author: Mark Johnston AuthorDate: 2024-02-04 02:22:09 +0000 Commit: Mark Johnston CommitDate: 2024-02-11 15:14:59 +0000 libjail: Guard against programmer error in jailparam_export() If the caller didn't use jailparam_import() to fetch the parameter value, an attempt to export it will trigger a segfault. Make it a bit easier to figure out what's happening in this situation. PR: 276809 Reviewed by: jamie MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43732 (cherry picked from commit dfabf3efaa795e657f3858b7e2d0b11f8a51ecb5) --- lib/libjail/jail.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c index 04fd6d3c4250..2af210ebb198 100644 --- a/lib/libjail/jail.c +++ b/lib/libjail/jail.c @@ -738,6 +738,12 @@ jailparam_export(struct jailparam *jp) int i, nval, ival; char valbuf[INET6_ADDRSTRLEN]; + if (jp->jp_value == NULL) { + snprintf(jail_errmsg, JAIL_ERRMSGLEN, + "parameter %s was not imported", jp->jp_name); + errno = EINVAL; + return (NULL); + } if ((jp->jp_ctltype & CTLTYPE) == CTLTYPE_STRING) { value = strdup(jp->jp_value); if (value == NULL) From nobody Sun Feb 11 15:15:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TXrkg1dslz59trH; Sun, 11 Feb 2024 15:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TXrkg0hv7z4Zyr; Sun, 11 Feb 2024 15:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LfCGNpx/qgpy/6lkCAvFoqX2XBMDzo3wN4Q0K9dIa7Y=; b=K2a5bUwTcYiYkTO1YBXZxuiOJ9KYDddao28/zefShj8FlqYI9XpSl0LW+xaPHbccQ/z1+F Ne6WP+af0AgbpJTmWkKlEN9B5s8/VBGyB83C/RuW3RMj06jDECZ7+xByGKPofJOODQUkTe hJLCbe1LAyQNcU0ezi9vIv5EA+Eo7VGtiIr1pxwFa90UpdIqv27qPmnpPwGfsH1SZ+638M 4t6CiWAOObnDFtJ3FE0fjpde4qgVzOqdeBpSxv9wkORQfD/7iligRQ0Ztm0j65OMnVhp/K WVxLFrlI/m23ve1fHmebn9vFXSzbfgsRnyv7ok1CwOqTkugvjchzFQnn+drXbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707664539; a=rsa-sha256; cv=none; b=cBxX7c/5i1BFnYSF4VGZrlvqIWQ7qFCW+YKC7lH/285mO4ZinnZvi2pSYUBGhA4YZN/n2B 92kHocRENLxKi1okT0/f4LkdaQ/vIw8ioLzC5YKIPlRrwyjXwAY6VH5gIjdHAcINtrLIdJ MRVvYXM/A0wleNpKe4GlvSxc6eRq+3jYrLnGv3Vx46h63LJ6F8Es8c7GV4uWdROsg+KYT4 oV7EbrcJPxfUKPCdC7bPsd0dyOtjXPZyPbdsJES1aIgd0RgaXjqvNWbXwBQ076sKulf7Wf M0hAIt7HzSIG6KWAYyn6gZQjjyvj8cjYodNa+/S7LytaNX+ZLS9D7LuZSW1/5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707664539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LfCGNpx/qgpy/6lkCAvFoqX2XBMDzo3wN4Q0K9dIa7Y=; b=eSacloFk7jYv7nszGrNfur1NBz+btttI2y21LpXhESSl1dpvRSy8SWFcLXcQbvKnlXUclv IEK+spix97NWqjlr5RxGyvKGjapUqmrGnWeihjk1ZNua0aYelm9KnP1YeOgKAFt4ZuhPUI Zl76scjePMOkcRW+l+Zm5/4N8JQMLzsxMWwy0HkMjDFUPPqGfcKSqgt4+02vJIEXRvrkuE MtSogxOYv5ytWiz7FOdaRgYarDO0462KbGsSVVlUeG1TOQePCA9qXYR6PuLGkSpH9gp3Gk 5NCoNRRg+TBYm243cQXtagQ3PtiXUHZzTS//Pcz+LSooxwR4LinRyxC6qvRCkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TXrkf6p9Zz13hK; Sun, 11 Feb 2024 15:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41BFFcgt041249; Sun, 11 Feb 2024 15:15:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41BFFc39041246; Sun, 11 Feb 2024 15:15:38 GMT (envelope-from git) Date: Sun, 11 Feb 2024 15:15:38 GMT Message-Id: <202402111515.41BFFc39041246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: fd15ba7d72d7 - stable/14 - libc: Specify parameter types for function pointer List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fd15ba7d72d7fe00905e0dfbe5b091cb970ee906 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fd15ba7d72d7fe00905e0dfbe5b091cb970ee906 commit fd15ba7d72d7fe00905e0dfbe5b091cb970ee906 Author: Minsoo Choo AuthorDate: 2024-02-04 01:07:18 +0000 Commit: Mark Johnston CommitDate: 2024-02-11 15:15:07 +0000 libc: Specify parameter types for function pointer Reviewed by: dab MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43726 (cherry picked from commit 6bd60e15b1484c6a3f5a87469e42a8e6ad9ab733) --- lib/libc/yp/yplib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/yp/yplib.c b/lib/libc/yp/yplib.c index d222200ed728..95ed526b2e75 100644 --- a/lib/libc/yp/yplib.c +++ b/lib/libc/yp/yplib.c @@ -91,7 +91,7 @@ struct dom_binding { bool_t xdr_ypresp_all_seq(XDR *xdrs, u_long *objp); -int (*ypresp_allfn)(); +int (*ypresp_allfn)(unsigned long, char *, int, char *, int, void *); void *ypresp_data; static void _yp_unbind(struct dom_binding *);