On a musl-based system, postfix incorrectly assumes that file descriptor
passing is not available, because of this line in sys_defs.h:

> #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)) || (__GLIBC__ < 2)

It builds fine, but when used with a milter or the postscreen daemon, it
will fail at runtime with this error:

> warning: unix_send_fd: your system has no support for file descriptor passing
> warning: pass_accept_attr: cannot receive file descriptor: No error
> information error: accept connection: No error information

See also [1] and [2].

[1] - https://github.com/gentoo/musl/issues/53
[2] - https://bugs.alpinelinux.org/issues/3423

Find attached a patch that will fix this issue.

-- 
Wolfgang Mueller / vehk.de / GPG 0xc543cfce9465f573
--- src/util/sys_defs.h 2017-06-05 02:46:02.016419848 +0000
+++ src/util/sys_defs.h	2017-06-05 02:46:37.275600185 +0000
@@ -813,7 +813,7 @@
 #define KERNEL_VERSION(a,b,c) (LINUX_VERSION_CODE + 1)
 #endif
 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)) \
-	|| (__GLIBC__ < 2)
+	|| (defined(__GLIBC__) && (__GLIBC__ < 2))
 #define CANT_USE_SEND_RECV_MSG
 #define DEF_SMTP_CACHE_DEMAND	0
 #else

Attachment: signature.asc
Description: PGP signature

Reply via email to