From nobody Sun Nov 19 12:02:25 2023 X-Original-To: dev-commits-ports-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 4SY8QT2z6jz51hhb; Sun, 19 Nov 2023 12:02: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 4SY8QT2SPhz3JfQ; Sun, 19 Nov 2023 12:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700395345; 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=EykiYt1xOuQiAz2XkoXo9beVQhUlcw0Ak6rjFvkiwYY=; b=Kt45DQLe2aCidY9wdH/78TBJbibdC+8auB+0YZX4IkBcEiNAqRzZgDkJd+1Ur4dVYlWR/r 52iem/87vToyEulsUfqqadzqce/xmWLOV6EYrh/b7G8aq2zfWNz61BUv2+2rEk7L4okunN kFfPAUR6DR5eBA1Q5S9ZIk6m1sJOYIDZo0MQobymbl3e1EAXrhqIFsyoxX2d7bdUfcEsGo +UGhUQ4JCqlElQthQ8mzdZO+CpnntdSO3BI1rkT+QbBnnuuU2xRmDvTbjuZKvkVa8fJNYs yLCoRZXcALVE4WPQANU7ZNhGU+Miv/VviskPbdgfj6RP6bpGxJkGFCu9TXRSIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700395345; 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=EykiYt1xOuQiAz2XkoXo9beVQhUlcw0Ak6rjFvkiwYY=; b=HX2SMWUhGdvhu+tu0UxSm8+vGL5nC+8Cwu0nkRSPffQhplG6E1bFsfw3vn5DQKfEBiv9Fy F18EP2bb7g5olvGQrEbfM1iuyUg3HIc+4o6NUJ2m0LQbDSuGKrOxlpWu1R0BY632xesBCn um75NnXBBsUMMjsIHBXZC5PXS3UvNWXfpYwMsvcUfjHYhA5J2c7Z8lh8DkghURaGjYlFaO IeEKIVaRckD6phQYWWJMrgLEJM0KOJbs+V4BuOBrEOzci1OtwbWSdXIikFlJngvugGeZdy LYsYsth6YCu/qN17bUr7HXE1xPTOrLxgytHxrYmEvo/6O4v9CY4nHOWvjX3+ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700395345; a=rsa-sha256; cv=none; b=QgxCVHU1HTJjGPcoVez1Wr7CwZ+YlkFCVxBqbsLWPvgXZ/HwhpuI+HnnzTGgBR79zn144l ABRR0k4oW7hEWJ+VQjRSSXG7d16x+eQ5pU2cNttfiXYkclAdiJrp0HwMOvPJRuDH3Hd0qO qaj2B+c5j/cJ93l0ngWYBI237Go15GGrQg/p8JwPNxuJqfD6zSc5iONHyy0C7ubal+iUEA 8MG9zLHbNOkFnbbbe8NVEweccKBfQve+3KDKXE2X2FPO2l+pKeqmyTqST6jdgWMndtGtyT NKQd5z72jqDtTAWR0osUBs4NgcRtjR3Uq6t9w5x0O+zpB20j5NzyO7NmnONKxw== 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 4SY8QT1WDxz17pP; Sun, 19 Nov 2023 12:02: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 3AJC2P0M084117; Sun, 19 Nov 2023 12:02:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJC2P8L084114; Sun, 19 Nov 2023 12:02:25 GMT (envelope-from git) Date: Sun, 19 Nov 2023 12:02:25 GMT Message-Id: <202311191202.3AJC2P8L084114@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dima Panov Subject: git: caa5c5a85b78 - main - mail/exim: backport fix for dnsdb bug from upstream (+) List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fluffy X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: caa5c5a85b787e0676fd33fa85d6856888adea12 Auto-Submitted: auto-generated The branch main has been updated by fluffy: URL: https://cgit.FreeBSD.org/ports/commit/?id=caa5c5a85b787e0676fd33fa85d6856888adea12 commit caa5c5a85b787e0676fd33fa85d6856888adea12 Author: Dima Panov AuthorDate: 2023-11-19 10:47:13 +0000 Commit: Dima Panov CommitDate: 2023-11-19 12:02:15 +0000 mail/exim: backport fix for dnsdb bug from upstream (+) PR: 275156 See Also: https://bugs.exim.org/show_bug.cgi?id=3054 --- mail/exim/Makefile | 2 +- mail/exim/files/patch-src-lookups-dnsdb.c | 66 +++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/mail/exim/Makefile b/mail/exim/Makefile index a871d312df4f..3fb85f42e8b8 100644 --- a/mail/exim/Makefile +++ b/mail/exim/Makefile @@ -1,6 +1,6 @@ PORTNAME= exim PORTVERSION?= ${EXIM_VERSION} -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES= mail MASTER_SITES= EXIM:exim MASTER_SITE_SUBDIR= /exim4/:exim \ diff --git a/mail/exim/files/patch-src-lookups-dnsdb.c b/mail/exim/files/patch-src-lookups-dnsdb.c new file mode 100644 index 000000000000..2e8438c122ec --- /dev/null +++ b/mail/exim/files/patch-src-lookups-dnsdb.c @@ -0,0 +1,66 @@ +From 79670d3c32ccb37fe06f25d8192943b58606a32a Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Fri, 17 Nov 2023 16:55:17 +0000 +Subject: [PATCH] Lookups: Fix dnsdb lookup of multi-chunk TXT. Bug 3054 + +Broken=by: f6b1f8e7d642 +Source: https://git.exim.org/exim.git/patch/79670d3c32cc + +--- src/lookups/dnsdb.c.orig 2023-11-04 13:55:49.000000000 +0100 ++++ src/lookups/dnsdb.c 2023-11-17 21:34:25.986385000 +0100 +@@ -387,38 +387,31 @@ + } + + /* Other kinds of record just have one piece of data each, but there may be +- several of them, of course. */ ++ several of them, of course. TXT & SPF can have data in multiple chunks. */ + + if (yield->ptr) yield = string_catn(yield, outsep, 1); + + if (type == T_TXT || type == T_SPF) +- { +- if (!outsep2) /* output only the first item of data */ ++ for (unsigned data_offset = 0; data_offset + 1 < rr->size; ) + { +- uschar n = (rr->data)[0]; +- /* size byte + data bytes must not excced the RRs length */ +- if (n + 1 <= rr->size) +- yield = string_catn(yield, US (rr->data+1), n); +- } +- else +- for (unsigned data_offset = 0; data_offset < rr->size; ) +- { +- uschar chunk_len = (rr->data)[data_offset]; +- int remain = rr->size - data_offset; ++ uschar chunk_len = (rr->data)[data_offset]; ++ int remain; + +- /* Apparently there are resolvers that do not check RRs before passing +- them on, and glibc fails to do so. So every application must... +- Check for chunk len exceeding RR */ ++ if (outsep2 && *outsep2 && data_offset != 0) ++ yield = string_catn(yield, outsep2, 1); + +- if (chunk_len > remain) +- chunk_len = remain; ++ /* Apparently there are resolvers that do not check RRs before passing ++ them on, and glibc fails to do so. So every application must... ++ Check for chunk len exceeding RR */ + +- if (*outsep2 && data_offset != 0) +- yield = string_catn(yield, outsep2, 1); +- yield = string_catn(yield, US ((rr->data) + ++data_offset), --chunk_len); +- data_offset += chunk_len; +- } +- } ++ remain = rr->size - ++data_offset; ++ if (chunk_len > remain) ++ chunk_len = remain; ++ yield = string_catn(yield, US ((rr->data) + data_offset), chunk_len); ++ data_offset += chunk_len; ++ ++ if (!outsep2) break; /* output only the first chunk of the RR */ ++ } + else if (type == T_TLSA) + if (rr->size < 3) + continue;