From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C0245138334 for ; Fri, 22 Jun 2018 12:21:23 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7AB0AE07F1; Fri, 22 Jun 2018 12:21:22 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3034BE07F1 for ; Fri, 22 Jun 2018 12:21:21 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id ADA23335C8E for ; Fri, 22 Jun 2018 12:21:19 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 887952B0 for ; Fri, 22 Jun 2018 12:21:17 +0000 (UTC) From: "Eray Aslan" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Eray Aslan" Message-ID: <1529670068.f99b2a0dc1644fd2983a787ff7d0354b09946f7e.eras@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-mail/mailutils/files/, net-mail/mailutils/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-mail/mailutils/files/mailutils-3.4-fix-endianness.patch net-mail/mailutils/mailutils-3.4-r2.ebuild X-VCS-Directories: net-mail/mailutils/files/ net-mail/mailutils/ X-VCS-Committer: eras X-VCS-Committer-Name: Eray Aslan X-VCS-Revision: f99b2a0dc1644fd2983a787ff7d0354b09946f7e X-VCS-Branch: master Date: Fri, 22 Jun 2018 12:21:17 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 94468c07-26ab-436b-985d-df36adb1e295 X-Archives-Hash: 7a6c89643674ace42d81c37966c3befd commit: f99b2a0dc1644fd2983a787ff7d0354b09946f7e Author: Eray Aslan gentoo org> AuthorDate: Fri Jun 22 12:20:34 2018 +0000 Commit: Eray Aslan gentoo org> CommitDate: Fri Jun 22 12:21:08 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f99b2a0d net-mail/mailutils: fix endiannes problem Closes: https://bugs.gentoo.org/654992 Package-Manager: Portage-2.3.40, Repoman-2.3.9 .../files/mailutils-3.4-fix-endianness.patch | 122 +++++++++++++++++++ net-mail/mailutils/mailutils-3.4-r2.ebuild | 133 +++++++++++++++++++++ 2 files changed, 255 insertions(+) diff --git a/net-mail/mailutils/files/mailutils-3.4-fix-endianness.patch b/net-mail/mailutils/files/mailutils-3.4-fix-endianness.patch new file mode 100644 index 00000000000..0e52fae20c1 --- /dev/null +++ b/net-mail/mailutils/files/mailutils-3.4-fix-endianness.patch @@ -0,0 +1,122 @@ +From feecde8c46cdb597a76df5e6ef02b854843a8a5c Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Thu, 21 Jun 2018 09:46:43 +0300 +Subject: Fix endianness bug in string to IP conversion + +* libmailutils/cidr/fromsa.c (_mu_inaddr_to_bytes) +(_mu_sockaddr_to_bytes): Fix improper endianness conversion. +* libmailutils/cidr/tosa.c (mu_cidr_to_sockaddr): Simplify conversion. +--- + libmailutils/cidr/fromsa.c | 45 ++++++++++++++++++++------------------------- + libmailutils/cidr/tosa.c | 9 ++------- + 2 files changed, 22 insertions(+), 32 deletions(-) + +diff --git a/libmailutils/cidr/fromsa.c b/libmailutils/cidr/fromsa.c +index f57aadc..39d24fd 100644 +--- a/libmailutils/cidr/fromsa.c ++++ b/libmailutils/cidr/fromsa.c +@@ -29,55 +29,50 @@ + #include + #include + +-static void +-uint32_to_bytes (unsigned char *bytes, uint32_t u) +-{ +- int i; +- +- for (i = 0; i < 4; i++) +- { +- bytes[i] = u & 0xff; +- u >>= 8; +- } +-} +- + int + _mu_inaddr_to_bytes (int af, void *buf, unsigned char *bytes) + { +- uint32_t u; ++ size_t len; + + switch (af) + { + case AF_INET: +- memcpy (&u, buf, sizeof u); +- uint32_to_bytes (bytes, u); +- return 4; +- ++ len = 4; ++ break; ++ + #ifdef MAILUTILS_IPV6 + case AF_INET6: +- memcpy (bytes, buf, 16); +- return 16; ++ len = 16; ++ break; + #endif ++ ++ default: ++ len = 0; + } +- return 0; ++ memcpy (bytes, buf, len); ++ return len; + } + + int + _mu_sockaddr_to_bytes (unsigned char *bytes, struct sockaddr const *sa) + { ++ void *buf; + switch (sa->sa_family) + { + case AF_INET: +- uint32_to_bytes (bytes, ((struct sockaddr_in*)sa)->sin_addr.s_addr); +- return 4; ++ buf = &(((struct sockaddr_in*)sa)->sin_addr.s_addr); ++ break; + + #ifdef MAILUTILS_IPV6 + case AF_INET6: +- memcpy (bytes, &((struct sockaddr_in6*)sa)->sin6_addr, 16); +- return 16; ++ buf = &(((struct sockaddr_in6*)sa)->sin6_addr); ++ break; + #endif ++ ++ default: ++ return 0; + } +- return 0; ++ return _mu_inaddr_to_bytes (sa->sa_family, buf, bytes); + } + + int +diff --git a/libmailutils/cidr/tosa.c b/libmailutils/cidr/tosa.c +index 33715e1..2b372b1 100644 +--- a/libmailutils/cidr/tosa.c ++++ b/libmailutils/cidr/tosa.c +@@ -42,19 +42,14 @@ mu_cidr_to_sockaddr (struct mu_cidr *cidr, struct sockaddr **psa) + } addr; + struct sockaddr *sa; + int socklen; +- int i; +- ++ + memset (&addr, 0, sizeof (addr)); + addr.sa.sa_family = cidr->family; + switch (cidr->family) + { + case AF_INET: + socklen = sizeof (addr.s_in); +- for (i = 0; i < cidr->len; i++) +- { +- addr.s_in.sin_addr.s_addr <<= 8; +- addr.s_in.sin_addr.s_addr |= cidr->address[i]; +- } ++ memcpy (&addr.s_in.sin_addr.s_addr, cidr->address, 4); + break; + + #ifdef MAILUTILS_IPV6 +-- +cgit v1.0-41-gc330 + diff --git a/net-mail/mailutils/mailutils-3.4-r2.ebuild b/net-mail/mailutils/mailutils-3.4-r2.ebuild new file mode 100644 index 00000000000..29af9bd8f3a --- /dev/null +++ b/net-mail/mailutils/mailutils-3.4-r2.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils flag-o-matic python-single-r1 toolchain-funcs + +DESCRIPTION="A useful collection of mail servers, clients, and filters" +HOMEPAGE="https://www.gnu.org/software/mailutils/mailutils.html" +SRC_URI="mirror://gnu/mailutils/${P}.tar.xz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~ppc-macos ~x64-macos ~x86-macos" +IUSE="berkdb bidi +clients gdbm sasl guile ipv6 kerberos kyotocabinet ldap \ + mysql nls pam postgres python servers ssl static-libs +threads tcpd \ + tokyocabinet" + +RDEPEND="!mail-client/nmh + !mail-filter/libsieve + !mail-client/mailx + !mail-client/nail + sys-libs/ncurses:= + sys-libs/readline:= + dev-libs/libltdl:0 + virtual/mta + berkdb? ( sys-libs/db:= ) + bidi? ( dev-libs/fribidi ) + gdbm? ( sys-libs/gdbm ) + guile? ( dev-scheme/guile:12/22 ) + kerberos? ( virtual/krb5 ) + kyotocabinet? ( dev-db/kyotocabinet ) + ldap? ( net-nds/openldap ) + mysql? ( virtual/mysql ) + nls? ( sys-devel/gettext ) + pam? ( virtual/pam ) + postgres? ( dev-db/postgresql:= ) + python? ( ${PYTHON_DEPS} ) + sasl? ( virtual/gsasl ) + ssl? ( net-libs/gnutls:= ) + tcpd? ( sys-apps/tcp-wrappers ) + tokyocabinet? ( dev-db/tokyocabinet )" + +DEPEND="${RDEPEND} + virtual/pkgconfig" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) + servers? ( tcpd )" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Disable bytecompilation of Python modules. + echo "#!/bin/sh" > build-aux/py-compile + eapply "${FILESDIR}/${P}-MH-testsuite.patch" \ + "${FILESDIR}/${P}-fix-endianness.patch" + # add missing tests so that make check doesn't fail + cp "${FILESDIR}"/{hdr,nohdr,twomsg,weed}.at "${S}"/readmsg/tests || die + if use mysql; then + sed -i -e /^INCLUDES/"s:$:$(mysql_config --include):" \ + sql/Makefile.am || die + fi + eapply_user + eautoreconf +} + +src_configure() { + append-flags -fno-strict-aliasing + + # maildir is the Gentoo default + econf MU_DEFAULT_SCHEME=maildir \ + CURSES_LIBS="$($(tc-getPKG_CONFIG) --libs ncurses)" \ + $(use_with berkdb berkeley-db) \ + $(use_with bidi fribidi) \ + $(use_enable ipv6) \ + $(use_with gdbm) \ + $(use_with sasl gsasl) \ + $(use_with guile) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with mysql) \ + $(use_enable nls) \ + $(use_enable pam) \ + $(use_with postgres) \ + $(use_enable python) \ + $(use_with ssl gnutls) \ + $(use_enable static-libs static) \ + $(use_enable threads pthread) \ + $(use_with tokyocabinet) \ + $(use_with kyotocabinet) \ + $(use_with tcpd tcp-wrappers) \ + $(use_enable servers build-servers) \ + $(use_enable clients build-clients) \ + --with-mail-spool=/var/spool/mail \ + --with-readline \ + --enable-sendmail \ + --disable-debug \ + --disable-rpath +} + +src_install() { + emake DESTDIR="${D}" install + + insinto /etc + # bug 613112 + newins "${FILESDIR}/mailutils.rc" mailutils.conf + keepdir /etc/mailutils.d/ + insinto /etc/mailutils.d + doins "${FILESDIR}/mail" + + if use python; then + python_optimize + if use static-libs; then + rm -r "${D}$(python_get_sitedir)/mailutils"/*.{a,la} || die + fi + fi + + if use servers; then + newinitd "${FILESDIR}"/imap4d.initd imap4d + newinitd "${FILESDIR}"/pop3d.initd pop3d + newinitd "${FILESDIR}"/comsatd.initd comsatd + fi + + dodoc AUTHORS ChangeLog NEWS README* THANKS TODO + + # compatibility link + use clients && dosym /usr/bin/mail /bin/mail + + use static-libs || find "${D}" -name "*.la" -delete +}