package created using the webbuild interface [release 8.17.1-1mamba;Sat Jan 28 2023]
This commit is contained in:
parent
e0b9c67722
commit
7ac8442a73
15
libmilter-site.config.m4
Normal file
15
libmilter-site.config.m4
Normal file
@ -0,0 +1,15 @@
|
||||
dnl Enable libmilter with a pool of workers
|
||||
APPENDDEF(`conf_libmilter_ENVDEF',`-D_FFR_WORKERS_POOL=1')
|
||||
APPENDDEF(`conf_libmilter_ENVDEF',`-DMIN_WORKERS=4')
|
||||
dnl Use poll instead of select
|
||||
APPENDDEF(`conf_libmilter_ENVDEF',`-DSM_CONF_POLL=1')
|
||||
dnl Enable IPv6
|
||||
APPENDDEF(`conf_libmilter_ENVDEF',`-DNETINET6=1')
|
||||
dnl Add -fPIC
|
||||
APPENDDEF(`conf_libmilter_ENVDEF',`-fPIC')
|
||||
dnl Permissions
|
||||
APPENDDEF(`confINCGRP',`root')
|
||||
APPENDDEF(`confLIBGRP',`root')
|
||||
APPENDDEF(`confMBINGRP',`root')
|
||||
APPENDDEF(`confSBINGRP',`root')
|
||||
APPENDDEF(`confBINGRP',`root')
|
76
sendmail-8.17.1-fd-passing-libmilter.patch
Normal file
76
sendmail-8.17.1-fd-passing-libmilter.patch
Normal file
@ -0,0 +1,76 @@
|
||||
Description: systemd-like socket activation support for libmilter
|
||||
Author: Mikhail Gusarov <dottedmag@debian.org
|
||||
--- a/libmilter/docs/smfi_setconn.html
|
||||
+++ b/libmilter/docs/smfi_setconn.html
|
||||
@@ -44,6 +44,7 @@ Set the socket through which this filter
|
||||
<LI><CODE>{unix|local}:/path/to/file</CODE> -- A named pipe.
|
||||
<LI><CODE>inet:port@{hostname|ip-address}</CODE> -- An IPV4 socket.
|
||||
<LI><CODE>inet6:port@{hostname|ip-address}</CODE> -- An IPV6 socket.
|
||||
+ <LI><CODE>fd:number</CODE> -- Pre-opened file descriptor.
|
||||
</UL>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
--- a/libmilter/listener.c
|
||||
+++ b/libmilter/listener.c
|
||||
@@ -197,6 +197,11 @@
|
||||
L_socksize = sizeof addr.sin6;
|
||||
}
|
||||
#endif /* NETINET6 */
|
||||
+ else if (strcasecmp(p, "fd") == 0)
|
||||
+ {
|
||||
+ addr.sa.sa_family = AF_UNSPEC;
|
||||
+ L_socksize = sizeof (_SOCK_ADDR);
|
||||
+ }
|
||||
else
|
||||
{
|
||||
smi_log(SMI_LOG_ERR, "%s: unknown socket type %s",
|
||||
@@ -443,7 +448,21 @@
|
||||
}
|
||||
#endif /* NETINET || NETINET6 */
|
||||
|
||||
- sock = socket(addr.sa.sa_family, SOCK_STREAM, 0);
|
||||
+ if (addr.sa.sa_family == AF_UNSPEC)
|
||||
+ {
|
||||
+ char *end;
|
||||
+ sock = strtol(colon, &end, 10);
|
||||
+ if (*end != '\0' || sock < 0)
|
||||
+ {
|
||||
+ smi_log(SMI_LOG_ERR, "%s: expected positive integer as fd, got %s", name, colon);
|
||||
+ return INVALID_SOCKET;
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ sock = socket(addr.sa.sa_family, SOCK_STREAM, 0);
|
||||
+ }
|
||||
+
|
||||
if (!ValidSocket(sock))
|
||||
{
|
||||
smi_log(SMI_LOG_ERR,
|
||||
@@ -466,6 +485,7 @@
|
||||
#if NETUNIX
|
||||
addr.sa.sa_family != AF_UNIX &&
|
||||
#endif
|
||||
+ addr.sa.sa_family != AF_UNSPEC &&
|
||||
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void *) &sockopt,
|
||||
sizeof(sockopt)) == -1)
|
||||
{
|
||||
@@ -511,7 +531,8 @@
|
||||
}
|
||||
#endif /* NETUNIX */
|
||||
|
||||
- if (bind(sock, &addr.sa, L_socksize) < 0)
|
||||
+ if (addr.sa.sa_family != AF_UNSPEC &&
|
||||
+ bind(sock, &addr.sa, L_socksize) < 0)
|
||||
{
|
||||
smi_log(SMI_LOG_ERR,
|
||||
"%s: Unable to bind to port %s: %s",
|
||||
@@ -818,7 +839,7 @@
|
||||
#ifdef BSD4_4_SOCKADDR
|
||||
cliaddr.sa.sa_len == 0 ||
|
||||
#endif
|
||||
- cliaddr.sa.sa_family != L_family))
|
||||
+ (L_family != AF_UNSPEC && cliaddr.sa.sa_family != L_family)))
|
||||
{
|
||||
(void) closesocket(connfd);
|
||||
connfd = INVALID_SOCKET;
|
60
sendmail.spec
Normal file
60
sendmail.spec
Normal file
@ -0,0 +1,60 @@
|
||||
Name: sendmail
|
||||
Version: 8.17.1
|
||||
Release: 1mamba
|
||||
Summary: Implementation of the sendmail Mail Filter API
|
||||
Group: System/Servers
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: https://www.proofpoint.com/us/sendmail-open-source
|
||||
Source: https://ftp.sendmail.org/sendmail.%{version}.tar.gz
|
||||
Source1: libmilter-site.config.m4
|
||||
Patch0: sendmail-8.17.1-fd-passing-libmilter.patch
|
||||
License: Custom
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
## AUTOBUILDREQ-END
|
||||
|
||||
%description
|
||||
Implementation of the sendmail Mail Filter API
|
||||
|
||||
%package -n libmilter-devel
|
||||
Group: Development/Libraries
|
||||
Summary: Development files for %{name}
|
||||
|
||||
%description -n libmilter-devel
|
||||
This package contains libraries and header files for developing applications that use %{name}.
|
||||
|
||||
#% debug_package
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .fd-passing-libmilter
|
||||
cp %{SOURCE1} devtools/Site/site.config.m4
|
||||
|
||||
%build
|
||||
%make -C libmilter
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
install -d -m0755 %{buildroot}%{_libdir}
|
||||
%makeinstall -C libmilter \
|
||||
INCOWN=`id -u` INCGRP=`id -g` INCMODE=0644 \
|
||||
LIBOWN=`id -u` LIBGRP=`id -g` LIBMODE=0644 \
|
||||
LIBDIR=%{_libdir}
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%files -n libmilter-devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{_includedir}/libmilter
|
||||
%{_includedir}/libmilter/mfapi.h
|
||||
%{_includedir}/libmilter/mfdef.h
|
||||
%{_libdir}/libmilter.a
|
||||
%doc README
|
||||
%doc LICENSE
|
||||
|
||||
%changelog
|
||||
* Sat Jan 28 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 8.17.1-1mamba
|
||||
- package created using the webbuild interface
|
Loading…
Reference in New Issue
Block a user