Tuesday, January 30, 2024

mail/opensmtpd-extras: use imsg_get_fd()

This should make opensmtpd-extras work with a future imsg.fd removal.

m_forward() is not used at all in -extras, so I could have also used -1
there, it doesn't matter.

The queues are doing imsg passing, so the second hunk is actually
needed, even if I doubt anyone is using them? anyway, the diff is
simple enough that I'm confident I'm not breaking anything.

There is still one hit of 'imsg->fd' in api/filter_api.c, but that file
is not used anymore, and so I haven't touched it.

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/mail/opensmtpd-extras/Makefile,v
diff -u -p -r1.37 Makefile
--- Makefile 26 Sep 2023 12:28:13 -0000 1.37
+++ Makefile 30 Jan 2024 15:55:03 -0000
@@ -11,8 +11,11 @@ PKGNAME-mysql= opensmtpd-extras-mysql-$
PKGNAME-pgsql= opensmtpd-extras-pgsql-${V}
PKGNAME-python= opensmtpd-extras-python-${V}
PKGNAME-redis= opensmtpd-extras-redis-${V}
-REVISION-mysql= 0
-REVISION-pgsql= 0
+REVISION-main= 0
+REVISION-mysql= 1
+REVISION-pgsql= 1
+REVISION-python= 0
+REVISION-redis= 0
EPOCH= 0

CATEGORIES= mail
Index: patches/patch-api_mproc_c
===================================================================
RCS file: patches/patch-api_mproc_c
diff -N patches/patch-api_mproc_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-api_mproc_c 30 Jan 2024 15:57:35 -0000
@@ -0,0 +1,14 @@
+use imsg_get_fd()
+
+Index: api/mproc.c
+--- api/mproc.c.orig
++++ api/mproc.c
+@@ -306,7 +306,7 @@ void
+ m_forward(struct mproc *p, struct imsg *imsg)
+ {
+ imsg_compose(&p->imsgbuf, imsg->hdr.type, imsg->hdr.peerid,
+- imsg->hdr.pid, imsg->fd, imsg->data,
++ imsg->hdr.pid, imsg_get_fd(imsg), imsg->data,
+ imsg->hdr.len - sizeof(imsg->hdr));
+
+ log_trace(TRACE_MPROC, "mproc: %s -> %s : %zu %s (forward)",
Index: patches/patch-api_queue_api_c
===================================================================
RCS file: patches/patch-api_queue_api_c
diff -N patches/patch-api_queue_api_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-api_queue_api_c 30 Jan 2024 15:57:35 -0000
@@ -0,0 +1,14 @@
+use imsg_get_fd
+
+Index: api/queue_api.c
+--- api/queue_api.c.orig
++++ api/queue_api.c
+@@ -171,7 +171,7 @@ queue_msg_dispatch(void)
+ log_warn("warn: queue-api: mkstemp");
+ }
+ else {
+- ifile = fdopen(imsg.fd, "r");
++ ifile = fdopen(imsg_get_fd(&imsg), "r");
+ ofile = fdopen(fd, "w");
+ m = n = 0;
+ if (ifile && ofile) {

No comments:

Post a Comment