X-Original-To: alpine-aports@lists.alpinelinux.org Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) by lists.alpinelinux.org (Postfix) with ESMTP id A19D95C4ED8 for ; Mon, 26 Mar 2018 19:06:36 +0000 (GMT) Received: by sdaoden.eu (Postfix, from userid 1000) id 47C6A16054; Mon, 26 Mar 2018 21:06:35 +0200 (CEST) Date: Mon, 26 Mar 2018 21:06:43 +0200 From: Steffen Nurpmeso To: alpine-aports@lists.alpinelinux.org Subject: [alpine-aports] [PATCH] testing/s-nail: update to v14.9.10, 2nd attempt.. Message-ID: <7386a30c885e37f7e109ccb36784be088d1df4fb.1522091137.git.steffen@sdaoden.eu> References: In-Reply-To: Mail-Followup-To: alpine-aports@lists.alpinelinux.org User-Agent: s-nail v14.9.10-5-gbde9329f OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. Date: Mon, 26 Mar 2018 21:02:14 +0200 X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: The 40th birthday of BSD Mail, first mentioned 1978-03-25. Second attempt because: Well yes, i have messed up the jubilee version. While waiting for test results of the OpenCSW cluster (external) and the OpenBSD VM (locally), i have quickly added support for 64-bit IMAP UIDs, which are currently in the process of being standardized. I should have listened to my evil subconsciousness, but no, i have not. As a result S-nail has a problem on 32-bit hosts, where "unsigned long" is not of the same size as "ui64_t". --- testing/s-nail/APKBUILD | 5 ++- testing/s-nail/imap-32bit.patch | 69 ++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 testing/s-nail/imap-32bit.patch diff --git a/testing/s-nail/APKBUILD b/testing/s-nail/APKBUILD index 9d4e3b1..eee5001 100644 --- a/testing/s-nail/APKBUILD +++ b/testing/s-nail/APKBUILD @@ -12,7 +12,7 @@ makedepends="libressl-dev libidn-dev ncurses-dev krb5-dev" options="suid" replaces="mailx" subpackages="$pkgname-doc" -source="https://ftp.sdaoden.eu/s-nail-$pkgver.tar.xz" +source="https://ftp.sdaoden.eu/s-nail-$pkgver.tar.xz imap-32bit.patch" builddir="$srcdir/"$pkgname-$pkgver # LD_LIBRARY_PATH is included via -rpath, so use system defaults only. @@ -51,4 +51,5 @@ package() { install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } -sha512sums="d649f66d6b8543ce626b99b871e1d96ccf8754b55684e9f1b66d6e9cf81f79261f47b9efdadd4a4dbeff9dce19f8bbdee6c8ee503dd6aef8b4c4e1d2221d3ff3 s-nail-14.9.10.tar.xz" +sha512sums="d649f66d6b8543ce626b99b871e1d96ccf8754b55684e9f1b66d6e9cf81f79261f47b9efdadd4a4dbeff9dce19f8bbdee6c8ee503dd6aef8b4c4e1d2221d3ff3 s-nail-14.9.10.tar.xz +c0c4a7915c1943e7a4644aec0e57f63020ca57c1c60ba4a242bf5806ac35a2488e498ae623dced39ef6e0b66229168a450e2ba8be704831ba31d7b0927ebd8d6 imap-32bit.patch" diff --git a/testing/s-nail/imap-32bit.patch b/testing/s-nail/imap-32bit.patch new file mode 100644 index 0000000..027088f --- /dev/null +++ b/testing/s-nail/imap-32bit.patch @@ -0,0 +1,69 @@ + FIX hasty [ab7aab0e] (Account for drafted 64-bit IMAP UIDs..).. + + Unfortunately this has not adjusted all functions correctly, + which is a problem on 32-bit hosts where "unsigned long" is + not of equal size as ui64_t +--- + obs-imap.c | 26 ++++++++++++-------------- + 1 file changed, 12 insertions(+), 14 deletions(-) + +diff --git a/obs-imap.c b/obs-imap.c +index 95692bd2..d403078b 100644 +--- a/obs-imap.c ++++ b/obs-imap.c +@@ -246,10 +246,9 @@ static enum okay imap_list(struct mailbox *mp, const char *base, int strip, + static enum okay imap_copy1(struct mailbox *mp, struct message *m, int n, + const char *name); + static enum okay imap_copyuid_parse(const char *cp, +- unsigned long *uidvalidity, unsigned long *olduid, +- unsigned long *newuid); ++ ui64_t *uidvalidity, ui64_t *olduid, ui64_t *newuid); + static enum okay imap_appenduid_parse(const char *cp, +- unsigned long *uidvalidity, unsigned long *uid); ++ ui64_t *uidvalidity, ui64_t *uid); + static enum okay imap_copyuid(struct mailbox *mp, struct message *m, + const char *name); + static enum okay imap_appenduid(struct mailbox *mp, FILE *fp, time_t t, +@@ -3465,16 +3464,16 @@ imap_copy(struct message *m, int n, const char *name) + } + + static enum okay +-imap_copyuid_parse(const char *cp, unsigned long *uidvalidity, +- unsigned long *olduid, unsigned long *newuid) ++imap_copyuid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *olduid, ++ ui64_t *newuid) + { +- char *xp, *yp, *zp; ++ char const *xp, *yp, *zp; + enum okay rv; + NYD_ENTER; + +- *uidvalidity = strtoul(cp, &xp, 10); +- *olduid = strtoul(xp, &yp, 10); +- *newuid = strtoul(yp, &zp, 10); ++ n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */ ++ n_idec_ui64_cp(olduid, xp, 10, &yp); /* TODO errors */ ++ n_idec_ui64_cp(newuid, yp, 10, &zp); /* TODO errors */ + rv = (*uidvalidity && *olduid && *newuid && xp > cp && *xp == ' ' && + yp > xp && *yp == ' ' && zp > yp && *zp == ']'); + NYD_LEAVE; +@@ -3482,15 +3481,14 @@ imap_copyuid_parse(const char *cp, unsigned long *uidvalidity, + } + + static enum okay +-imap_appenduid_parse(const char *cp, unsigned long *uidvalidity, +- unsigned long *uid) ++imap_appenduid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *uid) + { +- char *xp, *yp; ++ char const *xp, *yp; + enum okay rv; + NYD_ENTER; + +- *uidvalidity = strtoul(cp, &xp, 10); +- *uid = strtoul(xp, &yp, 10); ++ n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */ ++ n_idec_ui64_cp(uid, xp, 10, &yp); /* TODO errors */ + rv = (*uidvalidity && *uid && xp > cp && *xp == ' ' && yp > xp && + *yp == ']'); + NYD_LEAVE; -- 2.16.2 --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) --- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---