git: c79b6d121bd3 - main - mail/courier-imap: Apply hack to fix reported runtime issue
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Apr 2025 11:23:57 UTC
The branch main has been updated by madpilot:
URL: https://cgit.FreeBSD.org/ports/commit/?id=c79b6d121bd3af45d14e9538eddbbe6fda52895f
commit c79b6d121bd3af45d14e9538eddbbe6fda52895f
Author: Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2025-04-07 11:20:25 +0000
Commit: Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2025-04-07 11:20:25 +0000
mail/courier-imap: Apply hack to fix reported runtime issue
A runtime issue has been reported at [1] which causes courier-imap
to not work properly.
Experimenting shows this issue disappears by downgrading
devel/libunistring to previous version 1.2, but no clear reason why
has been uncovered.
This commit applies a patch similar to what is suggested in [1]
that makes it work as expected.
[1] https://lists.freebsd.org/archives/freebsd-questions/2025-February/006307.html
Reported by: Benjamin Lutz <mail@maxlor.com>
---
mail/courier-imap/Makefile | 1 +
.../files/patch-libs_maildir_maildircreate.c | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/mail/courier-imap/Makefile b/mail/courier-imap/Makefile
index 009f9649ab76..5c4471ce99b5 100644
--- a/mail/courier-imap/Makefile
+++ b/mail/courier-imap/Makefile
@@ -1,5 +1,6 @@
PORTNAME= courier-imap
PORTVERSION= 5.2.10
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= mail
MASTER_SITES= SF/courier/imap/${PORTVERSION}
diff --git a/mail/courier-imap/files/patch-libs_maildir_maildircreate.c b/mail/courier-imap/files/patch-libs_maildir_maildircreate.c
new file mode 100644
index 000000000000..6394848d0ba1
--- /dev/null
+++ b/mail/courier-imap/files/patch-libs_maildir_maildircreate.c
@@ -0,0 +1,19 @@
+--- libs/maildir/maildircreate.c.orig 2022-05-23 09:00:05 UTC
++++ libs/maildir/maildircreate.c
+@@ -146,6 +146,7 @@ static int maildir_tmpcreate_fd_do(struct maildir_tmpc
+ strcat(info->tmpname, hostname);
+ strcat(info->tmpname, len_buf);
+
++ errno = 0;
+ if (stat( info->tmpname, &stat_buf) == 0)
+ {
+ maildir_tmpcreate_free(info);
+@@ -153,7 +154,7 @@ static int maildir_tmpcreate_fd_do(struct maildir_tmpc
+ return -1;
+ }
+
+- if (errno != ENOENT)
++ if (errno != 0 && errno != ENOENT)
+ {
+ maildir_tmpcreate_free(info);
+ if (errno == EAGAIN)