From 435636b1ae6c217075999170f88b87d90e67a277 Mon Sep 17 00:00:00 2001 From: pettai Date: Fri, 12 Mar 2010 22:42:55 +0000 Subject: The sid-milter package is an open source implementation of the Sender-ID and SPF sender authentication systems. Sender-ID and SPF have both been published by the IETF (RFC4406 and RFC4408, respectively) as experimental proposals. This package consists of a library that implements the record parsers needed to provide the authentication service, and a milter-based filter application that can plug in to the sendmail MTA to provide that service to sufficiently recent sendmail and postfix MTAs. An optional asynchronous resolver library is also provided to work around limitations of the basic BIND resolver which comes installed on most systems. --- mail/sid-milter/DESCR | 14 ++++++++ mail/sid-milter/MESSAGE | 17 +++++++++ mail/sid-milter/Makefile | 69 +++++++++++++++++++++++++++++++++++++ mail/sid-milter/PLIST | 17 +++++++++ mail/sid-milter/distinfo | 7 ++++ mail/sid-milter/files/sid-filter.m4 | 38 ++++++++++++++++++++ mail/sid-milter/files/sid-milter.sh | 24 +++++++++++++ mail/sid-milter/patches/patch-aa | 24 +++++++++++++ mail/sid-milter/patches/patch-ab | 27 +++++++++++++++ 9 files changed, 237 insertions(+) create mode 100644 mail/sid-milter/DESCR create mode 100644 mail/sid-milter/MESSAGE create mode 100644 mail/sid-milter/Makefile create mode 100644 mail/sid-milter/PLIST create mode 100644 mail/sid-milter/distinfo create mode 100644 mail/sid-milter/files/sid-filter.m4 create mode 100755 mail/sid-milter/files/sid-milter.sh create mode 100644 mail/sid-milter/patches/patch-aa create mode 100644 mail/sid-milter/patches/patch-ab (limited to 'mail/sid-milter') diff --git a/mail/sid-milter/DESCR b/mail/sid-milter/DESCR new file mode 100644 index 00000000000..dbced81595c --- /dev/null +++ b/mail/sid-milter/DESCR @@ -0,0 +1,14 @@ +The sid-milter package is an open source implementation of the Sender-ID and +SPF sender authentication systems. + +Sender-ID and SPF have both been published by the IETF (RFC4406 and RFC4408, +respectively) as experimental proposals. + +This package consists of a library that implements the record parsers needed +to provide the authentication service, and a milter-based filter application +that can plug in to the sendmail MTA to provide that service to sufficiently +recent sendmail and postfix MTAs. + +An optional asynchronous resolver library is also provided to work around +limitations of the basic BIND resolver which comes installed on most +systems. diff --git a/mail/sid-milter/MESSAGE b/mail/sid-milter/MESSAGE new file mode 100644 index 00000000000..59c3a7bedc4 --- /dev/null +++ b/mail/sid-milter/MESSAGE @@ -0,0 +1,17 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ + +sid-milter is now installed. +The documentation can be found at ${PREFIX}/share/doc/sid-milter/ + +Please read the instructions in ${PREFIX}/share/doc/sid-milter/INSTALL +for setting up sid-milter. + +At a minmium you will need to specify: + + sidmilter_flags="-p socketfile -d domain" + +in your /etc/rc.conf. + +For security you may also wish to investigate the use of "-u userid". +=========================================================================== diff --git a/mail/sid-milter/Makefile b/mail/sid-milter/Makefile new file mode 100644 index 00000000000..f743b647573 --- /dev/null +++ b/mail/sid-milter/Makefile @@ -0,0 +1,69 @@ +# $NetBSD: Makefile,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ +# + +DISTNAME= sid-milter-1.0.0 +CATEGORIES= mail +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sid-milter/} + +MAINTAINER= pettai@NetBSD.org +HOMEPAGE= http://sid-milter.sourceforge.net/ +COMMENT= Open source SPF/SenderID filter software from Sendmail, Inc +LICENSE= sendmail-open-source-license + +PKG_DESTDIR_SUPPORT= user-destdir + +BUILDLINK_API_DEPENDS.libmilter+= libmilter>=8.13.0 +DEPENDS+= sendmail>=8.13.0:../../mail/sendmail + +USE_BUILTIN.libmilter= NO +USE_TOOLS+= gm4 +MAKE_ENV+= M4=${M4:Q} +PTHREAD_OPTS+= require +RCD_SCRIPTS= sid-milter + +SIDDOC= ${PREFIX}/share/doc/sid-milter + +SUBST_CLASSES+= libs +SUBST_STAGE.libs= pre-build +SUBST_FILES.libs= sid-filter/Makefile.m4 +SUBST_SED.libs= -e "s|@LMBASE@|${BUILDLINK_PREFIX.libmilter}|g" +SUBST_MESSAGE.libs= Fixing paths. + +INSTALLATION_DIRS= bin include lib ${PKGMANDIR}/cat3 ${PKGMANDIR}/cat8 + +post-extract: + ${CP} ${FILESDIR}/sid-filter.m4 ${WRKSRC}/sid-filter/Makefile.m4 + +do-build: + (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./Build) + +do-install: + ${INSTALL_DATA_DIR} ${DESTDIR}${SIDDOC} + ${INSTALL_LIB} ${WRKSRC}/${SIDWORK}/libmarid/sm-marid.h \ + ${DESTDIR}${PREFIX}/include + ${INSTALL_LIB} ${WRKSRC}/${SIDWORK}/libar/libar.a \ + ${DESTDIR}${PREFIX}/lib + ${INSTALL_MAN} ${WRKSRC}/${SIDWORK}/libar/ar.0 \ + ${DESTDIR}${PREFIX}/${PKGMANDIR}/cat3/ + ${INSTALL_PROGRAM} ${WRKSRC}/${SIDWORK}/sid-filter/sid-filter \ + ${DESTDIR}${PREFIX}/bin + ${INSTALL_MAN} ${WRKSRC}/${SIDWORK}/sid-filter/sid-filter.0 \ + ${DESTDIR}${PREFIX}/${PKGMANDIR}/cat8/ + ${INSTALL_DATA} ${WRKSRC}/FEATURES ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/INSTALL ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/KNOWNBUGS ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/README-SenderID ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/RELEASE_NOTES ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/rfc4406.txt ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/rfc4407.txt ${DESTDIR}${SIDDOC} + ${INSTALL_DATA} ${WRKSRC}/rfc4408.txt ${DESTDIR}${SIDDOC} + +.include "../../security/openssl/buildlink3.mk" +.include "../../mail/libmilter/buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" + +# Has to be below include for bsd.pkg.mk, else substition fails +SIDWORK!= ${ECHO} obj.`${UNAME} -srm | ${TR} \ . | ${TR} \/ -` diff --git a/mail/sid-milter/PLIST b/mail/sid-milter/PLIST new file mode 100644 index 00000000000..0344a68c99e --- /dev/null +++ b/mail/sid-milter/PLIST @@ -0,0 +1,17 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ +bin/sid-filter +include/sm-marid.h +lib/libar.a +man/cat3/ar.0 +man/cat8/sid-filter.0 +share/doc/sid-milter/FEATURES +share/doc/sid-milter/INSTALL +share/doc/sid-milter/KNOWNBUGS +share/doc/sid-milter/LICENSE +share/doc/sid-milter/README +share/doc/sid-milter/README-SenderID +share/doc/sid-milter/RELEASE_NOTES +share/doc/sid-milter/rfc4406.txt +share/doc/sid-milter/rfc4407.txt +share/doc/sid-milter/rfc4408.txt +share/examples/rc.d/sid-milter diff --git a/mail/sid-milter/distinfo b/mail/sid-milter/distinfo new file mode 100644 index 00000000000..1a6418e6c38 --- /dev/null +++ b/mail/sid-milter/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ + +SHA1 (sid-milter-1.0.0.tar.gz) = dd6517b36933083923c3094cf7f09e74825e7dcb +RMD160 (sid-milter-1.0.0.tar.gz) = 7aca88c5d1c18581a17a779c87e7dda3d0091e0e +Size (sid-milter-1.0.0.tar.gz) = 351161 bytes +SHA1 (patch-aa) = 4c47aeb2dc12851703ffdc8a0e7239fd5f673af2 +SHA1 (patch-ab) = c8d6294625d698e8eea0e23a3b9fcbe448dabcae diff --git a/mail/sid-milter/files/sid-filter.m4 b/mail/sid-milter/files/sid-filter.m4 new file mode 100644 index 00000000000..e3d51ff6300 --- /dev/null +++ b/mail/sid-milter/files/sid-filter.m4 @@ -0,0 +1,38 @@ +# $NetBSD: sid-filter.m4,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ + +include(confBUILDTOOLSDIR`/M4/switch.m4') + +define(`confMT', `TRUE') +define(`confREQUIRE_LIBSM', `true') + +dnl Sometimes enabling this next line clears up some load-time warnings +dnl APPENDDEF(`confLIBS', `-lcipher ') + +bldPUSH_SMLIB(`sm') +bldPUSH_SMLIB(`marid') + +PREPENDDEF(`confINCDIRS', `-I../../sendmail ') +PREPENDDEF(`confINCDIRS', `-I../../libmarid ') + +dnl Disable these three lines if you want to use the OS-provided resolver +dnl instead of the provided asynchronous resolver library. +bldPUSH_SMLIB(`ar') +PREPENDDEF(`confINCDIRS', `-I../../libar ') +APPENDDEF(`confENVDEF', `-DUSE_ARLIB ') + +dnl Enable these next line if needed to specify the locations of libmilter.a +dnl and the libmilter include files: +APPENDDEF(`confINCDIRS', `-I@LMBASE@/include') +APPENDDEF(`confLIBDIRS', `-L@LMBASE@/lib') + + +bldPRODUCT_START(`executable', `sid-filter') +define(`bldSOURCES', `sid-filter.c rfc2822.c util.c ') +PREPENDDEF(`confLIBS', `-lmilter -lpthread') +bldPRODUCT_END + +bldPRODUCT_START(`manpage', `sid-filter') +define(`bldSOURCES', `sid-filter.8') +bldPRODUCT_END + +bldFINISH diff --git a/mail/sid-milter/files/sid-milter.sh b/mail/sid-milter/files/sid-milter.sh new file mode 100755 index 00000000000..006eee3b5a5 --- /dev/null +++ b/mail/sid-milter/files/sid-milter.sh @@ -0,0 +1,24 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: sid-milter.sh,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ +# +# PROVIDE: sidfilter +# REQUIRE: DAEMON + +if [ -f /etc/rc.subr ]; then + . /etc/rc.subr +fi + +name="sidfilter" +rcvar=$name +command="@PREFIX@/bin/sid-filter" +pidfile="/var/run/sid-filter.pid" +command_args="-l -P ${pidfile}" + +if [ -f /etc/rc.subr ]; then + load_rc_config $name + run_rc_command "$1" +else + echo -n " ${name}" + ${command} ${sidfilter_flags} ${command_args} +fi diff --git a/mail/sid-milter/patches/patch-aa b/mail/sid-milter/patches/patch-aa new file mode 100644 index 00000000000..3d0582db510 --- /dev/null +++ b/mail/sid-milter/patches/patch-aa @@ -0,0 +1,24 @@ +$NetBSD: patch-aa,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ +--- devtools/OS/NetBSD.orig Sun Jun 27 00:19:35 2004 ++++ devtools/OS/NetBSD Sun Jun 27 00:24:11 2004 +@@ -7,13 +7,14 @@ + define(`confLIBS', `-lutil') + define(`confENVDEF', ` -DNETISO') ++define(`confSM_OS_HEADER', `sm_os_netbsd') + define(`confDEPEND_TYPE', `CC-M') +-define(`confSBINGRP', `wheel') +-define(`confUBINOWN', `root') +-define(`confUBINGRP', `wheel') +-define(`confMANOWN', `root') +-define(`confMANGRP', `wheel') ++define(`confSBINGRP', `${BSD_BINGRP}') ++define(`confUBINOWN', `${BSD_BINOWN}') ++define(`confUBINGRP', `${BSD_BINGRP}') ++define(`confMANOWN', `${BSD_MANOWN}') ++define(`confMANGRP', `${BSD_MANGRP}') + define(`confMAN1EXT', `0') + define(`confMAN3EXT', `0') + define(`confMAN4EXT', `0') + define(`confMAN5EXT', `0') + define(`confMAN8EXT', `0') ++define(`confLDOPTS', `${LDFLAGS}') diff --git a/mail/sid-milter/patches/patch-ab b/mail/sid-milter/patches/patch-ab new file mode 100644 index 00000000000..739212f2e29 --- /dev/null +++ b/mail/sid-milter/patches/patch-ab @@ -0,0 +1,27 @@ +$NetBSD: patch-ab,v 1.1.1.1 2010/03/12 22:42:55 pettai Exp $ +--- /dev/null 2008-10-16 17:49:30.000000000 +1300 ++++ include/sm/os/sm_os_netbsd.h +@@ -0,0 +1,23 @@ ++/* ++ */ ++ ++/* ++** sm_os_netbsd.h -- platform definitions for NetBSD ++*/ ++ ++#define SM_OS_NAME "netbsd" ++ ++#define SM_CONF_SYS_CDEFS_H 1 ++ ++#if defined(__NetBSD__) ++# include /* defines __NetBSD_Version__ */ ++# if __NetBSD_Version__ >= 104030000 ++ /* 1.4.3 and later have strlcpy()/strlcat() */ ++# ifndef SM_CONF_STRL ++# define SM_CONF_STRL 1 ++# endif ++# endif ++# if __NetBSD_Version__ >= 499006500 ++# define SM_CONF_STDBOOL_H 1 ++# endif ++#endif -- cgit v1.2.3