From nobody Wed May 27 13:17:35 2026 X-Original-To: dev-commits-src-main@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 4gQVXj6TvCz6f2Nl for ; Wed, 27 May 2026 13:17:41 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gQVXj0L9Gz4G3n for ; Wed, 27 May 2026 13:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779887861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5qXWO/o1DFOwn6sP9KTIf9AKTiWILjfvsvStw3xB/eI=; b=g/h9vjfHSFowBmSA0/6vO5hCrBo4gq0Zfmll0A/BUlRTP+dy0NGu+M4JsHAFVAKLGAVVMI 1jsrG0UwPU9xwjwFOXEyyBCnVVOWk6+FD/XwOrAGYyrlGjnW9njakkv4za2sxYaZdZUV1R 00oFigqxqGoiC6oAF022mZUk9MzBpLJGHVmgKcJ7Ch/lGv8m3x8VrX8QWD+alOkpLC6tcS 4uAKvDoLP80kBRTZCxQHh1zDu5TJW33PnmJ17c9G+yt9cbV+Nvy2WDt5hgcT1V39lnmh2A xu+D+I0ZvsyM/0nldu9UhjerUmxHi8OCiC4QHoepHtTp1I4zV/evcbm+mrHRHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779887861; a=rsa-sha256; cv=none; b=azFAuQNiQy/YpazFjHy1/cHrVjJFVaraKPweND1VsZVaRRizjn0MTBB/8wDNfTUdS7Wys0 TTHuIpPg8Pr3mPo1oFzW8BavuJj8mg5ZwvApRrAXDavKktcMhL4NmtO5BxQWRu9vzqT16u xglDVgXLRvCdlR1jgW9l3JmctjKtLaevJGknRbTCOqaUFi4vB2g2feAp0+nkIkTbRm4qVz N6g93zzRWhurGa222ZUNCgSzTVfLArbPGthI5VC0qi8cWIMsTMlUbuX7S+XHWyRREiFJ14 slWvR6NyUxoY9Rss+Hr3L+rUtTlqUCXVUWKrvCc9OpXChdd1pSsv7Pr7LiJsbA== 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=1779887861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5qXWO/o1DFOwn6sP9KTIf9AKTiWILjfvsvStw3xB/eI=; b=PrnqgBHpb24OmaxfWFWR2Jn7ysmFtWUrCkSHJdKpeG78GDIhwoXi0Qc+jtYSnLZyWy5b3t 9NHVegGmwSb8Po1652m2LN9Ok5eax5cJ/KyZnzHUrPbTN/tfXKOdvL3bN8xqMIknWxHATd gfYQsgXjdC5T4jcRdqX2Eho4LWnHXbS1G4Iznh58R1a6kcaZb1dlWeCEMXm5tYmvBpX4rb Kw9qTMy4/lZApT1FZzDh3M4FnPMRJ1XlODe16epmhkWZp1zW6LLee2om4TK/Vgnc7ujrKt SKU7jNhA9VVVRHdsxbiT2durvEKe61AyeSIR45UekHuKrrrE6mqlz+BgIRmaqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gQVXh73sZz11Xw for ; Wed, 27 May 2026 13:17:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 475db by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 27 May 2026 13:17:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Mark Johnston From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: bd15d6ef126e - main - libarchive: Force GNU iconv compatibility on FreeBSD List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd15d6ef126ee4c0eac931117f6bbbf6f9a3fc72 Auto-Submitted: auto-generated Date: Wed, 27 May 2026 13:17:35 +0000 Message-Id: <6a16eeef.475db.2283bfa4@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=bd15d6ef126ee4c0eac931117f6bbbf6f9a3fc72 commit bd15d6ef126ee4c0eac931117f6bbbf6f9a3fc72 Author: Mark Johnston AuthorDate: 2026-05-20 16:39:40 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-27 13:10:57 +0000 libarchive: Force GNU iconv compatibility on FreeBSD When libarchive is compiled with FreeBSD's native iconv instead of libiconv, as happens with libarchive in the base system, we need to configure iconv(3) to handle invalid sequences by returning -1, as iconv_strncat_in_locale() assumes GNU iconv semantics. This corresponds to upstream PR 3056. PR: 294577 MFC after: 1 week --- contrib/libarchive/libarchive/archive_string.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index c6ae8968d54f..4fb96a9fa178 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -1314,7 +1314,17 @@ create_sconv_object(const char *fc, const char *tc, else if (strcmp(fc, "CP932") == 0) sc->cd = iconv_open(tc, "SJIS"); } -#if defined(_WIN32) && !defined(__CYGWIN__) +#if defined(__FreeBSD__) && !defined(HAVE_LIBICONV) + /* + * FreeBSD's native iconv() by default returns the number of + * invalid characters in the input string, as specified by + * POSIX, but iconv_strncat_in_locale() assumes GNU iconv + * semantics. + */ + int v = 1; + + (void)iconvctl(sc->cd, ICONV_SET_ILSEQ_INVALID, &v); +#elif defined(_WIN32) && !defined(__CYGWIN__) /* * archive_mstring on Windows directly convert multi-bytes * into archive_wstring in order not to depend on locale