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
signature.asc
Description: PGP signature
